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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x298
push esi
push edi
mov edi, ecx
xor eax, eax
mov dword [esp + 0x20], eax
cmp byte [edi + 0x51], al
je 0x5fddfd
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x5fddfd
call fcn.005cca00
test eax, eax
je 0x5fddfd
mov eax, dword [esi]
mov ecx, dword [eax + 0x1c]
test ecx, ecx
jne 0x5fdddd
xor eax, eax
jmp 0x5fdde2
call fcn.005cca00
mov ecx, dword [eax + 0x20]
mov ecx, dword [ecx]
test ecx, ecx
jns 0x5fddef
xor eax, eax
jmp 0x5fddf5
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*4]
movzx eax, word [eax + 0x2e]
mov dword [esp + 0x20], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
cmp dword [eax + 4], 2
jle 0x5fde12
movsx eax, word [eax + 0x32]
mov dword [esp + 0x1c], eax
jmp 0x5fde1a
mov dword [esp + 0x1c], 0
cmp dword [edi + 0x30], 0
mov dword [esp + 0x2c], 0
jle 0x5fe56b
xor esi, esi
mov dword [esp + 0x10], esi
mov ecx, dword [edi + 0x2c]
add ecx, esi
mov dword [esp + 0x14], ecx
movsx eax, word [ecx + 0x26]
add eax, 0xd
mov dword [esp + 0x28], eax
mov eax, dword [edx]
mov esi, dword [esp + 0x28]
cmp esi, dword [eax + 4]
mov esi, dword [esp + 0x10]
jge 0x5fe552
movsx eax, word [ecx + 0x24]
cmp eax, dword [esp + 0x1c]
jge 0x5fe552
movaps xmm0, xmmword [0x719320]
lea eax, [esp + 0xa0]
push eax
mov eax, dword [ebp + 8]
movaps xmmword [esp + 0x34], xmm0
mov byte [esp + 0x13], 0
movaps xmmword [esp + 0x44], xmm0
mov eax, dword [eax]
mov eax, dword [eax + 0x2c]
push dword [eax + 0x14]
movsx eax, word [ecx + 0x24]
push edx
push eax
call fcn.005df500
mov al, byte [edi + 0x50]
add esp, 0x10
test al, al
jne 0x5fe268
mov ecx, dword [ebp + 8]
call fcn.005c60d0
mov ecx, dword [ebp + 0xc]
movaps xmm3, xmmword [esp + 0xa0]
movaps xmm4, xmm3
mov dword [esp + 0x18], eax
movaps xmm1, xmm3
lea eax, [esp + 0xb0]
mov ecx, dword [ecx]
movaps xmm2, xmm3
shufps xmm1, xmm3, 0xc9
shufps xmm2, xmm3, 0xd2
push eax
movsx esi, word [ecx + 0x14]
add esi, ecx
movaps xmm5, xmmword [esi + 0x10]
lea ecx, [esi + 0x10]
mulps xmm4, xmm5
movaps xmm6, xmm5
push ecx
shufps xmm6, xmm5, 0xff
lea ecx, [esp + 0x68]
movaps xmm0, xmm4
shufps xmm0, xmm4, 0x55
addss xmm0, xmm4
shufps xmm4, xmm4, 0xaa
addss xmm4, xmm0
movaps xmm0, xmm5
shufps xmm0, xmm5, 0xd2
mulps xmm1, xmm0
movaps xmm0, xmm5
shufps xmm0, xmm5, 0xc9
mulps xmm2, xmm0
shufps xmm4, xmm4, 0
mulps xmm4, xmm5
subps xmm2, xmm1
mulps xmm2, xmm6
mulps xmm6, xmm6
addps xmm6, xmmword [0x7195c0]
mulps xmm6, xmm3
addps xmm6, xmm4
addps xmm2, xmm6
addps xmm2, xmm2
addps xmm2, xmmword [esi]
movaps xmmword [esp + 0x58], xmm2
call fcn.004782a0
movaps xmm0, xmmword [esi + 0x20]
lea eax, [esp + 0x50]
mulps xmm0, xmmword [esp + 0xc0]
lea ecx, [esp + 0xe0]
push dword [esp + 0x14]
push eax
movaps xmmword [esp + 0x78], xmm0
call fcn.0046eb90
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x120]
mov dword [esp + method.hkpAllCdPointCollector.virtual_0], vtable.hkpAllCdPointCollector.0
mov dword [esp + 0x110], eax
mov dword [esp + 0x118], listen
mov dword [esp + 0x114], 0
mov dword [esp + 0x104], 0x7f7fffee
call fcn.005c60b0
mov esi, eax
mov ecx, esi
call fcn.0050d7e0
lea eax, [esp + 0x100]
push eax
mov eax, dword [esp + 0x18]
sub esp, 8
movss xmm0, dword [eax + 0x20]
lea eax, [esp + 0xec]
movss dword [esp + 4], xmm0
mov dword [esp], 0x3d4ccccd
push eax
push dword [edi + 0x48]
push esi
call fcn.005d0330
add esp, 0x18
mov ecx, esi
call fcn.0050d800
lea ecx, [esp + 0x100]
call fcn.006c1610
xor ecx, ecx
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x114], ecx
jle 0x5fe1ef
mov eax, dword [esp + 0x110]
add eax, 0x28
mov dword [esp + 0x14], eax
mov eax, dword [eax]
cmp byte [eax + 0x18], 1
jne 0x5fe070
movsx esi, byte [eax + 0x10]
add esi, eax
cmp byte [edi + 0x51], 0
je 0x5fe04c
mov edx, dword [esp + 0x20]
test edx, edx
je 0x5fe04c
movzx eax, word [eax + 0x1e]
cmp eax, edx
je 0x5fe070
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x5fe08e
push 0
push eax
lea eax, [esp + 0xe0]
mov ecx, esi
push eax
call fcn.005aca20
mov ecx, dword [eax]
or ecx, dword [eax + 4]
jne 0x5fe08e
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
inc ecx
add eax, 0x30
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], eax
cmp ecx, dword [esp + 0x114]
jl 0x5fe028
jmp 0x5fe1ef
mov eax, dword [esp + 0x14]
xorps xmm3, xmm3
mov ecx, dword [esp + 0x10]
movss xmm2, dword [edi + 0x54]
comiss xmm2, xmm3
movaps xmm1, xmmword [eax - 0x28]
mov eax, dword [edi + 0x2c]
movaps xmmword [esp + 0x30], xmm1
movaps xmm0, xmmword [ecx + eax + 0x10]
movaps xmmword [esp + 0x40], xmm0
jbe 0x5fe0d5
movss xmm0, dword [edi + 0x64]
mulss xmm0, xmm2
shufps xmm0, xmm0, 0
mulps xmm0, xmmword [esi + 0x1b0]
addps xmm1, xmm0
movaps xmmword [esp + 0x30], xmm1
mov eax, dword [esp + 0x18]
movaps xmm0, xmmword [0x7b2fa0]
mov esi, dword [edi + 0x58]
add esi, ecx
mov byte [esp + 0xf], 1
mulps xmm0, xmmword [eax]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
addps xmm0, xmm1
movaps xmmword [esp + 0x30], xmm0
movsx ecx, word [eax + 0x14]
movss xmm0, dword [esi]
add ecx, eax
comiss xmm0, xmm3
mov dword [esp + 0x18], ecx
jbe 0x5fe1d8
lea eax, [esi + 0x10]
push eax
push ecx
lea ecx, [esp + 0xf8]
call fcn.0046eb90
movss xmm3, dword [edi + 0x38]
movaps xmm4, xmmword [0x727d50]
movaps xmm0, xmmword [esp + 0x30]
movaps xmm1, xmm4
shufps xmm3, xmm3, 0
movaps xmm2, xmm3
mov ecx, dword [esp + 0x18]
shufps xmm2, xmm3, 0
subps xmm4, xmm3
subps xmm1, xmm2
mulps xmm0, xmm2
mulps xmm1, xmmword [esp + 0xf0]
addps xmm1, xmm0
movaps xmm0, xmmword [esp + 0x40]
mulps xmm0, xmm3
movaps xmmword [esp + 0x30], xmm1
xorps xmm1, xmm1
mulps xmm4, xmmword [esi + 0x20]
addps xmm4, xmm0
movaps xmm3, xmm4
mulps xmm3, xmm4
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
addss xmm0, xmm3
shufps xmm3, xmm3, 0xaa
addss xmm3, xmm0
movaps xmm0, xmm1
shufps xmm3, xmm3, 0
movaps xmm2, xmm3
movaps xmm5, xmm3
rsqrtss xmm2, xmm2
cmpeqss xmm5, xmm0
mulss xmm3, xmm2
movss xmm0, dword [0x719764]
movaps xmm1, xmm0
mulss xmm3, xmm2
subss xmm1, xmm3
movss xmm3, dword [0x719760]
movaps xmm0, xmm3
mulss xmm0, xmm2
mulss xmm0, xmm1
andnps xmm5, xmm0
shufps xmm5, xmm5, 0
mulps xmm5, xmm4
movaps xmmword [esp + 0x40], xmm5
lea eax, [esp + 0x30]
push eax
push ecx
lea ecx, [esi + 0x10]
call fcn.0046ec20
movaps xmm0, xmmword [esp + 0x40]
movaps xmmword [esi + 0x20], xmm0
mov eax, dword [esp + 0x118]
mov dword [esp + method.hkpAllCdPointCollector.virtual_0], vtable.hkpAllCdPointCollector.0
mov dword [esp + 0x114], 0
test eax, eax
js 0x5fe230
and eax, 0x3fffffff
mov ecx, 0x7d8954
lea eax, [eax + eax*2]
shl eax, 4
push eax
mov eax, dword [0x7d8954]
push dword [esp + 0x114]
call dword [eax + 0x10]
movaps xmm6, xmmword [esp + 0x40]
mov al, byte [esp + 0xf]
mov esi, dword [edi + 0x58]
mov edx, dword [esp + 0x10]
add esi, edx
movss xmm0, dword [0x718824]
test al, al
je 0x5fe42a
subss xmm0, dword [esi]
mulss xmm0, dword [edi + 0x40]
addss xmm0, dword [esi]
movss dword [esi], xmm0
jmp 0x5fe461
cmp al, 1
jne 0x5fe27f
mov ecx, dword [edi + 0x2c]
movaps xmm0, xmmword [esi + ecx]
movaps xmmword [esp + 0x30], xmm0
movaps xmm6, xmmword [esi + ecx + 0x10]
jmp 0x5fe239
cmp al, 2
mov byte [esp + 0xf], 1
mov eax, dword [ebp + 0xc]
jne 0x5fe327
mov ecx, dword [eax]
mov eax, dword [edi + 0x2c]
add eax, esi
push eax
movsx eax, word [ecx + 0x14]
add eax, ecx
lea ecx, [esp + 0x34]
push eax
call fcn.0046eb90
mov eax, dword [ebp + 0xc]
mov edx, dword [edi + 0x2c]
mov ecx, dword [eax]
movaps xmm2, xmmword [esi + edx + 0x10]
movaps xmm1, xmm2
movaps xmm6, xmm2
shufps xmm1, xmm2, 0xc9
movsx eax, word [ecx + 0x14]
shufps xmm6, xmm2, 0xd2
movaps xmm4, xmmword [eax + ecx + 0x10]
movaps xmm3, xmm4
mulps xmm3, xmm2
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
addss xmm0, xmm3
shufps xmm3, xmm3, 0xaa
addss xmm3, xmm0
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xd2
mulps xmm1, xmm0
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xc9
mulps xmm6, xmm0
subps xmm6, xmm1
shufps xmm3, xmm3, 0
movaps xmm5, xmm4
mulps xmm3, xmm4
shufps xmm5, xmm4, 0xff
mulps xmm6, xmm5
mulps xmm5, xmm5
addps xmm5, xmmword [0x7195c0]
mulps xmm5, xmm2
addps xmm5, xmm3
addps xmm6, xmm5
addps xmm6, xmm6
jmp 0x5fe235
mov eax, dword [eax]
lea ecx, [esp + 0xb0]
movaps xmm3, xmmword [esp + 0xa0]
movaps xmm4, xmm3
movaps xmm1, xmm3
shufps xmm1, xmm3, 0xc9
movaps xmm2, xmm3
movsx esi, word [eax + 0x14]
add esi, eax
shufps xmm2, xmm3, 0xd2
movaps xmm5, xmmword [esi + 0x10]
lea eax, [esi + 0x10]
mulps xmm4, xmm5
movaps xmm6, xmm5
push ecx
shufps xmm6, xmm5, 0xff
lea ecx, [esp + 0x64]
push eax
movaps xmm0, xmm4
shufps xmm0, xmm4, 0x55
addss xmm0, xmm4
shufps xmm4, xmm4, 0xaa
addss xmm4, xmm0
movaps xmm0, xmm5
shufps xmm0, xmm5, 0xd2
mulps xmm1, xmm0
movaps xmm0, xmm5
shufps xmm0, xmm5, 0xc9
mulps xmm2, xmm0
shufps xmm4, xmm4, 0
mulps xmm4, xmm5
subps xmm2, xmm1
mulps xmm2, xmm6
mulps xmm6, xmm6
addps xmm6, xmmword [0x7195c0]
mulps xmm6, xmm3
addps xmm6, xmm4
addps xmm2, xmm6
addps xmm2, xmm2
addps xmm2, xmmword [esi]
movaps xmmword [esp + 0x58], xmm2
call fcn.004782a0
movaps xmm0, xmmword [esi + 0x20]
lea eax, [esp + 0x50]
mulps xmm0, xmmword [esp + 0xc0]
lea ecx, [esp + 0x30]
mov esi, dword [esp + 0x14]
push esi
push eax
movaps xmmword [esp + 0x78], xmm0
call fcn.0046eb90
movaps xmm4, xmmword [esp + 0x60]
movaps xmm2, xmmword [esi + 0x10]
movaps xmm3, xmm4
mulps xmm3, xmm2
movaps xmm6, xmm4
shufps xmm6, xmm4, 0xc9
movaps xmm1, xmm4
shufps xmm1, xmm4, 0xd2
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
addss xmm0, xmm3
shufps xmm3, xmm3, 0xaa
addss xmm3, xmm0
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xd2
mulps xmm6, xmm0
movaps xmm0, xmm2
shufps xmm0, xmm2, 0xc9
mulps xmm1, xmm0
jmp 0x5fe2f8
subss xmm0, dword [edi + 0x3c]
mov eax, dword [ebp + 0xc]
mulss xmm0, dword [esi]
mov ecx, dword [eax]
movss dword [esi], xmm0
mov eax, dword [edi + 0x58]
add eax, 0x10
add eax, edx
push eax
movsx eax, word [ecx + 0x14]
add eax, ecx
lea ecx, [esp + 0x34]
push eax
call fcn.0046eb90
mov eax, dword [edi + 0x58]
mov ecx, dword [esp + 0x10]
movaps xmm6, xmmword [ecx + eax + 0x20]
movss xmm2, dword [esi]
movss xmm0, dword [0x77fa28]
comiss xmm0, xmm2
jbe 0x5fe480
mov edx, dword [ebp + 0xc]
mov dword [esi], 0
jmp 0x5fe54e
movaps xmm0, xmmword [0x719320]
movaps xmm1, xmmword [esp + 0x30]
mov eax, dword [ebp + 0xc]
mov esi, dword [esp + 0x28]
movaps xmmword [esp + 0x50], xmm0
add esi, esi
movaps xmm0, xmmword [0x7194c0]
mov ecx, dword [eax]
lea eax, [esp + 0x50]
movaps xmmword [esp + 0x60], xmm0
movss xmm0, dword [edi + 0x44]
movss dword [esp + 0x90], xmm0
movaps xmm0, xmm1
movss dword [esp + 0x50], xmm1
shufps xmm0, xmm1, 0x55
movss xmm1, dword [esp + 0x38]
push 0x50
push eax
mov dword [esp + 0x88], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0x3f800000
mov word [esp + 0xa4], 0
movss dword [esp + 0x8c], xmm2
movss dword [esp + 0x5c], xmm0
movss dword [esp + 0x60], xmm1
mov dword [esp + 0x64], 0x3f800000
movss dword [esp + 0x90], xmm2
movaps xmmword [esp + 0x78], xmm6
movsx eax, word [ecx + esi*8 + 0x14]
add eax, ecx
push eax
call fcn.0045d810
mov edx, dword [ebp + 0xc]
add esp, 0xc
mov eax, dword [edx]
mov dword [eax + esi*8 + 0x18], 0x3f800000
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
add esi, 0x30
inc eax
mov dword [esp + 0x10], esi
mov dword [esp + 0x2c], eax
cmp eax, dword [edi + 0x30]
jl 0x5fde32
mov dword [edi + 0x64], 0
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8