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

Disassembly:
sub esp, 0x88
push esi
mov esi, dword [esp + 0x90]
push edi
xor edi, edi
xor eax, eax
mov dword [esp + 0x10], eax
cmp esi, edi
je 0x43dbb7
mov ecx, dword [esp + 0x98]
push ebx
lea eax, [esp + 0x38]
push eax
push 0x18
push ecx
call dword [0x474090]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
push edi
push edi
mov dword [esp + 0x60], eax
lea eax, [esp + 0x98]
push eax
mov ecx, 1
mov word [esp + 0x68], cx
push edi
lea ecx, [esp + 0x60]
mov dword [esp + 0x64], edx
push ecx
mov edx, 0x20
push esi
mov dword [esp + 0x68], 0x28
mov word [esp + 0x76], dx
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
call dword [0x474124]
mov ebx, eax
mov dword [esp + 0x34], ebx
cmp ebx, edi
je 0x43dbab
push ebp
push esi
call dword [0x474084]
mov ebp, eax
mov dword [esp + 0x30], ebp
cmp ebp, edi
je 0x43dbaa
push ebx
push ebp
call dword [0x47408c]
lea edx, [esp + 0x7c]
push edx
push 0x18
push ebx
mov dword [esp + 0x40], eax
call dword [0x474090]
mov eax, dword [esp + 0x88]
mov ecx, eax
and ecx, 0x80000003
jns 0x43d910
dec ecx
or ecx, 0xfffffffc
inc ecx
je 0x43d92b
inc eax
mov edx, eax
and edx, 0x80000003
jns 0x43d922
dec edx
or edx, 0xfffffffc
inc edx
jne 0x43d912
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push 0xcc0020
push edi
push edi
push esi
push eax
push ecx
push edi
push edi
push ebp
call dword [0x474098]
push 0x660
push 2
mov dword [esp + 0x1c], 0x64
call dword [0x4741cc]
mov ebp, eax
push ebp
mov dword [esp + 0x24], ebp
call dword [0x4741d0]
push edi
mov esi, eax
push edi
push 0x7fffffff
push 0x7fffffff
lea edx, [esi + 0x10]
push edx
mov dword [esi], 0x20
mov dword [esi + 4], 1
mov dword [esi + 0xc], edi
mov dword [esi + 8], edi
call dword [0x474640]
mov edx, dword [esp + 0x84]
mov ecx, dword [esp + 0xa4]
dec edx
imul edx, dword [esp + 0x88]
add edx, dword [esp + 0x90]
mov eax, ecx
shr eax, 8
mov byte [esp + 0x12], al
mov eax, ecx
shr eax, 0x10
xor ebx, ebx
cmp dword [esp + 0x44], edi
mov byte [esp + 0x13], al
mov dword [esp + 0x2c], edx
mov dword [esp + 0x1c], ebx
jle 0x43db4c
mov ecx, dword [esp + 0x40]
jmp 0x43d9e0
test ecx, ecx
jle 0x43db30
mov eax, dword [esp + 0x14]
add eax, 2
shl eax, 4
mov dword [esp + 0x28], eax
cmp edi, ecx
mov dword [esp + 0x24], edi
lea eax, [edx + edi*4]
jge 0x43db23
jmp 0x43da10
mov dl, byte [esp + 0xa4]
cmp byte [eax + 2], dl
jne 0x43da2d
mov dl, byte [esp + 0x12]
cmp byte [eax + 1], dl
jne 0x43da2d
mov dl, byte [esp + 0x13]
cmp byte [eax], dl
je 0x43da35
inc edi
add eax, 4
cmp edi, ecx
jl 0x43da10
cmp edi, dword [esp + 0x24]
jle 0x43db23
mov eax, dword [esp + 0x14]
cmp dword [esi + 8], eax
jb 0x43da78
push ebp
call dword [0x4741d4]
mov eax, dword [esp + 0x28]
add dword [esp + 0x14], 0x64
add eax, 0x640
push 2
push eax
push ebp
mov dword [esp + 0x34], eax
call dword [0x4741a4]
push eax
mov dword [esp + 0x24], eax
call dword [0x4741d0]
mov esi, eax
mov edx, dword [esi + 8]
mov ecx, dword [esp + 0x24]
lea ebp, [ebx + 1]
push ebp
push edi
add edx, 2
push ebx
shl edx, 4
push ecx
add edx, esi
push edx
call dword [0x474640]
mov eax, dword [esp + 0x24]
cmp eax, dword [esi + 0x10]
lea ebx, [esi + 0x10]
jge 0x43daa3
mov dword [ebx], eax
mov eax, dword [esp + 0x1c]
cmp eax, dword [esi + 0x14]
jge 0x43daaf
mov dword [esi + 0x14], eax
cmp edi, dword [esi + 0x18]
jle 0x43dab7
mov dword [esi + 0x18], edi
cmp ebp, dword [esi + 0x1c]
jle 0x43dabf
mov dword [esi + 0x1c], ebp
inc dword [esi + 8]
cmp dword [esi + 8], 0x7d0
jne 0x43db17
mov eax, dword [esp + 0x28]
push esi
push eax
push 0
call dword [0x4740c4]
mov ebp, eax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x43daf7
push 2
push ebp
push eax
push eax
call dword [0x474114]
push ebp
call dword [0x474080]
jmp 0x43dafb
mov dword [esp + 0x18], ebp
push 0
push 0
push 0x7fffffff
push 0x7fffffff
push ebx
mov dword [esi + 8], 0
call dword [0x474640]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x2c]
inc edi
cmp edi, ecx
jl 0x43d9f6
sub edx, dword [esp + 0x88]
inc ebx
xor edi, edi
cmp ebx, dword [esp + 0x44]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x1c], ebx
jl 0x43d9e0
mov ecx, dword [esp + 0x14]
add ecx, 2
push esi
shl ecx, 4
push ecx
push edi
call dword [0x4740c4]
mov esi, eax
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x43db7d
push 2
push esi
push eax
push eax
call dword [0x474114]
push esi
call dword [0x474080]
jmp 0x43db81
mov dword [esp + 0x18], esi
push ebp
call dword [0x4741d4]
push ebp
call dword [0x4741a8]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
push edx
push esi
call dword [0x47408c]
push esi
call dword [0x47407c]
mov ebx, dword [esp + 0x38]
pop ebp
push ebx
call dword [0x474080]
mov eax, dword [esp + 0x14]
pop ebx
pop edi
pop esi
add esp, 0x88
ret