Function at 0x475da0
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.0047f220
push esi
push eax
push edi
call fcn.0047e440
push eax
push edi
call fcn.0047eee0
mov edi, eax
push edi
push dword [esp + 0x40]
call fcn.0047fe70
push ebx
mov ebx, dword [esp + 0x48]
mov esi, eax
push ebx
call fcn.0047dea0
push esi
push edi
push ebx
mov dword [esp + 0x88], eax
call fcn.0047e1a0
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.0047e0e0
push ebp
push ebx
mov dword [esp + 0x5c], eax
call fcn.0047dea0
push dword [esp + 0x8c]
mov dword [esp + 0x64], eax
push ebx
call fcn.0047dea0
push dword [esp + 0x3c]
mov dword [esp + 0x70], eax
push ebx
call fcn.0047dea0
mov ebp, dword [esp + 0x38]
push ebp
push ebx
mov dword [esp + 0x80], eax
call fcn.0047dea0
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x50]
and al, 1
movzx eax, al
push eax
push ebx
call fcn.0047de40
push 0
push ebx
mov dword [esp + 0x98], eax
call fcn.0047de40
push 0
push ebx
mov dword [esp + 0xa4], eax
call fcn.0047de40
add esp, 0x40
mov dword [esp + 0x68], eax
cmp ebp, 0xb
je 0x475f31
push 0
push ebx
call fcn.0047dea0
push dword [esp + 0x24]
mov dword [esp + 0x38], eax
push ebx
call fcn.0047dea0
mov dword [esp + 0x40], eax
lea eax, [esp + 0x3c]
push 2
push eax
push ebx
call fcn.0047dfc0
add esp, 0x1c
mov dword [esp + 0x6c], eax
jmp 0x475f39
mov dword [esp + 0x6c], 0
push 0xb
lea eax, [esp + 0x48]
push eax
push ebx
call fcn.0047dfc0
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x475f64
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.004eee65
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 0x475f9e
lea eax, [ecx + 4]
push eax
push esi
call fcn.00477da0
add esp, 8
test eax, eax
je 0x475f9e
mov ecx, dword [esp + 0x10]
add ecx, 4
mov dword [esi + 8], ecx
jmp 0x475fa0
xor eax, eax
mov dword [eax], edi
cmp dword [ebx + 0x24], 6
jae 0x475fc0
mov eax, dword [ebx + 0x63dd8]
and eax, 0xfffffffc
cmp eax, 0x20
jbe 0x475fc0
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.0046af30
add esp, 0x10
cmp ebp, 0xb
jne 0x475fe4
or dword [ebx + 0x30], 1
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x475ffa
cmp eax, 5
je 0x475ffa
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.004eee65
add esp, 0x64
ret