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

Disassembly:
sub esp, 0x86c
mov eax, dword [0x5be410]
xor eax, esp
mov dword [esp + 0x868], eax
push ebx
mov ebx, dword [esp + 0x874]
push ebp
push esi
mov esi, ecx
push edi
mov edi, dword [esp + 0x884]
mov eax, edi
shl eax, 7
lea ebp, [esi + 0x24]
mov dword [esp + 0x14], esi
add ebp, eax
lea ecx, [esi + 0x4ebc]
push ebp
push ebx
call fcn.00543d70
lea eax, [edi + edi*2]
xor ecx, ecx
shl eax, 8
lea edx, [esi + 0x15b6]
mov dword [esp + 0x18], eax
add edx, eax
nop word [eax + eax]
mov ax, word [edx]
lea edx, [edx + 0x32]
mov word [esp + ecx*2 + 0x58], ax
inc ecx
cmp ecx, 0xf
jl 0x5257c0
push 0x2c
push 0xf
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.005461b0
add esp, 0x10
lea eax, [esp + 0x78]
mov ecx, ebx
push eax
push dword [0x5bdee0]
push ebp
call fcn.0048b980
movsd xmm1, qword [0x582fd8]
lea ecx, [edi + edi*2]
shl ecx, 8
push 5
push 0x2c
push 8
movsx eax, word [ecx + esi + 0x15a6]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsx eax, word [ecx + esi + 0x15a8]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x28], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsx eax, word [ecx + esi + 0x15aa]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x2c], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsx eax, word [ecx + esi + 0x15ac]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x30], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movsx eax, word [ecx + esi + 0x15ae]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x34], xmm0
movd xmm0, eax
movsx eax, word [ecx + esi + 0x15b0]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x38], xmm0
movd xmm0, eax
movsx eax, word [ecx + esi + 0x15b2]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x3c], xmm0
movd xmm0, eax
movsx eax, word [ecx + esi + 0x15b4]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x40], xmm0
movd xmm0, eax
lea eax, [esp + 0x28]
cvtdq2pd xmm0, xmm0
push eax
lea eax, [esp + 0x88]
push eax
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x4c], xmm0
call fcn.00546420
add esp, 0x14
lea eax, [esp + 0x78]
mov ecx, ebx
push eax
push dword [0x5bdee4]
push ebp
call fcn.0048b980
lea edi, [esi + 0x9a4]
mov eax, dword [esp + 0x18]
add eax, 0x15ea
mov dword [esp + 0x10], 8
add esi, eax
movsd xmm1, qword [0x582fd8]
xor ecx, ecx
mov edx, esi
nop
movsx eax, word [edx - 0x32]
lea edx, [edx + 0xfa]
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movsx eax, word [edx - 0xfa]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + ecx*4 + 0x1c], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movsx eax, word [edx - 0xc8]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + ecx*4 + 0x20], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movsx eax, word [edx - 0x96]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + ecx*4 + 0x24], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movsx eax, word [edx - 0x64]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + ecx*4 + 0x28], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + ecx*4 + 0x2c], xmm0
add ecx, 5
cmp ecx, 0xf
jl 0x525950
push 5
push 0x2c
push 0xf
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x88]
push eax
call fcn.00546420
add esp, 0x14
lea eax, [esp + 0x78]
mov ecx, ebx
push eax
push edi
push ebp
call fcn.0048b980
add esi, 2
sub edi, 0xffffff80
sub dword [esp + 0x10], 1
jne 0x525942
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], 8
lea esi, [eax + 0x15fa]
add esi, dword [esp + 0x18]
lea edi, [eax + 0xda4]
nop
movsd xmm1, qword [0x582fd8]
xor ecx, ecx
mov edx, esi
nop dword [eax]
movsx eax, word [edx - 0x32]
lea edx, [edx + 0xfa]
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movsx eax, word [edx - 0xfa]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + ecx*4 + 0x1c], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movsx eax, word [edx - 0xc8]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + ecx*4 + 0x20], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movsx eax, word [edx - 0x96]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + ecx*4 + 0x24], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movsx eax, word [edx - 0x64]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + ecx*4 + 0x28], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + ecx*4 + 0x2c], xmm0
add ecx, 5
cmp ecx, 0xf
jl 0x525a50
push 5
push 0x2c
push 0xf
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x88]
push eax
call fcn.00546420
add esp, 0x14
lea eax, [esp + 0x78]
mov ecx, ebx
push eax
push edi
push ebp
call fcn.0048b980
add esi, 2
sub edi, 0xffffff80
sub dword [esp + 0x10], 1
jne 0x525a40
mov eax, dword [esp + 0x14]
mov dword [esp + 0x14], 8
lea esi, [eax + 0x160a]
add esi, dword [esp + 0x18]
lea edi, [eax + 0x11a4]
nop
movsd xmm1, qword [0x582fd8]
xor ecx, ecx
mov edx, esi
nop dword [eax]
movsx eax, word [edx - 0x32]
lea edx, [edx + 0xfa]
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movsx eax, word [edx - 0xfa]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + ecx*4 + 0x1c], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movsx eax, word [edx - 0xc8]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + ecx*4 + 0x20], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movsx eax, word [edx - 0x96]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + ecx*4 + 0x24], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
movsx eax, word [edx - 0x64]
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + ecx*4 + 0x28], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + ecx*4 + 0x2c], xmm0
add ecx, 5
cmp ecx, 0xf
jl 0x525b50
push 5
push 0x2c
push 0xf
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x88]
push eax
call fcn.00546420
add esp, 0x14
lea eax, [esp + 0x78]
mov ecx, ebx
push eax
push edi
push ebp
call fcn.0048b980
add esi, 2
sub edi, 0xffffff80
sub dword [esp + 0x14], 1
jne 0x525b40
mov ecx, dword [esp + 0x878]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0054462a
add esp, 0x86c
ret 8