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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x7cf2fc
mov eax, dword fs:[0]
push eax
sub esp, 0x88
push ebx
push esi
push edi
mov eax, dword [0x8c8ca0]
xor eax, esp
push eax
lea eax, [esp + 0x98]
mov dword fs:[0], eax
mov dword [esp + 0x2c], ecx
xor ebx, ebx
lea eax, [ebp + 8]
mov dword [esp + 0x14], ebx
call fcn.0046fe3e
test eax, eax
je 0x470df2
lea eax, [ebp + 8]
call fcn.00474691
test eax, eax
je 0x470df2
mov ecx, dword [ebp + 0x10]
push ebx
push 1
call fcn.00585dd2
test eax, eax
je 0x470df2
mov ecx, dword [ebp + 0x10]
push ebx
push 1
call fcn.00585e67
mov esi, dword [0x7da4ec]
mov edi, eax
push ebx
push edi
call esi
push eax
push edi
call dword [0x7da5cc]
push eax
lea ecx, [esp + 0x78]
call fcn.0057b816
push edi
mov dword [esp + 0xa4], ebx
call esi
push eax
call fcn.0053b596
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x470e0c
or dword [esp + 0xa0], 0xffffffff
lea ecx, [esp + 0x6c]
call fcn.0057bbda
xor eax, eax
mov ecx, dword [esp + 0x98]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push edi
call esi
push eax
push ebx
lea ecx, [esp + 0x74]
call fcn.0057b9a0
push edi
call dword [0x7da5c8]
push ebx
lea ecx, [esp + 0x20]
call fcn.0040220b
push ebx
mov byte [esp + 0xa4], 1
call fcn.0053b58b
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
cmp dword [eax + 0xc], 1
pop ecx
jle 0x470e5a
push dword [eax + 4]
lea ecx, [esp + 0x20]
call fcn.0040184a
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
dec dword [eax + 0xc]
jne 0x470e63
or dword [eax + 0xc], 0xffffffff
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
call fcn.00402306
and dword [esp + 0x24], 0
mov byte [esp + 0xa0], 2
mov eax, dword [ebp + 8]
or dword [esp + 0x64], 0xffffffff
or dword [esp + 0x68], 0xffffffff
mov dword [esp + 0x5c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x60], eax
and dword [esp + 0x20], 0
push 0
push 0x8581d8
lea ecx, [esp + 0x20]
call fcn.0040bc65
mov esi, eax
mov dword [esp + 0x50], esi
test esi, esi
jge 0x470ebc
mov eax, 0x7ef8b1
jmp 0x470edd
lea eax, [esi + 1]
push eax
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x20]
call fcn.004092e7
mov byte [esp + 0xa0], 3
or dword [esp + 0x14], 1
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x38]
call fcn.0040220b
mov dword [esp + 0xa0], 5
test byte [esp + 0x14], 1
je 0x470f0a
mov ecx, dword [esp + 0x38]
and dword [esp + 0x14], 0xfffffffe
add ecx, 0xfffffff0
call fcn.00401a7f
test esi, esi
jl 0x470f43
push esi
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x20]
call fcn.00409469
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0xa4], 6
call fcn.00404e07
mov byte [esp + 0xa0], 5
mov ecx, dword [esp + 0x3c]
add ecx, 0xfffffff0
call fcn.00401a7f
push 0x862558
lea ecx, [esp + 0x1c]
call fcn.004342bd
mov dword [esp + 0x30], eax
test eax, eax
jl 0x470f77
push eax
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x20]
call fcn.00409469
mov byte [esp + 0xa0], 7
or dword [esp + 0x14], 2
jmp 0x470f7b
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x2c]
call fcn.00402306
mov dword [esp + 0xa0], 9
test byte [esp + 0x14], 2
je 0x470fa8
mov ecx, dword [esp + 0x40]
and dword [esp + 0x14], 0xfffffffd
add ecx, 0xfffffff0
call fcn.00401a7f
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x2c]
lea ebx, [eax + ecx]
jmp 0x470fca
mov ecx, ebx
mov eax, edi
call fcn.004739a7
test eax, eax
jg 0x470fd2
inc dword [esp + 0x24]
inc ebx
cmp ebx, dword [edi + 0xec]
jl 0x470fb8
mov eax, dword [esp + 0x18]
cmp dword [eax - 0xc], 0
je 0x471165
mov dword [esp + 0x54], ebx
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x20]
lea esi, [ecx + eax]
jmp 0x471002
mov ecx, esi
mov eax, edi
call fcn.004739c4
test eax, eax
jg 0x47100a
inc dword [esp + 0x20]
inc esi
cmp esi, dword [edi + 0xf4]
jl 0x470ff0
lea eax, [esp + 0x54]
mov ecx, edi
mov dword [esp + 0x58], esi
call fcn.0046fe3e
test eax, eax
je 0x471065
lea ecx, [esp + 0x28]
call fcn.0040bbe8
lea ecx, [esp + 0x28]
call fcn.0040bb9e
push dword [esp + 0x28]
mov ecx, esi
push ebx
mov edx, edi
call fcn.004709b9
push esi
push ebx
mov ecx, edi
call fcn.00473863
and eax, 0xfffffffd
push eax
push esi
push ebx
call fcn.004737c6
cmp ebx, dword [esp + 0x64]
jle 0x47105b
mov dword [esp + 0x64], ebx
cmp esi, dword [esp + 0x68]
jle 0x471065
mov dword [esp + 0x68], esi
mov eax, dword [esp + 0x30]
test eax, eax
jl 0x47108c
inc eax
push eax
lea eax, [esp + 0x4c]
push eax
lea ecx, [esp + 0x20]
call fcn.004092e7
mov byte [esp + 0xa0], 0xa
or dword [esp + 0x14], 4
jmp 0x4710aa
push 0x7ef8b1
lea ecx, [esp + 0x48]
call fcn.0040220b
mov dword [esp + 0xa0], 0xb
or dword [esp + 0x14], 8
push eax
lea ecx, [esp + 0x1c]
call fcn.00404e07
test byte [esp + 0x14], 8
je 0x4710cc
mov ecx, dword [esp + 0x44]
and dword [esp + 0x14], 0xfffffff7
add ecx, 0xfffffff0
call fcn.00401a7f
push 9
pop esi
mov dword [esp + 0xa0], esi
test byte [esp + 0x14], 4
je 0x4710ee
mov ecx, dword [esp + 0x48]
and dword [esp + 0x14], 0xfffffffb
add ecx, 0xfffffff0
call fcn.00401a7f
push 0x862558
lea ecx, [esp + 0x1c]
call fcn.004342bd
mov dword [esp + 0x30], eax
test eax, eax
jl 0x471122
push eax
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x20]
call fcn.00409469
mov byte [esp + 0xa0], 0xc
or dword [esp + 0x14], 0x10
jmp 0x471126
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x2c]
call fcn.00404e07
mov dword [esp + 0xa0], esi
test byte [esp + 0x14], 0x10
je 0x47114f
mov ecx, dword [esp + 0x4c]
and dword [esp + 0x14], 0xffffffef
add ecx, 0xfffffff0
call fcn.00401a7f
mov eax, dword [esp + 0x18]
inc dword [esp + 0x20]
cmp dword [eax - 0xc], 0
jne 0x470fe4
mov esi, dword [esp + 0x50]
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x1c]
call fcn.00404e07
mov ecx, dword [esp + 0x28]
inc dword [esp + 0x24]
add ecx, 0xfffffff0
call fcn.00401a7f
mov byte [esp + 0xa0], 2
mov ecx, dword [esp + 0x34]
add ecx, 0xfffffff0
call fcn.00401a7f
test esi, esi
jge 0x470e96
mov eax, dword [esp + 0x1c]
add eax, 0xfffffffc
mov ecx, dword [eax]
test ecx, ecx
jge 0x4711b7
inc ecx
mov dword [eax], ecx
jne 0x4711b7
mov dword [eax], 1
cmp dword [ebp + 0x14], 0
je 0x4711cc
mov esi, dword [esp + 0x2c]
lea eax, [esp + 0x5c]
call fcn.00470362
jmp 0x4711dc
mov ebx, dword [esp + 0x2c]
call fcn.00471b76
mov eax, ebx
call fcn.0047442e
mov ecx, dword [esp + 0x18]
add ecx, 0xfffffff0
call fcn.00401a7f
mov ecx, dword [esp + 0x1c]
add ecx, 0xfffffff0
call fcn.00401a7f
or dword [esp + 0xa0], 0xffffffff
lea ecx, [esp + 0x6c]
call fcn.0057bbda
xor eax, eax
inc eax
jmp 0x470df4