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

Disassembly:
push 0xffffffffffffffff
push 0x45f267
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.004057b0
push eax
lea ecx, [esp + 0xdc]
push ecx
mov ecx, esi
call fcn.004096b0
add esp, 8
mov dword [esp + 0x190], ebx
mov eax, dword [esp + 0xdc]
mov edi, 0x10
cmp dword [esp + 0xf0], edi
jae 0x40d29d
lea eax, [esp + 0xdc]
push eax
lea esi, [esp + 0x3c]
call fcn.0041d310
add esp, 4
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xe4]
mov byte [esp + 0x19c], 1
call fcn.00405fd0
cmp dword [esp + 0x50], edi
jb 0x40d2d5
mov edx, dword [esp + 0x3c]
push edx
call fcn.0043bef7
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.0041d760
test al, al
jne 0x40d46c
mov edi, 0x10
cmp dword [esp + 0xc4], edi
jb 0x40d3c2
mov eax, dword [esp + 0xb0]
push eax
call fcn.0043bef7
add esp, 4
cmp dword [esp + 0x94], edi
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc0], ebx
mov byte [esp + 0xb0], bl
jb 0x40d3f0
mov ecx, dword [esp + 0x80]
push ecx
call fcn.0043bef7
add esp, 4
lea esi, [esp + 0x68]
mov dword [esp + 0x94], ebp
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
call fcn.0040bfa0
lea esi, [esp + 0x54]
call fcn.00439bb0
lea esi, [esp + 0x1c]
mov byte [esp + 0x190], bl
call fcn.00425530
cmp dword [esp + 0xf0], edi
jb 0x40d440
mov edx, dword [esp + 0xdc]
push edx
call fcn.0043bef7
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.0043b82a
add esp, 0x180
ret 8
push 0x4641a1
push str.files
lea eax, [esp + 0x24]
push eax
call fcn.004268a0
cmp byte [eax + 8], 6
je 0x40d527
mov edi, 0x10
cmp dword [esp + 0xc4], edi
jb 0x40d4a8
mov ecx, dword [esp + 0xb0]
push ecx
call fcn.0043bef7
add esp, 4
cmp dword [esp + 0x94], edi
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc0], ebx
mov byte [esp + 0xb0], bl
jb 0x40d4d6
mov edx, dword [esp + 0x80]
push edx
call fcn.0043bef7
add esp, 4
lea esi, [esp + 0x68]
mov dword [esp + 0x94], ebp
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
call fcn.0040bfa0
lea esi, [esp + 0x54]
call fcn.00439bb0
lea esi, [esp + 0x1c]
mov byte [esp + 0x190], bl
call fcn.00425530
cmp dword [esp + 0xf0], edi
jb 0x40d440
mov eax, dword [esp + 0xdc]
push eax
jmp 0x40d438
push 0x4641a1
push str.files
lea ecx, [esp + 0x24]
push ecx
xor edi, edi
call fcn.004268a0
mov ecx, eax
call fcn.00426200
test eax, eax
jbe 0x40d821
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 0x4641a1
push str.files
lea edx, [esp + 0x24]
push edx
mov byte [esp + 0x19c], 5
call fcn.004268a0
push edi
push eax
call fcn.004266f0
push 0x46427b
push 0x464278
push eax
call fcn.004268a0
cmp byte [eax + 8], 4
je 0x40d689
push 0x4641a1
push str.files
lea eax, [esp + 0x24]
push eax
call fcn.004268a0
push edi
push eax
call fcn.004266f0
push 0x463cfc
push str.name
push eax
call fcn.004268a0
cmp byte [eax + 8], 4
je 0x40d689
push 0x4641a1
push str.files
lea ecx, [esp + 0x24]
push ecx
call fcn.004268a0
push edi
push eax
call fcn.004266f0
push 0x46427f
push 0x46427c
push eax
call fcn.004268a0
cmp byte [eax + 8], 4
je 0x40d689
push 0x4641a1
push str.files
lea edx, [esp + 0x24]
push edx
call fcn.004268a0
push edi
push eax
call fcn.004266f0
push 0x464283
push 0x464280
push eax
call fcn.004268a0
cmp byte [eax + 8], 4
jne 0x40d7e7
push 0x4641a1
push str.files
lea eax, [esp + 0x24]
push eax
call fcn.004268a0
push edi
push eax
call fcn.004266f0
push 0x46427b
push 0x464278
push eax
call fcn.004268a0
mov ecx, eax
call fcn.004256a0
mov esi, eax
mov ecx, esi
lea ebp, [ecx + 1]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x40d6c2
sub ecx, ebp
push ecx
push esi
lea ecx, [esp + 0x118]
call fcn.004056b0
push 0x4641a1
push str.files
lea ecx, [esp + 0x24]
push ecx
call fcn.004268a0
push edi
push eax
call fcn.004266f0
push 0x463cfc
push str.name
push eax
call fcn.004268a0
mov ecx, eax
call fcn.004256a0
mov esi, eax
mov ecx, esi
lea ebp, [ecx + 1]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x40d714
sub ecx, ebp
push ecx
push esi
lea ecx, [esp + 0xfc]
call fcn.004056b0
push 0x4641a1
push str.files
lea edx, [esp + 0x24]
push edx
call fcn.004268a0
push edi
push eax
call fcn.004266f0
push 0x46427f
push 0x46427c
push eax
call fcn.004268a0
mov ecx, eax
call fcn.004256a0
mov esi, eax
mov ecx, esi
lea ebp, [ecx + 1]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x40d766
sub ecx, ebp
push ecx
push esi
lea ecx, [esp + 0x134]
call fcn.004056b0
push 0x4641a1
push str.files
lea eax, [esp + 0x24]
push eax
call fcn.004268a0
push edi
push eax
call fcn.004266f0
push 0x464283
push 0x464280
push eax
call fcn.004268a0
mov ecx, eax
call fcn.004256a0
mov esi, eax
mov ecx, esi
lea ebp, [ecx + 1]
mov al, byte [ecx]
add ecx, 1
cmp al, bl
jne 0x40d7b8
sub ecx, ebp
push ecx
push esi
lea ecx, [esp + 0x150]
call fcn.004056b0
mov esi, dword [esp + 0x34]
lea ecx, [esp + 0xf4]
push ecx
call fcn.0040d8d0
mov ebp, 0xf
lea esi, [esp + 0xf4]
mov byte [esp + 0x190], 4
call fcn.004083b0
push 0x4641a1
push str.files
lea edx, [esp + 0x24]
push edx
add edi, 1
call fcn.004268a0
mov ecx, eax
call fcn.00426200
cmp edi, eax
jb 0x40d54c
mov edi, 0x10
cmp dword [esp + 0xc4], edi
jb 0x40d83f
mov eax, dword [esp + 0xb0]
push eax
call fcn.0043bef7
add esp, 4
cmp dword [esp + 0x94], edi
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc0], ebx
mov byte [esp + 0xb0], bl
jb 0x40d86d
mov ecx, dword [esp + 0x80]
push ecx
call fcn.0043bef7
add esp, 4
lea esi, [esp + 0x68]
mov dword [esp + 0x94], ebp
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], bl
call fcn.0040bfa0
lea esi, [esp + 0x54]
call fcn.00439bb0
lea esi, [esp + 0x1c]
mov byte [esp + 0x190], bl
call fcn.00425530
cmp dword [esp + 0xf0], edi
jb 0x40d8bd
mov edx, dword [esp + 0xdc]
push edx
call fcn.0043bef7
add esp, 4
mov al, 1
jmp 0x40d442