	.file	"extr_wce_gettimeofday.c_wceex_gettimeofday.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.globl	wceex_gettimeofday
	.type	wceex_gettimeofday, @function
wceex_gettimeofday:
.LFB0:
	.cfi_startproc
	endbr64
	push	r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	push	rbp
	.cfi_def_cfa_offset 24
	.cfi_offset 6, -24
	push	rbx
	.cfi_def_cfa_offset 32
	.cfi_offset 3, -32
	mov	rbx, rsi
	sub	rsp, 48
	.cfi_def_cfa_offset 80
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 40[rsp], rax
	xor	eax, eax
	test	rdi, rdi
	je	.L2
	lea	r12, 4[rsp]
	mov	rbp, rdi
	mov	rdi, r12
	call	GetSystemTime@PLT
	lea	rsi, 8[rsp]
	mov	rdi, r12
	call	SystemTimeToFileTime@PLT
	mov	edx, DWORD PTR EPOCHFILETIME[rip]
	neg	edx
	movsx	rax, edx
	sar	edx, 31
	imul	rax, rax, 1717986919
	sar	rax, 34
	sub	eax, edx
	movsx	rdx, eax
	mov	ecx, eax
	imul	rdx, rdx, 1125899907
	sar	ecx, 31
	sar	rdx, 50
	sub	edx, ecx
	movsx	rcx, edx
	imul	edx, edx, 1000000
	mov	QWORD PTR 0[rbp], rcx
	sub	eax, edx
	cdqe
	mov	QWORD PTR 8[rbp], rax
.L2:
	test	rbx, rbx
	je	.L3
	lea	rdi, 16[rsp]
	call	GetTimeZoneInformation@PLT
	mov	eax, DWORD PTR 16[rsp]
	cmp	QWORD PTR 32[rsp], 0
	mov	DWORD PTR [rbx], eax
	jne	.L15
.L4:
	xor	eax, eax
	cmp	QWORD PTR 24[rsp], 0
	setne	al
	mov	DWORD PTR 4[rbx], eax
.L3:
	mov	rax, QWORD PTR 40[rsp]
	xor	rax, QWORD PTR fs:40
	jne	.L16
	add	rsp, 48
	.cfi_remember_state
	.cfi_def_cfa_offset 32
	xor	eax, eax
	pop	rbx
	.cfi_def_cfa_offset 24
	pop	rbp
	.cfi_def_cfa_offset 16
	pop	r12
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L15:
	.cfi_restore_state
	imul	edx, DWORD PTR 20[rsp], 60
	add	eax, edx
	mov	DWORD PTR [rbx], eax
	jmp	.L4
.L16:
	call	__stack_chk_fail@PLT
	.cfi_endproc
.LFE0:
	.size	wceex_gettimeofday, .-wceex_gettimeofday
	.comm	EPOCHFILETIME,8,8
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_wce_gettimeofday.c_wceex_gettimeofday.c"
	.text
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC0:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	wceex_gettimeofday
	.syntax unified
	.arm
	.fpu softvfp
	.type	wceex_gettimeofday, %function
wceex_gettimeofday:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, lr}
	ldr	r3, .L19
	sub	sp, sp, #36
	subs	r5, r0, #0
	mov	r4, r1
	ldr	r3, [r3]
	str	r3, [sp, #28]
	mov	r3,#0
	beq	.L2
	mov	r0, sp
	bl	GetSystemTime
	add	r1, sp, #4
	mov	r0, sp
	bl	SystemTimeToFileTime
	ldr	r2, .L19+4
	ldr	r3, .L19+8
	ldr	r2, [r2]
	ldr	r1, .L19+12
	rsb	r2, r2, #0
	smull	ip, r0, r3, r2
	asr	r3, r2, #31
	rsb	r3, r3, r0, asr #2
	smull	r2, r1, r3, r1
	asr	r2, r3, #31
	rsb	r2, r2, r1, asr #18
	rsb	r1, r2, r2, lsl #5
	rsb	r1, r1, r1, lsl #6
	add	r1, r2, r1, lsl #3
	sub	r3, r3, r1, lsl #6
	stm	r5, {r2, r3}
.L2:
	cmp	r4, #0
	beq	.L3
	add	r0, sp, #12
	bl	GetTimeZoneInformation
	ldr	r2, [sp, #24]
	ldr	r3, [sp, #12]
	cmp	r2, #0
	ldrne	r2, [sp, #16]
	str	r3, [r4]
	rsbne	r2, r2, r2, lsl #4
	addne	r3, r3, r2, lsl #2
	strne	r3, [r4]
	ldr	r3, [sp, #20]
	cmp	r3, #0
	movne	r3, #1
	str	r3, [r4, #4]
.L3:
	ldr	r3, .L19
	ldr	r2, [r3]
	ldr	r3, [sp, #28]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L18
	mov	r0, #0
	add	sp, sp, #36
	@ sp needed
	pop	{r4, r5, pc}
.L18:
	bl	__stack_chk_fail
.L20:
	.align	2
.L19:
	.word	.LC0
	.word	EPOCHFILETIME
	.word	1717986919
	.word	1125899907
	.size	wceex_gettimeofday, .-wceex_gettimeofday
	.comm	EPOCHFILETIME,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
