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

Disassembly:
push 0xffffffffffffffff
push 0x43fb1f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xc0
push ebx
push ebp
push esi
push edi
xor edi, edi
mov esi, 7
push 0x442524
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], edi
mov word [esp + 0x3c], di
call fcn.0042cd50
add esp, 4
push eax
push 0x442524
lea ecx, [esp + 0x3c]
call fcn.00402300
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x74]
push ecx
mov dword [esp + 0xe0], edi
call fcn.00415770
push eax
lea edx, [esp + 0x60]
push 0x442c08
push edx
mov byte [esp + 0xec], 1
call fcn.004039f0
push 0x4429e0
push eax
lea eax, [esp + 0xd0]
push eax
mov byte [esp + 0xf8], 2
call fcn.00402570
add esp, 0x20
mov eax, dword [esp + 0x6c]
mov ebx, 8
cmp eax, ebx
jb 0x40da55
mov ecx, dword [esp + 0x58]
push ecx
call fcn.0042c508
add esp, 4
cmp dword [esp + 0x88], ebx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], edi
mov word [esp + 0x58], di
jb 0x40da78
mov edx, dword [esp + 0x74]
push edx
call fcn.0042c508
add esp, 4
cmp dword [esp + 0x4c], ebx
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], edi
mov word [esp + 0x74], di
jb 0x40da9e
mov eax, dword [esp + 0x38]
push eax
call fcn.0042c508
add esp, 4
xor ebp, ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edi
mov word [esp + 0x1c], di
lea ecx, [esp + 0x8c]
mov byte [esp + 0xd8], 8
call fcn.00422f30
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x90]
push edx
lea eax, [esp + 0x20]
push eax
push edi
lea ecx, [esp + 0xc4]
push ecx
mov ecx, dword [esp + 0xf4]
mov byte [esp + 0xec], 9
mov dword [esp + 0x28], edi
call fcn.00422500
test eax, eax
jne 0x40dce0
jmp 0x40db10
push 0x443138
mov byte [esp + 0x17], 0
call fcn.0042cd50
mov edx, dword [esp + 0x30]
add esp, 4
push eax
push 0x443138
push edx
push edi
lea ecx, [esp + 0x28]
call fcn.004060d0
test eax, eax
jne 0x40db40
mov byte [esp + 0x13], 1
push 4
push edi
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0x24]
call fcn.00405520
mov esi, eax
push 0x44312c
mov byte [esp + 0xdc], 0xa
call fcn.0042cd50
mov ecx, dword [esi + 0x14]
add esp, 4
push eax
push 0x44312c
push ecx
push edi
mov ecx, esi
call fcn.004060d0
mov ebx, eax
mov eax, dword [esp + 0x88]
neg ebx
sbb bl, bl
inc bl
cmp eax, 8
mov byte [esp + 0xd8], 9
jb 0x40dba3
mov edx, dword [esp + 0x74]
push edx
call fcn.0042c508
add esp, 4
test bl, bl
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], edi
mov word [esp + 0x74], di
je 0x40dbc3
mov byte [esp + 0x13], 1
push 7
push edi
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x24]
call fcn.00405520
mov esi, eax
push 0x44311c
mov byte [esp + 0xdc], 0xb
call fcn.0042cd50
mov ecx, dword [esi + 0x14]
add esp, 4
push eax
push 0x44311c
push ecx
push edi
mov ecx, esi
call fcn.004060d0
mov ebx, eax
mov eax, dword [esp + 0x6c]
neg ebx
sbb bl, bl
inc bl
cmp eax, 8
mov byte [esp + 0xd8], 9
jb 0x40dc23
mov edx, dword [esp + 0x58]
push edx
call fcn.0042c508
add esp, 4
test bl, bl
mov dword [esp + 0x6c], 7
mov dword [esp + 0x68], edi
mov word [esp + 0x58], di
je 0x40dc3d
mov byte [esp + 0x13], 1
push 0x443100
call fcn.0042cd50
add esp, 4
push eax
mov eax, dword [esp + 0x30]
push 0x443100
push eax
push edi
lea ecx, [esp + 0x28]
call fcn.004060d0
test eax, eax
jne 0x40dc68
mov byte [esp + 0x13], 1
push 0x4430e4
call fcn.0042cd50
mov ecx, dword [esp + 0x30]
add esp, 4
push eax
push 0x4430e4
push ecx
push edi
lea ecx, [esp + 0x28]
call fcn.004060d0
test eax, eax
je 0x40dc96
mov al, byte [esp + 0x13]
test al, al
je 0x40dca8
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x38]
call fcn.0040b0c0
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x90]
push edx
lea ecx, [esp + 0x20]
push ecx
mov ecx, dword [esp + 0xec]
inc eax
push eax
lea edx, [esp + 0xc4]
push edx
mov dword [esp + 0x28], eax
call fcn.00422500
test eax, eax
je 0x40db10
xor esi, esi
mov ebx, ebp
cmp ebp, edi
je 0x40dd7c
mov ecx, dword [esp + 0x3c]
sub ecx, ebp
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp esi, eax
jae 0x40dd7c
push ebx
lea eax, [esp + 0xb8]
push eax
lea ecx, [esp + 0xa0]
push ecx
call fcn.00402450
add esp, 0xc
mov ecx, dword [esp + 0xe0]
push eax
mov byte [esp + 0xdc], 0xc
call fcn.004221f0
cmp dword [esp + 0xb0], 8
mov byte [esp + 0xd8], 9
jb 0x40dd59
mov edx, dword [esp + 0x9c]
push edx
call fcn.0042c508
add esp, 4
inc esi
mov dword [esp + 0xb0], 7
mov dword [esp + 0xac], edi
mov word [esp + 0x9c], di
add ebx, 0x1c
jmp 0x40dce4
lea ecx, [esp + 0x8c]
mov byte [esp + 0xd8], 8
call fcn.00422f50
cmp dword [esp + 0x30], 8
jb 0x40dda4
mov eax, dword [esp + 0x1c]
push eax
call fcn.0042c508
add esp, 4
cmp ebp, edi
mov dword [esp + 0x30], 7
mov dword [esp + 0x2c], edi
mov word [esp + 0x1c], di
je 0x40ddf5
mov ebx, dword [esp + 0x3c]
cmp ebp, ebx
je 0x40ddec
lea esi, [ebp + 0x18]
cmp dword [esi], 8
jb 0x40ddd5
mov ecx, dword [esi - 0x14]
push ecx
call fcn.0042c508
add esp, 4
mov dword [esi], 7
mov dword [esi - 4], edi
mov word [esi - 0x14], di
add esi, 0x1c
lea edx, [esi - 0x18]
cmp edx, ebx
jne 0x40ddc4
push ebp
call fcn.0042c508
add esp, 4
cmp dword [esp + 0xcc], 8
pop edi
pop esi
pop ebp
pop ebx
jb 0x40de13
mov eax, dword [esp + 0xa8]
push eax
call fcn.0042c508
add esp, 4
mov ecx, dword [esp + 0xc0]
xor eax, eax
mov dword fs:[0], ecx
add esp, 0xcc
ret 4