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

Disassembly:
sub esp, 0x8c
mov eax, dword [0x10444724]
xor eax, esp
mov dword [esp + 0x88], eax
push ebp
mov ebp, ecx
xor ecx, ecx
push esi
mov eax, dword [ebp]
mov esi, dword [eax + 0x28]
mov edx, dword [eax + 0x20]
test esi, esi
jle 0x100484f8
nop word [eax + eax]
mov al, byte [edx]
cmp al, 1
je 0x1004876d
cmp al, 2
je 0x1004876d
cmp al, 3
je 0x1004876d
cmp al, 4
je 0x1004876d
inc ecx
inc edx
cmp ecx, esi
jl 0x100484d0
mov eax, dword [esp + 0x9c]
mov byte [esp + 0xb], 1
mov byte [ebp + 9], al
mov al, byte [ebp + 9]
lea ecx, [esp + 0x78]
mov esi, dword [esp + 0x98]
push ebx
push edi
push esi
movzx eax, al
push ebp
mov dword [esp + 0x30], eax
call fcn.10046510
push 6
push 6
push ebp
lea ecx, [esp + 0x38]
call fcn.10044ed0
movss xmm6, dword [esi + 8]
lea ecx, [esp + 0x18]
movss xmm7, dword [esi]
movaps xmm0, xmm6
movss xmm1, dword [0x10386830]
movaps xmm3, xmm7
movss xmm5, dword [esi + 0xc]
xor eax, eax
movss xmm4, dword [esi + 4]
mov edi, dword [esp + 0xa8]
movaps xmm2, xmm4
mov edx, dword [esp + 0xa4]
and edi, 3
mulss xmm0, xmm1
test edx, edx
push 0
mulss xmm3, xmm1
setne al
xor ebx, ebx
test edx, edx
mulss xmm2, xmm1
setne bl
mov dword [esp + 0x54], edi
add ebx, dword [esp + 0xac]
addss xmm3, xmm0
movaps xmm0, xmm5
movss dword [esp + 0x38], xmm4
mulss xmm0, xmm1
lea eax, [eax*2 + 1]
push 0
and ebx, 3
mov dword [esp + 0x24], eax
push ebp
addss xmm2, xmm0
mov dword [esp + 0x60], eax
movss dword [esp + 0x3c], xmm3
movss dword [esp + 0x44], xmm6
movss dword [esp + 0x4c], xmm3
movss dword [esp + 0x50], xmm5
movss dword [esp + 0x48], xmm2
movss dword [esp + 0x54], xmm7
movss dword [esp + 0x58], xmm2
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], eax
movss dword [esp + 0x64], xmm7
movss dword [esp + 0x68], xmm4
movss dword [esp + 0x6c], xmm6
movss dword [esp + 0x70], xmm4
movss dword [esp + 0x74], xmm6
movss dword [esp + 0x78], xmm5
movss dword [esp + 0x7c], xmm7
movss dword [esp + 0x80], xmm5
call fcn.10044ed0
mov eax, dword [ebp]
push ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp], 0
mov eax, dword [eax + 0x1c]
push 0
mov dword [ebp + 4], eax
call fcn.10045dc0
mov ecx, eax
mov eax, dword [esp + edi*8 + 0x30]
mov dword [ecx], eax
mov eax, dword [esp + edi*8 + 0x34]
mov dword [ecx + 4], eax
mov esi, dword [esp + 0x1c]
mov byte [ebp + 8], 0
mov byte [ebp + 9], 2
mov dword [esp + 0x14], 4
nop dword [eax]
sub esp, 0x14
add edi, esi
and edi, 3
add ebx, esi
mov dword [esp + 0x64], edi
and ebx, 3
mov dword [esp + 0x8c], ebx
mov ecx, ebp
mov dword [esp + 0x10], 0x3f3504f3
movss xmm0, dword [esp + edi*8 + 0x48]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [esp + edi*8 + 0x44]
movss dword [esp + 8], xmm0
movss xmm0, dword [esp + ebx*8 + 0x70]
movss dword [esp + 4], xmm0
movss xmm0, dword [esp + ebx*8 + 0x6c]
movss dword [esp], xmm0
call fcn.1004b1f0
sub dword [esp + 0x14], 1
jne 0x10048670
mov eax, dword [ebp]
pop edi
pop ebx
mov ecx, dword [eax + 0x28]
test ecx, ecx
jle 0x10048704
mov eax, dword [eax + 0x20]
cmp byte [eax + ecx - 1], 4
ja 0x10048704
push 0
push 0
push ebp
lea ecx, [esp + 0x24]
call fcn.10044ed0
push ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp], 0
push 5
call fcn.10045dc0
mov ecx, dword [ebp + 4]
not ecx
push 0
sar ecx, 0x1f
xor dword [ebp + 4], ecx
lea ecx, [esp + 0x20]
push 0
push ebp
call fcn.10044ed0
mov edx, dword [esp + 0x1c]
mov al, byte [esp + 0xb]
cmp dword [esp + 0x9c], 1
mov byte [edx + 0x56], al
sete cl
mov eax, dword [esp + 0xa0]
mov byte [edx + 0x58], cl
and al, 3
lea ecx, [esp + 0x78]
mov byte [edx + 0x59], al
call fcn.100466a0
mov eax, dword [esp + 0x20]
mov byte [ebp + 9], al
mov eax, ebp
mov ecx, dword [esp + 0x90]
pop esi
pop ebp
xor ecx, esp
call fcn.1037e005
add esp, 0x8c
ret 0xc
mov byte [esp + 0xb], 0
mov byte [ebp + 9], 2
jmp 0x10048507