Function at 0x10005820
Capabilities:
Access peb ldr_data

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1010be9c
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x5868
call fcn.1005c780
mov eax, dword [0x1023eaa4]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x2bdc], edi
mov ecx, dword [0x1030fa10]
mov eax, dword [ebx + 8]
mov dword [ebp - 0x2bf4], eax
mov byte [0x1030fc6a], 0
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov esi, dword [0x1030fa14]
push eax
mov ecx, dword [esi]
mov edx, dword [ecx + 0xc]
mov ecx, esi
call edx
mov esi, eax
mov dword [ebp - 0x2bd8], esi
test esi, esi
je 0x10006fb2
mov ecx, dword [0x1030fb68]
cmp dword [ecx + esi], 0
jle 0x10006fb2
cmp byte [0x1020b3bb], 0
je 0x10006fb2
push esi
call fcn.1003c060
push eax
call fcn.1003c0e0
add esp, 8
test al, al
jne 0x10006fb2
push esi
call fcn.1003c060
push eax
call fcn.1003c0b0
add esp, 8
test al, al
jne 0x10006fb2
xor edx, edx
add edi, 0x1c
mov dword [ebp - 0x2bfc], edx
mov dword [ebp - 0x2bf8], edi
nop word [eax + eax]
mov dword [edi - 0x1c], 0xffffffff
mov dword [edi - 0x18], 0xffffffff
mov ecx, dword [0x1030fa14]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edx, eax
mov dword [ebp - 0x2c34], edx
test edx, edx
je 0x10005eba
mov ecx, dword [0x1030fb88]
mov cl, byte [ecx + edx]
test cl, cl
jne 0x10005eba
mov ecx, dword [0x1030fba8]
cmp byte [ecx + edx], 0
jne 0x10005eba
mov eax, dword [0x1030fb68]
cmp dword [eax + edx], 0
jle 0x10005eba
mov eax, dword [0x1030fb80]
mov ecx, dword [eax + edx]
cmp ecx, dword [eax + esi]
je 0x10005eba
cmp dword [edx + 0x25b], 0
jne 0x10005eba
push edx
lea eax, [ebp - 0x2c30]
mov dword [ebp - 0x2c44], 0
push eax
mov ecx, 0x102f9438
call fcn.10010350
mov ecx, dword [ebp - 0x2c2c]
mov eax, dword [ebp - 0x2c30]
mov dword [ebp - 4], 0
mov dword [ebp - 0x2bd4], ecx
mov dword [ebp - 0x2c00], eax
cmp eax, ecx
je 0x10005e44
lea edi, [eax + 0x38]
mov dword [ebp - 0x2c24], edi
nop word [eax + eax]
lea edx, [edi - 0x38]
mov eax, 0x2b60
mov dword [ebp - 0x2c00], edx
call fcn.1005c780
mov esi, edx
mov ecx, 0xad8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
call fcn.10010e70
mov edi, dword [ebp - 0x2c24]
add esp, 0x2b60
mov ecx, dword [ebp - 0x2c00]
mov dword [ebp - 0x2c14], eax
lea eax, [ebp - 0x68]
movss xmm2, dword [edi - 0x34]
movss xmm1, dword [ecx]
mov ecx, 7
movaps xmm0, xmm1
addss xmm0, dword [edi - 8]
addss xmm1, dword [edi + 4]
movss dword [ebp - 0x2cd0], xmm0
movaps xmm0, xmm2
addss xmm0, dword [edi - 4]
addss xmm2, dword [edi + 8]
movss dword [ebp - 0x2cc8], xmm1
movss dword [ebp - 0x2c20], xmm1
movss dword [ebp - 0x2c40], xmm0
movss xmm0, dword [edi - 0x30]
movaps xmm3, xmm0
movss dword [ebp - 0x2cd4], xmm2
addss xmm0, dword [edi + 0xc]
addss xmm3, dword [edi]
movss dword [ebp - 0x2c1c], xmm2
movss dword [ebp - 0x2ce4], xmm0
movss dword [ebp - 0x2c10], xmm3
movss dword [ebp - 0x2c18], xmm0
nop
mov dword [eax - 8], 0
lea eax, [eax + 0xc]
mov dword [eax - 0x10], 0
mov dword [eax - 0xc], 0
sub ecx, 1
jne 0x10005aa0
push ecx
push dword [ebp - 0x2c34]
mov ecx, dword [ebp - 0x2bdc]
lea eax, [ebp - 0x2cf4]
push eax
call fcn.100078e0
movss xmm5, dword [ebp - 0x2cd4]
lea esi, [ebp - 0x70]
movss xmm7, dword [ebp - 0x2c40]
movss xmm3, dword [ebp - 0x2ce4]
movq xmm0, qword [eax]
movaps xmm2, xmm3
movss xmm4, dword [ebp - 0x2cc8]
movss xmm6, dword [ebp - 0x2cd0]
movaps xmm1, xmm4
addss xmm2, dword [ebp - 0x2c10]
movq qword [ebp - 0x70], xmm0
addss xmm1, xmm6
mov eax, dword [eax + 8]
movaps xmm0, xmm5
addss xmm0, xmm7
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x2c18]
mulss xmm2, dword [0x101186f0]
mov dword [ebp - 0x44], eax
mulss xmm1, dword [0x101186f0]
mulss xmm0, dword [0x101186f0]
movss dword [ebp - 0x64], xmm1
movss dword [ebp - 0x5c], xmm2
movss dword [ebp - 0x60], xmm0
movss dword [ebp - 0x54], xmm0
movss xmm0, dword [ebp - 0x2c10]
movss dword [ebp - 0x50], xmm0
movq xmm0, qword [ebp - 0x2c20]
movss dword [ebp - 0x58], xmm1
movq qword [ebp - 0x4c], xmm0
movss dword [ebp - 0x40], xmm4
movss dword [ebp - 0x3c], xmm7
movss dword [ebp - 0x38], xmm3
movss dword [ebp - 0x34], xmm6
movss dword [ebp - 0x30], xmm7
movss dword [ebp - 0x2c], xmm3
movss dword [ebp - 0x28], xmm6
movss dword [ebp - 0x24], xmm5
movss dword [ebp - 0x20], xmm3
nop word [eax + eax]
mov ecx, dword [ebp - 0x2bd8]
mov eax, dword [0x1030fb7c]
push 0xffffffffffffffff
push dword [ebp - 0x2c34]
movq xmm0, qword [eax + ecx]
mov eax, dword [eax + ecx + 8]
mov dword [ebp - 0x2be0], eax
mov eax, dword [0x1030fb9c]
movq qword [ebp - 0x2be8], xmm0
push ecx
sub esp, 0xc
movq xmm0, qword [eax + ecx]
mov eax, dword [eax + ecx + 8]
mov ecx, esp
movq qword [ebp - 0x2c0c], xmm0
sub esp, 0xc
movss xmm2, dword [ebp - 0x2c0c]
movss xmm1, dword [ebp - 0x2c08]
addss xmm2, dword [ebp - 0x2be8]
addss xmm1, dword [ebp - 0x2be4]
mov dword [ebp - 0x2c04], eax
movss xmm0, dword [ebp - 0x2c04]
addss xmm0, dword [ebp - 0x2be0]
mov eax, dword [esi + 8]
unpcklps xmm2, xmm1
movss dword [ebp - 0x2d00], xmm0
movq xmm0, qword [esi]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, esp
mov eax, dword [ebp - 0x2d00]
movq qword [ecx], xmm2
mov dword [ecx + 8], eax
lea eax, [ebp - 0x2cc0]
push eax
mov ecx, 0x102f941b
call fcn.1000e990
cmp dword [eax], 0
jg 0x10005c80
add esi, 0xc
lea eax, [ebp - 0x1c]
cmp esi, eax
jne 0x10005bb0
jmp 0x10005e11
xor eax, eax
mov dword [ebp - 0x2c10], eax
cmp byte [edi + 0x38], al
je 0x10005cbf
call fcn.1003bfd0
mov eax, dword [0x1030fa18]
fstp dword [ebp - 0x2c40]
movss xmm0, dword [ebp - 0x2c40]
divss xmm0, dword [eax + 0x20]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x10118700]
cvttsd2si eax, xmm0
mov dword [ebp - 0x2c10], eax
push eax
mov eax, 0x2b60
call fcn.1005c780
lea esi, [edi - 0x38]
mov ecx, 0xad8
mov edi, esp
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x2c34]
mov ecx, 0x102f9438
push esi
call fcn.10010fb0
movd xmm0, dword [ebp - 0x2c14]
mov eax, dword [0x1030fa18]
cvtdq2ps xmm0, xmm0
push ecx
mov ecx, 0x102f9438
mulss xmm0, dword [eax + 0x20]
movss dword [esp], xmm0
push esi
call fcn.1000ff30
mov ecx, dword [ebp - 0x2bdc]
lea eax, [ebp - 0x2ce8]
push eax
lea eax, [ebp - 0x2ce0]
mov dword [ebp - 0x2ce0], 0
push eax
push esi
mov dword [ebp - 0x2cdc], 0
mov dword [ebp - 0x2cd8], 0
mov dword [ebp - 0x2c9c], 0
mov dword [ebp - 0x2c98], 0
mov dword [ebp - 0x2c94], 0
call fcn.10006fe0
mov ecx, dword [ebp - 0x2bdc]
lea eax, [ebp - 0x2c38]
push eax
lea eax, [ebp - 0x2c9c]
push eax
push esi
call fcn.10007310
mov ecx, dword [ebp - 0x2ce8]
mov edx, dword [ebp - 0x2c44]
mov eax, dword [ebp - 0x2c38]
cmp ecx, edx
jg 0x10005d97
cmp eax, edx
jle 0x10005e0b
mov edi, dword [ebp - 0x2bf8]
cmp ecx, eax
movq xmm0, qword [ebp - 0x2ce0]
mov edx, ecx
push dword [ebp - 0x2c00]
cmovl edx, eax
mov dword [edi - 0x18], eax
mov eax, dword [ebp - 0x2cd8]
movq qword [edi - 0xc], xmm0
movq xmm0, qword [ebp - 0x2c9c]
mov dword [edi - 4], eax
mov eax, dword [ebp - 0x2c94]
movq qword [edi], xmm0
mov dword [edi - 0x1c], ecx
lea ecx, [edi + 0xc]
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x2c14]
mov dword [ebp - 0x2c44], edx
mov dword [edi - 0x14], eax
call fcn.10004410
mov eax, dword [ebp - 0x2c10]
mov ecx, dword [ebp - 0x2c38]
mov dword [edi - 0x10], eax
mov eax, dword [0x1030fb68]
cmp ecx, dword [eax + esi]
jg 0x10005e32
mov edi, dword [ebp - 0x2c24]
add edi, 0x2b60
mov dword [ebp - 0x2c24], edi
lea eax, [edi - 0x38]
cmp eax, dword [ebp - 0x2bd4]
jne 0x100059e0
mov edi, dword [ebp - 0x2bf8]
mov eax, dword [ebp - 0x2c30]
mov esi, dword [ebp - 0x2bd8]
mov dword [ebp - 0x2c00], eax
mov dword [ebp - 4], 0xffffffff
test eax, eax
je 0x10005eba
mov ecx, dword [ebp - 0x2c28]
sub ecx, eax
mov eax, 0x5e6ea9af
imul ecx
mov ecx, dword [ebp - 0x2c00]
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
imul edx, eax, 0x2b60
mov eax, ecx
cmp edx, 0x1000
jb 0x10005e92
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10006fd2
push edx
push ecx
call fcn.1005c67b
add esp, 8
mov dword [ebp - 0x2c30], 0
mov dword [ebp - 0x2c2c], 0
mov dword [ebp - 0x2c28], 0
mov edx, dword [ebp - 0x2bfc]
add edi, 0x2b88
inc edx
mov dword [ebp - 0x2bf8], edi
mov dword [ebp - 0x2bfc], edx
cmp edx, 0x40
jl 0x10005910
lea ecx, [ebp - 0x2bd0]
mov dword [ebp - 0x2c3c], 0
call fcn.100035c0
mov edi, dword [ebp - 0x2bdc]
xor edx, edx
mov dword [ebp - 0x2bf0], 0
add edi, 0x2b5c
mov byte [ebp - 0x2be9], 0
mov dword [ebp - 0x2c90], 0
mov dword [ebp - 0x2c8c], 0
mov dword [ebp - 0x2c88], 0
mov dword [ebp - 0x2bf8], edx
mov ecx, dword [0x1030fa14]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edx, eax
mov dword [ebp - 0x2bfc], edx
test edx, edx
je 0x100060e0
cmp byte [edi - 0x2ac4], 0
lea eax, [ebp - 0x2be9]
mov ecx, dword [edi - 0x2b58]
mov dword [ebp - 0x2cc4], eax
lea eax, [ebp - 0x2c90]
mov dword [ebp - 0x2cc0], eax
lea eax, [ebp - 0x2bf0]
mov dword [ebp - 0x2cbc], eax
lea eax, [ebp - 0x2bd0]
mov dword [ebp - 0x2cb8], eax
lea eax, [ebp - 0x2ccc]
mov dword [ebp - 0x2cb4], eax
lea eax, [ebp - 0x2c3c]
mov dword [ebp - 0x2cb0], eax
lea eax, [ebp - 0x2c48]
mov dword [ebp - 0x2cac], eax
mov eax, dword [ebp - 0x2bf8]
mov dword [ebp - 0x2ca4], eax
mov eax, dword [ebp - 0x2bdc]
mov dword [ebp - 0x2ca8], edx
mov dword [ebp - 0x2ca0], eax
mov dword [ebp - 0x2bd4], ecx
jne 0x100060cb
mov eax, dword [0x1030fb6c]
test byte [eax + edx], 1
je 0x100060cb
mov eax, dword [edi - 0x2b5c]
test ecx, ecx
jg 0x1000600c
test eax, eax
jle 0x100060e0
cmp ecx, eax
setg al
movzx eax, al
push eax
jmp 0x100060d5
test eax, eax
jle 0x10005ffe
mov eax, dword [0x1030fb68]
cmp ecx, dword [eax + edx]
jg 0x10006022
cmp ecx, dword [edi - 0x2b5c]
jle 0x10006057
cmp byte [0x1020b3f4], 0
je 0x10006057
push 1
lea ecx, [ebp - 0x2cc4]
call fcn.10005440
mov eax, dword [0x1030fb68]
mov edx, dword [ebp - 0x2bfc]
mov ecx, dword [ebp - 0x2bd4]
cmp ecx, dword [eax + edx]
jg 0x1000610b
jmp 0x100060e0
test byte [edi], 0x1a
jne 0x100060fe
cmp byte [0x1020b3bd], 0
je 0x10006093
call fcn.1003be30
fsub dword [edi + 0x14]
fstp dword [ebp - 0x2bd4]
movss xmm0, dword [ebp - 0x2bd4]
andps xmm0, xmmword [0x10118760]
comiss xmm0, dword [0x101186f8]
jbe 0x10006093
mov cl, 1
jmp 0x10006095
xor cl, cl
cmp byte [0x1020b3bc], 0
jne 0x100060d3
mov eax, dword [0x1030fb6c]
mov edx, dword [ebp - 0x2bfc]
test byte [eax + edx], 1
je 0x100060d3
movd xmm0, dword [edi - 0x2b58]
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x1020b3e8]
ja 0x100060d3
test cl, cl
jne 0x100060d3
push 0
jmp 0x100060d5
cmp ecx, dword [ebp - 0x2c3c]
jle 0x100060e0
push 1
lea ecx, [ebp - 0x2cc4]
call fcn.10005440
mov edx, dword [ebp - 0x2bf8]
add edi, 0x2b88
inc edx
mov dword [ebp - 0x2bf8], edx
cmp edx, 0x40
jl 0x10005f34
jmp 0x1000610b
push 0
lea ecx, [ebp - 0x2cc4]
call fcn.10005440
cmp dword [ebp - 0x2bf0], 0
je 0x10006f37
mov eax, dword [0x1030fa18]
movss xmm0, dword [0x102f8058]
mov byte [0x1030fc6a], 1
push 0
addss xmm0, dword [eax + 0x20]
movss dword [0x102f8058], xmm0
call fcn.1003bb20
add esp, 4
test al, al
je 0x10006f0c
mov eax, dword [0x1030fbcc]
mov al, byte [eax + esi]
test al, al
jne 0x10006190
push 1
call fcn.1003bb20
add esp, 4
test al, al
je 0x10006190
push esi
call fcn.1003c060
push eax
call fcn.1003c120
add esp, 8
test al, al
je 0x10006190
mov eax, dword [0x1030fb6c]
test byte [eax + esi], 1
je 0x10006190
mov eax, dword [ebp - 0x2bf4]
or dword [eax + 0x30], 0x800
push dword [ebp - 0x2ccc]
mov eax, 0x2b60
lea esi, [ebp - 0x2bd0]
call fcn.1005c780
mov edi, esp
mov ecx, 0xad8
push dword [ebp - 0x2bf0]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x102f9438
call fcn.10010fb0
movd xmm0, dword [ebp - 0x2c48]
cvtdq2ps xmm0, xmm0
push ecx
mov ecx, 0x102f9438
movss dword [esp], xmm0
push dword [ebp - 0x2bf0]
call fcn.1000ff30
mov eax, dword [ebp - 0x2bf0]
mov dword [ebp - 0x5878], eax
lea eax, [ebp - 0x2bd0]
push 0x2b60
push eax
lea eax, [ebp - 0x5874]
push eax
call fcn.1005e200
mov ecx, dword [ebp - 0x5878]
add esp, 0xc
mov eax, dword [0x1030fb6c]
test byte [eax + ecx], 1
je 0x100065b7
mov eax, dword [0x1030fb68]
mov eax, dword [ecx + eax]
add eax, 0xa
cmp dword [ebp - 0x2c3c], eax
jge 0x100065b2
mov edi, dword [0x1030fb70]
movq xmm0, qword [edi + ecx]
mov eax, dword [edi + ecx + 8]
movq qword [ebp - 0x2be8], xmm0
movss xmm1, dword [ebp - 0x2be8]
movss xmm0, dword [ebp - 0x2be4]
mulss xmm1, xmm1
mov dword [ebp - 0x2be0], eax
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1000627e
sqrtsd xmm0, xmm0
jmp 0x10006283
call fcn.1006abd0
mov esi, dword [ebp - 0x2bd8]
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [0x1011872c]
ja 0x100062f1
movq xmm0, qword [edi + esi]
mov eax, dword [edi + esi + 8]
movq qword [ebp - 0x2be8], xmm0
movss xmm1, dword [ebp - 0x2be8]
movss xmm0, dword [ebp - 0x2be4]
mulss xmm1, xmm1
mov dword [ebp - 0x2be0], eax
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x100062db
sqrtsd xmm0, xmm0
jmp 0x100062e0
call fcn.1006abd0
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [0x1011872c]
jbe 0x100065b2
movss xmm0, dword [0x102f8058]
comiss xmm0, dword [0x1020b3cc]
setae al
test al, al
jne 0x100065b2
cmp byte [0x1020b3be], al
je 0x10006f37
mov eax, dword [0x1030fb6c]
test byte [eax + esi], 1
je 0x10006f37
movq xmm0, qword [edi + esi]
sub esp, 0xc
mov eax, dword [edi + esi + 8]
mov ecx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
call fcn.1003c210
mov ecx, dword [0x1030fb7c]
add esp, 0xc
mov edi, dword [ebp - 0x2bf0]
mov dword [ebp - 0x2bfc], eax
mov eax, dword [0x1030fb9c]
movq xmm0, qword [ecx + esi]
mov ecx, dword [ecx + esi + 8]
movq qword [ebp - 0x2c20], xmm0
movq xmm0, qword [eax + esi]
mov eax, dword [eax + esi + 8]
mov dword [ebp - 0x2c04], eax
mov eax, dword [0x1030fb70]
movq qword [ebp - 0x2c0c], xmm0
push 0
push edi
movq xmm0, qword [eax + esi]
mov eax, dword [eax + esi + 8]
mov dword [ebp - 0x2be0], eax
mov eax, dword [0x1030fa18]
movq qword [ebp - 0x2be8], xmm0
mov dword [ebp - 0x2c18], ecx
mov ecx, dword [ebp - 0x2bdc]
movss xmm0, dword [eax + 0x20]
lea eax, [ebp - 0x2cf4]
push eax
movss dword [ebp - 0x2bd4], xmm0
call fcn.100078e0
movss xmm3, dword [ebp - 0x2bd4]
mov edx, eax
movd xmm1, dword [ebp - 0x2bfc]
movaps xmm4, xmm3
mulss xmm4, dword [ebp - 0x2be8]
movaps xmm2, xmm3
mov ecx, dword [ebp - 0x2bf0]
movss xmm0, dword [ebp - 0x2c20]
addss xmm0, dword [ebp - 0x2c0c]
mulss xmm2, dword [ebp - 0x2be4]
mov eax, dword [0x1030fb68]
mulss xmm3, dword [ebp - 0x2be0]
push 0xffffffffffffffff
cvtdq2ps xmm1, xmm1
mov esi, dword [eax + ecx]
mov eax, dword [edx + 8]
push edi
mov edi, dword [ebp - 0x2bd8]
push edi
mulss xmm4, xmm1
sub esp, 0xc
mov ecx, esp
sub esp, 0xc
mulss xmm2, xmm1
addss xmm4, xmm0
mulss xmm3, xmm1
movss xmm0, dword [ebp - 0x2c08]
addss xmm0, dword [ebp - 0x2c1c]
addss xmm2, xmm0
movss xmm0, dword [ebp - 0x2c04]
addss xmm0, dword [ebp - 0x2c18]
unpcklps xmm4, xmm2
addss xmm3, xmm0
movq xmm0, qword [edx]
mov edx, esp
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov ecx, 0x102f941b
movss dword [ebp - 0x2d00], xmm3
mov eax, dword [ebp - 0x2d00]
movq qword [edx], xmm4
mov dword [edx + 8], eax
lea eax, [ebp - 0x2cc0]
push eax
call fcn.1000e990
cmp dword [eax], esi
jle 0x10006f3d
mov esi, dword [ebp - 0x2bf4]
mov dword [esi + 0x28], 0
mov eax, dword [0x1030fb70]
movq xmm0, qword [eax + edi]
mov eax, dword [eax + edi + 8]
movq qword [ebp - 0x2be8], xmm0
movss xmm1, dword [ebp - 0x2be8]
movss xmm0, dword [ebp - 0x2be4]
mulss xmm1, xmm1
mov dword [ebp - 0x2be0], eax
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x100064fe
sqrtsd xmm0, xmm0
jmp 0x10006503
call fcn.1006abd0
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [0x10118710]
jbe 0x1000651a
movss xmm0, dword [0x10118744]
jmp 0x1000651d
xorps xmm0, xmm0
movss dword [esi + 0x24], xmm0
mov eax, dword [0x1030fb70]
mov dword [ebp - 0x2be8], 0
mov dword [ebp - 0x2be4], 0
mov dword [ebp - 0x2be0], 0
movq xmm0, qword [eax + edi]
mov eax, dword [eax + edi + 8]
mov dword [ebp - 0x2c04], eax
lea eax, [ebp - 0x2c0c]
push eax
lea eax, [ebp - 0x2be8]
movq qword [ebp - 0x2c0c], xmm0
push eax
lea eax, [ebp - 0x2c9c]
push eax
call fcn.100057b0
add esp, 8
movss xmm0, dword [eax + 4]
addss xmm0, dword [0x1011873c]
movss dword [esp], xmm0
push esi
call fcn.1003c170
add esp, 8
mov ecx, 0x10310028
push dword [ebp - 0x2bfc]
call fcn.10004700
push eax
call fcn.10002f90
add esp, 4
jmp 0x10006f3d
mov eax, dword [0x1030fb6c]
cmp byte [0x1020b3be], 0
mov edi, dword [ebp - 0x2bd8]
je 0x100066c1
test byte [eax + edi], 1
je 0x100066c1
mov esi, dword [ebp - 0x2bf4]
mov dword [esi + 0x28], 0
mov eax, dword [0x1030fb70]
movq xmm0, qword [eax + edi]
mov eax, dword [eax + edi + 8]
movq qword [ebp - 0x2be8], xmm0
movss xmm1, dword [ebp - 0x2be8]
movss xmm0, dword [ebp - 0x2be4]
mulss xmm1, xmm1
mov dword [ebp - 0x2be0], eax
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x1000662b
sqrtsd xmm0, xmm0
jmp 0x10006630
call fcn.1006abd0
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [0x10118714]
jbe 0x10006647
movss xmm0, dword [0x10118744]
jmp 0x1000664a
xorps xmm0, xmm0
movss dword [esi + 0x24], xmm0
mov eax, dword [0x1030fb70]
mov dword [ebp - 0x2be8], 0
mov dword [ebp - 0x2be4], 0
mov dword [ebp - 0x2be0], 0
movq xmm0, qword [eax + edi]
mov eax, dword [eax + edi + 8]
mov dword [ebp - 0x2c04], eax
lea eax, [ebp - 0x2c0c]
push eax
lea eax, [ebp - 0x2be8]
movq qword [ebp - 0x2c0c], xmm0
push eax
lea eax, [ebp - 0x2cf4]
push eax
call fcn.100057b0
add esp, 8
movss xmm0, dword [eax + 4]
addss xmm0, dword [0x1011873c]
movss dword [esp], xmm0
push esi
call fcn.1003c170
add esp, 8
mov ecx, dword [0x1030fa10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x138]
call eax
movq xmm0, qword [ebp - 0x2c90]
sub esp, 0xc
mov ecx, dword [ebp - 0x2c88]
mov edx, esp
mov esi, eax
push dword [ebp - 0x2bf0]
movq qword [edx], xmm0
mov dword [edx + 8], ecx
mov ecx, dword [ebp - 0x2bdc]
call fcn.10007cc0
test al, al
je 0x10006f3d
test esi, esi
je 0x10006f3d
cmp dword [esi + 0x2c], 0
je 0x10006f3d
cmp byte [ebp - 0x2b60], 0
je 0x10006aa5
xorps xmm0, xmm0
mov dword [ebp - 0x2c74], 0
movups xmmword [ebp - 0x2c84], xmm0
mov dword [ebp - 0x2c70], 0
mov dword [ebp - 4], 1
call fcn.1003be30
fstp dword [ebp - 0x2c6c]
xorps xmm0, xmm0
mov dword [ebp - 4], 2
lea ecx, [ebp - 0x2c68]
push 0x20
movups xmmword [ebp - 0x2c68], xmm0
call fcn.10009630
movups xmm0, xmmword [str.Shot_at_exploiting_player_]
mov dword [ebp - 0x2c68], eax
mov dword [ebp - 0x2c58], 0x1a
movups xmmword [eax], xmm0
mov dword [ebp - 0x2c54], 0x1f
movq xmm0, qword [0x1011863c]
movq qword [eax + 0x10], xmm0
mov cx, word [0x10118644]
mov word [eax + 0x18], cx
mov byte [eax + 0x1a], 0
mov dword [ebp - 0x2bd4], 0xffff0000
lea eax, [ebp - 0x2c68]
mov byte [ebp - 4], 3
push eax
push 0
lea ecx, [ebp - 0x2c84]
call fcn.10002950
mov eax, dword [ebp - 0x2c74]
cmp eax, dword [ebp - 0x2c70]
je 0x100067f4
mov dword [eax], 0xffff0000
add eax, 4
mov dword [ebp - 0x2c74], eax
jmp 0x10006807
lea ecx, [ebp - 0x2bd4]
push ecx
push eax
lea ecx, [ebp - 0x2c78]
call fcn.10002b20
mov ecx, dword [ebp - 0x2c54]
mov byte [ebp - 4], 2
cmp ecx, 0x10
jb 0x10006845
mov edx, dword [ebp - 0x2c68]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000683b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10006fd2
push ecx
push edx
call fcn.1005c67b
add esp, 8
lea eax, [ebp - 0x2c84]
push eax
lea ecx, [ebp - 0x2c68]
call fcn.10003800
movss xmm0, dword [ebp - 0x2c6c]
movss dword [ebp - 0x2c50], xmm0
mov esi, dword [0x101a2028]
mov eax, dword [0x101a2024]
mov byte [ebp - 4], 4
mov dword [ebp - 0x2c00], eax
mov dword [ebp - 0x2bfc], esi
cmp esi, dword [0x101a202c]
je 0x100069dd
cmp eax, esi
lea eax, [ebp - 0x2c68]
push eax
jne 0x100068b9
mov ecx, esi
call fcn.10003800
movss xmm0, dword [ebp - 0x2c50]
movss dword [esi + 0x18], xmm0
add dword [0x101a2028], 0x1c
jmp 0x100069ef
lea ecx, [ebp - 0x2cb8]
mov dword [ebp - 0x2cbc], 0x101a2024
call fcn.10003800
movss xmm0, dword [ebp - 0x2c50]
add esi, 0xffffffe4
push esi
push dword [ebp - 0x2bfc]
movss dword [ebp - 0x2ca0], xmm0
push 0x101a2024
mov dword [ebp - 0x2c14], esi
call fcn.10002f30
add dword [0x101a2028], 0x1c
add esp, 0xc
mov edx, dword [ebp - 0x2c00]
cmp esi, edx
je 0x100069c2
mov edi, dword [ebp - 0x2bfc]
lea ecx, [esi - 8]
mov dword [ebp - 0x2bf8], ecx
add edi, 0x14
sub edi, 0x1c
cmp edi, ecx
je 0x1000699c
lea ecx, [edi - 0x14]
call fcn.10009520
mov ecx, dword [ebp - 0x2bf8]
mov eax, dword [ecx - 0x14]
mov dword [edi - 0x14], eax
mov eax, dword [ecx - 0x10]
mov dword [edi - 0x10], eax
mov eax, dword [ecx - 0xc]
mov dword [edi - 0xc], eax
mov dword [ecx - 0x14], 0
mov dword [ecx - 0x10], 0
mov dword [ecx - 0xc], 0
lea ecx, [edi - 8]
call fcn.100095a0
mov ecx, dword [ebp - 0x2bf8]
mov esi, dword [ebp - 0x2c14]
mov edx, dword [ebp - 0x2c00]
mov eax, dword [ecx - 8]
mov dword [edi - 8], eax
mov eax, dword [ecx - 4]
mov dword [edi - 4], eax
mov eax, dword [ecx]
mov dword [edi], eax
mov dword [ecx - 8], 0
mov dword [ecx - 4], 0
mov dword [ecx], 0
mov eax, dword [ecx + 4]
sub esi, 0x1c
sub ecx, 0x1c
mov dword [edi + 4], eax
mov dword [ebp - 0x2c14], esi
mov dword [ebp - 0x2bf8], ecx
cmp esi, edx
jne 0x10006922
mov edi, dword [ebp - 0x2bd8]
lea eax, [ebp - 0x2cb8]
mov ecx, edx
push eax
call fcn.10004610
lea ecx, [ebp - 0x2cb8]
call fcn.100041b0
jmp 0x100069ef
lea ecx, [ebp - 0x2c68]
push ecx
push eax
mov ecx, 0x101a2024
call fcn.10002700
lea ecx, [ebp - 0x2c68]
call fcn.100041b0
mov edx, dword [ebp - 0x2c78]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x10006a3e
mov ecx, dword [ebp - 0x2c70]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x10006a34
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10006fd2
push ecx
push edx
call fcn.1005c67b
add esp, 8
mov esi, dword [ebp - 0x2c84]
test esi, esi
je 0x10006aa5
lea eax, [ebp - 0x2c84]
push eax
push dword [ebp - 0x2c80]
push esi
call fcn.10002580
mov ecx, dword [ebp - 0x2c7c]
mov eax, 0x2aaaaaab
sub ecx, esi
add esp, 0xc
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x10006a9b
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10006fd2
push ecx
push esi
call fcn.1005c67b
add esp, 8
mov esi, dword [ebp - 0x2bf4]
or dword [esi + 0x30], 1
mov eax, dword [0x1030fb7c]
movq xmm0, qword [eax + edi]
mov eax, dword [eax + edi + 8]
mov dword [ebp - 0x2c04], eax
mov eax, dword [0x1030fb9c]
movq qword [ebp - 0x2c0c], xmm0
movq xmm0, qword [eax + edi]
mov eax, dword [eax + edi + 8]
movq qword [ebp - 0x2be8], xmm0
movss xmm0, dword [ebp - 0x2c0c]
addss xmm0, dword [ebp - 0x2be8]
mov dword [ebp - 0x2be0], eax
lea eax, [ebp - 0x2c90]
push eax
lea eax, [ebp - 0x2c20]
push eax
movss dword [ebp - 0x2c20], xmm0
lea eax, [ebp - 0x2cf4]
movss xmm0, dword [ebp - 0x2be4]
addss xmm0, dword [ebp - 0x2c08]
push eax
movss dword [ebp - 0x2c1c], xmm0
movss xmm0, dword [ebp - 0x2be0]
addss xmm0, dword [ebp - 0x2c04]
movss dword [ebp - 0x2c18], xmm0
call fcn.100057b0
mov ecx, dword [0x1030fba4]
push 0x2b60
movss xmm3, dword [eax + 4]
movss xmm0, dword [ecx + edi + 4]
movss xmm4, dword [ecx + edi]
addss xmm0, xmm0
movss xmm1, dword [ecx + edi + 8]
addss xmm4, xmm4
movss xmm2, dword [eax + 8]
addss xmm1, xmm1
subss xmm3, xmm0
movss xmm0, dword [eax]
subss xmm0, xmm4
subss xmm2, xmm1
movss dword [esi + 0xc], xmm0
movss dword [esi + 0x10], xmm3
movss dword [esi + 0x14], xmm2
mov eax, dword [ebp - 0x2c48]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x2bf0]
mov dword [ebp - 0x5874], eax
lea eax, [ebp - 0x2bd0]
push eax
lea eax, [ebp - 0x586c]
mov dword [ebp - 0x5870], edi
push eax
call fcn.1005e200
add esp, 0x18
cmp byte [ebp - 0x2be9], 0
je 0x10006ec9
mov ecx, dword [0x1030fb7c]
mov eax, dword [ebp - 0x5874]
movq xmm0, qword [ecx + eax]
mov eax, dword [ecx + eax + 8]
mov dword [ebp - 0x2be0], eax
mov eax, dword [ebp - 0x5870]
movq qword [ebp - 0x2be8], xmm0
movq xmm0, qword [ecx + eax]
mov eax, dword [ecx + eax + 8]
movq qword [ebp - 0x2c0c], xmm0
movss xmm0, dword [ebp - 0x2be8]
subss xmm0, dword [ebp - 0x2c0c]
mov dword [ebp - 0x2c04], eax
lea eax, [ebp - 0x2c30]
push eax
lea eax, [ebp - 0x2c20]
mov dword [ebp - 0x2c30], 0
push eax
movss dword [ebp - 0x2c20], xmm0
movss xmm0, dword [ebp - 0x2be4]
subss xmm0, dword [ebp - 0x2c08]
mov dword [ebp - 0x2c2c], 0
mov dword [ebp - 0x2c28], 0
movss dword [ebp - 0x2c1c], xmm0
movss xmm0, dword [ebp - 0x2be0]
subss xmm0, dword [ebp - 0x2c04]
movss dword [ebp - 0x2c18], xmm0
call fcn.10037d10
movss xmm1, dword [ebp - 0x2c2c]
add esp, 8
comiss xmm1, dword [0x1011873c]
movss xmm3, dword [0x10118740]
movss dword [ebp - 0x2bdc], xmm1
jbe 0x10006ce3
movaps xmm0, xmm1
divss xmm0, xmm3
push ecx
movss dword [ebp - 0x2bd4], xmm0
fld dword [ebp - 0x2bd4]
fstp dword [esp]
call fcn.1006acd0
fstp dword [ebp - 0x2bd4]
movss xmm0, dword [ebp - 0x2bd4]
jmp 0x10006d1c
movss xmm0, dword [0x10118754]
comiss xmm0, xmm1
jbe 0x10006d47
movaps xmm0, xmm1
divss xmm0, xmm3
push ecx
movss dword [ebp - 0x2bd4], xmm0
fld dword [ebp - 0x2bd4]
fstp dword [esp]
call fcn.1006acd0
fstp dword [ebp - 0x2bd4]
movss xmm0, dword [ebp - 0x2bd4]
movss xmm3, dword [0x10118740]
add esp, 4
movss xmm1, dword [ebp - 0x2c2c]
mulss xmm0, xmm3
subss xmm1, xmm0
movss xmm0, dword [0x10118754]
movss dword [ebp - 0x2bdc], xmm1
movss xmm4, dword [0x1011873c]
movaps xmm2, xmm1
addss xmm2, dword [0x10118734]
subss xmm2, dword [ebp - 0x585c]
comiss xmm2, xmm4
movss dword [ebp - 0x2bf4], xmm2
jbe 0x10006dd0
movaps xmm0, xmm2
divss xmm0, xmm3
push ecx
movss dword [ebp - 0x2bd4], xmm0
fld dword [ebp - 0x2bd4]
fstp dword [esp]
call fcn.1006acd0
fstp dword [ebp - 0x2bd4]
movss xmm0, dword [ebp - 0x2bd4]
movss xmm3, dword [0x10118740]
add esp, 4
movss xmm2, dword [ebp - 0x2bf4]
movss xmm1, dword [ebp - 0x2bdc]
movss xmm4, dword [0x1011873c]
mulss xmm0, xmm3
subss xmm2, xmm0
movss xmm0, dword [0x10118754]
jmp 0x10006e0b
comiss xmm0, xmm2
jbe 0x10006e03
movaps xmm0, xmm2
divss xmm0, xmm3
push ecx
movss dword [ebp - 0x2bd4], xmm0
fld dword [ebp - 0x2bd4]
fstp dword [esp]
call fcn.1006acd0
fstp dword [ebp - 0x2bd4]
movss xmm0, dword [ebp - 0x2bd4]
jmp 0x10006d9b
movss xmm3, dword [0x10118740]
subss xmm1, dword [0x10118734]
andps xmm2, xmmword [0x10118760]
movss dword [ebp - 0x2bf4], xmm2
subss xmm1, dword [ebp - 0x585c]
comiss xmm1, xmm4
movss dword [ebp - 0x2bdc], xmm1
jbe 0x10006e65
movaps xmm0, xmm1
divss xmm0, xmm3
push ecx
movss dword [ebp - 0x2bd4], xmm0
fld dword [ebp - 0x2bd4]
fstp dword [esp]
call fcn.1006acd0
fstp dword [ebp - 0x2bd4]
movss xmm0, dword [ebp - 0x2bd4]
jmp 0x10006e96
comiss xmm0, xmm1
jbe 0x10006eb5
movaps xmm0, xmm1
divss xmm0, xmm3
push ecx
movss dword [ebp - 0x2bd4], xmm0
fld dword [ebp - 0x2bd4]
fstp dword [esp]
call fcn.1006acd0
fstp dword [ebp - 0x2bd4]
movss xmm0, dword [ebp - 0x2bd4]
mulss xmm0, dword [0x10118740]
add esp, 4
movss xmm1, dword [ebp - 0x2bdc]
movss xmm2, dword [ebp - 0x2bf4]
subss xmm1, xmm0
andps xmm1, xmmword [0x10118760]
minss xmm1, xmm2
comiss xmm1, dword [0x10118718]
jbe 0x10006efc
mov eax, dword [ebp - 0x2bf0]
sub esp, 0x3fc
mov edi, esp
mov ecx, 0xff
imul esi, dword [eax + 0x64], 0x3fc
push eax
add esi, 0x102f9978
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x102f9978
call fcn.1001e870
mov edi, dword [ebp - 0x2bd8]
mov byte [0x1030fc64], 0
mov byte [0x1030fc65], 1
jmp 0x10006f3d
push esi
call fcn.1003c060
add esp, 4
test eax, eax
je 0x10006f37
mov ecx, dword [0x1030fbd4]
mov edi, dword [ebp - 0x2bd8]
cmp dword [ecx + eax], 0x40
jne 0x10006f3d
mov eax, dword [ebp - 0x2bf4]
or dword [eax + 0x30], 1
jmp 0x10006f3d
mov edi, dword [ebp - 0x2bd8]
xor esi, esi
nop
mov ecx, dword [0x1030fa14]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edx, eax
test edx, edx
je 0x10006f99
mov ecx, dword [0x1030fb88]
cmp byte [edx + ecx], 0
jne 0x10006f99
mov ecx, dword [0x1030fba8]
cmp byte [edx + ecx], 0
jne 0x10006f99
mov eax, dword [0x1030fb68]
cmp dword [edx + eax], 0
jle 0x10006f99
mov ecx, dword [0x1030fb80]
mov eax, dword [edx + ecx]
cmp eax, dword [ecx + edi]
je 0x10006f99
cmp dword [edx + 0x25b], 0
jne 0x10006f99
push edx
mov ecx, 0x102f9438
call fcn.100113c0
inc esi
cmp esi, 0x40
jl 0x10006f40
cmp dword [ebp - 0x2bf0], 0
jne 0x10006fb2
mov dword [0x102f8058], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1005c76e
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
call fcn.100684ff
int3