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

Disassembly:
sub esp, 0x260
mov eax, dword [0x57f7c4]
xor eax, esp
mov dword [esp + 0x25c], eax
push ebx
push ebp
push esi
push edi
call fcn.0043fbd0
mov edi, dword [0x3f93184]
mov dword [esp + 0x18], eax
mov eax, dword [0x3f9319c]
mov ebp, dword [eax]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], edi
mov esi, dword [0x3f9319c]
test edi, edi
je 0x440018
cmp edi, dword [0x3f93184]
je 0x44001d
call fcn.0051b1ad
cmp ebp, esi
je 0x44076b
test edi, edi
jne 0x44006c
call fcn.0051b1ad
xor eax, eax
cmp ebp, dword [eax + 0x18]
jne 0x44003a
call fcn.0051b1ad
mov ebx, dword [ebp + 0xc]
test edi, edi
jne 0x440070
call fcn.0051b1ad
xor eax, eax
cmp ebp, dword [eax + 0x18]
jne 0x440052
call fcn.0051b1ad
mov edi, dword [ebp + 0x10]
test edi, edi
jne 0x440074
lea esi, [esp + 0x1c]
call fcn.0044a2e0
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
jmp 0x440006
mov eax, dword [edi]
jmp 0x440030
mov eax, dword [edi]
jmp 0x440048
mov ecx, dword [esp + 0x274]
cmp dword [edi + 0x30], ecx
ja 0x440059
mov edx, dword [edi + 0xc]
push ebx
push edx
call fcn.00440790
mov esi, dword [0x587960]
mov eax, dword [edi + 0xc]
lea ecx, [esp + 0x24]
push ecx
add esi, 0x10
mov dword [esp + 0x28], eax
call fcn.00415480
mov ebp, eax
mov eax, dword [edi + 0x28]
mov dword [esp + 0x24], ebp
test eax, eax
jne 0x440271
mov esi, dword [esp + 0x18]
mov edx, dword [edi + 0x10]
push esi
push edx
push 1
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0xc]
push ebx
push eax
call fcn.00440a50
test ebp, ebp
je 0x440158
mov eax, dword [edi + 0x10]
mov dword [esp + 0x7a], ebx
mov byte [esp + 0x7e], 1
mov dword [esp + 0x7f], esi
mov ecx, 0x1c0f
mov word [esp + 0x78], cx
mov dl, byte [eax + 0x40]
mov byte [esp + 0x83], dl
movzx ecx, byte [eax + 0x41]
mov byte [esp + 0x84], cl
movzx edx, word [eax + 0x44]
mov word [esp + 0x85], dx
mov ecx, dword [eax + 0x46]
mov dword [esp + 0x87], ecx
movzx edx, word [eax + 0x4a]
mov word [esp + 0x8b], dx
movzx ecx, byte [eax + 0x42]
add eax, 0x4c
lea edx, [esp + 0x8e]
mov byte [esp + 0x8d], cl
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x440140
push 0x2b
lea edx, [esp + 0x7c]
push edx
mov ecx, ebp
call fcn.004ed0e0
mov ecx, dword [edi + 0xc]
mov eax, 0xa09
mov word [esp + 0x158], ax
lea eax, [edi + 0x34]
lea edx, [esp + 0x15e]
mov dword [esp + 0x15a], ecx
sub edx, eax
jmp 0x440180
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x440180
lea edx, [esp + 0x30]
push edx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [esp + 0x30]
movzx ecx, word [esp + 0x32]
movzx edx, word [esp + 0x36]
sub eax, 0x10
shl eax, 4
add eax, ecx
movzx ecx, word [esp + 0x38]
shl eax, 5
add eax, edx
movzx edx, word [esp + 0x3a]
shl eax, 5
add eax, ecx
movzx ecx, word [esp + 0x3c]
shl eax, 6
add eax, edx
shl eax, 6
add eax, ecx
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x173], eax
mov edx, dword [ecx + 0x38]
mov dword [esp + 0x177], edx
mov eax, dword [ecx + 0x3c]
mov dword [esp + 0x17b], eax
mov edx, dword [ecx + 0x30]
mov eax, dword [edx]
mov dword [esp + 0x17f], eax
mov eax, dword [ecx + 0x30]
add eax, 4
lea esi, [esp + 0x183]
mov dl, byte [eax]
mov byte [esi], dl
inc eax
inc esi
test dl, dl
jne 0x440206
mov edx, dword [ecx + 0x46]
mov dword [esp + 0x1a3], edx
mov ax, word [ecx + 0x4a]
mov word [esp + 0x1a7], ax
lea eax, [ecx + 0x4c]
lea esi, [esp + 0x1ad]
sub esi, eax
mov dl, byte [eax]
mov byte [esi + eax], dl
inc eax
test dl, dl
jne 0x440232
mov ecx, dword [ecx + 0x64]
mov byte [esp + 0x1ca], dl
push 0x87
lea edx, [esp + 0x15c]
mov dword [esp + 0x1ad], ecx
mov dword [esp + 0x1c6], ebx
mov dword [esp + 0x1ca], 0
push edx
jmp 0x4406be
push ebx
push eax
call fcn.004408f0
mov eax, dword [esp + 0x18]
mov ecx, dword [edi + 0x10]
mov edx, dword [edi + 0x28]
push eax
push ecx
push 0
push ebx
push edx
call fcn.00440a50
mov esi, dword [0x587960]
mov eax, dword [edi + 0x28]
lea ecx, [esp + 0x14]
push ecx
add esi, 0x10
mov dword [esp + 0x18], eax
call fcn.00415480
mov ecx, eax
test ecx, ecx
je 0x44033a
mov eax, dword [esp + 0x18]
mov edx, 0x1c11
mov word [esp + 0x78], dx
mov edx, dword [edi + 0x10]
mov dword [esp + 0x7a], ebx
mov byte [esp + 0x7e], 0
mov dword [esp + 0x7f], eax
movzx eax, byte [edx + 0x40]
mov byte [esp + 0x83], al
movzx eax, byte [edx + 0x41]
mov byte [esp + 0x84], al
movzx eax, word [edx + 0x44]
mov word [esp + 0x85], ax
mov eax, dword [edx + 0x46]
mov dword [esp + 0x87], eax
movzx eax, word [edx + 0x4a]
mov word [esp + 0x8b], ax
movzx eax, byte [edx + 0x42]
add edx, 0x4c
lea esi, [esp + 0x8e]
mov byte [esp + 0x8d], al
sub esi, edx
mov edi, edi
mov al, byte [edx]
mov byte [esi + edx], al
inc edx
test al, al
jne 0x440320
push 0x2b
lea edx, [esp + 0x7c]
push edx
call fcn.004ed0e0
mov ebp, dword [esp + 0x24]
mov ecx, dword [edi + 0x2c]
mov edx, dword [edi + 0x24]
mov eax, ecx
mov dword [esp + 0x28], eax
fild dword [esp + 0x28]
test eax, eax
jge 0x440354
fadd qword [0x574070]
fmul qword [0x574190]
mov esi, edx
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x28], eax
fldcw word [esp + 0x28]
fistp qword [esp + 0x28]
mov eax, dword [esp + 0x28]
sub esi, eax
mov eax, dword [esp + 0x18]
fldcw word [esp + 0x14]
push eax
mov eax, dword [edi + 0x10]
add esi, ecx
push esi
push edx
push ecx
mov ecx, dword [edi + 0xc]
push 0
push ebx
push ecx
call fcn.00440b90
mov dword [esp + 0x14], eax
test ebp, ebp
je 0x440444
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x7a], eax
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x87], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 0x8b], ecx
mov edx, 0x1c0e
mov word [esp + 0x78], dx
mov dword [esp + 0x7e], ebx
mov byte [esp + 0x82], 0
mov dword [esp + 0x83], esi
mov dl, byte [eax + 0x40]
mov byte [esp + 0x8f], dl
mov cl, byte [eax + 0x41]
mov byte [esp + 0x90], cl
movzx edx, word [eax + 0x44]
mov word [esp + 0x91], dx
mov ecx, dword [eax + 0x46]
mov dword [esp + 0x93], ecx
movzx edx, word [eax + 0x4a]
lea ecx, [eax + 0x4c]
lea ebp, [esp + 0x9a]
mov word [esp + 0x97], dx
sub ebp, ecx
mov dl, byte [ecx]
mov byte [ecx + ebp], dl
inc ecx
test dl, dl
jne 0x440420
mov al, byte [eax + 0x42]
push 0x37
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0xa1], al
call fcn.004ed0e0
mov eax, dword [edi + 0xc]
mov dword [esp + 0xb2], eax
lea eax, [edi + 0x34]
mov edx, 0xa08
mov ecx, eax
neg ecx
mov word [esp + 0xb0], dx
mov dword [esp + 0x28], ecx
lea edx, [esp + ecx + 0xb6]
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x440470
lea ecx, [esp + 0x50]
push ecx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx edx, word [esp + 0x50]
movzx eax, word [esp + 0x52]
movzx ecx, word [esp + 0x56]
sub edx, 0x10
shl edx, 4
add edx, eax
movzx eax, word [esp + 0x58]
shl edx, 5
add edx, ecx
movzx ecx, word [esp + 0x5a]
shl edx, 5
add edx, eax
movzx eax, word [esp + 0x5c]
shl edx, 6
add edx, ecx
shl edx, 6
add edx, eax
mov eax, dword [edi + 0x10]
mov dword [esp + 0xcb], edx
mov ecx, dword [eax + 0x38]
mov dword [esp + 0xcf], ecx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0xd3], edx
mov ecx, dword [eax + 0x30]
mov edx, dword [ecx]
mov dword [esp + 0xd7], edx
mov ecx, dword [eax + 0x30]
add ecx, 4
lea ebp, [esp + 0xdb]
mov dl, byte [ecx]
mov byte [ebp], dl
inc ecx
inc ebp
test dl, dl
jne 0x4404f6
mov ecx, dword [eax + 0x46]
mov dword [esp + 0xfb], ecx
mov dx, word [eax + 0x4a]
lea ecx, [eax + 0x4c]
lea ebp, [esp + 0x105]
mov word [esp + 0xff], dx
sub ebp, ecx
mov dl, byte [ecx]
mov byte [ecx + ebp], dl
inc ecx
test dl, dl
jne 0x440523
mov eax, dword [eax + 0x64]
mov ecx, dword [esp + 0x14]
mov edx, dword [edi + 0x2c]
mov dword [esp + 0x12a], esi
lea esi, [edi + 0x49]
mov dword [esp + 0x101], eax
mov eax, dword [edi + 0x24]
mov ebp, esi
mov dword [esp + 0x11a], ecx
mov ecx, dword [edi + 0x28]
neg ebp
mov dword [esp + 0x122], edx
mov dword [esp + 0x126], eax
mov dword [esp + 0x11e], ebx
mov dword [esp + 0x12e], ecx
mov eax, esi
lea edx, [esp + ebp + 0x132]
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x440580
mov ecx, dword [0x587974]
push 0xa2
lea edx, [esp + 0xb4]
push edx
call fcn.004ed210
mov ecx, dword [edi + 0x28]
mov eax, 0xa0b
mov word [esp + 0x1e0], ax
mov dword [esp + 0x1e2], ecx
mov eax, esi
lea edx, [esp + ebp + 0x1e6]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4405c2
lea edx, [esp + 0x40]
push edx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [esp + 0x40]
movzx ecx, word [esp + 0x42]
movzx edx, word [esp + 0x46]
sub eax, 0x10
shl eax, 4
add eax, ecx
movzx ecx, word [esp + 0x48]
shl eax, 5
add eax, edx
movzx edx, word [esp + 0x4a]
shl eax, 5
add eax, ecx
movzx ecx, word [esp + 0x4c]
shl eax, 6
add eax, edx
shl eax, 6
add eax, ecx
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x1fb], eax
mov edx, dword [ecx + 0x38]
mov dword [esp + 0x1ff], edx
mov eax, dword [ecx + 0x3c]
mov dword [esp + 0x203], eax
mov edx, dword [ecx + 0x30]
mov eax, dword [edx]
mov dword [esp + 0x207], eax
mov eax, dword [ecx + 0x30]
add eax, 4
lea esi, [esp + 0x20b]
mov dl, byte [eax]
mov byte [esi], dl
inc eax
inc esi
test dl, dl
jne 0x440648
mov edx, dword [ecx + 0x46]
mov dword [esp + 0x22b], edx
mov ax, word [ecx + 0x4a]
mov word [esp + 0x22f], ax
lea eax, [ecx + 0x4c]
lea esi, [esp + 0x235]
sub esi, eax
mov dl, byte [eax]
mov byte [esi + eax], dl
inc eax
test dl, dl
jne 0x440674
mov ecx, dword [ecx + 0x64]
mov edx, dword [edi + 0xc]
mov dword [esp + 0x24e], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x231], ecx
mov dword [esp + 0x24a], ebx
lea eax, [edi + 0x34]
lea edx, [esp + edx + 0x252]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4406a7
push 0x87
lea eax, [esp + 0x1e4]
push eax
mov ecx, dword [0x587974]
call fcn.004ed210
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov ecx, 0xf0c
mov word [esp + 0x60], cx
push 0xe
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [0x58796c]
mov dword [esp + 0x6a], ebx
mov dword [esp + 0x6e], edx
mov dword [esp + 0x72], eax
call fcn.004ed2d0
push 0x3f93070
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x3f93064]
test eax, eax
jne 0x440718
mov dword [0x3f93064], edi
mov dword [edi + 4], eax
jmp 0x440721
mov dword [edi + 4], eax
mov dword [0x3f93064], edi
inc dword [0x3f9306c]
push 0x3f93070
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push edx
push eax
lea ecx, [esp + 0x78]
push ecx
push 0x3f93184
call fcn.004452c0
mov edx, dword [eax]
mov eax, dword [eax + 4]
push ebx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
call fcn.0043fc50
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
jmp 0x440006
mov ecx, dword [esp + 0x26c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0051a8be
add esp, 0x260
ret 4