Function at 0x1002d830
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100f41e0
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3e8
mov eax, dword [0x101110c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x28c]
mov dword [ebp - 0x308], 0
push eax
mov ecx, 0x10147680
mov dword [ebp - 0x28c], 0
call fcn.1002d420
push 0
push dword [0x10134afc]
push dword [0x10134af8]
call fcn.100f25e0
cmp eax, dword [0x10134afc]
je 0x1002d8dd
cmp dword [ebp - 0x28c], 0
jne 0x1002d8dd
mov eax, dword [0x1014b08c]
cmp eax, dword [0x1014b090]
je 0x1002d8cc
mov dword [0x1014b090], eax
lea eax, [ebp - 0x28c]
mov ecx, 0x10147680
push eax
call fcn.1002d420
cmp dword [0x1013115c], 0
jne 0x1002d8f3
cmp dword [0x10131154], 0x1f
jne 0x10030202
mov ecx, dword [0x1014b080]
mov edx, dword [0x1014b084]
cmp ecx, edx
je 0x10030202
push dword [ebp - 0x18]
mov eax, edx
sub eax, ecx
sar eax, 2
push eax
call fcn.100343d0
movaps xmm0, xmmword [0x10106a30]
xor eax, eax
mov ecx, dword [0x1014b084]
add esp, 8
movaps xmm1, xmmword [0x10106ba0]
xor edi, edi
mov dword [ebp - 0x3a4], eax
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2bc], eax
mov byte [0x10131248], al
mov eax, dword [0x1014b080]
mov dword [ebp - 0x390], 0xffffffff
mov dword [ebp - 0x3a0], 0xffffffff
mov dword [ebp - 0x2c0], 0xbf800000
mov dword [ebp - 0x2b8], 0xffffffff
mov dword [ebp - 0x2b4], 0xffffffff
mov dword [ebp - 0x300], eax
mov dword [ebp - 0x18], ecx
movups xmmword [ebp - 0x2f8], xmm0
movups xmmword [ebp - 0x2d0], xmm0
cmp eax, ecx
je 0x1002f272
nop
mov eax, dword [eax]
cmp byte [eax + 0x38], 0
lea edi, [eax + 0x38]
lea esi, [eax + 0x34]
jne 0x1002ee6c
cmp dword [esi], 2
jne 0x1002d9c4
cmp byte [0x1013480c], 0
jne 0x1002ee6c
push eax
mov ecx, 0x10147664
call fcn.100ce5a0
mov edi, dword [ebp - 0x300]
mov ecx, dword [edi]
mov dword [ecx + 0x30], eax
mov eax, dword [edi]
mov edx, dword [eax + 0x30]
lea esi, [eax + 0x30]
cmp edx, 3
je 0x1002f0a4
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x1002f0a4
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
movq qword [ebp - 0x28], xmm0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 4], 2
cmp edx, 2
je 0x1002de54
cmp edx, 1
je 0x1002de54
xor edx, edx
mov dword [ebp - 0x36c], 0xffffffff
or edi, 0xffffffff
mov byte [ebp - 0x312], 0
mov byte [ebp - 0x311], 0
mov byte [ebp - 0x313], 0
mov byte [ebp - 0x309], 0
mov dword [ebp - 0x28c], edx
test ecx, ecx
je 0x1002ee58
nop dword [eax]
lea ecx, [eax + 8]
push edx
call fcn.10031f30
mov esi, eax
test esi, esi
je 0x1002da9c
mov ecx, esi
call fcn.1002b190
test al, al
je 0x1002da9c
xorps xmm0, xmm0
comiss xmm0, dword [esi + 4]
jb 0x1002da9c
cmp byte [esi + 0x81], 0
je 0x1002daca
mov eax, dword [ebp - 0x300]
mov edx, dword [ebp - 0x28c]
inc edx
mov dword [ebp - 0x28c], edx
mov eax, dword [eax]
cmp edx, dword [eax + 0x18]
jb 0x1002da70
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call fcn.10031a70
jmp 0x1002f0a4
cmp dword [ebp - 0x28c], 0
jle 0x1002dada
mov byte [0x10131248], 1
lea eax, [ebp - 0x290]
mov dword [ebp - 0x290], esi
push eax
lea ecx, [ebp - 0x28]
call fcn.10031a40
mov eax, dword [ebp - 0x300]
mov esi, dword [ebp - 0x290]
mov eax, dword [eax]
movss xmm2, dword [esi + 0x54]
push dword [eax]
call fcn.100e11b0
mov byte [ebp - 0x30a], al
mov eax, dword [esi + 0x84]
mov esi, dword [ebp - 0x300]
mov dword [ebp - 0x368], eax
mov ecx, dword [esi]
mov eax, dword [ecx + 0x18]
sub eax, 1
mov dword [ebp - 0x304], eax
js 0x1002e11b
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x310], eax
nop
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
add eax, dword [ebp - 0x304]
mov ecx, dword [edx + 0x10]
dec ecx
and ecx, eax
mov eax, dword [edx + 0xc]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0x28c], esi
test esi, esi
je 0x1002de11
mov ecx, dword [0x101ae888]
mov eax, dword [0x10130e2c]
add ecx, 0xffffffc1
xor ecx, 0x2f303c7f
push 1
movd xmm0, dword [ecx + eax]
mov eax, dword [0x101ae65c]
mov ecx, dword [0x101ae668]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x20]
mov eax, dword [ecx]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [0x10131190]
addss xmm0, dword [0x1013118c]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x318], eax
movss dword [ebp - 0x38], xmm0
call dword [ebp - 0x318]
mov ecx, dword [0x101ae6a4]
fstp dword [ebp - 0x38c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x318], eax
call dword [ebp - 0x318]
mov eax, dword [0x101ae65c]
xorps xmm3, xmm3
movss xmm1, dword [esi + 0x18]
movss xmm0, dword [ebp - 0x38]
addss xmm0, dword [ebp - 0x38c]
movss xmm2, dword [eax + 0x20]
divss xmm1, xmm2
fstp dword [ebp - 0x318]
addss xmm1, dword [0x10105da0]
minss xmm0, dword [ebp - 0x318]
cvttss2si eax, xmm1
maxss xmm0, xmm3
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm2
movss xmm2, dword [ebp - 0x1c]
subss xmm2, xmm1
subss xmm0, xmm2
call fcn.1002a3d0
movss xmm1, dword [0x10105d5c]
comiss xmm1, xmm0
jbe 0x1002de11
comiss xmm3, dword [esi + 4]
jb 0x1002de11
cmp byte [esi + 0x81], 0
jne 0x1002de11
mov ecx, dword [ebp - 0x290]
movss xmm1, dword [ecx + 0x20]
movss xmm0, dword [ecx + 0x24]
subss xmm0, dword [esi + 0x24]
subss xmm1, dword [esi + 0x20]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1002a400
cmp byte [ebp - 0x312], 0
jne 0x1002dcdc
comiss xmm0, dword [0x10105d4c]
jbe 0x1002dcc4
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x28]
call fcn.10031a40
mov eax, dword [ebp - 0x28]
mov byte [ebp - 0x311], 1
mov byte [ebp - 0x313], 1
mov dword [ebp - 0x310], eax
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x36c], eax
mov byte [ebp - 0x312], 1
jmp 0x1002de17
cmp byte [ebp - 0x311], 0
je 0x1002dd1c
mov eax, dword [ebp - 0x36c]
cdq
sub eax, edx
sar eax, 1
cmp dword [ebp - 0x304], eax
jge 0x1002dd1c
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x28]
call fcn.10031a40
mov ecx, dword [ebp - 0x28]
mov byte [ebp - 0x311], 0
mov dword [ebp - 0x310], ecx
jmp 0x1002de11
cmp byte [ebp - 0x313], 0
je 0x1002dda3
mov eax, dword [esi + 0x84]
cmp eax, dword [ecx + 0x84]
jb 0x1002dd54
mov eax, dword [ebp - 0x300]
movss xmm2, dword [esi + 0x54]
mov eax, dword [eax]
push dword [eax]
call fcn.100e11b0
test al, al
je 0x1002dd54
cmp byte [ebp - 0x30a], 0
je 0x1002dd6e
cmp dword [ebp - 0x368], 4
ja 0x1002de11
cmp dword [esi + 0x84], 4
jbe 0x1002de11
cmp edi, 0xffffffff
je 0x1002dd80
mov edx, dword [ebp - 0x310]
mov dword [edx + edi*4], 0
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x28]
call fcn.10031a40
mov edi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
sub edi, ecx
sar edi, 2
mov dword [ebp - 0x310], ecx
dec edi
jmp 0x1002de11
cmp dword [ebp - 0x368], 4
ja 0x1002e126
cmp byte [ebp - 0x309], 0
jne 0x1002de08
movss xmm0, dword [esi + 0x54]
subss xmm0, dword [ecx + 0x54]
lea ecx, [ebp - 0x38]
movss dword [ebp - 0x38], xmm0
call fcn.100d7610
movss xmm0, dword [ebp - 0x38]
call fcn.1002a3d0
movss xmm1, dword [0x10105d4c]
comiss xmm1, xmm0
jbe 0x1002de08
lea eax, [ebp - 0x28c]
mov byte [ebp - 0x309], 1
push eax
lea ecx, [ebp - 0x28]
call fcn.10031a40
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x310], eax
jmp 0x1002de11
cmp dword [esi + 0x84], 4
ja 0x1002de37
mov eax, dword [ebp - 0x304]
mov esi, dword [ebp - 0x300]
sub eax, 1
mov dword [ebp - 0x304], eax
jns 0x1002db40
mov edx, dword [ebp - 0x310]
jmp 0x1002e132
lea eax, [ebp - 0x28c]
push eax
lea ecx, [ebp - 0x28]
call fcn.10031a40
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x310], edx
jmp 0x1002e12c
mov ecx, dword [eax + 0x10]
dec ecx
and ecx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0x2d8], eax
test eax, eax
je 0x1002ec0b
comiss xmm0, dword [eax + 4]
jb 0x1002ec0b
cmp edx, 2
jne 0x1002df2b
movaps xmm0, xmmword [0x101069e0]
xor eax, eax
movaps xmm2, xmmword [0x10106ba0]
movups xmmword [ebp - 0xc0], xmm0
mov dword [ebp - 0xa0], 0xb1e7e2f8
movaps xmm0, xmmword [0x10106cd0]
movups xmmword [ebp - 0xb0], xmm0
mov dword [ebp - 0x9c], 0xc2b1e7e2
nop dword [eax + eax]
movups xmm0, xmmword [ebp + eax - 0xc0]
movaps xmm1, xmm2
xorps xmm1, xmm0
movups xmmword [ebp + eax - 0xc0], xmm1
add eax, 0x10
cmp eax, 0x20
jb 0x1002dec0
cmp eax, 0x28
jae 0x1002def1
xor byte [ebp + eax - 0xc0], 0xc2
inc eax
cmp eax, 0x28
jb 0x1002dee3
push esi
mov esi, dword [ebp - 0x300]
lea edx, [ebp - 0xc0]
push esi
lea ecx, [ebp - 0x330]
call fcn.100335a0
add esp, 8
mov byte [ebp - 4], 7
or dword [ebp - 0x308], 1
movaps xmm0, xmmword [0x10106ba0]
movaps xmmword [ebp - 0x360], xmm0
jmp 0x1002dffa
lea ecx, [ebp - 0x2a8]
call fcn.1002a580
mov ecx, eax
mov dword [ebp - 4], 8
movaps xmm0, xmmword [0x101069e0]
mov edi, dword [ebp - 0x308]
movups xmmword [ebp - 0xbc], xmm0
or edi, 2
mov word [ebp - 0x9c], 0xc2b1
movaps xmm0, xmmword [0x10106e60]
xor eax, eax
movups xmmword [ebp - 0xac], xmm0
mov dword [ebp - 0x308], edi
movaps xmm0, xmmword [0x10106ba0]
movaps xmmword [ebp - 0x360], xmm0
nop dword [eax]
nop word [eax + eax]
movaps xmm1, xmm0
movups xmm0, xmmword [ebp + eax - 0xbc]
xorps xmm1, xmm0
movaps xmm0, xmmword [ebp - 0x360]
movups xmmword [ebp + eax - 0xbc], xmm1
add eax, 0x10
cmp eax, 0x20
jb 0x1002df90
cmp eax, 0x22
jae 0x1002dfce
nop word [eax + eax]
xor byte [ebp + eax - 0xbc], 0xc2
inc eax
cmp eax, 0x22
jb 0x1002dfc0
mov esi, dword [ebp - 0x300]
lea edx, [ebp - 0xbc]
push ecx
push esi
lea ecx, [ebp - 0x388]
call fcn.10033730
add esp, 8
or edi, 4
mov dword [ebp - 4], 9
mov dword [ebp - 0x308], edi
push eax
mov ecx, 0x101ac098
call fcn.10031de0
mov eax, dword [ebp - 0x308]
test al, 4
je 0x1002e029
and eax, 0xfffffffb
lea ecx, [ebp - 0x388]
mov dword [ebp - 0x308], eax
call fcn.100326f0
mov eax, dword [ebp - 0x308]
test al, 2
je 0x1002e047
and eax, 0xfffffffd
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 0x308], eax
call fcn.100326f0
mov eax, dword [ebp - 0x308]
mov dword [ebp - 4], 2
test al, 1
je 0x1002e066
and eax, 0xfffffffe
lea ecx, [ebp - 0x330]
mov dword [ebp - 0x308], eax
call fcn.100326f0
mov edx, dword [esi]
lea ecx, [ebp - 0x2a8]
mov edx, dword [edx + 0x30]
call fcn.1002a580
mov ecx, eax
mov byte [ebp - 4], 0xa
mov eax, 0x10
movaps xmm0, xmmword [0x10106760]
xorps xmm0, xmmword [ebp - 0x360]
mov dword [ebp - 0x378], 0xadafe2b2
mov dword [ebp - 0x374], 0xe2f8a7a6
mov word [ebp - 0x370], 0xb1e7
mov byte [ebp - 0x36e], 0xc2
movups xmmword [ebp - 0x388], xmm0
nop word [eax + eax]
xor byte [ebp + eax - 0x388], 0xc2
inc eax
cmp eax, 0x1b
jb 0x1002e0c0
push ecx
lea edx, [ebp - 0x388]
lea ecx, [ebp - 0x330]
call fcn.10033460
add esp, 4
push eax
mov ecx, 0x101ac098
mov byte [ebp - 4], 0xb
call fcn.10031de0
lea ecx, [ebp - 0x330]
call fcn.100326f0
lea ecx, [ebp - 0x2a8]
mov byte [ebp - 4], 2
call fcn.100326f0
lea eax, [ebp - 0x2d8]
push eax
lea ecx, [ebp - 0x28]
call fcn.10031a40
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x310], edx
jmp 0x1002e132
mov edx, dword [ebp - 0x310]
mov esi, dword [ebp - 0x300]
cmp edx, dword [ebp - 0x24]
jne 0x1002e18d
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x1002f0a4
mov ecx, dword [ebp - 0x20]
mov eax, edx
sub ecx, edx
and ecx, 0xfffffffc
cmp ecx, 0x1000
jb 0x1002e16c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f9bc
push ecx
push edx
call fcn.100f2c1b
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
jmp 0x1002f0a1
cmp byte [0x10135508], 0
je 0x1002e1b3
mov eax, dword [esi]
mov byte [ebp - 0x309], 1
movd xmm0, dword [eax + 0xb4]
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [0x1013561c]
ja 0x1002e1ba
mov byte [ebp - 0x309], 0
mov edi, dword [ebp - 0x24]
mov al, byte [0x10135590]
sub edi, edx
sar edi, 2
sub edi, 1
mov byte [ebp - 0x30a], al
mov dword [ebp - 0x36c], edi
js 0x1002ebae
nop dword [eax]
mov edi, dword [edx + edi*4]
test edi, edi
je 0x1002eb99
mov eax, dword [edi + 0x1bcc]
mov esi, dword [0x101ae8f8]
add esi, 0xffffffa5
xor esi, 0x2f303c9b
add esi, dword [edi]
lea eax, [eax + eax*2]
shl eax, 4
push eax
lea eax, [edi + 0x3cc]
push eax
push dword [esi]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [edi + 0x1bcc]
add esp, 0xc
mov dword [esi + 0xc], eax
lea esi, [edi + 0x20]
mov ecx, dword [0x101ae820]
mov eax, dword [esi]
add ecx, 0xffffffdb
xor ecx, 0x2f303c65
add ecx, dword [edi]
mov dword [ecx], eax
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
mov eax, dword [esi + 8]
mov dword [ecx + 8], eax
mov ecx, dword [0x101ae82c]
mov eax, dword [edi + 0x38]
add ecx, 0xffffffd8
xor ecx, 0x2f303c68
add ecx, dword [edi]
mov dword [ecx], eax
mov eax, dword [edi + 0x3c]
mov dword [ecx + 4], eax
mov eax, dword [edi + 0x40]
mov dword [ecx + 8], eax
mov ecx, dword [0x101ae830]
mov eax, dword [edi + 0x44]
add ecx, 0xffffffd7
xor ecx, 0x2f303c69
add ecx, dword [edi]
mov dword [ecx], eax
mov eax, dword [edi + 0x48]
mov dword [ecx + 4], eax
mov eax, dword [edi + 0x4c]
mov dword [ecx + 8], eax
lea eax, [edi + 0x6c]
mov edx, dword [0x101ae714]
mov ecx, dword [edi]
push eax
call edx
mov eax, dword [0x101ae718]
mov ecx, dword [edi]
push esi
call eax
mov eax, dword [ebp - 0x300]
xorps xmm0, xmm0
mov ecx, dword [0x101ae86c]
add ecx, 0xffffffc8
xor ecx, 0x2f303c78
mov edx, dword [eax]
mov eax, dword [edx]
movd xmm1, dword [ecx + eax]
cvtdq2ps xmm1, xmm1
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x2c], 0
movq qword [ebp - 0x34], xmm0
movss dword [ebp - 0x28c], xmm1
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0
cmp byte [ebp - 0x309], 0
mov byte [ebp - 4], 0xc
je 0x1002e313
cmp dword [edi + 0x84], 4
jbe 0x1002e30f
cmp byte [ebp - 0x30a], 0
jne 0x1002e313
mov cl, 1
jmp 0x1002e315
xor cl, cl
cmp dword [0x10131154], 0x1f
jne 0x1002e323
movaps xmm3, xmm1
jmp 0x1002e38a
cmp dword [0x10135a88], 0
je 0x1002e346
mov eax, dword [0x101359cc]
cmp eax, 0xffffffff
jne 0x1002e33a
xor al, al
jmp 0x1002e34b
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x101454b0]
jmp 0x1002e34b
mov al, byte [0x101ac0d3]
test al, al
je 0x1002e359
movss xmm0, dword [0x10135b00]
jmp 0x1002e361
movss xmm0, dword [0x10135100]
cmp byte [0x101351b8], 0
movaps xmm3, xmm1
mulss xmm3, dword [0x10105d20]
mulss xmm3, xmm0
je 0x1002e38a
cmp dword [0x1013115c], 1
jne 0x1002e38a
mulss xmm3, dword [0x10105da0]
maxss xmm3, dword [0x10105df4]
lea eax, [ebp - 0x34]
push eax
push ecx
lea eax, [edi + 0x3cc]
mov ecx, edx
push eax
push edi
call fcn.10030c10
movss xmm1, dword [0x10106008]
xor esi, esi
cmp dword [edi + 0x84], 4
movss dword [ebp - 0x38], xmm1
mov dword [ebp - 0x318], 0xffffffff
mov dword [ebp - 0x290], esi
ja 0x1002e40a
mov eax, dword [ebp - 0x300]
mov eax, dword [eax]
cmp dword [eax + 0xc4], esi
jle 0x1002e40a
push dword [0x10135704]
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], esi
push dword [0x10135700]
lea ecx, [ebp - 0x3cc]
call fcn.10033170
mov ecx, dword [0x10135704]
add esp, 8
cmp dword [eax], ecx
jne 0x1002e466
jmp 0x1002e410
mov ecx, dword [0x10135704]
test byte [edi + 0x1c], 1
jne 0x1002e42e
push 1
push ecx
push dword [0x10135700]
call fcn.100f25e0
mov ecx, dword [0x10135704]
cmp eax, ecx
jne 0x1002e466
cmp dword [edi + 0x84], 6
jne 0x1002e470
cmp dword [edi + 0xc], 2
jge 0x1002e470
push ecx
push dword [0x10135700]
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 2
lea ecx, [ebp - 0x3d0]
call fcn.10033170
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x10135704]
je 0x1002e470
mov esi, 1
jmp 0x1002e504
cmp dword [edi + 0x84], 5
jne 0x1002e498
push 0
push dword [0x101357ac]
push dword [0x101357a8]
call fcn.100f25e0
mov ecx, dword [0x101357ac]
cmp eax, ecx
jne 0x1002e4ff
jmp 0x1002e49e
mov ecx, dword [0x101357ac]
cmp dword [edi + 0x84], 6
jne 0x1002e4d0
push ecx
push dword [0x101357a8]
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 1
lea ecx, [ebp - 0x3d4]
call fcn.10033170
mov ecx, dword [0x101357ac]
add esp, 8
cmp dword [eax], ecx
jne 0x1002e4ff
cmp dword [edi + 0xc], 2
jge 0x1002e50a
push ecx
push dword [0x101357a8]
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 2
lea ecx, [ebp - 0x394]
call fcn.10033170
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x101357ac]
je 0x1002e50a
mov esi, 2
mov dword [ebp - 0x290], esi
cmp dword [ebp - 0x36c], 0
jne 0x1002e521
mov eax, dword [ebp - 0x300]
mov eax, dword [eax]
mov dword [eax + 0xdc], esi
mov esi, dword [ebp - 0x34]
xor ecx, ecx
mov dword [ebp - 0x304], ecx
mov eax, 0x92492493
mov ecx, dword [ebp - 0x30]
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x1002e866
xor eax, eax
mov dword [ebp - 0x368], eax
cmp dword [0x10131154], 0x1f
movups xmm0, xmmword [eax + esi]
movups xmmword [ebp - 0x334], xmm0
movq xmm0, qword [eax + esi + 0x10]
mov eax, dword [eax + esi + 0x18]
movq qword [ebp - 0x324], xmm0
mov dword [ebp - 0x31c], eax
mov dword [ebp - 0x2a4], 0
mov dword [ebp - 0x2a0], 0
mov dword [ebp - 0x29c], 0
jne 0x1002e5a6
movss xmm0, dword [ebp - 0x28c]
jmp 0x1002e612
cmp dword [0x10135a88], 0
je 0x1002e5c9
mov eax, dword [0x101359cc]
cmp eax, 0xffffffff
jne 0x1002e5bd
xor al, al
jmp 0x1002e5ce
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x101454b0]
jmp 0x1002e5ce
mov al, byte [0x101ac0d3]
test al, al
je 0x1002e5dc
movss xmm1, dword [0x10135b00]
jmp 0x1002e5e4
movss xmm1, dword [0x10135100]
cmp byte [0x101351b8], 0
movss xmm0, dword [ebp - 0x28c]
mulss xmm0, dword [0x10105d20]
mulss xmm0, xmm1
je 0x1002e612
cmp dword [0x1013115c], 1
jne 0x1002e612
mulss xmm0, dword [0x10105da0]
maxss xmm0, dword [0x10105df4]
mov al, byte [0x101349a4]
lea edx, [ebp - 0x58]
mov byte [ebp - 0x294], al
lea ecx, [ebp - 0x2ac]
mov eax, dword [edi]
mov dword [ebp - 0x2a8], eax
mov eax, dword [0x10130e2c]
movss dword [ebp - 0x298], xmm0
movss xmm0, dword [ebp - 0x334]
movss dword [ebp - 0x2a4], xmm0
movss xmm0, dword [ebp - 0x330]
movss dword [ebp - 0x2a0], xmm0
movss xmm0, dword [ebp - 0x32c]
mov dword [ebp - 0x2ac], eax
movss dword [ebp - 0x29c], xmm0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xffffffff
mov byte [ebp - 0x4c], 0
call fcn.100dd1a0
test al, al
je 0x1002e82c
mov eax, dword [0x101ae65c]
mov byte [0x101ac0d1], 1
mov ecx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x300]
add ecx, 0x20
mov eax, dword [eax]
mov dword [eax + 0x1c], ecx
mov ecx, dword [ebp - 0x328]
cmp ecx, dword [ebp - 0x318]
jne 0x1002e743
movss xmm1, dword [ebp - 0x320]
comiss xmm1, dword [ebp - 0x2c0]
jbe 0x1002e82c
mov eax, dword [edi]
movss xmm0, dword [ebp - 0x54]
movss dword [ebp - 0x2c4], xmm0
movss xmm0, dword [ebp - 0x334]
movss dword [ebp - 0x2d0], xmm0
movss xmm0, dword [ebp - 0x330]
movss dword [ebp - 0x2cc], xmm0
movss xmm0, dword [ebp - 0x32c]
push ecx
mov dword [ebp - 0x2d4], eax
movss dword [ebp - 0x2c8], xmm0
mov dword [ebp - 0x2bc], edi
mov dword [ebp - 0x2b8], ecx
call fcn.1002b270
movss dword [ebp - 0x2c0], xmm1
jmp 0x1002e826
mov eax, dword [ebp - 0x290]
movss xmm2, dword [0x10134cc8]
sub eax, 1
je 0x1002e765
sub eax, 1
jne 0x1002e76d
movss xmm2, dword [0x10106024]
jmp 0x1002e76d
movss xmm2, dword [0x10105f68]
movss xmm3, dword [ebp - 0x54]
movaps xmm1, xmm2
xorps xmm1, xmmword [0x101060a0]
movaps xmm0, xmm3
minss xmm0, dword [ebp - 0x28c]
maxss xmm1, dword [0x10105df4]
maxss xmm2, dword [0x10105df4]
divss xmm0, dword [ebp - 0x28c]
mulss xmm0, xmm1
movss xmm1, dword [ebp - 0x324]
mulss xmm1, xmm2
addss xmm1, xmm0
comiss xmm1, dword [ebp - 0x38]
jbe 0x1002e82c
mov eax, dword [edi]
movss xmm0, dword [ebp - 0x334]
movss dword [ebp - 0x2d0], xmm0
movss xmm0, dword [ebp - 0x330]
movss dword [ebp - 0x2cc], xmm0
movss xmm0, dword [ebp - 0x32c]
push ecx
mov dword [ebp - 0x2d4], eax
movss dword [ebp - 0x2c4], xmm3
movss dword [ebp - 0x2c8], xmm0
mov dword [ebp - 0x2bc], edi
mov dword [ebp - 0x2b8], ecx
call fcn.1002b270
movss xmm0, dword [ebp - 0x320]
movss dword [ebp - 0x2c0], xmm0
movss dword [ebp - 0x38], xmm1
mov dword [ebp - 0x318], ecx
mov dword [ebp - 0x2b4], eax
mov ecx, dword [ebp - 0x30]
mov eax, 0x92492493
mov esi, dword [ebp - 0x34]
sub ecx, esi
inc dword [ebp - 0x304]
add dword [ebp - 0x368], 0x1c
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x368]
jb 0x1002e552
movss xmm0, dword [ebp - 0x2c4]
comiss xmm0, dword [0x10105cdc]
jbe 0x1002eb2a
push 0
push dword [0x10135490]
push dword [0x1013548c]
call fcn.100f25e0
movss xmm0, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x2b8]
movss dword [ebp - 0x318], xmm0
cmp eax, dword [0x10135490]
je 0x1002f0c8
mov eax, dword [ebp - 0x300]
movss xmm2, dword [ebp - 0x28c]
mov esi, dword [eax]
add esi, 0x24
movd xmm1, dword [esi]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm2
jb 0x1002e8d8
comiss xmm2, xmm0
ja 0x1002e8e9
test ecx, ecx
je 0x1002e8e9
mulss xmm0, dword [0x10105e28]
comiss xmm1, xmm0
jbe 0x1002f0c8
movaps xmm0, xmmword [0x10106ba0]
mov eax, 0x10
xorps xmm0, xmmword [0x10106e80]
mov dword [ebp - 0x324], 0xe7e2f8e2
mov dword [ebp - 0x320], 0xb1e7e2b1
mov byte [ebp - 0x31c], 0xc2
movups xmmword [ebp - 0x334], xmm0
nop
xor byte [ebp + eax - 0x334], 0xc2
inc eax
cmp eax, 0x19
jb 0x1002e920
push 0x98
lea eax, [ebp - 0x288]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 8
lea ecx, [ebp - 0x288]
call fcn.10032610
lea eax, [ebp - 0x2a8]
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x2b0], eax
mov ecx, 2
mov dword [ebp - 0x2ac], 2
lea eax, [ebp - 0x2a0]
mov dword [eax - 8], 0
lea eax, [eax + 0xc]
mov dword [eax - 0x10], 0
mov dword [eax - 0xc], 0
sub ecx, 1
jne 0x1002e974
push dword [ebp - 0x2ac]
lea eax, [ebp - 0x2c4]
mov dword [ebp - 0x3c4], 0x100357d0
push dword [ebp - 0x2b0]
mov dword [ebp - 0x3c8], eax
lea edx, [ebp - 0x334]
movq xmm0, qword [ebp - 0x3c8]
lea ecx, [ebp - 0x288]
movq qword [ebp - 0x2a8], xmm0
mov dword [ebp - 0x3bc], esi
mov dword [ebp - 0x3b8], 0x10035730
movq xmm0, qword [ebp - 0x3bc]
mov dword [ebp - 0x2a0], 0x100357f0
movq qword [ebp - 0x29c], xmm0
mov dword [ebp - 0x294], 0x10035750
call fcn.1002ad40
add esp, 8
lea eax, [ebp - 0x360]
lea ecx, [ebp - 0x284]
push eax
call fcn.10032b40
or dword [ebp - 0x308], 0x60
mov eax, dword [ebp - 0x288]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x288], 0x10100afc
mov eax, dword [ebp - 0x288]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x28c], eax
lea ecx, [ebp - 0x284]
call fcn.10032540
lea ecx, [ebp - 0x280]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x238]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov byte [ebp - 4], 0xe
mov eax, dword [0x101ac09c]
cmp eax, dword [0x101ac0a0]
je 0x1002eacf
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
movups xmm0, xmmword [ebp - 0x360]
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x350]
movq qword [eax + 0x10], xmm0
mov eax, 0xf
add dword [0x101ac09c], 0x18
mov dword [ebp - 0x350], 0
mov dword [ebp - 0x34c], eax
mov byte [ebp - 0x360], 0
jmp 0x1002eae7
lea ecx, [ebp - 0x360]
push ecx
push eax
mov ecx, 0x101ac098
call fcn.10034bd0
mov eax, dword [ebp - 0x34c]
mov byte [ebp - 4], 0xc
cmp eax, 0xf
jbe 0x1002eb21
mov edx, dword [ebp - 0x360]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x1002eb17
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f706
push ecx
push edx
call fcn.100f2c1b
add esp, 8
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0x34]
jmp 0x1002eb2e
mov byte [ebp - 4], 2
test esi, esi
je 0x1002eb93
mov ecx, dword [ebp - 0x2c]
mov eax, 0x92492493
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x1002eb74
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f706
push ecx
push esi
call fcn.100f2c1b
mov dword [ebp - 0x2c], 0
add esp, 8
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov edx, dword [ebp - 0x310]
mov edi, dword [ebp - 0x36c]
sub edi, 1
mov dword [ebp - 0x36c], edi
jns 0x1002e1e0
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x1002f0a4
mov eax, dword [ebp - 0x20]
sub eax, edx
sar eax, 2
lea ecx, [eax*4]
mov eax, edx
cmp ecx, 0x1000
jb 0x1002ebea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f9bc
push ecx
push edx
call fcn.100f2c1b
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
jmp 0x1002f0a1
movss xmm0, dword [eax + 4]
comiss xmm0, dword [0x10105cdc]
mov word [ebp - 0x9c], 0xc2b1
movaps xmm0, xmmword [0x10106760]
movups xmmword [ebp - 0xbc], xmm0
movaps xmm0, xmmword [0x10106e50]
seta byte [ebp - 0x361]
movups xmmword [ebp - 0xac], xmm0
xor eax, eax
nop word [eax + eax]
movups xmm0, xmmword [ebp + eax - 0xbc]
movaps xmm1, xmmword [0x10106ba0]
xorps xmm1, xmm0
movups xmmword [ebp + eax - 0xbc], xmm1
add eax, 0x10
cmp eax, 0x20
jb 0x1002ec50
cmp eax, 0x22
jae 0x1002ec8e
nop word [eax + eax]
xor byte [ebp + eax - 0xbc], 0xc2
inc eax
cmp eax, 0x22
jb 0x1002ec80
push 0x98
lea eax, [ebp - 0x288]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 8
lea ecx, [ebp - 0x288]
call fcn.10032610
lea eax, [ebp - 0x330]
mov byte [ebp - 4], 3
mov dword [ebp - 0x338], eax
mov ecx, 2
mov dword [ebp - 0x334], 2
lea eax, [ebp - 0x328]
mov dword [eax - 8], 0
lea eax, [eax + 0xc]
mov dword [eax - 0x10], 0
mov dword [eax - 0xc], 0
sub ecx, 1
jne 0x1002ecd4
lea eax, [ebp - 0x2d8]
mov dword [ebp - 0x3ac], 0x10035790
mov dword [ebp - 0x3b0], eax
lea edx, [ebp - 0xbc]
movq xmm0, qword [ebp - 0x3b0]
lea eax, [ebp - 0x361]
mov dword [ebp - 0x3e0], eax
lea ecx, [ebp - 0x288]
movq qword [ebp - 0x330], xmm0
lea eax, [ebp - 0x338]
mov dword [ebp - 0x3dc], 0x10035760
movq xmm0, qword [ebp - 0x3e0]
push eax
mov dword [ebp - 0x328], fcn.1002b150
movq qword [ebp - 0x324], xmm0
mov dword [ebp - 0x31c], 0x10035780
call fcn.1002b0e0
add esp, 4
lea eax, [ebp - 0x360]
lea ecx, [ebp - 0x288]
push eax
call fcn.100325f0
or dword [ebp - 0x308], 0x80
lea ecx, [ebp - 0x288]
call fcn.1002b0a0
lea eax, [ebp - 0x360]
mov byte [ebp - 4], 4
push eax
mov ecx, 0x101ac098
call fcn.10031de0
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 2
call fcn.100326f0
mov edx, dword [edi]
lea ecx, [ebp - 0x2a8]
mov edx, dword [edx + 0x30]
call fcn.1002a580
mov ecx, eax
mov byte [ebp - 4], 5
mov eax, 0x10
movaps xmm0, xmmword [0x10106ba0]
xorps xmm0, xmmword [0x10106760]
mov dword [ebp - 0x378], 0xadafe2b2
mov dword [ebp - 0x374], 0xe2f8a7a6
mov word [ebp - 0x370], 0xb1e7
mov byte [ebp - 0x36e], 0xc2
movups xmmword [ebp - 0x388], xmm0
nop dword [eax + eax]
xor byte [ebp + eax - 0x388], 0xc2
inc eax
cmp eax, 0x1b
jb 0x1002ee10
push ecx
lea edx, [ebp - 0x388]
lea ecx, [ebp - 0x330]
call fcn.10033460
add esp, 4
push eax
mov ecx, 0x101ac098
mov byte [ebp - 4], 6
call fcn.10031de0
lea ecx, [ebp - 0x330]
call fcn.100326f0
lea ecx, [ebp - 0x2a8]
call fcn.100326f0
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call fcn.10031a70
jmp 0x1002f0a4
movaps xmm0, xmm1
mov dword [ebp - 0x324], 0xe2b6b1ab
xorps xmm0, xmmword [0x10106700]
mov eax, 0x10
mov dword [ebp - 0x320], 0xb1e7e2f8
mov dword [ebp - 0x31c], 0xc2b1e7e2
movups xmmword [ebp - 0x334], xmm0
xor byte [ebp + eax - 0x334], 0xc2
inc eax
cmp eax, 0x1c
jb 0x1002eea0
push 0x98
lea eax, [ebp - 0x130]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 8
lea ecx, [ebp - 0x130]
call fcn.10032610
lea eax, [ebp - 0x2a8]
mov dword [ebp - 4], 0
mov dword [ebp - 0x2b0], eax
mov ecx, 2
mov dword [ebp - 0x2ac], 2
lea eax, [ebp - 0x2a0]
nop word [eax + eax]
mov dword [eax - 8], 0
lea eax, [eax + 0xc]
mov dword [eax - 0x10], 0
mov dword [eax - 0xc], 0
sub ecx, 1
jne 0x1002ef00
push dword [ebp - 0x2ac]
mov dword [ebp - 0x3ec], edi
lea edx, [ebp - 0x334]
push dword [ebp - 0x2b0]
mov dword [ebp - 0x3e8], 0x10035760
lea ecx, [ebp - 0x130]
movq xmm0, qword [ebp - 0x3ec]
movq qword [ebp - 0x2a8], xmm0
mov dword [ebp - 0x6c], esi
mov dword [ebp - 0x68], 0x10035730
movq xmm0, qword [ebp - 0x6c]
mov dword [ebp - 0x2a0], 0x10035780
movq qword [ebp - 0x29c], xmm0
mov dword [ebp - 0x294], 0x10035750
call fcn.1002ad40
add esp, 8
lea eax, [ebp - 0x360]
lea ecx, [ebp - 0x12c]
push eax
call fcn.10032b40
or dword [ebp - 0x308], 0x18
mov eax, dword [ebp - 0x130]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x130], 0x10100afc
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x134], eax
lea ecx, [ebp - 0x12c]
call fcn.10032540
lea ecx, [ebp - 0x128]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0xe0]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov dword [ebp - 4], 1
mov eax, dword [0x101ac09c]
cmp eax, dword [0x101ac0a0]
je 0x1002f04f
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
movups xmm0, xmmword [ebp - 0x360]
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x350]
movq qword [eax + 0x10], xmm0
mov eax, 0xf
add dword [0x101ac09c], 0x18
mov dword [ebp - 0x350], 0
mov dword [ebp - 0x34c], eax
mov byte [ebp - 0x360], 0
jmp 0x1002f067
lea ecx, [ebp - 0x360]
push ecx
push eax
mov ecx, 0x101ac098
call fcn.10034bd0
mov eax, dword [ebp - 0x34c]
mov dword [ebp - 4], 0xffffffff
cmp eax, 0xf
jbe 0x1002f0a4
mov edx, dword [ebp - 0x360]
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x1002f09a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f706
push ecx
push edx
call fcn.100f2c1b
add esp, 8
mov eax, dword [ebp - 0x300]
add eax, 4
mov dword [ebp - 0x300], eax
cmp eax, dword [ebp - 0x18]
je 0x1002f270
movaps xmm1, xmmword [0x10106ba0]
jmp 0x1002d9a0
movss xmm0, dword [ebp - 0x2d0]
mov eax, dword [ebp - 0x2bc]
mov edi, dword [ebp - 0x2d4]
movss dword [ebp - 0x304], xmm0
movss xmm0, dword [ebp - 0x2cc]
movss dword [ebp - 0x308], xmm0
movss xmm0, dword [ebp - 0x2c8]
mov dword [ebp - 0x3a4], eax
mov eax, dword [ebp - 0x2b4]
mov byte [ebp - 4], 2
mov esi, dword [ebp - 0x34]
movss dword [ebp - 0x300], xmm0
mov dword [ebp - 0x390], ecx
mov dword [ebp - 0x3a0], eax
test esi, esi
je 0x1002f173
mov ecx, dword [ebp - 0x2c]
mov eax, 0x92492493
sub ecx, esi
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x1002f169
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f706
push ecx
push esi
call fcn.100f2c1b
add esp, 8
mov edx, dword [ebp - 0x310]
mov dword [ebp - 4], 0xffffffff
test edx, edx
je 0x1002f1bb
mov eax, dword [ebp - 0x20]
sub eax, edx
sar eax, 2
lea ecx, [eax*4]
mov eax, edx
cmp ecx, 0x1000
jb 0x1002f1b1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f9bc
push ecx
push edx
call fcn.100f2c1b
add esp, 8
movss xmm4, dword [ebp - 0x300]
movss xmm2, dword [ebp - 0x308]
movss xmm1, dword [ebp - 0x304]
test edi, edi
je 0x10030202
mov esi, dword [ebp - 0x3a4]
test esi, esi
je 0x10030202
movq xmm0, qword [0x10130e38]
movaps xmm3, xmm2
subss xmm3, dword [0x10130e3c]
mov eax, dword [0x10130e40]
movaps xmm2, xmm4
subss xmm2, dword [0x10130e40]
movaps xmm4, xmm1
movq qword [ebp - 0x34], xmm0
subss xmm4, dword [0x10130e38]
movaps xmm1, xmm3
mov dword [ebp - 0x2c], eax
mulss xmm1, xmm3
movaps xmm0, xmm4
mulss xmm0, xmm4
addss xmm0, xmm1
call fcn.1002a400
movss xmm5, dword [0x10105f40]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x1002f2b7
xorps xmm2, xmmword [0x101060a0]
movaps xmm1, xmm0
movaps xmm0, xmm2
call fcn.10036700
movaps xmm2, xmm0
movaps xmm1, xmm4
movaps xmm0, xmm3
mulss xmm2, xmm5
call fcn.10036700
mulss xmm0, xmm5
jmp 0x1002f2d1
xor edi, edi
movss xmm0, dword [ebp - 0x2ec]
movss xmm4, dword [ebp - 0x2f0]
movss xmm2, dword [ebp - 0x2f4]
movss xmm1, dword [ebp - 0x2f8]
movss dword [ebp - 0x318], xmm0
movss dword [ebp - 0x300], xmm4
movss dword [ebp - 0x308], xmm2
movss dword [ebp - 0x304], xmm1
jmp 0x1002f1d3
comiss xmm2, xmm1
jbe 0x1002f2c6
movss xmm2, dword [0x10106020]
jmp 0x1002f2ce
movss xmm2, dword [0x10105f60]
xorps xmm0, xmm0
movaps xmm1, xmm2
movss dword [0x101ac0a8], xmm2
movss dword [0x101ac0ac], xmm0
mov dword [0x101ac0b0], 0
call fcn.1002ba30
movss xmm3, dword [ebp - 0x304]
movss xmm7, dword [ebp - 0x308]
movss xmm4, dword [0x10130e38]
movss xmm6, dword [0x10130e3c]
subss xmm3, xmm4
movss xmm2, dword [ebp - 0x300]
subss xmm7, xmm6
movss xmm5, dword [0x10130e40]
subss xmm2, xmm5
movaps xmm0, xmm3
movaps xmm1, xmm7
mulss xmm0, xmm3
mulss xmm1, xmm7
addss xmm0, xmm1
call fcn.1002a400
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x1002f380
xorps xmm2, xmmword [0x101060a0]
movaps xmm1, xmm0
movaps xmm0, xmm2
call fcn.10036700
movaps xmm2, xmm0
movaps xmm1, xmm3
mulss xmm2, dword [0x10105f40]
movaps xmm0, xmm7
call fcn.10036700
mulss xmm0, dword [0x10105f40]
jmp 0x1002f39a
comiss xmm2, xmm1
jbe 0x1002f38f
movss xmm2, dword [0x10106020]
jmp 0x1002f397
movss xmm2, dword [0x10105f60]
xorps xmm0, xmm0
movss dword [0x101ac0ac], xmm0
movaps xmm1, xmm4
subss xmm1, dword [ebp - 0x34]
movaps xmm0, xmm6
movss dword [0x101ac0a8], xmm2
subss xmm0, dword [ebp - 0x30]
movaps xmm2, xmm5
mov dword [0x101ac0b0], 0
subss xmm2, dword [ebp - 0x2c]
mulss xmm1, xmm1
mulss xmm0, xmm0
mulss xmm2, xmm2
addss xmm0, xmm1
addss xmm0, xmm2
call fcn.1002a400
comiss xmm0, dword [0x10105d4c]
jbe 0x1002f72e
mov eax, dword [0x101ae86c]
add eax, 0xffffffc8
xor eax, 0x2f303c78
cmp dword [0x10131154], 0x1f
movd xmm0, dword [eax + edi]
cvtdq2ps xmm0, xmm0
je 0x1002f474
cmp dword [0x10135a88], 0
je 0x1002f433
mov eax, dword [0x101359cc]
cmp eax, 0xffffffff
jne 0x1002f427
xor al, al
jmp 0x1002f438
lea eax, [eax + eax*2]
mov al, byte [eax*4 + 0x101454b0]
jmp 0x1002f438
mov al, byte [0x101ac0d3]
test al, al
je 0x1002f446
movss xmm1, dword [0x10135b00]
jmp 0x1002f44e
movss xmm1, dword [0x10135100]
cmp byte [0x101351b8], 0
mulss xmm0, dword [0x10105d20]
mulss xmm0, xmm1
je 0x1002f474
cmp dword [0x1013115c], 1
jne 0x1002f474
mulss xmm0, dword [0x10105da0]
maxss xmm0, dword [0x10105df4]
mov al, byte [0x101349a4]
lea edx, [ebp - 0x58]
mov byte [ebp - 0x294], al
lea ecx, [ebp - 0x2ac]
mov eax, dword [0x10130e2c]
mov dword [ebp - 0x2a8], edi
movss dword [ebp - 0x298], xmm0
movss xmm0, dword [ebp - 0x304]
movss dword [ebp - 0x2a4], xmm0
movss xmm0, dword [ebp - 0x308]
movss dword [ebp - 0x2a0], xmm0
movss xmm0, dword [ebp - 0x300]
mov dword [ebp - 0x2ac], eax
movss dword [ebp - 0x29c], xmm0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0xffffffff
mov byte [ebp - 0x4c], 0
call fcn.100dd1a0
movaps xmm0, xmmword [0x10106ba0]
test al, al
xorps xmm0, xmmword [0x10106290]
mov eax, 0x10
mov dword [ebp - 0x324], 0xe2f8e2a7
mov word [ebp - 0x31c], 0xa6a7
mov byte [ebp - 0x31a], 0xc2
movups xmmword [ebp - 0x334], xmm0
jne 0x1002f626
mov dword [ebp - 0x320], 0xaeaba3a4
nop dword [eax]
xor byte [ebp + eax - 0x334], 0xc2
inc eax
cmp eax, 0x1b
jb 0x1002f540
xorps xmm0, xmm0
mov dword [ebp - 0x350], 0
lea ecx, [ebp - 0x334]
mov dword [ebp - 0x34c], 0
movups xmmword [ebp - 0x360], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002f575
sub ecx, edx
lea eax, [ebp - 0x334]
push ecx
push eax
lea ecx, [ebp - 0x360]
call fcn.10033b90
mov dword [ebp - 4], 0xf
mov eax, dword [0x101ac09c]
cmp eax, dword [0x101ac0a0]
je 0x1002f5d1
movups xmm0, xmmword [ebp - 0x360]
mov ecx, 0xf
mov byte [ebp - 0x360], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x350]
movq qword [eax + 0x10], xmm0
add dword [0x101ac09c], 0x18
jmp 0x1002f5e9
lea ecx, [ebp - 0x360]
push ecx
push eax
mov ecx, 0x101ac098
call fcn.10034bd0
mov ecx, dword [ebp - 0x34c]
cmp ecx, 0xf
jbe 0x10030202
mov edx, dword [ebp - 0x360]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002f617
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f706
push ecx
push edx
call fcn.100f2c1b
add esp, 8
jmp 0x10030202
mov dword [ebp - 0x320], 0xb1b1a3b2
xor byte [ebp + eax - 0x334], 0xc2
inc eax
cmp eax, 0x1b
jb 0x1002f630
xorps xmm0, xmm0
mov dword [ebp - 0x350], 0
lea ecx, [ebp - 0x334]
mov dword [ebp - 0x34c], 0
movups xmmword [ebp - 0x360], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002f665
sub ecx, edx
lea eax, [ebp - 0x334]
push ecx
push eax
lea ecx, [ebp - 0x360]
call fcn.10033b90
mov dword [ebp - 4], 0x10
mov eax, dword [0x101ac09c]
cmp eax, dword [0x101ac0a0]
je 0x1002f6c1
movups xmm0, xmmword [ebp - 0x360]
mov ecx, 0xf
mov byte [ebp - 0x360], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x350]
movq qword [eax + 0x10], xmm0
add dword [0x101ac09c], 0x18
jmp 0x1002f6d9
lea ecx, [ebp - 0x360]
push ecx
push eax
mov ecx, 0x101ac098
call fcn.10034bd0
mov ecx, dword [ebp - 0x34c]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x1002f716
mov edx, dword [ebp - 0x360]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002f70c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1002f70c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100f2c1b
add esp, 8
movss xmm4, dword [0x10130e38]
movss xmm6, dword [0x10130e3c]
movss xmm5, dword [0x10130e40]
movss xmm3, dword [ebp - 0x304]
movss xmm2, dword [ebp - 0x300]
subss xmm3, xmm4
movss xmm4, dword [ebp - 0x308]
subss xmm2, xmm5
subss xmm4, xmm6
movaps xmm0, xmm3
mulss xmm0, xmm3
movaps xmm1, xmm4
mulss xmm1, xmm4
addss xmm0, xmm1
call fcn.1002a400
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x1002f7a3
xorps xmm2, xmmword [0x101060a0]
movaps xmm1, xmm0
movaps xmm0, xmm2
call fcn.10036700
movaps xmm2, xmm0
movaps xmm1, xmm3
mulss xmm2, dword [0x10105f40]
movaps xmm0, xmm4
call fcn.10036700
mulss xmm0, dword [0x10105f40]
jmp 0x1002f7bd
comiss xmm2, xmm1
jbe 0x1002f7b2
movss xmm2, dword [0x10106020]
jmp 0x1002f7ba
movss xmm2, dword [0x10105f60]
xorps xmm0, xmm0
push dword [ebp - 0x390]
lea eax, [ebp - 0x84]
movss dword [ebp - 0x84], xmm2
push esi
push eax
push edi
mov ecx, 0x10147680
movss dword [ebp - 0x80], xmm0
mov dword [ebp - 0x7c], 0
call fcn.10030220
movaps xmm0, xmmword [0x10106ba0]
test al, al
mov word [ebp - 0x34c], 0xc2a6
mov eax, 0x10
jne 0x1002f8ec
xorps xmm0, xmmword [0x10106380]
mov dword [ebp - 0x350], 0xa7aeaba3
movups xmmword [ebp - 0x360], xmm0
nop
xor byte [ebp + eax - 0x360], 0xc2
inc eax
cmp eax, 0x16
jb 0x1002f820
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0
lea ecx, [ebp - 0x360]
mov dword [ebp - 0x4c], 0
movups xmmword [ebp - 0x60], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002f850
sub ecx, edx
lea eax, [ebp - 0x360]
push ecx
push eax
lea ecx, [ebp - 0x60]
call fcn.10033b90
mov dword [ebp - 4], 0x11
mov eax, dword [0x101ac09c]
cmp eax, dword [0x101ac0a0]
je 0x1002f8a0
movups xmm0, xmmword [ebp - 0x60]
mov ecx, 0xf
mov byte [ebp - 0x60], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x50]
movq qword [eax + 0x10], xmm0
add dword [0x101ac09c], 0x18
jmp 0x1002f8b2
lea edx, [ebp - 0x60]
mov ecx, 0x101ac098
push edx
push eax
call fcn.10034bd0
mov ecx, dword [ebp - 0x4c]
cmp ecx, 0xf
jbe 0x10030202
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002f8dd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1002f9bc
push ecx
push edx
call fcn.100f2c1b
add esp, 8
jmp 0x10030202
xorps xmm0, xmmword [0x10106890]
mov dword [ebp - 0x350], 0xa7b1b1a3
movups xmmword [ebp - 0x360], xmm0
xor byte [ebp + eax - 0x360], 0xc2
inc eax
cmp eax, 0x16
jb 0x1002f904
xorps xmm0, xmm0
mov dword [ebp - 0x50], 0
lea ecx, [ebp - 0x360]
mov dword [ebp - 0x4c], 0
movups xmmword [ebp - 0x60], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002f930
sub ecx, edx
lea eax, [ebp - 0x360]
push ecx
push eax
lea ecx, [ebp - 0x60]
call fcn.10033b90
mov dword [ebp - 4], 0x12
mov eax, dword [0x101ac09c]
cmp eax, dword [0x101ac0a0]
je 0x1002f980
movups xmm0, xmmword [ebp - 0x60]
mov ecx, 0xf
mov byte [ebp - 0x60], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x50]
movq qword [eax + 0x10], xmm0
add dword [0x101ac09c], 0x18
jmp 0x1002f992
lea ecx, [ebp - 0x60]
push ecx
push eax
mov ecx, 0x101ac098
call fcn.10034bd0
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x1002f9cc
mov edx, dword [ebp - 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1002f9c2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1002f9c2
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100f2c1b
add esp, 8
cmp dword [0x10131178], 0
movss xmm0, dword [ebp - 0x304]
mov eax, dword [ebp - 0x390]
movss dword [0x101ac0b4], xmm0
movss xmm0, dword [ebp - 0x308]
movss dword [0x101ac0b8], xmm0
movss xmm0, dword [ebp - 0x300]
movss dword [0x101ac0bc], xmm0
movss xmm0, dword [ebp - 0x318]
mov dword [0x101ac0c8], eax
mov eax, dword [ebp - 0x3a0]
mov dword [0x101ac0a4], edi
movss dword [0x101ac0c0], xmm0
mov dword [0x101ac0c4], esi
mov dword [0x101ac0cc], eax
jne 0x1002fa52
mov eax, dword [0x10131180]
mov byte [eax], 0
mov eax, dword [0x101311a8]
and dword [eax + 0x30], 0xfffffffe
call fcn.100cd710
jmp 0x10030202
cmp byte [0x10134894], 0
jne 0x1002fa6d
mov ecx, dword [0x101ae5fc]
push 0x101ac0a8
mov eax, dword [ecx]
mov eax, dword [eax + 0x4c]
call eax
mov ecx, dword [0x101ae6e8]
mov esi, dword [0x101ae8d4]
add esi, 0xffffffae
xor esi, 0x2f303c92
mov eax, dword [ecx]
add esi, dword [0x10130e2c]
mov eax, dword [eax + 0x30]
mov dword [ebp - 0x18], eax
call dword [ebp - 0x18]
movss xmm2, dword [esi + 4]
movss xmm4, dword [0x101ac0a8]
mov eax, dword [0x101311a8]
fstp dword [ebp - 0x18]
movss xmm1, dword [ebp - 0x18]
movaps xmm0, xmm1
mulss xmm2, xmm1
mulss xmm0, dword [esi]
movaps xmm3, xmm1
mulss xmm3, dword [esi + 8]
movss xmm1, dword [0x101ac0ac]
subss xmm4, xmm0
movss xmm0, dword [0x101ac0b0]
subss xmm1, xmm2
subss xmm0, xmm3
movss dword [0x101ac0a8], xmm4
movss dword [0x10131214], xmm1
movss dword [0x101ac0b0], xmm0
movss dword [0x10131218], xmm0
movss dword [0x101ac0ac], xmm1
movss dword [0x10131210], xmm4
movss dword [eax + 0xc], xmm4
movss xmm0, dword [0x10131214]
movss dword [eax + 0x10], xmm0
movss xmm0, dword [0x10131218]
movss dword [eax + 0x14], xmm0
cmp byte [0x1013491c], 0
je 0x1002fb3d
mov eax, dword [0x101311a8]
or dword [eax + 0x30], 1
mov eax, dword [0x101311a8]
test byte [eax + 0x30], 1
je 0x10030202
mov eax, dword [0x10131180]
mov byte [eax], 0
mov eax, dword [0x101ac0c4]
movss xmm0, dword [eax + 0x18]
addss xmm0, dword [0x1013118c]
mov eax, dword [0x101ae65c]
divss xmm0, dword [eax + 0x20]
mov eax, dword [0x101311a8]
addss xmm0, dword [0x10105da0]
cvttss2si ecx, xmm0
mov dword [eax + 8], ecx
mov eax, dword [0x10131158]
mov ecx, dword [0x101ac0a4]
mov byte [0x10130e45], 1
mov byte [0x10146110], 1
mov eax, dword [eax + 0xf4]
test ecx, ecx
je 0x1002fbb7
movss xmm0, dword [0x101ac0c0]
mov edx, dword [0x101ac0c4]
jmp 0x1002fbc3
movss xmm0, dword [0x10106004]
xor ecx, ecx
xor edx, edx
push dword [0x101ac0c8]
movaps xmm2, xmm0
push edx
push eax
push ecx
call fcn.100d02b0
push dword [0x10134ba4]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 2
push dword [0x10134ba0]
lea ecx, [ebp - 0x394]
call fcn.10033170
mov ecx, dword [0x10134ba4]
add esp, 8
cmp dword [eax], ecx
je 0x1002fd4b
mov ecx, dword [0x101ac0a4]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x101ae5fc]
lea esi, [ebp - 0x1f0]
push esi
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
call edx
test al, al
je 0x1002fd4b
mov edx, dword [0x101ac0c4]
mov ecx, dword [0x101ae894]
add ecx, 0xffffffbe
mov esi, dword [0x10103988]
xor ecx, 0x2f303c82
lea eax, [edx + 0x81]
mov dword [ebp - 0x18], eax
lea edi, [edx + 0x84]
lea eax, [edx + 0x80]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x101ac0a4]
push dword [0x101ac0c8]
movss xmm0, dword [ecx + eax]
subss xmm0, dword [edx + 0x18]
mov eax, dword [0x101ae65c]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x10105da0]
cvttss2si eax, xmm0
mov dword [ebp - 0x38c], eax
lea eax, [ebp - 0x2a8]
push eax
call fcn.1002b310
mov dword [ebp - 4], 0x13
lea ecx, [ebp - 0x38c]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push edi
push ecx
push 0x101ac0c0
push 0x101ac0cc
push eax
lea eax, [ebp - 0x1e0]
push eax
lea ecx, [ebp - 0x330]
call fcn.100338c0
mov edi, eax
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x18], 0x41000000
push eax
mov edx, edi
mov dword [ebp - 0x1c], esi
lea ecx, [ebp - 0x398]
call fcn.100330b0
add esp, 0x28
push eax
mov byte [ebp - 4], 0x15
call fcn.10031d20
lea ecx, [ebp - 0x398]
mov byte [ebp - 4], 0x14
call fcn.10031cf0
sub esp, 0x18
mov ecx, esp
push edi
call fcn.100327d0
push 0x10130c20
call fcn.10041bb0
add esp, 0x1c
lea ecx, [ebp - 0x330]
call fcn.100326f0
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 4], 0xffffffff
call fcn.100326f0
mov eax, dword [0x101ac0c4]
add eax, 0x3cc
push eax
push dword [0x101ac0a4]
call fcn.1003c5c0
push dword [0x10134ba4]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push dword [0x10134ba0]
lea ecx, [ebp - 0x394]
call fcn.10033170
mov ecx, dword [0x10134ba4]
add esp, 8
cmp dword [eax], ecx
je 0x1002fe2a
mov ecx, dword [0x101ac0c4]
push 0xff0000ff
push dword [0x101ac0c8]
lea eax, [ecx + 0x3cc]
push eax
push ecx
call fcn.100ef5d0
mov ecx, dword [0x101ac0a4]
mov esi, dword [0x101ac0c8]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x1840
push 0xffff0000
push esi
add eax, 0x10149858
push eax
push dword [0x101ac0c4]
call fcn.100ef5d0
mov ecx, dword [0x101ac0c4]
sub esp, 8
lea eax, [ecx + 0x3cc]
push eax
push ecx
call fcn.100ef8d0
mov ecx, dword [0x101ac0a4]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x1840
sub esp, 8
add eax, 0x10149858
push eax
push dword [0x101ac0c4]
call fcn.100ef8d0
mov ecx, dword [0x10134ba4]
push ecx
push dword [0x10134ba0]
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x394]
call fcn.10033170
add esp, 8
mov eax, dword [eax]
cmp eax, dword [0x10134ba4]
jne 0x1002fee8
mov ecx, dword [0x101ac0c4]
push 0xff0000ff
push dword [0x101ac0c8]
lea eax, [ecx + 0x3cc]
push eax
push ecx
call fcn.100ef5d0
mov ecx, dword [0x101ac0a4]
mov esi, dword [0x101ac0c8]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x1840
push 0xffff0000
push esi
add eax, 0x10149858
push eax
push dword [0x101ac0c4]
call fcn.100ef5d0
mov ecx, dword [0x101ac0c4]
sub esp, 8
lea eax, [ecx + 0x3cc]
push eax
push ecx
call fcn.100ef8d0
mov ecx, dword [0x101ac0a4]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x1840
sub esp, 8
add eax, 0x10149858
push eax
push dword [0x101ac0c4]
call fcn.100ef8d0
cmp byte [0x101447bc], 0
je 0x10030202
push 0x54
lea eax, [ebp - 0x248]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x248]
call fcn.1002b690
movss xmm2, dword [0x10130e38]
lea ecx, [ebp - 0xe0]
movss xmm3, dword [0x10130e3c]
xorps xmm0, xmm0
movss xmm4, dword [0x10130e40]
mov eax, dword [0x10130e2c]
movlpd qword [ebp - 0x68], xmm0
movss xmm0, dword [0x101ac0b4]
subss xmm0, xmm2
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x60]
mov dword [ebp - 0x74], 0
push eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x78], 0x10104318
movss dword [ebp - 0x60], xmm0
movss xmm0, dword [0x101ac0b8]
subss xmm0, xmm3
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [0x101ac0bc]
subss xmm0, xmm4
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0x54], 0
movss dword [ebp - 0x58], xmm0
call fcn.1002b110
movss xmm0, dword [ebp - 0xe0]
movss xmm1, dword [ebp - 0xdc]
mulss xmm0, xmm0
mov byte [ebp - 0xab], 1
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [ebp - 0xd8]
mulss xmm0, xmm0
addss xmm1, xmm0
ucomiss xmm1, dword [0x10105cdc]
lahf
test ah, 0x44
jp 0x1003001c
mov byte [ebp - 0xab], 0
lea eax, [ebp - 0x60]
mov dword [ebp - 0xb0], 0
push eax
lea ecx, [ebp - 0xf0]
mov byte [ebp - 0xac], 1
movss dword [ebp - 0x60], xmm2
movss dword [ebp - 0x5c], xmm3
movss dword [ebp - 0x58], xmm4
mov dword [ebp - 0x54], 0
call fcn.1002b110
mov ecx, dword [0x101ae618]
lea edx, [ebp - 0x248]
push edx
mov dword [ebp - 0xc8], 0
lea edx, [ebp - 0x78]
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xc0], 0
mov eax, dword [ecx]
push edx
push 0x46004003
lea edx, [ebp - 0xf0]
mov eax, dword [eax + 0x14]
push edx
call eax
mov ecx, dword [0x101ae63c]
lea edx, [ebp - 0x34]
push ecx
mov dword [esp], 0x40400000
push 0x7f
push 0
push 0
push 0xff
push edx
lea edx, [ebp - 0x28]
mov dword [ebp - 0x34], 0
push edx
mov dword [ebp - 0x30], 0
lea edx, [ebp - 0x39c]
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0x40000000
mov dword [ebp - 0x24], 0x40000000
mov dword [ebp - 0x20], 0x40000000
mov dword [ebp - 0x39c], 0xc0000000
mov dword [ebp - 0x398], 0xc0000000
mov dword [ebp - 0x394], 0xc0000000
mov eax, dword [ecx]
push edx
lea edx, [ebp - 0x23c]
push edx
mov eax, dword [eax + 4]
call eax
movss xmm1, dword [ebp - 0x23c]
movss xmm0, dword [ebp - 0x238]
subss xmm0, dword [0x101ac0b8]
subss xmm1, dword [0x101ac0b4]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1002a400
comiss xmm0, dword [0x10105ef0]
jbe 0x10030202
mov ecx, dword [0x101ae63c]
lea edx, [ebp - 0x3b0]
push ecx
mov dword [esp], 0x40400000
push 0x7f
push 0
push 0
push 0xff
push edx
mov dword [ebp - 0x3b0], 0
lea edx, [ebp - 0x3bc]
mov dword [ebp - 0x3ac], 0
mov dword [ebp - 0x3a8], 0
mov dword [ebp - 0x3bc], 0x40000000
mov dword [ebp - 0x3b8], 0x40000000
mov dword [ebp - 0x3b4], 0x40000000
mov dword [ebp - 0x3c8], 0xc0000000
mov dword [ebp - 0x3c4], 0xc0000000
mov dword [ebp - 0x3c0], 0xc0000000
mov eax, dword [ecx]
push edx
lea edx, [ebp - 0x3c8]
push edx
mov eax, dword [eax + 4]
push 0x101ac0b4
call eax
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.100f27a0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret