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

Disassembly:
sub esp, 0x64
mov eax, dword [0x97ffc0]
xor eax, esp
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x80]
push ebx
push ebp
mov ebx, dword [edx + 0x63dd8]
mov ebp, dword [esp + 0x78]
push esi
mov esi, dword [esp + 0x80]
push edi
push 1
mov dword [esp + 0x20], eax
lea edi, [edx + 0x10]
mov eax, dword [esp + 0x90]
push eax
push dword [esp + 0x24]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0xa0]
push dword [esp + 0x24]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x8c]
shr ebx, 2
push edi
mov dword [esp + 0x24], edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], ebp
mov dword [esp + 0x28], edi
call fcn.0047f1a0
push esi
push eax
push edi
call fcn.0047e3c0
push eax
push edi
call fcn.0047ee60
mov edi, eax
push edi
push dword [esp + 0x40]
call fcn.0047fdf0
push ebx
mov ebx, dword [esp + 0x48]
mov esi, eax
push ebx
call fcn.0047de20
push esi
push edi
push ebx
mov dword [esp + 0x88], eax
call fcn.0047e120
mov ecx, dword [esp + 0x64]
add esp, 0x44
mov dword [esp + 0x48], eax
test ecx, ecx
mov eax, 0x51150d
cmovne eax, ecx
push eax
push ebx
call fcn.0047e060
push ebp
push ebx
mov dword [esp + 0x5c], eax
call fcn.0047de20
push dword [esp + 0x8c]
mov dword [esp + 0x64], eax
push ebx
call fcn.0047de20
push dword [esp + 0x3c]
mov dword [esp + 0x70], eax
push ebx
call fcn.0047de20
mov ebp, dword [esp + 0x38]
push ebp
push ebx
mov dword [esp + 0x80], eax
call fcn.0047de20
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x50]
and al, 1
movzx eax, al
push eax
push ebx
call fcn.0047ddc0
push 0
push ebx
mov dword [esp + 0x98], eax
call fcn.0047ddc0
push 0
push ebx
mov dword [esp + 0xa4], eax
call fcn.0047ddc0
add esp, 0x40
mov dword [esp + 0x68], eax
cmp ebp, 0xb
je 0x475eb1
push 0
push ebx
call fcn.0047de20
push dword [esp + 0x24]
mov dword [esp + 0x38], eax
push ebx
call fcn.0047de20
mov dword [esp + 0x40], eax
lea eax, [esp + 0x3c]
push 2
push eax
push ebx
call fcn.0047df40
add esp, 0x1c
mov dword [esp + 0x6c], eax
jmp 0x475eb9
mov dword [esp + 0x6c], 0
push 0xb
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.0047df40
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x475ee4
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.004eee05
add esp, 0x64
ret
mov ebx, dword [esp + 0x10]
mov ecx, dword [ebx + 0x63dd8]
lea esi, [ebx + 0x63dd0]
mov eax, ecx
mov dword [esp + 0x10], ecx
not eax
cmp eax, 4
jb 0x475f1e
lea eax, [ecx + 4]
push eax
push esi
call fcn.00477d20
add esp, 8
test eax, eax
je 0x475f1e
mov ecx, dword [esp + 0x10]
add ecx, 4
mov dword [esi + 8], ecx
jmp 0x475f20
xor eax, eax
mov dword [eax], edi
cmp dword [ebx + 0x24], 6
jae 0x475f40
mov eax, dword [ebx + 0x63dd8]
and eax, 0xfffffffc
cmp eax, 0x20
jbe 0x475f40
mov eax, dword [ebx + 0x2c]
or dword [ebx + 0x28], 8
mov dword [ebx + 0x2c], eax
lea eax, [esp + 0x34]
push eax
xor eax, eax
cmp ebp, 0xb
push ebp
sete al
add eax, 6
push eax
push ebx
call fcn.0046aec0
add esp, 0x10
cmp ebp, 0xb
jne 0x475f64
or dword [ebx + 0x30], 1
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x475f7a
cmp eax, 5
je 0x475f7a
mov eax, dword [ebx + 0x2c]
or dword [ebx + 0x28], 4
mov dword [ebx + 0x2c], eax
mov ecx, dword [esp + 0x70]
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004eee05
add esp, 0x64
ret