Function at 0x100ac0f0
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 eax, dword [0x101d2014]
mov esi, edx
mov edx, dword [ebp + 0xc]
xor eax, ebp
mov dword [esp + 0xd8], eax
xor eax, eax
test esi, esi
mov dword [esp + 0x34], esi
mov dword [edx + 4], eax
mov dword [edx], eax
mov dword [edx + 0xc], eax
mov dword [edx + 8], eax
mov dword [edx + 0x14], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x1c], eax
mov dword [edx + 0x18], eax
mov dword [edx + 0x24], eax
mov dword [edx + 0x20], eax
mov dword [edx + 0x2c], eax
mov dword [edx + 0x28], eax
je 0x100ac69e
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], ecx
mov ecx, dword [eax]
movzx eax, word [ecx + 8]
mov edx, eax
and edx, 0x3f
movzx edx, byte [edx + 0x10194480]
dec edx
cmp edx, 1
jbe 0x100ac6aa
test ecx, ecx
je 0x100ac869
mov edx, 0x202
mov ebx, eax
and ebx, edx
cmp ebx, edx
jne 0x100ac4c9
cmp byte [ecx + 0xa], 1
jne 0x100ac4c9
mov ebx, dword [ecx + 0x10]
test ebx, ebx
je 0x100ac869
mov al, byte [ebx]
lea edi, [ebx + 1]
lea esi, [esp + 0x90]
lea ecx, [esp + 0xd4]
cmp al, 0x2d
mov byte [esp + 0x20], al
lea eax, [esp + 0x8c]
cmovne edi, ebx
push eax
push ecx
push esi
push str.40f_21a_21d
push edi
call fcn.100ad630
add esp, 0x14
cmp eax, 3
je 0x100ac6d1
mov edx, dword [ebp + 0xc]
mov ecx, ebx
call fcn.100ad460
mov edi, dword [esp + 0x10]
test eax, eax
je 0x100ac27b
xor eax, eax
movzx ecx, byte [ebx + eax]
movzx edx, byte [eax + 0x101ac97b]
cmp cl, dl
jne 0x100ac501
test cl, cl
je 0x100ac203
inc eax
jmp 0x100ac1e9
mov eax, edi
mov edi, dword [edi + 0xc]
mov ecx, dword [eax + 0x10]
mov eax, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
cmp byte [eax + ecx*4], 0x3f
je 0x100ac754
mov ecx, dword [edi + 0x38]
mov eax, dword [edi + 0x3c]
mov edx, ecx
or edx, eax
jne 0x100ac263
mov eax, dword [esp + 0x10]
add edi, 0x38
mov eax, dword [eax]
mov eax, dword [eax + 0x20]
mov ebx, dword [eax]
cmp dword [ebx], 2
jl 0x100ac532
mov ecx, dword [ebx + 0x48]
test ecx, ecx
je 0x100ac532
call dword [section..00cfg]
push edi
push ebx
call ecx
add esp, 8
test eax, eax
jne 0x100ac85a
mov ecx, dword [edi]
mov eax, dword [edi + 4]
mov edx, dword [ebp + 0xc]
cmp ecx, 1
mov dword [edx + 4], eax
sbb eax, 0
mov dword [edx], ecx
jl 0x100ac869
mov byte [edx + 0x28], 1
cmp dword [esp + 0x34], 2
jl 0x100ac464
xor edi, edi
lea ebx, [esp + 0xd4]
inc edi
mov eax, dword [ebp + 8]
mov esi, 0x202
mov dword [esp + 0x20], edi
mov ecx, dword [eax + edi*4]
movzx eax, word [ecx + 8]
mov edx, eax
and edx, esi
cmp edx, esi
jne 0x100ac4a8
cmp byte [ecx + 0xa], 1
jne 0x100ac4a8
mov edi, dword [ecx + 0x10]
test al, 2
je 0x100ac44f
cmp byte [ecx + 0xa], 1
jne 0x100ac44f
test edi, edi
je 0x100ac869
mov dword [esp + 0xd4], 1
movzx eax, byte [edi]
mov cl, byte [eax + 0x10194380]
cmp cl, 0x72
jg 0x100ac314
cmp cl, 0x6c
jne 0x100ac871
xor ecx, ecx
inc ecx
movzx edx, byte [ecx + 0x101b1c6f]
cmp al, dl
jne 0x100ac4e7
test al, al
je 0x100ac36f
mov al, byte [edi + ecx]
inc ecx
jmp 0x100ac2fb
cmp cl, 0x75
jne 0x100ac8b5
xor ecx, ecx
mov edx, eax
inc ecx
movzx ebx, byte [ecx + 0x101b0f21]
cmp dl, bl
jne 0x100ac33b
test dl, dl
je 0x100ac58f
mov dl, byte [edi + ecx]
inc ecx
jmp 0x100ac322
movzx edx, dl
mov dl, byte [edx + 0x10194380]
cmp dl, byte [ebx + 0x10194380]
je 0x100ac335
xor ecx, ecx
lea ebx, [esp + 0xd4]
inc ecx
movzx edx, byte [ecx + 0x101b3c34]
cmp al, dl
jne 0x100ac518
test al, al
je 0x100ac3b1
mov al, byte [edi + ecx]
inc ecx
jmp 0x100ac356
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov eax, dword [eax + 0x68]
lea ecx, [ecx + ecx*4]
cmp byte [eax + ecx*4], 0x3f
je 0x100ac642
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.100ad170
mov ecx, esi
mov edx, edi
push ebx
call fcn.100ad710
add esp, 4
add dword [esi], eax
adc dword [esi + 4], edx
mov word [esi + 0x2a], 0
mov byte [esi + 0x2c], 0
jmp 0x100ac430
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov eax, dword [eax + 0x68]
lea ecx, [ecx + ecx*4]
cmp byte [eax + ecx*4], 0x3f
je 0x100ac642
mov esi, dword [ebp + 0xc]
cmp byte [esi + 0x2d], 0
jne 0x100ac632
mov ecx, esi
call fcn.100ad170
mov edx, edi
mov ecx, esi
push ebx
call fcn.100ad710
add esp, 4
cmp dword [esp + 0xd4], 0
mov edi, eax
mov eax, ebx
jne 0x100ac42a
sub dword [esi], edi
mov ebx, edx
mov ecx, esi
sbb dword [esi + 4], edx
mov word [esi + 0x2a], 0
mov byte [esi + 0x2c], 0
mov edx, dword [esp + 0x10]
push eax
call fcn.100ad710
add esp, 4
sub edi, eax
lea eax, [esp + 0xd4]
sbb ebx, edx
add dword [esi], edi
adc dword [esi + 4], ebx
mov byte [esi + 0x2d], 1
mov ebx, eax
cmp dword [esp + 0xd4], 0
jne 0x100ac869
mov edi, dword [esp + 0x20]
inc edi
cmp edi, dword [esp + 0x34]
jne 0x100ac290
jmp 0x100ac464
test al, 0x11
jne 0x100ac2ce
xor edx, edx
inc edx
call fcn.1002fcc0
jmp 0x100ac2ce
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.100ad170
cmp byte [esi + 0x2e], 0
jne 0x100ac869
mov ecx, dword [ebp + 0xc]
mov eax, 0x1072fdff
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.10192ef0
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
test al, 1
jne 0x100ac4e0
xor edx, edx
inc edx
call fcn.1002fce0
mov edi, eax
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x20]
mov ecx, dword [eax + ecx*4]
movzx eax, word [ecx + 8]
jmp 0x100ac2bc
test al, 1
jne 0x100ac869
xor edx, edx
inc edx
call fcn.1002fce0
mov ebx, eax
jmp 0x100ac18c
xor edi, edi
jmp 0x100ac2bc
movzx eax, al
mov al, byte [eax + 0x10194380]
cmp al, byte [edx + 0x10194380]
je 0x100ac30e
jmp 0x100ac430
mov cl, byte [ecx + 0x10194380]
cmp cl, byte [edx + 0x10194380]
je 0x100ac200
jmp 0x100ac7ad
movzx eax, al
mov al, byte [eax + 0x10194380]
cmp al, byte [edx + 0x10194380]
je 0x100ac369
jmp 0x100ac430
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 [0x10194130]
movsd qword [esp + 0x58], xmm0
fld qword [esp + 0x58]
fnstcw word [esp + 0x1c]
movzx ecx, word [esp + 0x1c]
or ecx, 0xc00
mov word [esp + 0x2c], cx
fldcw word [esp + 0x2c]
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 0x100ac256
mov ecx, dword [ebp + 0xc]
cmp byte [ecx + 0x29], 0
je 0x100ac34c
mov eax, dword [ebp + 0xc]
lea ebx, [esp + 0xd4]
movsd xmm0, qword [eax + 0x20]
mulsd xmm0, qword [0x101941d8]
addsd xmm0, qword [0x10194200]
movsd qword [esp + 0xc8], xmm0
ucomisd xmm0, qword [0x10194108]
jb 0x100ac430
movsd xmm1, qword [0x10194208]
ucomisd xmm1, xmm0
jbe 0x100ac430
mov eax, dword [ebp + 0xc]
addsd xmm0, qword [0x101941f0]
mov byte [eax + 0x2c], 0
movsd qword [esp + 0x38], xmm0
mov edx, eax
fld qword [esp + 0x38]
fnstcw word [esp + 0x18]
movzx eax, word [esp + 0x18]
or eax, 0xc00
mov word [esp + 0x28], ax
fldcw word [esp + 0x28]
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 dword [esp + 0xd4], 0
jmp 0x100ac43e
movzx eax, word [eax + ecx*4 + 2]
mov ecx, 0x101b0559
mov edx, 0x101ac5d2
test al, 8
cmove ecx, edx
test al, 4
mov eax, str.a_CHECK_constraint
cmovne ecx, eax
mov eax, dword [edi + 4]
push ecx
push dword [eax + 0x20]
push str.non_deterministic_use_of__s___in__s
call sym.nss3.dll_sqlite3_mprintf
add esp, 0xc
mov ecx, edi
mov edi, eax
xor eax, eax
inc eax
xor esi, esi
mov edx, edi
mov dword [ecx + 0x14], eax
dec esi
mov ecx, dword [ecx]
push esi
push eax
push esi
call fcn.1000ad80
add esp, 0xc
push edi
call sym.nss3.dll_sqlite3_free
add esp, 4
jmp 0x100ac430
call fcn.100ad360
mov esi, eax
jmp 0x100ac490
test al, 8
jne 0x100ac9cb
test al, 0x24
je 0x100acbd5
fild qword [ecx]
fstp qword [esp + 0x80]
movsd xmm0, qword [esp + 0x80]
jmp 0x100ac9cf
add edi, 9
movzx ecx, byte [edi + 1]
inc edi
mov al, byte [ecx + 0x101944e0]
and al, 1
cmp ecx, 0x54
je 0x100ac6d4
test al, al
jne 0x100ac6d4
mov edx, dword [ebp + 0xc]
mov ecx, edi
call fcn.100ad460
test eax, eax
je 0x100ac708
cmp byte [edi], 0
jne 0x100ac1d1
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 0x100ac27b
mov ecx, dword [ebp + 0xc]
call fcn.100ad170
jmp 0x100ac27b
movzx eax, word [eax + ecx*4 + 2]
mov esi, dword [esp + 0x10]
mov ecx, 0x101ac5d2
mov edx, 0x101b0559
test al, 8
cmove edx, ecx
mov ecx, dword [esi + 4]
test al, 4
mov eax, str.a_CHECK_constraint
cmove eax, edx
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
xor eax, eax
inc eax
mov edx, edi
mov dword [esi + 0x14], eax
mov ecx, dword [esi]
xor esi, esi
dec esi
push esi
push eax
push esi
call fcn.1000ad80
add esp, 0xc
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.10030680
add esp, 8
test eax, eax
mov eax, dword [ebp + 0xc]
jle 0x100ac869
movsd xmm0, qword [esp + 0xc8]
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
movsd qword [eax + 0x20], xmm0
mov byte [eax + 0x29], 1
jb 0x100ac27b
movsd xmm1, qword [0x101941e8]
ucomisd xmm1, xmm0
jbe 0x100ac27b
mulsd xmm0, qword [0x10194130]
addsd xmm0, qword [0x101941f0]
movsd qword [esp + 0x50], xmm0
fld qword [esp + 0x50]
fnstcw word [esp + 0x1a]
movzx eax, word [esp + 0x1a]
or eax, 0xc00
mov word [esp + 0x2a], ax
fldcw word [esp + 0x2a]
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 0x100ac277
mov ecx, dword [ebp + 0xc]
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
xor esi, esi
inc esi
jmp 0x100ac490
add cl, 0xd5
cmp cl, 0xe
ja 0x100ac430
movzx eax, cl
mov edx, 0x7fe5
bt edx, eax
jae 0x100ac430
xor esi, esi
inc esi
movzx eax, byte [edi + esi]
test eax, eax
je 0x100acb4d
cmp al, 0x3a
je 0x100acb4d
test byte [eax + 0x101944e0], 1
jne 0x100acb4d
inc esi
jmp 0x100ac891
cmp cl, 0x73
jne 0x100aca41
test al, al
je 0x100acbeb
mov cl, byte [edi + 1]
mov eax, 0x101c338d
test cl, cl
je 0x100acbf0
mov edx, ecx
lea ebx, [esp + 0xd4]
and dl, 0xdf
cmp dl, 0x54
jne 0x100acbf9
mov cl, byte [edi + 2]
mov eax, 0x101c338e
test cl, cl
je 0x100acbf0
mov edx, ecx
lea ebx, [esp + 0xd4]
and dl, 0xdf
cmp dl, 0x41
jne 0x100acbf9
mov cl, byte [edi + 3]
mov eax, 0x101c338f
test cl, cl
je 0x100acbf0
mov edx, ecx
lea ebx, [esp + 0xd4]
and dl, 0xdf
cmp dl, 0x52
jne 0x100acbf9
mov cl, byte [edi + 4]
mov eax, 0x101c3390
test cl, cl
je 0x100acbf0
mov edx, ecx
lea ebx, [esp + 0xd4]
and dl, 0xdf
cmp dl, 0x54
jne 0x100acbf9
mov cl, byte [edi + 5]
mov eax, 0x101c3391
cmp cl, 0x20
jne 0x100acbf9
mov cl, byte [edi + 6]
mov eax, 0x101c3392
test cl, cl
je 0x100acbf0
mov edx, ecx
lea ebx, [esp + 0xd4]
and dl, 0xdf
cmp dl, 0x4f
jne 0x100acbf9
mov cl, byte [edi + 7]
mov eax, 0x101c3393
test cl, cl
je 0x100acbf0
mov edx, ecx
lea ebx, [esp + 0xd4]
and dl, 0xdf
cmp dl, 0x46
jne 0x100acbf9
mov cl, byte [edi + 8]
mov eax, 0x101c3394
cmp cl, 0x20
jne 0x100acbf9
jmp 0x100acc11
movsd xmm0, qword [ecx]
mov eax, dword [ebp + 0xc]
xorpd xmm1, xmm1
ucomisd xmm0, xmm1
movsd qword [eax + 0x20], xmm0
mov byte [eax + 0x29], 1
jb 0x100ac27b
movsd xmm1, qword [0x101941e8]
ucomisd xmm1, xmm0
jbe 0x100ac27b
mulsd xmm0, qword [0x10194130]
addsd xmm0, qword [0x101941f0]
movsd qword [esp + 0x48], xmm0
fld qword [esp + 0x48]
fnstcw word [esp + 0x1e]
movzx eax, word [esp + 0x1e]
or eax, 0xc00
mov word [esp + 0x2e], ax
fldcw word [esp + 0x2e]
fistp qword [esp + 0x48]
fldcw word [esp + 0x1e]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
jmp 0x100ac84d
cmp cl, 0x77
lea ebx, [esp + 0xd4]
jne 0x100ac430
test al, al
je 0x100ace21
mov cl, byte [edi + 1]
mov eax, 0x101c331e
test cl, cl
je 0x100ace26
mov edx, ecx
lea ebx, [esp + 0xd4]
and dl, 0xdf
cmp dl, 0x45
jne 0x100ace2f
mov cl, byte [edi + 2]
mov eax, 0x101c331f
test cl, cl
je 0x100ace26
mov edx, ecx
lea ebx, [esp + 0xd4]
and dl, 0xdf
cmp dl, 0x45
jne 0x100ace2f
mov cl, byte [edi + 3]
mov eax, 0x101c3320
test cl, cl
je 0x100ace26
mov edx, ecx
lea ebx, [esp + 0xd4]
and dl, 0xdf
cmp dl, 0x4b
jne 0x100ace2f
mov cl, byte [edi + 4]
mov eax, 0x101c3321
test cl, cl
je 0x100ace26
mov edx, ecx
lea ebx, [esp + 0xd4]
and dl, 0xdf
cmp dl, 0x44
jne 0x100ace2f
mov cl, byte [edi + 5]
mov eax, 0x101c3322
test cl, cl
je 0x100ace26
mov edx, ecx
lea ebx, [esp + 0xd4]
and dl, 0xdf
cmp dl, 0x41
jne 0x100ace2f
mov cl, byte [edi + 6]
mov eax, 0x101c3323
test cl, cl
je 0x100ace26
mov edx, ecx
lea ebx, [esp + 0xd4]
and dl, 0xdf
cmp dl, 0x59
jne 0x100ace2f
mov cl, byte [edi + 7]
mov eax, 0x101c3324
cmp cl, 0x20
jne 0x100ace2f
jmp 0x100ace47
mov ecx, edi
lea edx, [esp + 0xc8]
push 1
push esi
call fcn.10030680
add esp, 8
test eax, eax
jle 0x100ac869
add esi, edi
movzx eax, byte [esi]
cmp eax, 0x3a
jne 0x100acbc1
movzx eax, byte [edi]
lea ecx, [edi + 1]
xorpd xmm0, xmm0
lea edx, [esp + 0x90]
movapd xmmword [esp + 0xb0], xmm0
movapd xmmword [esp + 0xa0], xmm0
movapd xmmword [esp + 0x90], xmm0
add eax, 0xffffffd0
cmp eax, 9
cmovbe ecx, edi
call fcn.100ad460
test eax, eax
je 0x100acfb7
lea ebx, [esp + 0xd4]
jmp 0x100ac430
test byte [eax + 0x101944e0], 1
je 0x100acc74
movzx eax, byte [esi + 1]
inc esi
jmp 0x100acbc1
xorpd xmm0, xmm0
test al, 0x12
je 0x100ac9cf
call fcn.10030620
jmp 0x100ac9cf
mov eax, str.start_of
xor ecx, ecx
lea ebx, [esp + 0xd4]
movzx ecx, cl
movzx eax, byte [eax]
mov cl, byte [ecx + 0x10194380]
cmp cl, byte [eax + 0x10194380]
jne 0x100ac430
mov eax, dword [ebp + 0xc]
cmp byte [eax + 0x28], 0
je 0x100ace02
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.100adac0
xor eax, eax
mov word [esi + 0x2b], 1
mov dword [esi + 0x18], eax
mov dword [esi + 0x14], eax
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], eax
mov eax, 9
mov word [esi + 0x28], 0
movzx ecx, byte [edi + eax]
movzx edx, byte [eax + 0x101b0e5d]
cmp cl, dl
jne 0x100acc5f
test cl, cl
jne 0x100acc71
jmp 0x100acdaf
mov cl, byte [ecx + 0x10194380]
cmp cl, byte [edx + 0x10194380]
jne 0x100acdd0
inc eax
jmp 0x100acc47
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
lea ebx, [esp + 0xd4]
lea ecx, [eax - 3]
cmp ecx, 7
ja 0x100ac430
mov cl, byte [esi + eax - 1]
lea ebx, [eax - 1]
and cl, 0xdf
cmp cl, 0x53
mov ecx, dword [ebp + 0xc]
cmovne ebx, eax
call fcn.100ad170
movsd xmm1, qword [esp + 0xc8]
xorpd xmm0, xmm0
xor eax, eax
mov dword [esp + 0xd4], 1
mov dword [esp + 0x30], ebx
ucomisd xmm0, xmm1
movapd xmmword [esp + 0x60], xmm1
seta al
xor edi, edi
movsd xmm0, qword [eax*8 + 0x101941a0]
lea eax, [ebx + 1]
mov dword [esp + 0x74], eax
movsd qword [esp + 0x78], xmm0
lea eax, [edi + edi*2]
mov dword [esp + 0xc], eax
movzx eax, byte [eax*8 + 0x101993f9]
cmp dword [esp + 0x30], eax
jne 0x100acd8f
cmp dword [esp + 0x30], 0
jle 0x100acd5e
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x74]
xor edx, edx
mov eax, dword [eax*8 + 0x101993fc]
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
movzx eax, byte [eax + edx]
test eax, eax
je 0x100acd4e
movzx ecx, byte [esi + edx]
mov al, byte [eax + 0x10194380]
mov cl, byte [ecx + 0x10194380]
cmp al, cl
jne 0x100acd5a
dec ebx
inc edx
cmp ebx, 1
jg 0x100acd25
jmp 0x100acd5e
movzx eax, byte [esi + edx]
mov cl, byte [eax + 0x10194380]
xor eax, eax
cmp al, cl
jne 0x100acd8f
mov eax, dword [esp + 0xc]
movapd xmm2, xmmword [esp + 0x60]
movsd xmm0, qword [eax*8 + 0x10199400]
movapd xmm1, xmm0
xorpd xmm1, xmmword [0x101940b0]
ucomisd xmm2, xmm1
jbe 0x100acd8f
ucomisd xmm0, qword [esp + 0x60]
ja 0x100ad04c
mov eax, edi
inc eax
mov edi, eax
cmp eax, 6
jne 0x100accf0
mov eax, dword [ebp + 0xc]
mov word [eax + 0x2a], 0
mov byte [eax + 0x2c], 0
jmp 0x100acbb5
mov eax, dword [ebp + 0xc]
mov dword [eax + 0x10], 1
mov dword [esp + 0xd4], 0
lea ebx, [esp + 0xd4]
jmp 0x100ac43e
mov eax, 9
movzx ecx, byte [edi + eax]
movzx edx, byte [eax + 0x101af731]
cmp cl, dl
jne 0x100acded
test cl, cl
jne 0x100acdff
jmp 0x100acf66
mov cl, byte [ecx + 0x10194380]
cmp cl, byte [edx + 0x10194380]
jne 0x100acf77
inc eax
jmp 0x100acdd5
mov eax, dword [ebp + 0xc]
cmp byte [eax + 0x2a], 0
jne 0x100acc1e
mov eax, dword [ebp + 0xc]
cmp byte [eax + 0x2b], 0
jne 0x100acc1e
jmp 0x100ac430
mov eax, str.weekday
xor ecx, ecx
lea ebx, [esp + 0xd4]
movzx ecx, cl
movzx eax, byte [eax]
mov cl, byte [ecx + 0x10194380]
cmp cl, byte [eax + 0x10194380]
jne 0x100ac430
add edi, 8
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
and eax, 0x3fffffff
mov ecx, edi
lea edx, [esp + 0xc8]
push 1
push eax
call fcn.10030680
add esp, 8
test eax, eax
jle 0x100ac430
movsd xmm0, qword [esp + 0xc8]
movsd xmm1, qword [0x101941f8]
ucomisd xmm1, xmm0
jbe 0x100ac430
cvttsd2si eax, xmm0
test eax, eax
js 0x100ac430
cvttpd2dq xmm1, xmm0
cvtdq2pd xmm1, xmm1
ucomisd xmm0, xmm1
jne 0x100ac430
jp 0x100ac430
mov edi, dword [ebp + 0xc]
mov esi, eax
mov ecx, edi
call fcn.100adac0
mov ecx, edi
call fcn.100adc10
xor ebx, ebx
mov ecx, edi
mov byte [edi + 0x2c], bl
mov byte [edi + 0x28], bl
call fcn.100ad170
mov edx, dword [edi + 4]
mov eax, dword [edi]
mov dword [esp + 0xc], eax
add eax, 0x7b98a00
mov ecx, edx
mov dword [esp + 8], edx
adc ecx, ebx
push ebx
mov edx, 0x5265c00
xor edi, edi
push edx
push ecx
push eax
call fcn.10193120
push edi
push 7
push edx
push eax
call fcn.101931d0
mov ecx, eax
mov edi, edx
mov ebx, 0
add ecx, 0xfffffff9
adc edx, 0xffffffff
cmp esi, eax
sbb ebx, edi
lea ebx, [esp + 0xd4]
cmovge ecx, eax
cmovge edx, edi
mov eax, 0
sub esi, ecx
sbb eax, edx
mov edx, 0x5265c00
imul ecx, eax, 0x5265c00
mov eax, esi
mul edx
add edx, ecx
add eax, dword [esp + 0xc]
mov ecx, dword [ebp + 0xc]
adc edx, dword [esp + 8]
mov dword [ecx], eax
xor eax, eax
mov dword [ecx + 4], edx
mov word [ecx + 0x2a], 0
mov byte [ecx + 0x2c], al
mov dword [esp + 0xd4], eax
jmp 0x100ac43e
mov eax, dword [ebp + 0xc]
xor ecx, ecx
inc ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], ecx
jmp 0x100acdb9
mov eax, 9
movzx ecx, byte [edi + eax]
movzx edx, byte [eax + 0x101ac4f3]
cmp cl, dl
jne 0x100acf9b
test cl, cl
lea ebx, [esp + 0xd4]
jne 0x100acfb4
jmp 0x100ac632
mov cl, byte [ecx + 0x10194380]
lea ebx, [esp + 0xd4]
cmp cl, byte [edx + 0x10194380]
jne 0x100ac430
inc eax
jmp 0x100acf7c
lea ecx, [esp + 0x90]
call fcn.100ad170
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x94]
mov edx, 0xfd6cd200
add ecx, edx
adc eax, 0xffffffff
push 0
push 0x5265c00
push eax
push ecx
call fcn.101931d0
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
mov ebx, eax
mov dword [esp + 8], edx
cmp byte [edi], 0x2d
jne 0x100ad01f
neg ebx
mov eax, 0
sbb eax, dword [esp + 8]
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], eax
mov dword [esp + 8], eax
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.100ad170
mov word [esi + 0x2a], 0
mov byte [esi + 0x2c], 0
add dword [esi], ebx
mov eax, dword [esp + 8]
adc dword [esi + 4], eax
mov dword [esp + 0xd4], 0
jmp 0x100acbb5
mov eax, dword [esp + 0xc]
mov al, byte [eax*8 + 0x101993f8]
cmp al, 2
je 0x100ad0b6
cmp al, 1
jne 0x100ad0f5
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.100adac0
mov ecx, esi
call fcn.100adc10
movapd xmm1, xmmword [esp + 0x60]
mov eax, 0xfffffff4
mov edx, 0xffffffff
cvttsd2si ecx, xmm1
add ecx, dword [esi + 0xc]
test ecx, ecx
cmovg eax, edx
mov edx, 0x2aaaaaab
add eax, ecx
imul edx
mov eax, edx
sar edx, 1
shr eax, 0x1f
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 0x100ad0da
mov esi, dword [ebp + 0xc]
cvttsd2si ebx, qword [esp + 0x60]
mov ecx, esi
call fcn.100adac0
mov ecx, esi
call fcn.100adc10
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.100ad170
movapd xmm0, xmmword [esp + 0x60]
mov eax, dword [esp + 0xc]
movsd xmm1, qword [esp + 0x78]
mulsd xmm0, qword [eax*8 + 0x10199408]
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 + 0x26], ax
fldcw word [esp + 0x26]
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 0x100acd9d