Function at 0x10072df0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xe0
mov esi, dword [ebp + 0xc]
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [esp + 0xd8], eax
xorpd xmm0, xmm0
movupd xmmword [esi + 0x20], xmm0
movupd xmmword [esi + 0x10], xmm0
movupd xmmword [esi], xmm0
mov dword [esp + 0x34], edx
test edx, edx
mov dword [esp + 0x10], ecx
je 0x1007336f
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
movzx eax, word [ecx + 8]
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x1019c83a]
dec edx
cmp edx, 1
jbe 0x1007338f
mov edx, 0x202
mov ebx, eax
and ebx, edx
cmp ebx, edx
jne 0x100731a8
cmp byte [ecx + 0xa], 1
jne 0x100731a8
mov ebx, dword [ecx + 0x10]
test ebx, ebx
je 0x10073559
mov al, byte [ebx]
lea edi, [ebx + 1]
mov byte [esp + 0x20], al
cmp al, 0x2d
cmovne edi, ebx
lea eax, [esp + 0x8c]
lea ecx, [esp + 0xd4]
lea esi, [esp + 0x90]
push eax
push ecx
push esi
push str.40f_21a_21d
push edi
call fcn.10073d70
add esp, 0x14
cmp eax, 3
je 0x100733b6
mov ecx, ebx
mov edx, dword [ebp + 0xc]
call fcn.10074410
test eax, eax
je 0x10072f5c
xor eax, eax
movzx ecx, byte [ebx + eax]
movzx edx, byte [eax + 0x101b5232]
cmp cl, dl
jne 0x100731e0
test cl, cl
je 0x10072ee2
inc eax
jmp 0x10072ec8
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0xc]
mov ecx, dword [eax + 0x10]
mov eax, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
cmp byte [eax + ecx*4], 0x3f
je 0x10073439
mov ecx, dword [edi + 0x38]
mov eax, dword [edi + 0x3c]
mov edx, ecx
or edx, eax
mov edx, dword [esp + 0x10]
jne 0x10072f44
add edi, 0x38
mov eax, dword [edx]
mov eax, dword [eax + 0x20]
mov ebx, dword [eax]
cmp dword [ebx], 2
jl 0x10073211
mov ecx, dword [ebx + 0x48]
test ecx, ecx
je 0x10073211
call dword [section..00cfg]
push edi
push ebx
call ecx
add esp, 8
test eax, eax
jne 0x1007354a
mov ecx, dword [edi]
mov eax, dword [edi + 4]
mov edx, dword [ebp + 0xc]
mov dword [edx], ecx
mov dword [edx + 4], eax
cmp ecx, 1
sbb eax, 0
jl 0x10073559
mov byte [edx + 0x28], 1
cmp dword [esp + 0x34], 2
jl 0x10073147
xor ebx, ebx
inc ebx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + ebx*4]
movzx eax, word [ecx + 8]
mov edx, eax
mov esi, 0x202
and edx, esi
cmp edx, esi
jne 0x1007318b
cmp byte [ecx + 0xa], 1
jne 0x1007318b
mov edi, dword [ecx + 0x10]
test al, 2
je 0x10073132
cmp byte [ecx + 0xa], 1
jne 0x10073132
test edi, edi
je 0x10073559
mov dword [esp + 0xd4], 1
movzx eax, byte [edi]
mov cl, byte [eax + 0x1019c728]
cmp cl, 0x72
mov dword [esp + 0x20], ebx
jg 0x10072ff2
cmp cl, 0x6c
jne 0x10073561
xor ecx, ecx
inc ecx
mov ebx, dword [esp + 0x10]
movzx edx, byte [ecx + 0x101ba632]
cmp al, dl
jne 0x100731c6
test al, al
je 0x1007304a
mov al, byte [edi + ecx]
inc ecx
jmp 0x10072fd9
cmp cl, 0x75
jne 0x100735a5
xor ecx, ecx
inc ecx
mov edx, eax
movzx ebx, byte [ecx + 0x101b9922]
cmp dl, bl
jne 0x10073019
test dl, dl
je 0x1007326e
mov dl, byte [edi + ecx]
inc ecx
jmp 0x10073000
movzx edx, dl
mov dl, byte [edx + 0x1019c728]
cmp dl, byte [ebx + 0x1019c728]
je 0x10073013
xor ecx, ecx
inc ecx
mov ebx, dword [esp + 0x10]
movzx edx, byte [ecx + 0x101bc62a]
cmp al, dl
jne 0x100731f7
test al, al
je 0x10073092
mov al, byte [edi + ecx]
inc ecx
jmp 0x10073031
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
mov eax, dword [eax + 0x68]
lea ecx, [ecx + ecx*4]
cmp byte [eax + ecx*4], 0x3f
je 0x1007330a
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.10074220
mov ecx, esi
mov edx, ebx
lea eax, [esp + 0xd4]
push eax
call fcn.10073e70
add esp, 4
add dword [esi], eax
adc dword [esi + 4], edx
mov word [esi + 0x2a], 0
mov byte [esi + 0x2c], 0
jmp 0x10073113
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
mov eax, dword [eax + 0x68]
lea ecx, [ecx + ecx*4]
cmp byte [eax + ecx*4], 0x3f
je 0x1007330a
mov eax, dword [ebp + 0xc]
cmp byte [eax + 0x2d], 0
jne 0x10073301
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.10074220
mov ecx, esi
mov edx, ebx
lea eax, [esp + 0xd4]
push eax
call fcn.10073e70
add esp, 4
cmp dword [esp + 0xd4], 0
jne 0x1007310f
mov edi, eax
mov eax, ebx
mov ebx, edx
sub dword [esi], edi
sbb dword [esi + 4], edx
mov word [esi + 0x2a], 0
mov byte [esi + 0x2c], 0
mov ecx, esi
mov edx, eax
lea eax, [esp + 0xd4]
push eax
call fcn.10073e70
add esp, 4
sub edi, eax
sbb ebx, edx
add dword [esi], edi
adc dword [esi + 4], ebx
mov byte [esi + 0x2d], 1
cmp dword [esp + 0xd4], 0
mov ebx, dword [esp + 0x20]
jne 0x10073559
inc ebx
cmp ebx, dword [esp + 0x34]
jne 0x10072f6a
jmp 0x10073147
test al, 0x11
jne 0x10072fa4
xor edx, edx
inc edx
call fcn.10152a20
jmp 0x10072fa4
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.10074220
cmp byte [esi + 0x2e], 0
jne 0x10073559
mov eax, 0x1072fdff
mov ecx, dword [ebp + 0xc]
cmp eax, dword [ecx]
mov eax, 0x1a640
sbb eax, dword [ecx + 4]
setb al
movzx esi, al
mov ecx, dword [esp + 0xd8]
xor ecx, ebp
call fcn.1014dc80
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test al, 1
jne 0x100731bf
xor edx, edx
inc edx
call fcn.100023b0
mov edi, eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + ebx*4]
movzx eax, word [ecx + 8]
jmp 0x10072f92
test al, 1
jne 0x10073559
xor edx, edx
inc edx
call fcn.100023b0
mov ebx, eax
jmp 0x10072e6f
xor edi, edi
jmp 0x10072f92
movzx eax, al
mov al, byte [eax + 0x1019c728]
cmp al, byte [edx + 0x1019c728]
je 0x10072fec
jmp 0x10073113
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [edx + 0x1019c728]
je 0x10072edf
jmp 0x1007349d
movzx eax, al
mov al, byte [eax + 0x1019c728]
cmp al, byte [edx + 0x1019c728]
je 0x10073044
jmp 0x10073113
mov ecx, dword [ebx + 0x40]
call dword [section..00cfg]
push esi
push ebx
call ecx
add esp, 8
movsd xmm0, qword [esp + 0x90]
mulsd xmm0, qword [0x1019c140]
movsd qword [esp + 0x58], xmm0
fld qword [esp + 0x58]
fnstcw word [esp + 0x1c]
movzx ecx, word [esp + 0x1c]
or ecx, 0xc00
mov word [esp + 0x30], cx
fldcw word [esp + 0x30]
fistp qword [esp + 0x58]
fldcw word [esp + 0x1c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov dword [edi + 4], edx
mov dword [edi], ecx
jmp 0x10072f37
mov ecx, dword [ebp + 0xc]
cmp byte [ecx + 0x29], 0
je 0x1007302a
mov eax, dword [ebp + 0xc]
movsd xmm0, qword [eax + 0x20]
mulsd xmm0, qword [0x1019c498]
addsd xmm0, qword [0x1019c4c0]
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x10073113
movsd xmm1, qword [0x1019c4c8]
ucomisd xmm1, xmm0
jbe 0x10073113
mov eax, dword [ebp + 0xc]
mov edx, eax
mov byte [eax + 0x2c], 0
addsd xmm0, qword [0x1019c4b0]
movsd qword [esp + 0x38], xmm0
fld qword [esp + 0x38]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
or eax, 0xc00
mov word [esp + 0x2c], ax
fldcw word [esp + 0x2c]
fistp qword [esp + 0x38]
fldcw word [esp + 0x18]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov dword [edx + 0x28], 1
mov ebx, dword [esp + 0x20]
jmp 0x10073125
movzx eax, word [eax + ecx*4 + 2]
test al, 8
mov ecx, 0x101b4e85
mov edx, 0x101b8f0f
cmove edx, ecx
test al, 4
mov eax, str.a_CHECK_constraint
cmove eax, edx
mov ecx, dword [ebx + 4]
push eax
push dword [ecx + 0x20]
push str.non_deterministic_use_of__s___in__s
call sym.nss3.dll_sqlite3_mprintf
add esp, 0xc
mov edi, eax
mov dword [ebx + 0x14], 1
mov ecx, dword [ebx]
sub esp, 0x10
movapd xmm0, xmmword [0x1019c1c0]
movupd xmmword [esp], xmm0
mov edx, eax
call fcn.100364f0
add esp, 0x10
push edi
call sym.nss3.dll_sqlite3_free
add esp, 4
jmp 0x10073113
call fcn.10170d90
test eax, eax
je 0x10073559
mov ecx, dword [esp + 0x10]
mov edx, dword [ebp + 0xc]
call fcn.10170e20
mov esi, eax
jmp 0x10073173
test al, 8
jne 0x10073691
test al, 0x24
je 0x100738bc
fild qword [ecx]
fstp qword [esp + 0x80]
movsd xmm0, qword [esp + 0x80]
jmp 0x10073695
add edi, 9
movzx ecx, byte [edi + 1]
inc edi
mov al, byte [ecx + 0x1019c89a]
and al, 1
cmp ecx, 0x54
je 0x100733b9
test al, al
jne 0x100733b9
mov ecx, edi
mov edx, dword [ebp + 0xc]
call fcn.10074410
test eax, eax
je 0x100733ed
cmp byte [edi], 0
jne 0x10072eb4
mov eax, dword [ebp + 0xc]
mov byte [eax + 0x2b], 0
mov edx, dword [ebp + 0xc]
mov byte [edx + 0x28], 0
mov byte [edx + 0x2a], 1
mov eax, dword [esp + 0x90]
mov ecx, eax
neg ecx
cmp byte [esp + 0x20], 0x2d
cmovne ecx, eax
mov dword [edx + 8], ecx
mov eax, dword [esp + 0xd4]
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x8c]
mov dword [edx + 0x10], eax
cmp byte [edx + 0x2c], 0
je 0x10072f5c
mov ecx, dword [ebp + 0xc]
call fcn.10074220
jmp 0x10072f5c
movzx eax, word [eax + ecx*4 + 2]
test al, 8
mov ecx, 0x101b4e85
mov edx, 0x101b8f0f
cmove edx, ecx
test al, 4
mov eax, str.a_CHECK_constraint
cmove eax, edx
mov esi, dword [esp + 0x10]
mov ecx, dword [esi + 4]
push eax
push dword [ecx + 0x20]
push str.non_deterministic_use_of__s___in__s
call sym.nss3.dll_sqlite3_mprintf
add esp, 0xc
mov edi, eax
mov dword [esi + 0x14], 1
mov ecx, dword [esi]
sub esp, 0x10
movapd xmm0, xmmword [0x1019c1c0]
movupd xmmword [esp], xmm0
mov edx, eax
call fcn.100364f0
add esp, 0x10
push edi
call sym.nss3.dll_sqlite3_free
add esp, 4
push ebx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
lea edx, [esp + 0xc8]
mov ecx, ebx
push 1
push eax
call fcn.1004e0b0
add esp, 8
test eax, eax
mov eax, dword [ebp + 0xc]
jle 0x10073559
movsd xmm0, qword [esp + 0xc8]
movsd qword [eax + 0x20], xmm0
mov byte [eax + 0x29], 1
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x10072f5c
movsd xmm1, qword [0x1019c4a8]
ucomisd xmm1, xmm0
jbe 0x10072f5c
mulsd xmm0, qword [0x1019c140]
addsd xmm0, qword [0x1019c4b0]
movsd qword [esp + 0x50], xmm0
fld qword [esp + 0x50]
fnstcw word [esp + 0x1a]
movzx eax, word [esp + 0x1a]
or eax, 0xc00
mov word [esp + 0x2e], ax
fldcw word [esp + 0x2e]
fistp qword [esp + 0x50]
fldcw word [esp + 0x1a]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov edx, dword [ebp + 0xc]
mov dword [edx + 4], ecx
mov dword [edx], eax
jmp 0x10072f58
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov dword [ecx + 4], eax
xor esi, esi
inc esi
jmp 0x10073173
add cl, 0xd5
cmp cl, 0xe
ja 0x10073113
movzx eax, cl
mov ecx, 0x7fe5
bt ecx, eax
jae 0x10073113
xor esi, esi
inc esi
movzx eax, byte [edi + esi]
test eax, eax
je 0x100737e2
cmp al, 0x3a
je 0x100737e2
test byte [eax + 0x1019c89a], 1
jne 0x100737e2
inc esi
jmp 0x10073581
cmp cl, 0x73
jne 0x10073707
test al, al
je 0x100738d2
mov cl, byte [edi + 1]
mov eax, 0x101cc06d
test cl, cl
je 0x100738d7
mov edx, ecx
and dl, 0xdf
cmp dl, 0x54
jne 0x100738d9
mov cl, byte [edi + 2]
mov eax, 0x101cc06e
test cl, cl
je 0x100738d7
mov edx, ecx
and dl, 0xdf
cmp dl, 0x41
jne 0x100738d9
mov cl, byte [edi + 3]
mov eax, 0x101cc06f
test cl, cl
je 0x100738d7
mov edx, ecx
and dl, 0xdf
cmp dl, 0x52
jne 0x100738d9
mov cl, byte [edi + 4]
mov eax, 0x101cc070
test cl, cl
je 0x100738d7
mov edx, ecx
and dl, 0xdf
cmp dl, 0x54
jne 0x100738d9
mov cl, byte [edi + 5]
mov eax, 0x101cc071
cmp cl, 0x20
jne 0x100738d9
mov cl, byte [edi + 6]
mov eax, 0x101cc072
test cl, cl
je 0x100738d7
mov edx, ecx
and dl, 0xdf
cmp dl, 0x4f
jne 0x100738d9
mov cl, byte [edi + 7]
mov eax, 0x101cc073
test cl, cl
je 0x100738d7
mov edx, ecx
and dl, 0xdf
cmp dl, 0x46
jne 0x100738d9
mov cl, byte [edi + 8]
mov eax, 0x101cc074
cmp cl, 0x20
jne 0x100738d9
jmp 0x100738f1
movsd xmm0, qword [ecx]
mov eax, dword [ebp + 0xc]
movsd qword [eax + 0x20], xmm0
mov byte [eax + 0x29], 1
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
jb 0x10072f5c
movsd xmm1, qword [0x1019c4a8]
ucomisd xmm1, xmm0
jbe 0x10072f5c
mulsd xmm0, qword [0x1019c140]
addsd xmm0, qword [0x1019c4b0]
movsd qword [esp + 0x48], xmm0
fld qword [esp + 0x48]
fnstcw word [esp + 0x1e]
movzx eax, word [esp + 0x1e]
or eax, 0xc00
mov word [esp + 0x32], ax
fldcw word [esp + 0x32]
fistp qword [esp + 0x48]
fldcw word [esp + 0x1e]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
jmp 0x1007353d
cmp cl, 0x77
jne 0x10073113
test al, al
je 0x10073add
mov cl, byte [edi + 1]
mov eax, 0x101cbffa
test cl, cl
je 0x10073ae2
mov edx, ecx
and dl, 0xdf
cmp dl, 0x45
jne 0x10073ae4
mov cl, byte [edi + 2]
mov eax, 0x101cbffb
test cl, cl
je 0x10073ae2
mov edx, ecx
and dl, 0xdf
cmp dl, 0x45
jne 0x10073ae4
mov cl, byte [edi + 3]
mov eax, 0x101cbffc
test cl, cl
je 0x10073ae2
mov edx, ecx
and dl, 0xdf
cmp dl, 0x4b
jne 0x10073ae4
mov cl, byte [edi + 4]
mov eax, 0x101cbffd
test cl, cl
je 0x10073ae2
mov edx, ecx
and dl, 0xdf
cmp dl, 0x44
jne 0x10073ae4
mov cl, byte [edi + 5]
mov eax, 0x101cbffe
test cl, cl
je 0x10073ae2
mov edx, ecx
and dl, 0xdf
cmp dl, 0x41
jne 0x10073ae4
mov cl, byte [edi + 6]
mov eax, 0x101cbfff
test cl, cl
je 0x10073ae2
mov edx, ecx
and dl, 0xdf
cmp dl, 0x59
jne 0x10073ae4
mov cl, byte [edi + 7]
mov eax, 0x101cc000
cmp cl, 0x20
jne 0x10073ae4
jmp 0x10073afc
lea edx, [esp + 0xc8]
mov ecx, edi
push 1
push esi
call fcn.1004e0b0
add esp, 8
test eax, eax
jle 0x10073559
add esi, edi
movzx eax, byte [esi]
cmp eax, 0x3a
jne 0x100738a8
movzx eax, byte [edi]
add eax, 0xffffffd0
lea ecx, [edi + 1]
cmp eax, 9
cmovbe ecx, edi
xorpd xmm0, xmm0
lea edx, [esp + 0x90]
movapd xmmword [edx + 0x20], xmm0
movapd xmmword [edx + 0x10], xmm0
movapd xmmword [edx], xmm0
call fcn.10074410
test eax, eax
jne 0x10073113
lea ebx, [esp + 0x90]
mov ecx, ebx
call fcn.10074220
mov eax, dword [ebx + 4]
mov ecx, 0xfd6cd200
add ecx, dword [ebx]
adc eax, 0xffffffff
xor edx, edx
push edx
push 0x5265c00
push eax
push ecx
call fcn.1014df60
mov ecx, eax
neg ecx
mov ebx, 0
sbb ebx, edx
cmp byte [edi], 0x2d
cmovne ebx, edx
cmovne ecx, eax
mov edi, ecx
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.10074220
mov word [esi + 0x2a], 0
mov byte [esi + 0x2c], 0
add dword [esi], edi
adc dword [esi + 4], ebx
xor eax, eax
mov dword [esp + 0xd4], eax
jmp 0x10073113
test byte [eax + 0x1019c89a], 1
je 0x10073954
movzx eax, byte [esi + 1]
inc esi
jmp 0x100738a8
xorpd xmm0, xmm0
test al, 0x12
je 0x10073695
call fcn.10150620
jmp 0x10073695
mov eax, str.start_of
xor ecx, ecx
movzx ecx, cl
mov cl, byte [ecx + 0x1019c728]
movzx eax, byte [eax]
cmp cl, byte [eax + 0x1019c728]
jne 0x10073113
mov eax, dword [ebp + 0xc]
cmp byte [eax + 0x28], 0
je 0x10073abe
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.10170a00
mov word [esi + 0x2b], 1
xor eax, eax
mov dword [esi + 0x18], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], eax
mov word [esi + 0x28], 0
mov eax, 9
movzx ecx, byte [edi + eax]
movzx edx, byte [eax + 0x101b984c]
cmp cl, dl
jne 0x1007393f
test cl, cl
jne 0x10073951
jmp 0x10073a7d
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [edx + 0x1019c728]
jne 0x10073a8c
inc eax
jmp 0x10073927
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
lea ecx, [eax - 3]
cmp ecx, 7
ja 0x10073113
lea edi, [eax - 1]
mov cl, byte [esi + eax - 1]
and cl, 0xdf
cmp cl, 0x53
cmovne edi, eax
mov ecx, dword [ebp + 0xc]
call fcn.10074220
movsd xmm1, qword [esp + 0xc8]
xorpd xmm0, xmm0
xor eax, eax
movapd xmmword [esp + 0x60], xmm1
ucomisd xmm0, xmm1
seta al
mov dword [esp + 0xd4], 1
movsd xmm0, qword [eax*8 + 0x1019c440]
movsd qword [esp + 0x78], xmm0
mov dword [esp + 0x74], edi
lea eax, [edi + 1]
mov dword [esp + 0x70], eax
xor edi, edi
lea eax, [edi + edi*2]
mov dword [esp + 0xc], eax
movzx eax, byte [eax*8 + 0x101a19b1]
cmp dword [esp + 0x74], eax
jne 0x10073a5d
mov eax, dword [esp + 0xc]
mov eax, dword [eax*8 + 0x101a19b4]
mov dword [esp + 0x24], eax
xor edx, edx
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x24]
movzx eax, byte [eax + edx]
test eax, eax
je 0x10073a1c
mov cl, byte [eax + 0x1019c728]
movzx eax, byte [esi + edx]
mov al, byte [eax + 0x1019c728]
cmp cl, al
jne 0x10073a28
dec ebx
inc edx
cmp ebx, 1
jg 0x100739f3
jmp 0x10073a2c
movzx eax, byte [esi + edx]
mov al, byte [eax + 0x1019c728]
xor ecx, ecx
cmp cl, al
jne 0x10073a5d
mov eax, dword [esp + 0xc]
movsd xmm0, qword [eax*8 + 0x101a19b8]
movapd xmm1, xmmword [0x1019c0b0]
xorpd xmm1, xmm0
movapd xmm2, xmmword [esp + 0x60]
ucomisd xmm2, xmm1
jbe 0x10073a5d
ucomisd xmm0, qword [esp + 0x60]
ja 0x10073c4e
mov eax, edi
inc eax
mov edi, eax
cmp eax, 6
jne 0x100739c9
mov eax, dword [ebp + 0xc]
mov word [eax + 0x2a], 0
mov byte [eax + 0x2c], 0
jmp 0x10073113
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x10], 1
jmp 0x10073301
mov eax, 9
movzx ecx, byte [edi + eax]
movzx edx, byte [eax + 0x101b80b4]
cmp cl, dl
jne 0x10073aa9
test cl, cl
jne 0x10073abb
jmp 0x10073c0b
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [edx + 0x1019c728]
jne 0x10073c1c
inc eax
jmp 0x10073a91
mov eax, dword [ebp + 0xc]
cmp byte [eax + 0x2a], 0
jne 0x100738fe
mov eax, dword [ebp + 0xc]
cmp byte [eax + 0x2b], 0
jne 0x100738fe
jmp 0x10073113
mov eax, str.weekday
xor ecx, ecx
movzx ecx, cl
mov cl, byte [ecx + 0x1019c728]
movzx eax, byte [eax]
cmp cl, byte [eax + 0x1019c728]
jne 0x10073113
add edi, 8
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
lea edx, [esp + 0xc8]
mov ecx, edi
push 1
push eax
call fcn.1004e0b0
add esp, 8
test eax, eax
jle 0x10073113
movsd xmm0, qword [esp + 0xc8]
movsd xmm1, qword [0x1019c4b8]
ucomisd xmm1, xmm0
jbe 0x10073113
cvttsd2si esi, xmm0
test esi, esi
js 0x10073113
cvttpd2dq xmm1, xmm0
cvtdq2pd xmm1, xmm1
ucomisd xmm0, xmm1
jne 0x10073113
jp 0x10073113
mov edi, dword [ebp + 0xc]
mov ecx, edi
call fcn.10170a00
mov ecx, edi
call fcn.10170bd0
xor ebx, ebx
mov byte [edi + 0x2c], bl
mov byte [edi + 0x28], bl
mov ecx, edi
call fcn.10074220
mov eax, dword [edi]
mov dword [esp + 0xc], eax
mov edx, dword [edi + 4]
mov dword [esp + 0x24], edx
add eax, 0x7b98a00
mov ecx, edx
adc ecx, ebx
mov edx, 0x5265c00
push ebx
xor edi, edi
push edx
push ecx
push eax
call fcn.1014deb0
push edi
push 7
push edx
push eax
call fcn.1014df60
mov edi, edx
mov ecx, eax
add ecx, 0xfffffff9
adc edx, 0xffffffff
cmp esi, eax
mov ebx, 0
sbb ebx, edi
cmovge edx, edi
cmovge ecx, eax
sub esi, ecx
mov eax, 0
sbb eax, edx
imul ecx, eax, 0x5265c00
mov eax, esi
mov edx, 0x5265c00
mul edx
add edx, ecx
add eax, dword [esp + 0xc]
adc edx, dword [esp + 0x24]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov word [ecx + 0x2a], 0
xor eax, eax
mov byte [ecx + 0x2c], al
jmp 0x10073301
xor eax, eax
inc eax
mov ecx, dword [ebp + 0xc]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
jmp 0x10073301
mov eax, 9
movzx ecx, byte [edi + eax]
movzx edx, byte [eax + 0x101b4d8f]
cmp cl, dl
jne 0x10073c39
test cl, cl
jne 0x10073c4b
jmp 0x10073301
mov cl, byte [ecx + 0x1019c728]
cmp cl, byte [edx + 0x1019c728]
jne 0x10073113
inc eax
jmp 0x10073c21
mov eax, dword [esp + 0xc]
mov al, byte [eax*8 + 0x101a19b0]
cmp al, 2
je 0x10073cb6
cmp al, 1
jne 0x10073cf5
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.10170a00
mov ecx, esi
call fcn.10170bd0
movapd xmm1, xmmword [esp + 0x60]
cvttsd2si ecx, xmm1
add ecx, dword [esi + 0xc]
xor edx, edx
dec edx
test ecx, ecx
mov eax, 0xfffffff4
cmovg eax, edx
add eax, ecx
mov edx, 0x2aaaaaab
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 1
add edx, eax
add dword [esi + 8], edx
shl edx, 2
lea eax, [edx + edx*2]
sub ecx, eax
mov dword [esi + 0xc], ecx
mov byte [esi + 0x28], 0
jmp 0x10073cda
cvttsd2si ebx, qword [esp + 0x60]
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.10170a00
mov ecx, esi
call fcn.10170bd0
add dword [esi + 8], ebx
mov byte [esi + 0x28], 0
movapd xmm1, xmmword [esp + 0x60]
cvttpd2dq xmm0, xmm1
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movapd xmmword [esp + 0x60], xmm1
movsd qword [esp + 0xc8], xmm1
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.10074220
movapd xmm0, xmmword [esp + 0x60]
mov eax, dword [esp + 0xc]
mulsd xmm0, qword [eax*8 + 0x101a19c0]
movsd xmm1, qword [esp + 0x78]
addsd xmm1, xmm0
movsd qword [esp + 0x40], xmm1
fld qword [esp + 0x40]
fnstcw word [esp + 0x16]
movzx eax, word [esp + 0x16]
or eax, 0xc00
mov word [esp + 0x2a], ax
fldcw word [esp + 0x2a]
fistp qword [esp + 0x40]
fldcw word [esp + 0x16]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
add dword [esi], eax
adc dword [esi + 4], ecx
mov dword [esp + 0xd4], 0
jmp 0x10073a6b