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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1c8
push esi
push edi
mov edi, ecx
mov dword [esp + 0x14], edi
cmp dword [edi + 0x30], 0
je 0x5c0fa0
movaps xmm0, xmmword [0x717f30]
xor al, al
mov byte [esp + 0x1b], al
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0x14]
movups xmmword [esp + 0x4c], xmm0
mov dword [esp + 0x48], eax
movaps xmm0, xmmword [0x71ac40]
movups xmmword [esp + 0x5c], xmm0
mov dword [esp + 0x6c], connect
mov word [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], connect
mov esi, dword [eax + 0x1c]
mov dword [esp + 0x88], eax
lea ecx, [esi + 3]
and ecx, 0xfffffffc
mov dword [esp + 0x30], ecx
jle 0x5c0211
push 0x30
push ecx
lea eax, [esp + 0x60]
push eax
push 0x7d8954
call fcn.00467b80
mov ecx, dword [esp + 0x40]
add esp, 0x10
mov eax, dword [esp + 0x54]
and eax, 0x3fffffff
cmp eax, ecx
jge 0x5c0237
push 0x30
push ecx
lea eax, [esp + 0x54]
push eax
push 0x7d8954
call fcn.00467b80
mov ecx, dword [esp + 0x40]
add esp, 0x10
mov eax, dword [esp + 0x6c]
and eax, 0x3fffffff
cmp eax, ecx
jge 0x5c0259
push 4
push ecx
lea eax, [esp + 0x6c]
push eax
push 0x7d8954
call fcn.00467b80
add esp, 0x10
mov ecx, dword [esp + 0x60]
and ecx, 0x3fffffff
cmp ecx, esi
jge 0x5c0285
add ecx, ecx
mov eax, esi
cmp esi, ecx
push 0x30
cmovl eax, ecx
push eax
lea eax, [esp + 0x60]
push eax
push 0x7d8954
call fcn.00467b80
add esp, 0x10
mov ecx, dword [esp + 0x54]
and ecx, 0x3fffffff
mov dword [esp + 0x5c], esi
cmp ecx, esi
jge 0x5c02b5
add ecx, ecx
mov eax, esi
cmp esi, ecx
push 0x30
cmovl eax, ecx
push eax
lea eax, [esp + 0x54]
push eax
push 0x7d8954
call fcn.00467b80
add esp, 0x10
mov ecx, dword [esp + 0x6c]
and ecx, 0x3fffffff
mov dword [esp + 0x50], esi
cmp ecx, esi
jge 0x5c02e5
add ecx, ecx
mov eax, esi
cmp esi, ecx
push 4
cmovl eax, ecx
push eax
lea eax, [esp + 0x6c]
push eax
push 0x7d8954
call fcn.00467b80
add esp, 0x10
mov eax, dword [esp + 0x48]
mov dword [esp + 0x68], esi
mov esi, dword [eax + 0x40]
mov eax, dword [esp + 0x7c]
and eax, 0x3fffffff
lea ecx, [esi + 3]
and ecx, 0xfffffffc
cmp eax, ecx
jge 0x5c0318
push 4
push ecx
lea eax, [esp + 0x7c]
push eax
push 0x7d8954
call fcn.00467b80
add esp, 0x10
mov ecx, dword [esp + 0x7c]
and ecx, 0x3fffffff
cmp ecx, esi
jge 0x5c0344
add ecx, ecx
mov eax, esi
cmp esi, ecx
push 4
cmovl eax, ecx
push eax
lea eax, [esp + 0x7c]
push eax
push 0x7d8954
call fcn.00467b80
add esp, 0x10
mov edx, dword [esp + 0x78]
mov ecx, esi
mov eax, dword [esp + 0x74]
sub ecx, edx
lea edx, [eax + edx*4]
test ecx, ecx
jle 0x5c0361
xor eax, eax
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [esp + 0x14]
lea ecx, [esp + 0x48]
mov dword [esp + 0x78], esi
call fcn.00580a40
mov esi, dword [ebp + 0xc]
push dword [eax]
push dword [esp + 0x8c]
push esi
call fcn.005df320
add esp, 0xc
cmp byte [edi + 0x58], 0
je 0x5c03a7
push esi
lea eax, [esp + 0x4c]
mov ecx, edi
push eax
call fcn.005c0ff0
lea ecx, [esp + 0x48]
call fcn.005ac3a0
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x84], edx
mov dword [esp + 0x44], ecx
cmp dword [edi + 0x30], ecx
jle 0x5c0f90
nop
mov eax, dword [edi + 0x2c]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x10], eax
mov ecx, dword [eax + 0x1c]
test ecx, ecx
jne 0x5c03d7
mov dword [esp + 0x30], ecx
jmp 0x5c03de
mov ecx, dword [ecx + 0x20]
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov dword [esp + 0x8c], ecx
cmp dword [esp + 0x30], ecx
jle 0x5c0f2d
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 0x1c]
movzx ecx, word [eax + ecx*2]
mov dword [esp + 0xa8], ecx
test cx, cx
js 0x5c0f08
mov eax, dword [esi]
cmp dword [eax + 4], 2
jle 0x5c0419
movsx eax, word [eax + 0x32]
jmp 0x5c041b
xor eax, eax
movsx edi, cx
mov dword [esp + 0x2c], edi
cmp edi, eax
jge 0x5c0f04
mov eax, dword [esp + 0x64]
mov byte [esp + 0x1b], 1
test byte [eax + edi*4], 2
jne 0x5c0445
lea eax, [edi + edi*2]
shl eax, 4
add eax, dword [esp + 0x58]
jmp 0x5c044f
push edi
lea ecx, [esp + 0x4c]
call fcn.00580e80
mov ecx, dword [esi]
push eax
movsx eax, word [ecx + 0x14]
add eax, ecx
lea ecx, [esp + 0xe4]
push eax
call fcn.0046eb90
mov edx, dword [esp + 0x14]
cmp byte [edx + 0x38], 0
jne 0x5c048e
mov ecx, dword [esp + 0x84]
mov eax, dword [edx + 0x48]
shl ecx, 4
mov dword [esp + 0x40], ecx
movaps xmm0, xmmword [eax + ecx]
movaps xmmword [esp + 0x90], xmm0
jmp 0x5c04c1
mov eax, dword [esp + 0x84]
mov ecx, dword [esi]
shl eax, 4
mov dword [esp + 0x40], eax
mov eax, dword [edx + 0x48]
add eax, dword [esp + 0x40]
push eax
movsx eax, word [ecx + 0x14]
add eax, ecx
lea ecx, [esp + 0x94]
push eax
call fcn.0046eb90
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x90]
push eax
mov eax, dword [edx + 0x3c]
add eax, ecx
mov ecx, edx
push eax
push dword [esp + 0x18]
lea eax, [esp + 0xec]
push eax
call fcn.005c1110
mov eax, dword [esp + 0x88]
xor ecx, ecx
mov edx, connect
mov eax, dword [eax + 0xc]
movzx eax, word [eax + edi*2]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
cmp byte [eax + 0x34], cl
jne 0x5c05bd
lea esi, [edi + 1]
nop
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov edi, dword [eax + 4]
cmp edi, 2
jle 0x5c0533
movsx eax, word [eax + 0x32]
jmp 0x5c0535
xor eax, eax
cmp esi, eax
jge 0x5c05b2
mov eax, dword [esp + 0x88]
mov eax, dword [eax + 0xc]
movzx eax, word [eax + esi*2]
mov dword [esp + 0x1c], eax
cmp ax, word [esp + 0xa8]
jne 0x5c05ac
test ax, ax
js 0x5c05ac
cmp edi, 2
jle 0x5c056e
mov eax, dword [ebp + 0xc]
mov edi, dword [eax]
mov eax, dword [esp + 0x1c]
movsx edi, word [edi + 0x32]
jmp 0x5c0570
xor edi, edi
cwde
cmp eax, edi
jge 0x5c05ac
and edx, 0x3fffffff
cmp ecx, edx
jne 0x5c0597
push 2
lea eax, [esp + 0x24]
push eax
push 0x7d8954
call fcn.00467c00
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov eax, dword [esp + 0x20]
mov word [eax + ecx*2], si
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x24], ecx
inc esi
jmp 0x5c0520
mov edi, dword [esp + 0x2c]
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x80]
cmp cx, 0xffff
je 0x5c0d56
test cx, cx
js 0x5c0d56
mov ecx, dword [esi]
cmp dword [ecx + 4], 2
jle 0x5c05e5
movsx edx, word [ecx + 0x32]
jmp 0x5c05e7
xor edx, edx
mov ecx, dword [esp + 0x80]
movsx ecx, cx
cmp ecx, edx
jge 0x5c0d56
cmp byte [eax + 0x36], 0
je 0x5c0d56
mov eax, dword [esp + 0x64]
test byte [eax + ecx*4], 2
jne 0x5c0619
lea eax, [ecx + ecx*2]
shl eax, 4
add eax, dword [esp + 0x58]
jmp 0x5c0623
push ecx
lea ecx, [esp + 0x4c]
call fcn.00580e80
mov ecx, dword [esi]
push eax
movsx eax, word [ecx + 0x14]
add eax, ecx
lea ecx, [esp + 0x124]
push eax
call fcn.0046eb90
movaps xmm1, xmmword [esp + 0xe0]
lea eax, [esp + 0x90]
subps xmm1, xmmword [esp + 0x120]
push eax
push dword [esp + 0x14]
lea eax, [esp + 0x128]
push eax
mulps xmm1, xmm1
push ecx
mov ecx, dword [esp + 0x24]
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
addss xmm0, xmm1
shufps xmm1, xmm1, 0xaa
addss xmm1, xmm0
sqrtss xmm1, xmm1
movss dword [esp], xmm1
call fcn.005c11c0
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x130]
push eax
lea eax, [esp + 0x94]
mov dword [esp + 0x38], 0
push eax
lea eax, [esp + 0xe8]
mov dword [esp + 0x40], 0
push eax
lea eax, [esp + 0x12c]
mov dword [esp + 0x48], connect
push eax
call fcn.005c18a0
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x64]
movsx ecx, dx
test byte [eax + ecx*4], 2
jne 0x5c06e7
lea eax, [ecx + ecx*2]
shl eax, 4
add eax, dword [esp + 0x58]
jmp 0x5c06f1
push ecx
lea ecx, [esp + 0x4c]
call fcn.00580e80
movaps xmm0, xmmword [eax]
mov ecx, dword [esi]
movaps xmmword [esp + 0xb0], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [esp + 0xc0], xmm0
movaps xmm0, xmmword [eax + 0x20]
lea eax, [esp + 0xb0]
push eax
movsx eax, word [ecx + 0x14]
add eax, ecx
movaps xmmword [esp + 0xd4], xmm0
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x138]
push eax
call fcn.005c19a0
cmp dword [esp + 0x24], 0
mov dword [esp + 0x1c], 0
jle 0x5c07d4
mov edi, dword [esp + 0x1c]
nop dword [eax]
mov eax, dword [esp + 0x20]
movsx ecx, word [eax + edi*2]
mov eax, dword [esp + 0x64]
test byte [eax + ecx*4], 2
jne 0x5c076e
lea esi, [ecx + ecx*2]
shl esi, 4
add esi, dword [esp + 0x58]
jmp 0x5c077a
push ecx
lea ecx, [esp + 0x4c]
call fcn.00580e80
mov esi, eax
mov ecx, dword [esp + 0x3c]
and ecx, 0x3fffffff
cmp dword [esp + 0x38], ecx
jne 0x5c079e
push 0x30
lea eax, [esp + 0x38]
push eax
push 0x7d8954
call fcn.00467c00
add esp, 0xc
mov eax, dword [esp + 0x38]
inc edi
movaps xmm0, xmmword [esi]
lea eax, [eax + eax*2]
shl eax, 4
add eax, dword [esp + 0x34]
movaps xmmword [eax], xmm0
movaps xmm0, xmmword [esi + 0x10]
movaps xmmword [eax + 0x10], xmm0
movaps xmm0, xmmword [esi + 0x20]
movaps xmmword [eax + 0x20], xmm0
inc dword [esp + 0x38]
cmp edi, dword [esp + 0x24]
jl 0x5c0750
mov edi, dword [esp + 0x2c]
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp byte [eax + 0x35], cl
setne cl
push ecx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x84]
movsx eax, cx
lea ecx, [esp + 0x4c]
push eax
call fcn.00580710
movaps xmm0, xmmword [esp + 0xc0]
movaps xmmword [eax + 0x10], xmm0
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x35], 0
je 0x5c0849
mov ecx, dword [esi]
lea eax, [esp + 0x90]
push eax
movsx eax, word [ecx + 0x14]
add eax, ecx
lea ecx, [esp + 0x154]
push eax
call fcn.0046ec20
push dword [esp + 0x1c]
lea ecx, [esp + 0x4c]
push edi
call fcn.00580710
movaps xmm0, xmmword [esp + 0x150]
movaps xmmword [eax], xmm0
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x24], 0
setg cl
cmp byte [eax + 0x35], 0
mov byte [esp + 0xac], cl
je 0x5c0988
cmp byte [eax + 0x34], 0
jne 0x5c0d13
test cl, cl
je 0x5c0d13
mov ecx, dword [esp + 0x64]
test byte [ecx + edi*4], 2
jne 0x5c088c
mov edx, dword [esp + 0x58]
lea eax, [edi + edi*2]
shl eax, 4
add eax, edx
jmp 0x5c089e
push edi
lea ecx, [esp + 0x4c]
call fcn.00580e80
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x58]
movaps xmm0, xmmword [eax]
movaps xmmword [esp + 0xb0], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [esp + 0xc0], xmm0
movaps xmm0, xmmword [eax + 0x20]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
movaps xmmword [esp + 0xd0], xmm0
movsx eax, word [eax]
test byte [ecx + eax*4], 2
jne 0x5c08e0
lea eax, [eax + eax*2]
shl eax, 4
add eax, edx
jmp 0x5c08ea
push eax
lea ecx, [esp + 0x4c]
call fcn.00580e80
mov ecx, dword [esi]
lea edx, [esp + 0xb0]
mov esi, dword [esp + 0x10]
push edx
push dword [esp + 0x20]
push eax
lea eax, [esp + 0x13c]
push eax
movsx eax, word [ecx + 0x14]
add eax, ecx
mov ecx, dword [esp + 0x24]
push esi
push eax
call fcn.005c12a0
push 0
push edi
lea ecx, [esp + 0x50]
call fcn.00580710
movaps xmm0, xmmword [esp + 0xc0]
xor ecx, ecx
mov dword [esp + 0x2c], ecx
movaps xmmword [eax + 0x10], xmm0
cmp dword [esp + 0x24], ecx
jle 0x5c0d17
xor edi, edi
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x34]
push 1
movsx eax, word [eax + ecx*2]
lea ecx, [esp + 0x4c]
push eax
call fcn.00580710
movaps xmm0, xmmword [esi + edi]
lea edi, [edi + 0x30]
mov ecx, dword [esp + 0x2c]
inc ecx
movaps xmmword [eax], xmm0
movaps xmm0, xmmword [esi + edi - 0x20]
movaps xmmword [eax + 0x10], xmm0
movaps xmm0, xmmword [esi + edi - 0x10]
movaps xmmword [eax + 0x20], xmm0
mov dword [esp + 0x2c], ecx
cmp ecx, dword [esp + 0x24]
jl 0x5c0940
jmp 0x5c0d13
mov eax, dword [esp + 0x64]
test byte [eax + edi*4], 2
jne 0x5c099e
lea eax, [edi + edi*2]
shl eax, 4
add eax, dword [esp + 0x58]
jmp 0x5c09a8
push edi
lea ecx, [esp + 0x4c]
call fcn.00580e80
movaps xmm0, xmmword [eax]
mov ecx, dword [esi]
movaps xmmword [esp + 0xf0], xmm0
movaps xmm0, xmmword [eax + 0x10]
movaps xmmword [esp + 0x100], xmm0
movaps xmm0, xmmword [eax + 0x20]
lea eax, [esp + 0x1a]
push eax
lea eax, [esp + 0xf4]
movaps xmmword [esp + 0x114], xmm0
push eax
push dword [esp + 0xb4]
lea eax, [esp + 0x13c]
push eax
movsx eax, word [ecx + 0x14]
push dword [esp + 0x20]
add eax, ecx
mov ecx, dword [esp + 0x28]
push eax
call fcn.005c14d0
mov ecx, dword [esi]
lea eax, [esp + 0x90]
push eax
movsx eax, word [ecx + 0x14]
add eax, ecx
lea ecx, [esp + 0x164]
push eax
call fcn.0046ec20
xor eax, eax
lea ecx, [esp + 0x48]
cmp byte [esp + 0x1a], al
setne al
push eax
push edi
call fcn.00580710
movaps xmm0, xmmword [esp + 0x160]
movaps xmmword [eax], xmm0
movaps xmm0, xmmword [esp + 0x100]
movaps xmmword [eax + 0x10], xmm0
movaps xmm0, xmmword [esp + 0x110]
movaps xmmword [eax + 0x20], xmm0
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x34], 0
jne 0x5c0d13
cmp byte [esp + 0x1a], 0
je 0x5c0d13
mov eax, dword [esp + 0x64]
test byte [eax + edi*4], 2
jne 0x5c0a80
lea eax, [edi + edi*2]
shl eax, 4
add eax, dword [esp + 0x58]
jmp 0x5c0a8a
push edi
lea ecx, [esp + 0x4c]
call fcn.00580e80
movaps xmm6, xmmword [eax]
lea ecx, [esp + 0x100]
movaps xmm0, xmmword [eax + 0x10]
movaps xmm3, xmm6
movaps xmmword [esp + 0x100], xmm0
movaps xmm0, xmmword [eax + 0x20]
mov eax, dword [esi]
movaps xmmword [esp + 0x110], xmm0
push ecx
lea ecx, [esp + 0xc4]
movaps xmmword [esp + 0xf4], xmm6
movsx esi, word [eax + 0x14]
add esi, eax
movaps xmm4, xmmword [esi + 0x10]
lea eax, [esi + 0x10]
mulps xmm3, xmm4
movaps xmm2, xmm4
push eax
shufps xmm2, xmm4, 0xc9
movaps xmm1, xmm4
shufps xmm1, xmm4, 0xd2
movaps xmm5, xmm4
shufps xmm5, xmm4, 0xff
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
addss xmm0, xmm3
shufps xmm3, xmm3, 0xaa
addss xmm3, xmm0
movaps xmm0, xmm6
shufps xmm0, xmm6, 0xd2
mulps xmm2, xmm0
movaps xmm0, xmm6
shufps xmm0, xmm6, 0xc9
mulps xmm1, xmm0
shufps xmm3, xmm3, 0
mulps xmm3, xmm4
subps xmm2, xmm1
mulps xmm2, xmm5
mulps xmm5, xmm5
addps xmm5, xmmword [0x7195c0]
mulps xmm5, xmm6
addps xmm5, xmm3
addps xmm2, xmm5
addps xmm2, xmm2
addps xmm2, xmmword [esi]
movaps xmmword [esp + 0xb8], xmm2
call fcn.004782a0
mov eax, dword [esp + 0x34]
movaps xmm0, xmmword [esi + 0x20]
mulps xmm0, xmmword [esp + 0x110]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
movaps xmmword [esp + 0xd0], xmm0
movsx ecx, word [eax]
mov eax, dword [esp + 0x64]
test byte [eax + ecx*4], 2
jne 0x5c0b7a
lea eax, [ecx + ecx*2]
shl eax, 4
add eax, dword [esp + 0x58]
jmp 0x5c0b84
push ecx
lea ecx, [esp + 0x4c]
call fcn.00580e80
mov esi, dword [ebp + 0xc]
lea edx, [esp + 0x170]
push edx
push dword [esp + 0x20]
mov ecx, dword [esi]
push eax
lea eax, [esp + 0xbc]
push eax
movsx eax, word [ecx + 0x14]
add eax, ecx
mov ecx, dword [esp + 0x24]
push eax
call fcn.005c1720
mov eax, dword [esi]
movaps xmm0, xmmword [esp + 0x170]
movaps xmmword [esp + 0xc0], xmm0
movsx ecx, word [eax + 0x14]
add ecx, eax
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0x1b4]
push eax
movaps xmm5, xmmword [ecx + 0x10]
movaps xmm3, xmmword [ecx]
movaps xmm6, xmm5
movaps xmm4, xmm3
shufps xmm6, xmm5, 0xff
mulps xmm4, xmm5
movaps xmm2, xmm3
shufps xmm2, xmm3, 0xc9
movaps xmm1, xmm3
shufps xmm1, xmm3, 0xd2
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 xmm2, xmm0
movaps xmm0, xmm5
shufps xmm0, xmm5, 0xc9
mulps xmm1, xmm0
movaps xmm0, xmmword [0x719d70]
xorps xmm0, xmmword [ecx + 0x10]
shufps xmm4, xmm4, 0
subps xmm2, xmm1
mulps xmm4, xmm5
movaps xmm1, xmmword [ecx + 0x20]
lea ecx, [esp + 0x108]
movaps xmmword [esp + 0x1b8], xmm0
movaps xmm0, xmm1
unpckhps xmm0, xmmword [0x719330]
mulps xmm2, xmm6
mulps xmm6, xmm6
shufps xmm1, xmm0, 0xc4
addps xmm6, xmmword [0x7195c0]
mulps xmm6, xmm3
addps xmm6, xmm4
addps xmm2, xmm6
addps xmm2, xmm2
xorps xmm2, xmmword [0x719130]
movaps xmmword [esp + 0x1a8], xmm2
rcpps xmm2, xmm1
movaps xmm0, xmm2
mulps xmm0, xmm1
mulps xmm0, xmm2
addps xmm2, xmm2
subps xmm2, xmm0
andps xmm2, xmmword [0x719150]
movaps xmmword [esp + 0x1c8], xmm2
call fcn.004782a0
push 0
push edi
lea ecx, [esp + 0x50]
call fcn.00580710
movaps xmm0, xmmword [esp + 0x100]
xor ecx, ecx
mov dword [esp + 0x2c], ecx
movaps xmmword [eax + 0x10], xmm0
cmp dword [esp + 0x24], ecx
jle 0x5c0d13
xor edi, edi
nop dword [eax]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x34]
push 1
movsx eax, word [eax + ecx*2]
lea ecx, [esp + 0x4c]
push eax
call fcn.00580710
movaps xmm0, xmmword [esi + edi]
lea edi, [edi + 0x30]
mov ecx, dword [esp + 0x2c]
inc ecx
movaps xmmword [eax], xmm0
movaps xmm0, xmmword [esi + edi - 0x20]
movaps xmmword [eax + 0x10], xmm0
movaps xmm0, xmmword [esi + edi - 0x10]
movaps xmmword [eax + 0x20], xmm0
mov dword [esp + 0x2c], ecx
cmp ecx, dword [esp + 0x24]
jl 0x5c0cd0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x38], 0
test eax, eax
js 0x5c0d44
and eax, 0x3fffffff
mov ecx, 0x7d8954
lea eax, [eax + eax*2]
shl eax, 4
push eax
mov eax, dword [0x7d8954]
push dword [esp + 0x38]
call dword [eax + 0x10]
mov dword [esp + 0x34], 0
mov dword [esp + 0x3c], connect
jmp 0x5c0d95
mov ecx, dword [esi]
lea eax, [esp + 0x90]
push eax
movsx eax, word [ecx + 0x14]
add eax, ecx
lea ecx, [esp + 0x184]
push eax
call fcn.0046ec20
mov esi, dword [esp + 0x10]
lea ecx, [esp + 0x48]
xor eax, eax
cmp byte [esi + 0x34], al
setne al
push eax
push edi
call fcn.00580710
movaps xmm0, xmmword [esp + 0x180]
movaps xmmword [eax], xmm0
cmp byte [esi + 0x34], 0
jne 0x5c0e83
xor edi, edi
cmp dword [esp + 0x24], edi
jle 0x5c0e83
nop dword [eax + eax]
mov eax, dword [esp + 0x20]
movzx eax, word [eax + edi*2]
movsx esi, ax
mov eax, dword [esp + 0x64]
test byte [eax + esi*4], 2
jne 0x5c0dd1
lea eax, [esi + esi*2]
shl eax, 4
add eax, dword [esp + 0x58]
jmp 0x5c0ddb
push esi
lea ecx, [esp + 0x4c]
call fcn.00580e80
mov ecx, dword [ebp + 0xc]
push eax
mov ecx, dword [ecx]
movsx eax, word [ecx + 0x14]
add eax, ecx
lea ecx, [esp + 0x144]
push eax
call fcn.0046eb90
movaps xmm1, xmmword [esp + 0xe0]
lea eax, [esp + 0x140]
subps xmm1, xmmword [esp + 0x140]
push eax
push dword [esp + 0x14]
lea eax, [esp + 0x98]
push eax
mulps xmm1, xmm1
push ecx
mov ecx, dword [esp + 0x24]
movaps xmm0, xmm1
shufps xmm0, xmm1, 0x55
addss xmm0, xmm1
shufps xmm1, xmm1, 0xaa
addss xmm1, xmm0
sqrtss xmm1, xmm1
movss dword [esp], xmm1
call fcn.005c11c0
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
lea eax, [esp + 0x140]
push eax
movsx eax, word [ecx + 0x14]
add eax, ecx
lea ecx, [esp + 0x194]
push eax
call fcn.0046ec20
push 1
push esi
lea ecx, [esp + 0x50]
call fcn.00580710
movaps xmm0, xmmword [esp + 0x190]
inc edi
movaps xmmword [eax], xmm0
cmp edi, dword [esp + 0x24]
jl 0x5c0db0
mov edi, dword [esp + 0x14]
mov esi, dword [ebp + 0xc]
cmp byte [edi + 0x38], 0
jne 0x5c0ea5
mov eax, dword [edi + 0x48]
mov edx, dword [esp + 0x40]
movaps xmm0, xmmword [esp + 0x90]
movaps xmmword [eax + edx], xmm0
jmp 0x5c0ec2
mov ecx, dword [esi]
lea eax, [esp + 0x90]
push eax
movsx eax, word [ecx + 0x14]
add eax, ecx
mov ecx, dword [edi + 0x48]
add ecx, dword [esp + 0x44]
push eax
call fcn.0046ec20
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], 0
test eax, eax
js 0x5c0eeb
and eax, 0x3fffffff
mov ecx, 0x7d8954
add eax, eax
push eax
mov eax, dword [0x7d8954]
push dword [esp + 0x24]
call dword [eax + 0x10]
mov edx, dword [esp + 0x84]
mov dword [esp + 0x20], 0
mov dword [esp + 0x28], connect
jmp 0x5c0f08
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x8c]
inc edx
mov eax, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x84], edx
cmp ecx, dword [esp + 0x30]
jl 0x5c03f1
mov ecx, dword [esp + 0x44]
inc ecx
mov dword [esp + 0x44], ecx
cmp ecx, dword [edi + 0x30]
jl 0x5c03c0
mov al, byte [esp + 0x1b]
test al, al
je 0x5c0f90
mov eax, dword [esi]
cmp dword [eax + 4], 2
jle 0x5c0f59
movsx eax, word [eax + 0x32]
mov dword [esp + 0x44], eax
jmp 0x5c0f61
mov dword [esp + 0x44], 0
lea ecx, [esp + 0x48]
call fcn.0057fe50
mov ecx, dword [esp + 0x44]
mov esi, dword [esi]
lea edx, [ecx + ecx*2]
shl edx, 4
push edx
push dword [eax]
movsx eax, word [esi + 0x34]
add eax, esi
push eax
call fcn.0045d810
mov ecx, dword [ebp + 0xc]
add esp, 0xc
call fcn.005dd090
lea ecx, [esp + 0x48]
mov dword [edi + 0x54], 0
call fcn.005ac3a0
pop edi
pop esi
mov esp, ebp
pop ebp
ret 8