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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5f2222
mov eax, dword fs:[0]
push eax
sub esp, 0x2d8
mov eax, dword [0x66d060]
xor eax, esp
mov dword [esp + 0x2d0], eax
push ebx
push esi
push edi
mov eax, dword [0x66d060]
xor eax, esp
push eax
lea eax, [esp + 0x2e8]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [ebp + 0xc]
lea ecx, [esi + 4]
mov edi, dword [ebp + 0x14]
xor edx, edx
mov dword [esp + 0x1c], eax
mov bh, 1
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x18], edx
test eax, eax
je 0x47b4f3
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x18], edx
mov dword [esp + 0x30], eax
movss xmm1, dword [0x63c400]
imul eax, edx, 0x19
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esp + 0x24], 0xffffffff
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [esp + 0x28], xmm1
test edx, edx
jle 0x47b62e
cmp dword [ecx + 4], 0
je 0x47b61e
push ecx
call fcn.004a4860
test al, al
je 0x47b61e
lea eax, [esp + 0xac]
push eax
lea ecx, [esi + 4]
call fcn.004a4450
test al, al
je 0x47b61e
lea eax, [esp + 0xd5]
push eax
lea ecx, [esp + 0x38]
call fcn.0045e4d0
lea eax, [esp + 0x34]
mov dword [esp + 0x2f0], 0
push eax
push dword [esp + 0x20]
lea eax, [esp + 0x54]
push eax
call fcn.00571e5f
add esp, 0xc
mov byte [esp + 0x2f0], 2
cmp dword [esp + 0x48], 0x10
jb 0x47b5aa
push dword [esp + 0x34]
call fcn.00496180
add esp, 4
lea eax, [esp + 0x4c]
mov dword [esp + 0x48], 0xf
push eax
mov edx, eax
mov dword [esp + 0x48], 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x38], 0
call fcn.0047b8b0
add esp, 4
mov ecx, dword [esp + 0x20]
push eax
mov byte [esp + 0x2f4], 3
call fcn.0045eda0
lea ecx, [esp + 0x7c]
call fcn.0045da90
mov eax, dword [esp + 0xc4]
add dword [esi + 0x28], eax
adc dword [esi + 0x2c], 0
mov dword [esp + 0x2f0], 0xffffffff
cmp dword [esp + 0x60], 0x10
jb 0x47b62e
push dword [esp + 0x4c]
call fcn.00496180
add esp, 4
jmp 0x47b62e
mov dword [esi + 0x28], 0xffffffff
xor bh, bh
mov dword [esi + 0x2c], SysReAllocString
cmp dword [esp + 0x18], 1
mov dword [esp + 0x14], 1
je 0x47b857
test bh, bh
je 0x47b857
mov eax, dword [esi + 8]
xor bl, bl
test eax, eax
je 0x47b678
push eax
call fcn.004a3930
add esp, 4
test eax, eax
sete al
test al, al
je 0x47b678
lea eax, [esp + 0xac]
push eax
lea eax, [esi + 4]
mov ecx, eax
call fcn.004a4450
mov bl, al
test bl, bl
je 0x47b87f
cmp byte [esp + 0xd5], 0
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x44], 0
mov byte [esp + 0x34], 0
jne 0x47b6a3
xor ecx, ecx
jmp 0x47b6b9
lea ecx, [esp + 0xd5]
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x47b6b0
sub ecx, edx
push ecx
lea eax, [esp + 0xd9]
push eax
lea ecx, [esp + 0x3c]
call fcn.00460dd0
lea eax, [esp + 0x34]
mov dword [esp + 0x2f0], 4
push eax
push dword [esp + 0x20]
lea eax, [esp + 0x84]
push eax
call fcn.00571e5f
add esp, 0xc
mov byte [esp + 0x2f0], 6
cmp dword [esp + 0x48], 0x10
jb 0x47b70a
push dword [esp + 0x34]
call fcn.00496180
add esp, 4
lea eax, [esp + 0x7c]
mov dword [esp + 0x48], 0xf
push eax
mov edx, eax
mov dword [esp + 0x48], 0
lea ecx, [esp + 0x50]
mov byte [esp + 0x38], 0
call fcn.0047b8b0
add esp, 4
mov ecx, dword [esp + 0x20]
push eax
mov byte [esp + 0x2f4], 7
call fcn.0045eda0
cmp dword [esp + 0x78], 0x10
jb 0x47b757
push dword [esp + 0x64]
call fcn.00496180
add esp, 4
cmp dword [esp + 0x60], 0x10
mov dword [esp + 0x78], 0xf
mov dword [esp + 0x74], 0
mov byte [esp + 0x64], 0
jb 0x47b77f
push dword [esp + 0x4c]
call fcn.00496180
add esp, 4
mov eax, dword [esp + 0xc4]
add dword [esi + 0x28], eax
adc dword [esi + 0x2c], 0
mov dword [esp + 0x2f0], 0xffffffff
cmp dword [esp + 0x90], 0x10
jb 0x47b7ae
push dword [esp + 0x7c]
call fcn.00496180
add esp, 4
mov dword [esp + 0x90], 0xf
mov dword [esp + 0x8c], 0
mov byte [esp + 0x7c], 0
test edi, edi
je 0x47b844
mov eax, dword [esp + 0x24]
movd xmm1, dword [esp + 0x14]
inc eax
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mulss xmm1, dword [esp + 0x28]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x2c], xmm1
comiss xmm1, xmm0
jb 0x47b844
mov ecx, dword [edi + 0x88]
movss dword [edi + 4], xmm1
test ecx, ecx
je 0x47b828
movd xmm0, dword [edi + 0xc]
cvtdq2ps xmm0, xmm0
push edi
mulss xmm0, dword [0x63c400]
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [edi], eax
call fcn.00482ba0
movss xmm1, dword [esp + 0x2c]
mov ecx, dword [edi + 0x88]
cvttss2si eax, xmm1
mov dword [esp + 0x24], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
mov byte [edi + 0x40], al
test al, al
jne 0x47b88d
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x18]
jne 0x47b641
mov al, bh
mov ecx, dword [esp + 0x2e8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x2d0]
xor ecx, esp
call fcn.0055337c
mov esp, ebp
pop ebp
ret 0x14
mov dword [esi + 0x28], 0xffffffff
mov dword [esi + 0x2c], SysReAllocString
xor al, al
jmp 0x47b859