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

Disassembly:
push 0xffffffffffffffff
push 0x45fe37
mov eax, dword fs:[0]
push eax
sub esp, 0x174
mov eax, dword [0x478354]
xor eax, esp
mov dword [esp + 0x170], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x478354]
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.00406200
push eax
lea ecx, [esp + 0xdc]
push ecx
mov ecx, esi
call fcn.0040a050
add esp, 8
mov dword [esp + 0x190], ebx
mov eax, dword [esp + 0xdc]
mov edi, 0x10
cmp dword [esp + 0xf0], edi
jae 0x40dcad
lea eax, [esp + 0xdc]
push eax
lea esi, [esp + 0x3c]
call fcn.0041dd50
add esp, 4
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xe4]
mov byte [esp + 0x19c], 1
call fcn.00406a20
cmp dword [esp + 0x50], edi
jb 0x40dce5
mov edx, dword [esp + 0x3c]
push edx
call fcn.0043c992
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.0041e1a0
test al, al
jne 0x40de7c
mov edi, 0x10
cmp dword [esp + 0xc4], edi
jb 0x40ddd2
mov eax, dword [esp + 0xb0]
push eax
call fcn.0043c992
add esp, 4
cmp dword [esp + 0x94], edi
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc0], ebx
mov byte [esp + 0xb0], bl
jb 0x40de00
mov ecx, dword [esp + 0x80]
push ecx
call fcn.0043c992
add esp, 4
lea esi, [esp + 0x68]
mov dword [esp + 0x94], ebp
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
call fcn.0040c9b0
lea esi, [esp + 0x54]
call fcn.0040c940
lea esi, [esp + 0x1c]
mov byte [esp + 0x190], bl
call fcn.004260c0
cmp dword [esp + 0xf0], edi
jb 0x40de50
mov edx, dword [esp + 0xdc]
push edx
call fcn.0043c992
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.0043c23a
add esp, 0x180
ret 8
push 0x4642a9
push str.files
lea eax, [esp + 0x24]
push eax
call fcn.00427430
cmp byte [eax + 8], 6
je 0x40df37
mov edi, 0x10
cmp dword [esp + 0xc4], edi
jb 0x40deb8
mov ecx, dword [esp + 0xb0]
push ecx
call fcn.0043c992
add esp, 4
cmp dword [esp + 0x94], edi
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc0], ebx
mov byte [esp + 0xb0], bl
jb 0x40dee6
mov edx, dword [esp + 0x80]
push edx
call fcn.0043c992
add esp, 4
lea esi, [esp + 0x68]
mov dword [esp + 0x94], ebp
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
call fcn.0040c9b0
lea esi, [esp + 0x54]
call fcn.0040c940
lea esi, [esp + 0x1c]
mov byte [esp + 0x190], bl
call fcn.004260c0
cmp dword [esp + 0xf0], edi
jb 0x40de50
mov eax, dword [esp + 0xdc]
push eax
jmp 0x40de48
push 0x4642a9
push str.files
lea ecx, [esp + 0x24]
push ecx
xor edi, edi
call fcn.00427430
mov ecx, eax
call fcn.00426d90
test eax, eax
jbe 0x40e231
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 0x4642a9
push str.files
lea edx, [esp + 0x24]
push edx
mov byte [esp + 0x19c], 5
call fcn.00427430
push edi
push eax
call fcn.00427280
push 0x464383
push 0x464380
push eax
call fcn.00427430
cmp byte [eax + 8], 4
je 0x40e099
push 0x4642a9
push str.files
lea eax, [esp + 0x24]
push eax
call fcn.00427430
push edi
push eax
call fcn.00427280
push 0x463d34
push str.name
push eax
call fcn.00427430
cmp byte [eax + 8], 4
je 0x40e099
push 0x4642a9
push str.files
lea ecx, [esp + 0x24]
push ecx
call fcn.00427430
push edi
push eax
call fcn.00427280
push 0x464387
push 0x464384
push eax
call fcn.00427430
cmp byte [eax + 8], 4
je 0x40e099
push 0x4642a9
push str.files
lea edx, [esp + 0x24]
push edx
call fcn.00427430
push edi
push eax
call fcn.00427280
push 0x46438b
push 0x464388
push eax
call fcn.00427430
cmp byte [eax + 8], 4
jne 0x40e1f7
push 0x4642a9
push str.files
lea eax, [esp + 0x24]
push eax
call fcn.00427430
push edi
push eax
call fcn.00427280
push 0x464383
push 0x464380
push eax
call fcn.00427430
mov ecx, eax
call fcn.00426230
mov esi, eax
mov ecx, esi
lea ebp, [ecx + 1]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x40e0d2
sub ecx, ebp
push ecx
push esi
lea ecx, [esp + 0x118]
call fcn.00406100
push 0x4642a9
push str.files
lea ecx, [esp + 0x24]
push ecx
call fcn.00427430
push edi
push eax
call fcn.00427280
push 0x463d34
push str.name
push eax
call fcn.00427430
mov ecx, eax
call fcn.00426230
mov esi, eax
mov ecx, esi
lea ebp, [ecx + 1]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x40e124
sub ecx, ebp
push ecx
push esi
lea ecx, [esp + 0xfc]
call fcn.00406100
push 0x4642a9
push str.files
lea edx, [esp + 0x24]
push edx
call fcn.00427430
push edi
push eax
call fcn.00427280
push 0x464387
push 0x464384
push eax
call fcn.00427430
mov ecx, eax
call fcn.00426230
mov esi, eax
mov ecx, esi
lea ebp, [ecx + 1]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x40e176
sub ecx, ebp
push ecx
push esi
lea ecx, [esp + 0x134]
call fcn.00406100
push 0x4642a9
push str.files
lea eax, [esp + 0x24]
push eax
call fcn.00427430
push edi
push eax
call fcn.00427280
push 0x46438b
push 0x464388
push eax
call fcn.00427430
mov ecx, eax
call fcn.00426230
mov esi, eax
mov ecx, esi
lea ebp, [ecx + 1]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x40e1c8
sub ecx, ebp
push ecx
push esi
lea ecx, [esp + 0x150]
call fcn.00406100
mov esi, dword [esp + 0x34]
lea ecx, [esp + 0xf4]
push ecx
call fcn.0040e2e0
mov ebp, 0xf
lea esi, [esp + 0xf4]
mov byte [esp + 0x190], 4
call fcn.00408da0
push 0x4642a9
push str.files
lea edx, [esp + 0x24]
push edx
add edi, 1
call fcn.00427430
mov ecx, eax
call fcn.00426d90
cmp edi, eax
jb 0x40df5c
mov edi, 0x10
cmp dword [esp + 0xc4], edi
jb 0x40e24f
mov eax, dword [esp + 0xb0]
push eax
call fcn.0043c992
add esp, 4
cmp dword [esp + 0x94], edi
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc0], ebx
mov byte [esp + 0xb0], bl
jb 0x40e27d
mov ecx, dword [esp + 0x80]
push ecx
call fcn.0043c992
add esp, 4
lea esi, [esp + 0x68]
mov dword [esp + 0x94], ebp
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
call fcn.0040c9b0
lea esi, [esp + 0x54]
call fcn.0040c940
lea esi, [esp + 0x1c]
mov byte [esp + 0x190], bl
call fcn.004260c0
cmp dword [esp + 0xf0], edi
jb 0x40e2cd
mov edx, dword [esp + 0xdc]
push edx
call fcn.0043c992
add esp, 4
mov al, 1
jmp 0x40de52