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

Disassembly:
push 0xffffffffffffffff
push 0x45f057
mov eax, dword fs:[0]
push eax
sub esp, 0x174
mov eax, dword [0x477564]
xor eax, esp
mov dword [esp + 0x170], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x477564]
xor eax, esp
push eax
lea eax, [esp + 0x188]
mov dword fs:[0], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x19c]
mov esi, dword [eax + 0x14]
xor ebx, ebx
call fcn.004055f0
push eax
lea ecx, [esp + 0xdc]
push ecx
mov ecx, esi
call fcn.004093e0
add esp, 8
mov dword [esp + 0x190], ebx
mov eax, dword [esp + 0xdc]
mov edi, 0x10
cmp dword [esp + 0xf0], edi
jae 0x40d0fd
lea eax, [esp + 0xdc]
push eax
lea esi, [esp + 0x3c]
call fcn.0041d1d0
add esp, 4
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xe4]
mov byte [esp + 0x19c], 1
call fcn.00405e10
cmp dword [esp + 0x50], edi
jb 0x40d135
mov edx, dword [esp + 0x3c]
push edx
call fcn.0043c477
add esp, 4
and dword [esp + 0x24], 0xfffffe00
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov byte [esp + 0x18], bl
mov byte [esp + 0x19], 1
mov byte [esp + 0x1a], bl
mov byte [esp + 0x1b], bl
mov eax, dword [esp + 0x18]
mov ebp, 0xf
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x94], ebp
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc0], ebx
mov byte [esp + 0xb0], bl
mov dword [esp + 0xc8], eax
mov byte [esp + 0xcc], bl
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0xdc]
push edx
lea edi, [esp + 0x5c]
mov byte [esp + 0x198], 4
call fcn.0041d620
test al, al
jne 0x40d2cc
mov edi, 0x10
cmp dword [esp + 0xc4], edi
jb 0x40d222
mov eax, dword [esp + 0xb0]
push eax
call fcn.0043c477
add esp, 4
cmp dword [esp + 0x94], edi
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc0], ebx
mov byte [esp + 0xb0], bl
jb 0x40d250
mov ecx, dword [esp + 0x80]
push ecx
call fcn.0043c477
add esp, 4
lea esi, [esp + 0x68]
mov dword [esp + 0x94], ebp
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
call fcn.0040bd80
lea esi, [esp + 0x54]
call fcn.0040bd10
lea esi, [esp + 0x1c]
mov byte [esp + 0x190], bl
call fcn.004253f0
cmp dword [esp + 0xf0], edi
jb 0x40d2a0
mov edx, dword [esp + 0xdc]
push edx
call fcn.0043c477
add esp, 4
mov al, bl
mov ecx, dword [esp + 0x188]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x170]
xor ecx, esp
call fcn.0043c709
add esp, 0x180
ret 8
push 0x463155
push str.files
lea eax, [esp + 0x24]
push eax
call fcn.00426760
cmp byte [eax + 8], 6
je 0x40d387
mov edi, 0x10
cmp dword [esp + 0xc4], edi
jb 0x40d308
mov ecx, dword [esp + 0xb0]
push ecx
call fcn.0043c477
add esp, 4
cmp dword [esp + 0x94], edi
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc0], ebx
mov byte [esp + 0xb0], bl
jb 0x40d336
mov edx, dword [esp + 0x80]
push edx
call fcn.0043c477
add esp, 4
lea esi, [esp + 0x68]
mov dword [esp + 0x94], ebp
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
call fcn.0040bd80
lea esi, [esp + 0x54]
call fcn.0040bd10
lea esi, [esp + 0x1c]
mov byte [esp + 0x190], bl
call fcn.004253f0
cmp dword [esp + 0xf0], edi
jb 0x40d2a0
mov eax, dword [esp + 0xdc]
push eax
jmp 0x40d298
push 0x463155
push str.files
lea ecx, [esp + 0x24]
push ecx
xor edi, edi
call fcn.00426760
mov ecx, eax
call fcn.004260c0
test eax, eax
jbe 0x40d681
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x108], ebx
mov byte [esp + 0xf8], bl
mov dword [esp + 0x128], ebp
mov dword [esp + 0x124], ebx
mov byte [esp + 0x114], bl
mov dword [esp + 0x144], ebp
mov dword [esp + 0x140], ebx
mov byte [esp + 0x130], bl
mov dword [esp + 0x160], ebp
mov dword [esp + 0x15c], ebx
mov byte [esp + 0x14c], bl
mov dword [esp + 0x17c], ebp
mov dword [esp + 0x178], ebx
mov byte [esp + 0x168], bl
push 0x463155
push str.files
lea edx, [esp + 0x24]
push edx
mov byte [esp + 0x19c], 5
call fcn.00426760
push edi
push eax
call fcn.004265b0
push 0x46322b
push 0x463228
push eax
call fcn.00426760
cmp byte [eax + 8], 4
je 0x40d4e9
push 0x463155
push str.files
lea eax, [esp + 0x24]
push eax
call fcn.00426760
push edi
push eax
call fcn.004265b0
push 0x462cc4
push str.name
push eax
call fcn.00426760
cmp byte [eax + 8], 4
je 0x40d4e9
push 0x463155
push str.files
lea ecx, [esp + 0x24]
push ecx
call fcn.00426760
push edi
push eax
call fcn.004265b0
push 0x46322f
push 0x46322c
push eax
call fcn.00426760
cmp byte [eax + 8], 4
je 0x40d4e9
push 0x463155
push str.files
lea edx, [esp + 0x24]
push edx
call fcn.00426760
push edi
push eax
call fcn.004265b0
push 0x463233
push 0x463230
push eax
call fcn.00426760
cmp byte [eax + 8], 4
jne 0x40d647
push 0x463155
push str.files
lea eax, [esp + 0x24]
push eax
call fcn.00426760
push edi
push eax
call fcn.004265b0
push 0x46322b
push 0x463228
push eax
call fcn.00426760
mov ecx, eax
call fcn.00425560
mov esi, eax
mov ecx, esi
lea ebp, [ecx + 1]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x40d522
sub ecx, ebp
push ecx
push esi
lea ecx, [esp + 0x118]
call fcn.004054f0
push 0x463155
push str.files
lea ecx, [esp + 0x24]
push ecx
call fcn.00426760
push edi
push eax
call fcn.004265b0
push 0x462cc4
push str.name
push eax
call fcn.00426760
mov ecx, eax
call fcn.00425560
mov esi, eax
mov ecx, esi
lea ebp, [ecx + 1]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x40d574
sub ecx, ebp
push ecx
push esi
lea ecx, [esp + 0xfc]
call fcn.004054f0
push 0x463155
push str.files
lea edx, [esp + 0x24]
push edx
call fcn.00426760
push edi
push eax
call fcn.004265b0
push 0x46322f
push 0x46322c
push eax
call fcn.00426760
mov ecx, eax
call fcn.00425560
mov esi, eax
mov ecx, esi
lea ebp, [ecx + 1]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x40d5c6
sub ecx, ebp
push ecx
push esi
lea ecx, [esp + 0x134]
call fcn.004054f0
push 0x463155
push str.files
lea eax, [esp + 0x24]
push eax
call fcn.00426760
push edi
push eax
call fcn.004265b0
push 0x463233
push 0x463230
push eax
call fcn.00426760
mov ecx, eax
call fcn.00425560
mov esi, eax
mov ecx, esi
lea ebp, [ecx + 1]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x40d618
sub ecx, ebp
push ecx
push esi
lea ecx, [esp + 0x150]
call fcn.004054f0
mov esi, dword [esp + 0x34]
lea ecx, [esp + 0xf4]
push ecx
call fcn.0040d730
mov ebp, 0xf
lea esi, [esp + 0xf4]
mov byte [esp + 0x190], 4
call fcn.00408130
push 0x463155
push str.files
lea edx, [esp + 0x24]
push edx
add edi, 1
call fcn.00426760
mov ecx, eax
call fcn.004260c0
cmp edi, eax
jb 0x40d3ac
mov edi, 0x10
cmp dword [esp + 0xc4], edi
jb 0x40d69f
mov eax, dword [esp + 0xb0]
push eax
call fcn.0043c477
add esp, 4
cmp dword [esp + 0x94], edi
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc0], ebx
mov byte [esp + 0xb0], bl
jb 0x40d6cd
mov ecx, dword [esp + 0x80]
push ecx
call fcn.0043c477
add esp, 4
lea esi, [esp + 0x68]
mov dword [esp + 0x94], ebp
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
call fcn.0040bd80
lea esi, [esp + 0x54]
call fcn.0040bd10
lea esi, [esp + 0x1c]
mov byte [esp + 0x190], bl
call fcn.004253f0
cmp dword [esp + 0xf0], edi
jb 0x40d71d
mov edx, dword [esp + 0xdc]
push edx
call fcn.0043c477
add esp, 4
mov al, 1
jmp 0x40d2a2