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

Disassembly:
sub esp, 0x64
mov eax, dword [0x991fc0]
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.0047f260
push esi
push eax
push edi
call fcn.0047e480
push eax
push edi
call fcn.0047ef20
mov edi, eax
push edi
push dword [esp + 0x40]
call fcn.0047feb0
push ebx
mov ebx, dword [esp + 0x48]
mov esi, eax
push ebx
call fcn.0047dee0
push esi
push edi
push ebx
mov dword [esp + 0x88], eax
call fcn.0047e1e0
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.0047e120
push ebp
push ebx
mov dword [esp + 0x5c], eax
call fcn.0047dee0
push dword [esp + 0x8c]
mov dword [esp + 0x64], eax
push ebx
call fcn.0047dee0
push dword [esp + 0x3c]
mov dword [esp + 0x70], eax
push ebx
call fcn.0047dee0
mov ebp, dword [esp + 0x38]
push ebp
push ebx
mov dword [esp + 0x80], eax
call fcn.0047dee0
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x50]
and al, 1
movzx eax, al
push eax
push ebx
call fcn.0047de80
push 0
push ebx
mov dword [esp + 0x98], eax
call fcn.0047de80
push 0
push ebx
mov dword [esp + 0xa4], eax
call fcn.0047de80
add esp, 0x40
mov dword [esp + 0x68], eax
cmp ebp, 0xb
je 0x475f61
push 0
push ebx
call fcn.0047dee0
push dword [esp + 0x24]
mov dword [esp + 0x38], eax
push ebx
call fcn.0047dee0
mov dword [esp + 0x40], eax
lea eax, [esp + 0x3c]
push 2
push eax
push ebx
call fcn.0047e000
add esp, 0x1c
mov dword [esp + 0x6c], eax
jmp 0x475f69
mov dword [esp + 0x6c], 0
push 0xb
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.0047e000
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x475f94
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.004eef15
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 0x475fce
lea eax, [ecx + 4]
push eax
push esi
call fcn.00477dd0
add esp, 8
test eax, eax
je 0x475fce
mov ecx, dword [esp + 0x10]
add ecx, 4
mov dword [esi + 8], ecx
jmp 0x475fd0
xor eax, eax
mov dword [eax], edi
cmp dword [ebx + 0x24], 6
jae 0x475ff0
mov eax, dword [ebx + 0x63dd8]
and eax, 0xfffffffc
cmp eax, 0x20
jbe 0x475ff0
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.0046af70
add esp, 0x10
cmp ebp, 0xb
jne 0x476014
or dword [ebx + 0x30], 1
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x47602a
cmp eax, 5
je 0x47602a
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.004eef15
add esp, 0x64
ret