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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x58
movups xmm0, xmmword [edx]
push esi
mov esi, ecx
movups xmmword [esp + 0x1c], xmm0
push edi
movups xmm0, xmmword [edx + 0x10]
mov dword [esp + 0x1c], esi
mov word [esp + 0x20], 0x203
movups xmmword [esp + 0x30], xmm0
mov byte [esp + 0x22], 1
movups xmm0, xmmword [edx + 0x20]
movups xmmword [esp + 0x40], xmm0
movups xmm0, xmmword [edx + 0x30]
movaps xmmword [esp + 0x50], xmm0
psrldq xmm0, 8
movd eax, xmm0
cmp eax, 0x3f
jle 0x47b7cf
mov dword [esp + 0x58], 0x3f
jmp 0x47b7dd
test eax, eax
mov ecx, 0x20
cmovs eax, ecx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x54]
lea edx, [esp + 0x20]
xor ecx, ecx
test eax, eax
push 4
cmovs eax, ecx
mov ecx, esi
mov dword [esp + 0x58], eax
call fcn.0047edf7
add esp, 4
test eax, eax
js 0x47bb66
mov edi, dword [fcn.004995b8]
push 0x60
push dword [esi + 0xf8]
call edi
push 2
push dword [esi + 0xd8]
mov dword [esi + 0xc974], eax
call edi
mov dword [esi + 0xc978], eax
mov eax, dword [esi + 0xf8]
shl eax, 2
push eax
call dword [fcn.004995bc]
mov edi, dword [esi + 0x30]
add esp, 0x14
mov dword [esi + 0xc97c], eax
mov ecx, edi
mov edx, dword [esi + 0x7c]
mov eax, 1
shr ecx, 1
not edi
not ecx
and edi, 1
and ecx, 1
shl eax, cl
add ecx, edi
imul edx, eax
mov dword [esi + 0xca28], eax
mov eax, edx
shl edx, 4
shl eax, 5
shr eax, cl
add eax, edx
shl eax, 2
push eax
call dword [fcn.004995bc]
mov dword [esi + 0xca2c], eax
add esp, 4
lea eax, [esi + 0xca3c]
mov dword [esp + 0x14], 3
mov dword [esp + 0x18], eax
lea eax, [esi + 0x78]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x10], eax
nop
mov edi, dword [eax]
shl edi, 2
lea eax, [edi + 4]
shl eax, 6
push eax
call dword [fcn.004995bc]
mov ecx, eax
add esp, 4
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x47b8e7
mov eax, ecx
mov edx, 0x40
add ecx, 0x100
nop dword [eax]
mov dword [eax], ecx
lea eax, [eax + 4]
add ecx, edi
sub edx, 1
jne 0x47b8d7
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
mov dword [esi - 0xc], eax
mov edi, dword [edi]
shl edi, 2
lea eax, [edi + 4]
shl eax, 6
push eax
call dword [fcn.004995bc]
mov ecx, eax
add esp, 4
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x47b92a
mov eax, ecx
mov edx, 0x40
add ecx, 0x100
mov dword [eax], ecx
lea eax, [eax + 4]
add ecx, edi
sub edx, 1
jne 0x47b91a
mov eax, dword [esp + 0x18]
mov dword [esi], eax
add esi, 4
mov eax, dword [esp + 0x10]
add eax, 0x20
sub dword [esp + 0x14], 1
mov dword [esp + 0x10], eax
jne 0x47b8a7
mov esi, dword [esp + 0x1c]
mov ecx, esi
call fcn.00485ba7
mov ecx, dword [esi + 0x3c]
mov edx, 1
mov al, byte [esi + 0x38]
shl edx, cl
cmp dword [esi + 0x34], 0
mov dword [esi + 0xc988], edx
mov byte [esi + 0x31b], al
mov byte [esi + 0x31a], 1
mov dword [esi + 0x2ac08], 0
mov dword [esi + 0x2ac3c], 0
mov byte [esi + 0x2ac44], 0
mov dword [esi + 0x2ac58], 0
mov dword [esi + 0x2aca8], 0
mov dword [esi + 0x2acac], 0
jle 0x47b9d6
mov eax, 0x100
mov word [esi + 0x2ab90], 0x101
cmp edx, eax
mov byte [esi + 0x2ab92], 0
mov ecx, esi
cmova edx, eax
mov dword [esi + 0x2ab68], edx
call 0x481047
xorps xmm0, xmm0
movups xmmword [esi + 0xc960], xmm0
push 0x100
mov dword [esi + 0xc970], 0
call dword [fcn.004995bc]
mov dword [esi + 0xc968], eax
add esp, 4
mov dword [esi + 0xc96c], eax
mov byte [eax], 0
mov dword [esi + 0xc970], 0x100
cmp dword [esi + 0xc974], 0
je 0x47bb5c
cmp dword [esi + 0xc978], 0
je 0x47bb5c
cmp dword [esi + 0xc97c], 0
je 0x47bb5c
cmp dword [esi + 0xca2c], 0
je 0x47bb5c
cmp dword [esi + 0xca30], 0
je 0x47bb5c
cmp dword [esi + 0xca34], 0
je 0x47bb5c
cmp dword [esi + 0xca38], 0
je 0x47bb5c
cmp dword [esi + 0xca3c], 0
je 0x47bb5c
cmp dword [esi + 0xca40], 0
je 0x47bb5c
cmp dword [esi + 0xca44], 0
je 0x47bb5c
lea eax, [esi + 0xc9d0]
mov ecx, esi
mov dword [esi + 0xc9b0], eax
mov dword [esi + 0xc9b4], 0x4a36f4
mov dword [esi + 0xc9b8], 0x4a36fc
mov dword [esi + 0xc9bc], 0x4a3704
mov dword [esi + 0xc9c0], 0x4a370c
mov dword [esi + 0xc9c4], 0x4a3714
mov dword [esi + 0xc9c8], 0x4a371c
mov dword [esi + 0xc9cc], 0x4a3724
call fcn.0047afc7
push 0x5000
xorps xmm0, xmm0
lea eax, [esi + 0xcfb0]
movq qword [esi + 0xc99f], xmm0
push 0x4a39d0
push eax
mov dword [esi + 0xc984], 0xfffffffd
mov dword [esi + 0xc98c], 0
mov dword [esi + 0xc990], 0
mov dword [esi + 0xc994], 0
mov dword [esi + 0xc998], 1
mov word [esi + 0xc99c], 0
call 0x506088
add esp, 0xc
xor edx, edx
mov ecx, esi
call fcn.0047b357
xor eax, eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.0047bb77
or eax, 0xffffffff
pop edi
pop esi
mov esp, ebp
pop ebp
ret