Function at 0x10051620
Capabilities:
Contain obfuscated stackstrings
Hash data with crc32
Resolve function by parsing pe exports
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x174
mov edx, dword [ebp + 8]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x1005f0e0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
test edx, edx
je case.default.0x10056a90
movzx ecx, byte [edx]
test cl, cl
je case.default.0x10056a90
mov edx, dword [0x1025afd0]
cmp byte [edx + 1], 0
je case.default.0x10056a90
mov eax, dword [edx + 0x199c]
cmp eax, dword [edx + 0x1998]
je case.default.0x10056a90
mov dword [ebp - 0x20], edx
lea eax, [edx + 0x1500]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 8]
lea edx, [eax + 2]
mov esi, 0xffffffff
mov eax, 0xffffffff
jmp 0x100516c9
movzx edi, cl
movzx ebx, al
shr eax, 8
xor ebx, edi
xor eax, dword [ebx*4 + 0x101a9104]
inc edx
mov cl, ch
test ch, ch
je 0x100516e0
mov ch, byte [edx - 1]
cmp cl, 0x23
jne 0x100516b0
cmp ch, 0x23
jne 0x100516b0
cmp byte [edx], 0x23
cmove eax, esi
mov ch, 0x23
jmp 0x100516b0
not eax
mov ecx, dword [ebp - 0x20]
mov edi, dword [ecx + 0x19d4]
mov esi, dword [ecx + 0x19dc]
mov ecx, esi
mov edx, edi
mov dword [ebp - 0x28], edi
test edi, edi
je 0x1005172d
mov ecx, esi
mov edx, dword [ebp - 0x28]
nop word cs:[eax + eax]
mov edi, edx
shr edi, 1
mov ebx, edi
not ebx
add ebx, edx
cmp dword [ecx + edi*8], eax
lea edx, [ecx + edi*8 + 8]
cmovae ebx, edi
cmovb ecx, edx
mov edx, ebx
test ebx, ebx
jne 0x10051710
mov edx, dword [ebp - 0x28]
lea edx, [esi + edx*8]
cmp ecx, edx
je 0x10051751
cmp dword [ecx], eax
jne 0x10051751
mov edi, dword [ecx + 4]
test edi, edi
je 0x10051751
mov dword [ebp - 0x74], 0
mov edx, dword [ebp - 0x20]
jmp 0x10051ba0
mov ecx, dword [ebp - 0x20]
lea edi, [ecx + 0x19d4]
cmp dword [ecx + 0x1a8c], 0
je 0x1005177b
movsd xmm0, qword [ecx + 0x1ab4]
movups xmmword [ebp - 0xb8], xmm0
mov dword [ebp - 0x10], 0xffffffff
jmp 0x10051785
xorps xmm0, xmm0
movups xmmword [ebp - 0xb8], xmm0
inc dword [ecx + 0x36c]
mov eax, dword [0x1025afd8]
mov dword [ebp - 0x10], 0xffffffff
push eax
push 0x340
mov esi, ecx
call dword [0x101fe77c]
add esp, 8
mov ebx, eax
mov ecx, eax
push dword [ebp + 8]
push esi
call fcn.1004ac50
mov dword [ebp - 0x50], ebx
mov esi, dword [ebp + 0x10]
mov dword [ebx + 8], esi
mov ecx, edi
mov edi, ebx
push ebx
push dword [ebx + 4]
call fcn.100492d0
mov dword [ebx + 0xc], 0x42700000
mov dword [ebx + 0x10], 0x42700000
test esi, 0x100
jne 0x1005184e
mov eax, dword [0x1025afd0]
mov dword [ebp - 0x28], eax
mov esi, dword [eax + 0x2cb0]
test esi, esi
movups xmm3, xmmword [ebp - 0xb8]
je 0x10051855
mov dword [ebp - 0xa8], edi
mov eax, dword [edi + 4]
mov dword [ebp - 0x24], eax
xor ecx, ecx
test esi, esi
mov eax, 0
cmovg eax, esi
mov dword [ebp - 0x2c], eax
mov eax, 4
xor edi, edi
mov ebx, dword [ebp - 0x24]
nop
cmp dword [ebp - 0x2c], edi
je case.default.0x10056a90
mov edx, dword [ebp - 0x28]
mov edx, dword [edx + 0x2cb8]
cmp dword [edx + eax], ebx
je 0x10051a20
inc edi
add eax, 0x1c
add ecx, 0xffffffe4
cmp esi, edi
jne 0x10051820
mov edi, dword [ebp - 0xa8]
jmp 0x10051855
movups xmm3, xmmword [ebp - 0xb8]
cvttps2dq xmm0, xmm3
cvtdq2ps xmm1, xmm0
movlps qword [edi + 0x24], xmm1
movlhps xmm1, xmm1
movups xmmword [edi + 0x14], xmm1
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
mov dword [edi + 0xe4], ecx
mov dword [edi + 0xe0], eax
mov eax, dword [ebp + 0x10]
test al, 0x40
mov edx, dword [ebp - 0x20]
jne 0x100518c3
movd eax, xmm0
test eax, eax
jg 0x10051895
mov dword [edi + 0x90], 2
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
test eax, eax
jg 0x100518ac
mov dword [edi + 0x94], 2
mov al, 1
cmp dword [edi + 0x90], 0
jg 0x100518d9
cmp dword [edi + 0x94], 0
setg al
jmp 0x100518d9
mov dword [edi + 0x94], 2
mov dword [edi + 0x90], 2
xor eax, eax
mov byte [edi + 0x98], al
mov eax, dword [edx + 0x19b0]
cmp eax, dword [edx + 0x19b4]
jne 0x100519bd
lea ebx, [eax + 1]
test eax, eax
je 0x10051905
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x1005190a
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
cmp eax, ebx
jge 0x100519bd
mov dword [ebp - 0xa8], edi
lea eax, [ebx*4]
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x1005193b
inc dword [ecx + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov ecx, dword [0x1025afd8]
mov dword [ebp - 0x10], 0xffffffff
push ecx
push eax
call dword [0x101fe77c]
add esp, 8
mov edi, eax
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x19b8]
test eax, eax
je 0x100519a5
mov ecx, dword [edx + 0x19b0]
shl ecx, 2
push ecx
push eax
push edi
mov esi, edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x19b8]
test eax, eax
je 0x10051992
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x10051992
dec dword [ecx + 0x36c]
push dword [0x1025afd8]
push eax
call dword [0x101fe780]
add esp, 8
mov edx, dword [ebp - 0x20]
mov dword [edx + 0x19b8], edi
mov dword [edx + 0x19b4], ebx
mov eax, dword [edx + 0x19b0]
mov edi, dword [ebp - 0xa8]
mov ecx, dword [edx + 0x19b8]
mov dword [ecx + eax*4], edi
inc dword [edx + 0x19b0]
test dword [ebp + 0x10], 0x2000
jne 0x10051a02
mov eax, dword [edx + 0x19a4]
cmp eax, dword [edx + 0x19a8]
jne 0x10051b83
lea edi, [eax + 1]
test eax, eax
je 0x10051ad7
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x10051adc
lea ecx, [edx + 0x19a4]
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x50]
push eax
call fcn.1005e850
mov edx, dword [ebp - 0x20]
jmp 0x10051b98
mov edi, edx
sub edi, ecx
mov esi, dword [ebp - 0x20]
mov ebx, dword [esi + 0x2cb8]
mov dword [ebp - 0x28], ebx
cmp ebx, edi
ja case.default.0x10056a90
mov ebx, dword [esi + 0x2cb0]
lea esi, [ebx + ebx*8]
lea esi, [esi + esi*2]
add ebx, dword [ebp - 0x28]
add ebx, esi
cmp ebx, edi
jb case.default.0x10056a90
mov esi, edx
sub esi, dword [ebp - 0x28]
sub esi, ecx
sar esi, 2
imul ecx, esi, 0xb6db6db7
mov edi, dword [ebp - 0xa8]
mov dword [edi + 0x270], ecx
movsd xmm0, qword [edi + 0xac]
andps xmm0, xmmword [0x101a99f0]
movlps qword [edi + 0xac], xmm0
and byte [edi + 0xb4], 0xfb
movsd xmm0, qword [edx + eax + 4]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movlps qword [edi + 0xc], xmm0
movzx ecx, byte [edx + eax + 0x14]
mov byte [edi + 0x7d], cl
movsd xmm0, qword [edx + eax + 0xc]
movaps xmm1, xmm0
mulps xmm1, xmm0
shufps xmm1, xmm1, 0x55
movaps xmm2, xmm0
mulss xmm2, xmm0
addss xmm2, xmm1
ucomiss xmm2, dword [0x101a9a00]
jbe 0x10051855
cvttps2dq xmm0, xmm0
cvtdq2ps xmm3, xmm0
jmp 0x10051855
mov ecx, 8
cmp ecx, edi
cmovg edi, ecx
cmp eax, edi
jge 0x10051b83
lea eax, [edi*4]
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x10051b07
inc dword [ecx + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov ecx, dword [0x1025afd8]
mov dword [ebp - 0x10], 0xffffffff
push ecx
push eax
call dword [0x101fe77c]
add esp, 8
mov esi, eax
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x19ac]
test eax, eax
je 0x10051b71
mov ecx, dword [edx + 0x19a4]
shl ecx, 2
push ecx
push eax
push esi
mov ebx, edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x19ac]
test eax, eax
je 0x10051b5e
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x10051b5e
dec dword [ecx + 0x36c]
push dword [0x1025afd8]
push eax
call dword [0x101fe780]
add esp, 8
mov edx, dword [ebp - 0x20]
mov dword [edx + 0x19ac], esi
mov dword [edx + 0x19a8], edi
mov eax, dword [edx + 0x19a4]
mov ecx, dword [edx + 0x19ac]
mov edx, dword [ebp - 0x50]
mov dword [ecx + eax*4], edx
mov edx, dword [ebp - 0x20]
inc dword [edx + 0x19a4]
mov edi, dword [ebp - 0x50]
mov al, 1
mov dword [ebp - 0x74], eax
mov esi, dword [ebp + 0x10]
mov eax, esi
not eax
mov ecx, esi
or ecx, 6
test eax, 0xc0200
cmovne ecx, esi
mov eax, ecx
and eax, 0x1800000
cmp eax, 0x800000
je case.default.0x10056a90
mov ebx, dword [edx + 0x1998]
mov eax, dword [edi + 0x21c]
mov dword [ebp - 0x2c], eax
cmp eax, ebx
jne 0x10051bde
mov ecx, dword [edi + 8]
jmp 0x10051be1
mov dword [edi + 8], ecx
mov eax, dword [edx + 0x19c8]
test eax, eax
mov esi, ecx
mov dword [ebp - 0x28], ecx
je 0x10051c10
jle case.default.0x10056a90
mov ecx, dword [edx + 0x19d0]
mov eax, dword [ecx + eax*4 - 4]
mov ecx, dword [ebp - 0x28]
cmp dword [ebp - 0x2c], ebx
jne 0x10051c17
mov eax, dword [edi + 0x2ec]
jmp 0x10051c25
xor eax, eax
cmp dword [ebp - 0x2c], ebx
je 0x10051c08
mov esi, eax
mov eax, ecx
and eax, 0x5000000
cmove esi, eax
mov eax, esi
mov esi, ecx
and esi, 0x1000000
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xb8], eax
test eax, eax
jne 0x10051c4a
cmp dword [ebp - 0xa8], 0
jne case.default.0x10056a90
cmp dword [ebp + 0xc], 0
setne byte [edi + 0x82]
mov dword [ebp - 0x70], ebx
lea eax, [ebx - 1]
cmp dword [ebp - 0x2c], eax
setl bl
mov esi, dword [edi + 0xa8]
mov dword [ebp - 0x6c], esi
test ecx, 0x4000000
mov ecx, ebx
mov ebx, edi
je 0x10051cb3
mov ecx, dword [edx + 0x1a7c]
cmp dword [edx + 0x1a70], ecx
jle case.default.0x10056a90
cmp dword [ebp - 0x2c], eax
setl al
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + 0x1a78]
lea ecx, [ecx + ecx*8]
mov esi, dword [ebx + 0x8c]
xor esi, dword [edx + ecx*4]
mov ecx, dword [edx + ecx*4 + 4]
mov edx, dword [ebp - 0x20]
xor ecx, ebx
or ecx, esi
setne cl
or cl, al
cmp dword [ebp - 0x6c], 0
setg al
or al, cl
mov byte [ebx + 0x80], al
cmp al, 1
jne 0x10051ce3
movsd xmm0, qword [ebx + 0xac]
orps xmm0, xmmword [0x101a9a10]
movlps qword [ebx + 0xac], xmm0
or byte [ebx + 0xb4], 8
mov eax, dword [edx + 0x19c8]
cmp eax, dword [edx + 0x19cc]
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x35], cl
jne 0x10051dbe
lea edi, [eax + 1]
test eax, eax
je 0x10051d0f
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x10051d14
mov ecx, 8
cmp ecx, edi
cmovg edi, ecx
cmp eax, edi
jge 0x10051dbe
lea eax, [edi*4]
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x10051d3f
inc dword [ecx + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov ecx, dword [0x1025afd8]
mov dword [ebp - 0x10], 0xffffffff
push ecx
push eax
call dword [0x101fe77c]
add esp, 8
mov esi, eax
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x19d0]
test eax, eax
je 0x10051dac
mov ecx, dword [edx + 0x19c8]
shl ecx, 2
push ecx
push eax
push esi
mov ebx, edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x19d0]
test eax, eax
je 0x10051d96
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x10051d96
dec dword [ecx + 0x36c]
push dword [0x1025afd8]
push eax
call dword [0x101fe780]
add esp, 8
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x24]
mov dword [edx + 0x19d0], esi
mov dword [edx + 0x19cc], edi
mov eax, dword [edx + 0x19c8]
mov ecx, dword [edx + 0x19d0]
mov dword [ecx + eax*4], ebx
inc dword [edx + 0x19c8]
mov eax, dword [0x1025afd0]
mov dword [eax + 0x19e4], ebx
movss xmm0, dword [eax + 0x1904]
mulss xmm0, dword [ebx + 0x26c]
movss dword [eax + 0x1914], xmm0
movss dword [eax + 0x1900], xmm0
movzx ecx, word [ebx + 0x198]
movzx edx, word [ebx + 0x1c0]
mov word [ebx + 0x1a4], dx
mov edi, dword [ebp - 0x20]
mov word [ebx + 0x1a6], cx
movzx ecx, word [eax + 0x1a7c]
mov word [ebx + 0x1a8], cx
movzx ecx, word [eax + 0x1a4c]
mov word [ebx + 0x1aa], cx
movzx ecx, word [eax + 0x1a58]
mov word [ebx + 0x1ac], cx
movzx eax, word [eax + 0x1a64]
mov word [ebx + 0x1ae], ax
test dword [ebp - 0x28], 0x4000000
je 0x10051f9e
mov eax, dword [edi + 0x1a7c]
cmp dword [edi + 0x1a70], eax
jle case.default.0x10056a90
mov ecx, dword [edi + 0x1a78]
lea eax, [eax + eax*8]
lea esi, [ecx + eax*4]
mov dword [ecx + eax*4 + 4], ebx
mov eax, dword [edi + 0x1a7c]
cmp eax, dword [edi + 0x1a80]
jne 0x10051f6d
lea edx, [eax + 1]
test eax, eax
je 0x10051ea4
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x10051ea9
mov ecx, 8
cmp ecx, edx
cmovg edx, ecx
cmp eax, edx
jge 0x10051f6d
mov dword [ebp - 0x84], edx
lea eax, [edx*4]
lea eax, [eax + eax*8]
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x10051edd
inc dword [ecx + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov ecx, dword [0x1025afd8]
mov dword [ebp - 0x10], 0xffffffff
push ecx
push eax
call dword [0x101fe77c]
add esp, 8
mov edi, dword [ebp - 0x20]
mov edx, dword [edi + 0x1a84]
test edx, edx
je 0x10051f55
mov ecx, dword [edi + 0x1a7c]
shl ecx, 2
lea ecx, [ecx + ecx*8]
push ecx
push edx
mov dword [ebp - 0x98], eax
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [edi + 0x1a84]
test eax, eax
je 0x10051f39
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x10051f39
dec dword [ecx + 0x36c]
push dword [0x1025afd8]
push eax
call dword [0x101fe780]
add esp, 8
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x98]
mov dword [edi + 0x1a84], eax
mov eax, dword [ebp - 0x84]
mov dword [edi + 0x1a80], eax
mov eax, dword [edi + 0x1a7c]
mov ecx, dword [edi + 0x1a84]
lea eax, [eax + eax*8]
mov edx, dword [esi + 0x20]
mov dword [ecx + eax*4 + 0x20], edx
mov edi, dword [ebp - 0x20]
movups xmm0, xmmword [esi]
movups xmm1, xmmword [esi + 0x10]
movups xmmword [ecx + eax*4 + 0x10], xmm1
movups xmmword [ecx + eax*4], xmm0
inc dword [edi + 0x1a7c]
mov eax, dword [esi]
mov dword [ebx + 0x8c], eax
cmp dword [ebp - 0x6c], 0
jle 0x10051fb7
cmp dword [ebp - 0xa8], 0
jne 0x10051fb7
mov dword [ebx + 0x300], 0
mov ecx, dword [edi + 0x1a88]
test ecx, ecx
je 0x10052029
mov eax, dword [ebx + 0xac]
test eax, ecx
je 0x10052029
movss xmm0, dword [edi + 0x1aac]
movss xmm1, dword [edi + 0x1ab0]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
ucomiss xmm0, dword [0x101a9a00]
jbe 0x10052035
movsd xmm0, qword [edi + 0x1aa4]
movsd qword [ebx + 0xb8], xmm0
mov ecx, dword [edi + 0x1aac]
mov edx, dword [ebp - 0x20]
mov edx, dword [edx + 0x1ab0]
mov dword [ebx + 0xc4], edx
mov edi, dword [ebp - 0x20]
mov dword [ebx + 0xc0], ecx
and eax, 0xfffffff1
mov dword [ebx + 0xac], eax
jmp 0x1005209f
mov dword [ebp - 0x84], 0
jmp 0x100520a7
lea edx, [ecx - 1]
test ecx, edx
jne case.default.0x10056a90
and eax, 0xfffffff1
mov dword [ebx + 0xac], eax
mov dword [ebx + 0xb8], 0x7f7fffff
mov dword [ebx + 0xbc], 0x7f7fffff
mov edi, dword [ebp - 0x20]
movsd xmm0, qword [edi + 0x1aa4]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movsd xmm1, qword [ebx + 0xc]
movsd xmm2, qword [ebx + 0xc8]
movlps qword [ebx + 0xc], xmm0
subps xmm0, xmm1
addps xmm2, xmm0
movlps qword [ebx + 0xc8], xmm2
movsd xmm1, qword [ebx + 0xe0]
addps xmm1, xmm0
movlps qword [ebx + 0xe0], xmm1
mov al, 1
mov dword [ebp - 0x84], eax
mov ecx, dword [edi + 0x1a8c]
test ecx, ecx
je 0x1005212e
mov eax, dword [ebx + 0xb0]
test eax, ecx
je 0x1005212e
movss xmm1, dword [edi + 0x1ab4]
movss xmm2, dword [edi + 0x1ab8]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
seta dl
mov dword [ebp - 0xd8], edx
ucomiss xmm2, xmm0
seta dl
mov dword [ebp - 0x98], edx
lea edx, [ecx - 1]
test ecx, edx
jne case.default.0x10056a90
and eax, 0xfffffff1
mov dword [ebx + 0xb0], eax
movss xmm1, dword [edi + 0x1ab4]
ucomiss xmm1, xmm0
jbe 0x100521e9
mov dword [ebx + 0x90], 0
movss xmm0, dword [edi + 0x1ab4]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x1c], xmm0
jmp 0x100521fa
mov dword [ebp - 0x98], 0
mov dword [ebp - 0xd8], 0
cmp dword [edi + 0x1a90], 0
je 0x10052255
mov eax, dword [edi + 0x1abc]
mov ecx, dword [edi + 0x1ac0]
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0x34], eax
movd xmm0, ecx
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x10052173
jnp 0x1005226b
mov eax, dword [ebx + 8]
test al, 1
jne 0x100521a0
mov ecx, dword [0x1025afd0]
movss xmm2, dword [ecx + 0x1904]
mulss xmm2, dword [ebx + 0x26c]
movss xmm1, dword [ecx + 0x153c]
addss xmm1, xmm1
addss xmm1, xmm2
xorps xmm2, xmm2
test eax, 0x400
je 0x100521d7
mov eax, dword [0x1025afd0]
movss xmm3, dword [eax + 0x1904]
mulss xmm3, dword [ebx + 0x26c]
addss xmm3, dword [ebx + 0x14c]
movss xmm2, dword [eax + 0x153c]
addss xmm2, xmm2
addss xmm2, xmm3
addss xmm1, xmm2
addss xmm1, xmm0
movss dword [ebx + 0x38], xmm1
jmp 0x1005226b
mov dword [ebx + 0x90], 2
mov byte [ebx + 0x98], 0
movss xmm0, dword [edi + 0x1ab8]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x10052237
mov dword [ebx + 0x94], 0
movss xmm0, dword [edi + 0x1ab8]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x20], xmm0
cmp dword [edi + 0x1a90], 0
jne 0x1005214f
jmp 0x10052255
mov dword [ebx + 0x94], 2
mov byte [ebx + 0x98], 0
cmp dword [edi + 0x1a90], 0
jne 0x1005214f
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x70]
je 0x1005226b
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x38], 0
mov ecx, dword [edi + 0x1a94]
test ecx, ecx
je 0x10052292
mov eax, dword [ebx + 0xb4]
test eax, ecx
je 0x10052292
movzx ecx, byte [edi + 0x1ac4]
and eax, 0xfffffff1
mov dword [ebx + 0xb4], eax
mov byte [ebx + 0x7d], cl
cmp dword [edi + 0x1a9c], 0
je 0x100522a7
push ebx
call fcn.1004d840
mov edi, dword [ebp - 0x20]
add esp, 4
cmp byte [ebx + 0x80], 0
je 0x100522cd
movsd xmm0, qword [ebx + 0xac]
andps xmm0, xmmword [0x101a9a20]
movlps qword [ebx + 0xac], xmm0
and byte [ebx + 0xb4], 0xf7
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x70]
jne 0x1005233a
mov eax, dword [0x1025afd0]
mov ecx, dword [eax + 0x19e4]
mov byte [ecx + 0x7c], 1
mov esi, dword [eax + 0x19e4]
mov ecx, dword [esi + 0x274]
movups xmm0, xmmword [ebx + 0x1fc]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x14
movups xmmword [esp], xmm0
mov dword [esp + 0x10], 1
call fcn.1005fe00
mov ecx, dword [esi + 0x274]
mov eax, dword [ecx + 0x3c]
test eax, eax
jle case.default.0x10056a90
mov ecx, dword [ecx + 0x44]
shl eax, 4
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [esi + 0x1cc], xmm0
jmp 0x1005684a
mov ecx, dword [ebp - 0x28]
mov esi, ecx
and esi, 0x3000000
movd xmm0, ebx
mov eax, dword [ebp - 0xb8]
movd xmm1, eax
punpckldq xmm1, xmm0
pshufd xmm0, xmm1, 0x54
movdqu xmmword [ebx + 0x2ec], xmm0
mov dword [ebp - 0x2c], esi
cmp esi, 0x1000000
jne 0x10052385
test eax, eax
je 0x10052385
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x2f0]
mov dword [ebx + 0x2f0], eax
test ecx, 0x8000000
jne 0x100523b1
mov eax, ecx
and eax, 0x5000000
je 0x100523b1
cmp dword [ebp - 0xb8], 0
je 0x100523b1
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x2f4]
mov dword [ebx + 0x2f4], eax
test byte [ebx + 0xa], 0x80
je 0x100523da
mov eax, ebx
nop dword [eax]
mov eax, dword [eax + 0x2ec]
test eax, eax
je case.default.0x10056a90
mov dword [ebx + 0x2f8], eax
test byte [eax + 0xa], 0x80
jne 0x100523c0
mov byte [ebx + 0x7a], 1
mov word [ebx + 0x86], 0
mov eax, dword [edi + 0x19e0]
lea ecx, [eax + 1]
mov dword [edi + 0x19e0], ecx
mov word [ebx + 0x88], ax
mov word [ebx + 0x84], 0
movaps xmm0, xmmword [0x101a9a30]
movups xmmword [ebx + 0x1cc], xmm0
mov eax, dword [ebp - 0x70]
mov dword [ebx + 0x21c], eax
mov eax, dword [ebx + 0x1c4]
test eax, eax
jg 0x100524d9
mov ecx, eax
neg ecx
shr ecx, 1
mov edx, eax
sub edx, ecx
cmp edx, 2
mov ecx, 1
cmovge ecx, edx
test eax, eax
mov edi, 8
cmovne edi, ecx
lea eax, [edi*4]
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x10052468
inc dword [ecx + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov ecx, dword [0x1025afd8]
mov dword [ebp - 0x10], 0xffffffff
push ecx
push eax
call dword [0x101fe77c]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x1c8]
test eax, eax
je 0x100524ca
mov ecx, dword [ebx + 0x1c0]
shl ecx, 2
push ecx
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x1c8]
test eax, eax
je 0x100524ba
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x100524ba
dec dword [ecx + 0x36c]
push dword [0x1025afd8]
push eax
call dword [0x101fe780]
add esp, 8
mov dword [ebx + 0x1c8], esi
mov dword [ebx + 0x1c4], edi
mov edi, dword [ebp - 0x20]
mov dword [ebx + 0x1c0], 1
cmp dword [edi + 0x1b3c], 0
je 0x1005259e
movzx eax, byte [ebx + 0xa]
and al, 8
shr al, 3
or al, byte [ebp - 0x74]
jne 0x1005259e
mov esi, dword [ebx]
push esi
push dword [ebp + 8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
mov edi, dword [ebp - 0x20]
add esp, 8
test eax, eax
je 0x1005259e
mov ebx, dword [ebx + 0x4c]
push dword [ebp + 8]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov edi, eax
inc edi
cmp ebx, edi
jae 0x10052584
test esi, esi
je 0x1005254a
mov eax, dword [0x1025afd0]
test eax, eax
je 0x1005254a
dec dword [eax + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [0x1025afd8]
mov dword [ebp - 0x10], 0xffffffff
push eax
push esi
call dword [0x101fe780]
add esp, 8
mov eax, dword [0x1025afd0]
test eax, eax
je 0x10052570
inc dword [eax + 0x36c]
push dword [0x1025afd8]
push edi
call dword [0x101fe77c]
add esp, 8
mov esi, eax
mov ebx, edi
push edi
push dword [ebp + 8]
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x24]
mov dword [eax], esi
mov dword [eax + 0x4c], ebx
mov ebx, eax
mov edi, dword [ebp - 0x20]
cmp byte [ebx + 0x7d], 0
je 0x100525b6
cmp dword [ebx + 0x90], 0
jg 0x100525b6
cmp dword [ebx + 0x94], 0
jle 0x1005262c
cmp byte [ebx + 0x81], 0
je 0x100525c8
cmp dword [ebx + 0xa8], 0
je 0x10052623
movss xmm0, dword [ebx + 0x34]
pxor xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x100525ea
jp 0x100525ea
movss xmm0, dword [ebx + 0xe0]
subss xmm0, dword [ebx + 0xc]
addss xmm0, dword [ebx + 0x58]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss xmm2, dword [ebx + 0x38]
ucomiss xmm2, xmm1
jne 0x1005260f
jp 0x1005260f
movss xmm2, dword [ebx + 0xe4]
subss xmm2, dword [ebx + 0x10]
addss xmm2, dword [ebx + 0x5c]
cvttps2dq xmm1, xmm2
cvtdq2ps xmm1, xmm1
movsd xmm2, qword [ebx + 0x3c]
unpcklps xmm0, xmm1
addps xmm0, xmm2
jmp 0x10052631
cmp dword [ebx + 0xa4], 0
jle 0x100525c8
movsd xmm0, qword [ebx + 0x2c]
movlps qword [ebx + 0x2c], xmm0
mov eax, dword [ebx + 0xa4]
test eax, eax
jle 0x10052646
dec eax
mov dword [ebx + 0xa4], eax
mov ecx, dword [ebp - 0x74]
xor cl, 1
mov eax, dword [ebp - 0xd8]
and al, byte [ebp - 0x98]
or al, cl
mov ecx, dword [ebx + 0xa8]
test ecx, ecx
jg 0x10052668
test al, al
jne 0x10052679
dec ecx
test al, al
mov eax, 1
cmovne eax, ecx
mov dword [ebx + 0xa8], eax
mov ecx, dword [ebp - 0x28]
test ecx, 0x6000000
setne al
and al, byte [ebp - 0x35]
cmp al, 1
jne 0x100526d7
mov dword [ebx + 0xa8], 1
test cl, 0x40
je 0x100526d7
cmp byte [ebp - 0xd8], 0
jne 0x100526b2
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x14], 0
cmp byte [ebp - 0x98], 0
jne 0x100526c9
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x30], 0
mov esi, dword [0x1025afd0]
mov dword [esi + 0x19e4], ebx
movss xmm0, dword [esi + 0x1904]
mulss xmm0, dword [ebx + 0x26c]
movss dword [esi + 0x1914], xmm0
movss dword [esi + 0x1900], xmm0
test ecx, 0x1000000
jne 0x10052724
test ecx, 0x6000000
je 0x1005272c
mov eax, ecx
and eax, 0x8000000
jne 0x1005272c
lea eax, [edi + 0x1534]
jmp 0x10052732
lea eax, [edi + 0x152c]
jmp 0x10052732
lea eax, [edi + 0x1514]
movss xmm2, dword [eax]
movss dword [ebx + 0x48], xmm2
mov eax, dword [edi + 0x1508]
mov ecx, dword [edi + 0x150c]
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x3c], eax
movd xmm0, eax
cmp dword [ebp - 0xa8], 0
je 0x10052793
mov ecx, dword [ebp - 0x28]
mov eax, ecx
and eax, 0x4010000
jne 0x10052796
pxor xmm1, xmm1
ucomiss xmm2, xmm1
jne 0x10052796
jp 0x10052796
test ecx, 0x400
je 0x10052781
movss xmm1, dword [edi + 0x150c]
mov dword [ebx + 0x3c], 0
movss dword [ebx + 0x40], xmm1
pxor xmm0, xmm0
jmp 0x10052796
mov ecx, dword [ebp - 0x28]
lea eax, [ebx + 0x2c]
mov dword [ebp - 0x70], eax
movss xmm1, dword [edi + 0x1ae4]
movss xmm2, dword [edi + 0x1548]
movaps xmm3, xmm2
cmpless xmm3, xmm0
andps xmm0, xmm3
andnps xmm3, xmm2
orps xmm3, xmm0
movaps xmm0, xmm1
cmpless xmm0, xmm3
movaps xmm2, xmm0
andps xmm2, xmm3
andnps xmm0, xmm1
orps xmm0, xmm2
movss dword [ebx + 0x148], xmm0
movss xmm0, dword [edi + 0x1ae8]
movss dword [ebx + 0x14c], xmm0
test cl, 0x21
je 0x100527f7
mov byte [ebx + 0x7d], 0
jmp 0x100528cb
movss xmm0, dword [ebx + 0x10]
mov edx, dword [ebx + 8]
xorps xmm1, xmm1
test dl, 1
jne 0x10052827
movss xmm2, dword [esi + 0x1904]
mulss xmm2, dword [ebx + 0x26c]
movss xmm1, dword [esi + 0x153c]
addss xmm1, xmm1
addss xmm1, xmm2
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
movss xmm2, dword [ebx + 0xc]
unpcklps xmm2, xmm0
movss xmm0, dword [ebx + 0x1c]
unpcklps xmm0, xmm1
addps xmm0, xmm2
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
movlps qword [ebp - 0x48], xmm0
cmp dword [edi + 0x19e8], ebx
jne 0x10052891
cmp dword [edi + 0x19f0], 0
jne 0x10052891
cmp dword [edi + 0x19f8], 0
jne 0x10052891
lea eax, [ebp - 0x48]
lea ecx, [ebp - 0x50]
push 1
push eax
push ecx
mov edi, edx
call fcn.1004c4e0
mov edx, edi
mov ecx, dword [ebp - 0x20]
add esp, 0xc
test al, al
je 0x10052891
cmp byte [ecx + 0x3d5], 0
je 0x10052891
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x7e], 1
mov ebx, dword [ebp - 0x24]
cmp byte [ebx + 0x7e], 0
je 0x100528cb
xor byte [ebx + 0x7d], 1
test edx, 0x100
jne 0x100528bf
xorps xmm0, xmm0
ucomiss xmm0, dword [esi + 0x2c94]
jb 0x100528bf
movss xmm0, dword [esi + 0x1c]
movss dword [esi + 0x2c94], xmm0
mov ebx, dword [ebp - 0x24]
push ebx
call fcn.1004d840
add esp, 4
mov dword [ebp - 0x10], 0xffffffff
mov byte [ebx + 0x7e], 0
lea ecx, [ebp - 0xe0]
mov edx, ebx
push dword [ebp - 0x70]
call fcn.10059b00
add esp, 4
test byte [ebp - 0x28], 0x40
je 0x100528f9
cmp byte [ebx + 0x7d], 0
je 0x100529cf
cmp dword [ebx + 0x90], 0
jle 0x10052915
cmp byte [ebp - 0xd8], 0
je 0x1005292e
movss xmm2, dword [0x101a99dc]
jmp 0x1005295d
movss xmm2, dword [0x101a99dc]
cmp dword [ebx + 0x94], 0
movaps xmm1, xmm2
jg 0x1005295d
jmp 0x10052a06
cmp byte [ebx + 0x98], 0
movss xmm2, dword [ebp - 0xe0]
je 0x10052958
movss xmm0, dword [ebx + 0x1c]
movaps xmm1, xmm2
cmpless xmm1, xmm0
andps xmm0, xmm1
andnps xmm1, xmm2
orps xmm1, xmm0
movaps xmm2, xmm1
movss dword [ebx + 0x1c], xmm2
movss xmm1, dword [0x101a99dc]
cmp byte [ebp - 0x98], 0
jne 0x100529a3
cmp dword [ebx + 0x94], 0
jle 0x100529a3
cmp byte [ebx + 0x98], 0
movss xmm1, dword [ebp - 0xdc]
je 0x1005299e
movss xmm0, dword [ebx + 0x20]
movaps xmm3, xmm1
cmpless xmm1, xmm0
andps xmm0, xmm1
andnps xmm1, xmm3
orps xmm1, xmm0
movss dword [ebx + 0x20], xmm1
cmp byte [ebx + 0x7d], 0
jne 0x10052a06
test byte [ebx + 9], 1
jne 0x10052a06
mov eax, dword [0x1025afd0]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x2c94]
jb 0x10052a06
movss xmm0, dword [eax + 0x1c]
movss dword [eax + 0x2c94], xmm0
jmp 0x10052a06
movss xmm1, dword [0x101a99dc]
movaps xmm2, xmm1
cmp byte [ebp - 0xd8], 0
jne 0x100529f0
movss xmm2, dword [ebp - 0xe0]
movss dword [ebx + 0x1c], xmm2
cmp byte [ebp - 0x98], 0
jne 0x10052a06
movss xmm1, dword [ebp - 0xdc]
movss dword [ebx + 0x20], xmm1
movups xmmword [ebp - 0xd8], xmm1
movups xmmword [ebp - 0x98], xmm2
movss xmm0, dword [ebx + 0x1c]
movss xmm1, dword [ebx + 0x20]
lea edi, [ebp - 0x50]
mov ecx, edi
mov edx, ebx
call fcn.10059910
mov edx, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x1c], edx
movzx eax, byte [ebx + 0x7d]
movd xmm0, edx
test al, al
je 0x10052a96
cmp dword [ebp - 0xa8], 0
jne 0x10052a96
movss xmm1, dword [ebx + 0x10]
xorps xmm2, xmm2
test byte [ebx + 8], 1
mov edx, dword [ebp - 0x20]
jne 0x10052a82
mov ecx, dword [0x1025afd0]
movss xmm3, dword [ecx + 0x1904]
mulss xmm3, dword [ebx + 0x26c]
movss xmm2, dword [ecx + 0x153c]
addss xmm2, xmm2
addss xmm2, xmm3
movss xmm3, dword [ebx + 0xc]
unpcklps xmm3, xmm1
punpckldq xmm0, xmm2
addps xmm0, xmm3
subps xmm0, xmm3
jmp 0x10052aa1
movd xmm1, ecx
punpckldq xmm0, xmm1
mov edx, dword [ebp - 0x20]
movups xmm2, xmmword [ebp - 0x98]
movq qword [ebx + 0x14], xmm0
mov ecx, dword [ebp - 0x28]
mov esi, ecx
and esi, 0x20000000
mov dword [ebp - 0x74], esi
je 0x10052b57
movss xmm0, dword [0x101a9a40]
mov esi, dword [ebp - 0xb8]
movss xmm1, dword [esi + 0x14]
addss xmm1, xmm0
movss dword [ebx + 0x1c], xmm1
addss xmm0, dword [esi + 0x14]
movss dword [ebx + 0x14], xmm0
test al, al
jne 0x10052b5b
movss xmm0, dword [0x101a99dc]
cmpeqss xmm2, xmm0
movd eax, xmm2
and eax, 1
movss xmm1, dword [ebx + eax*8 + 0x1c]
movups xmm2, xmmword [ebp - 0xd8]
cmpeqss xmm2, xmm0
movd eax, xmm2
and eax, 1
movss xmm0, dword [ebx + eax*8 + 0x20]
test ecx, 0x4000
jne 0x10052b6a
movss xmm2, dword [ebx + 0x30]
ucomiss xmm2, xmm0
seta cl
test byte [ebp - 0x28], 8
sete al
and al, cl
mov ecx, dword [ebp - 0x28]
mov byte [ebx + 0x79], al
test cx, cx
js 0x10052bb4
mov esi, dword [ebp - 0x70]
movss xmm2, dword [esi]
test al, al
jne 0x10052b7a
xorps xmm3, xmm3
xor eax, eax
jmp 0x10052b84
test al, al
je 0x10052aeb
cmp byte [ebp - 0x35], 0
jne 0x10052c2f
jmp 0x10052c6f
mov byte [ebx + 0x79], 1
test cx, cx
js 0x10052bbe
mov eax, dword [ebp - 0x70]
movss xmm2, dword [eax]
movss xmm3, dword [edx + 0x1568]
mov al, 1
subss xmm1, xmm3
ucomiss xmm2, xmm1
jbe 0x10052bc6
mov ecx, dword [ebp - 0x28]
and ecx, 8
mov ecx, dword [ebp - 0x28]
jne 0x10052bc6
mov edx, ecx
and edx, 0x800
mov ecx, edx
shr ecx, 0xb
mov byte [ebx + 0x78], cl
xorps xmm1, xmm1
test edx, edx
jne 0x10052bd6
mov edx, dword [ebp - 0x20]
jmp 0x10052c10
mov byte [ebx + 0x78], 1
test al, al
je 0x10052bdd
jmp 0x10052c08
mov byte [ebx + 0x78], 1
mov al, 1
jmp 0x10052c08
mov byte [ebx + 0x78], 0
xorps xmm1, xmm1
test al, al
jne 0x10052c17
xorps xmm0, xmm0
jmp 0x10052c1f
test al, al
mov edx, dword [ebp - 0x20]
jne 0x10052c00
movss xmm1, dword [ebx + 0x30]
subss xmm0, dword [edx + 0x1568]
ucomiss xmm1, xmm0
seta cl
test byte [ebp - 0x28], 8
sete al
and al, cl
mov byte [ebx + 0x79], al
movzx ecx, byte [ebx + 0x78]
test cl, cl
je 0x100541a1
movss xmm1, dword [edx + 0x1568]
mov ecx, dword [ebp - 0x28]
test al, al
je 0x10052bd1
movss xmm0, dword [edx + 0x1568]
movss dword [ebx + 0x70], xmm0
movss dword [ebx + 0x74], xmm1
cmp byte [ebp - 0x35], 0
je 0x10052c6f
test ecx, 0x4000000
sete al
mov dword [ebx + 0xa0], 0xffffffff
or al, byte [ebp - 0x84]
jne 0x10052c6f
mov eax, dword [edx + 0x1a7c]
test eax, eax
jle case.default.0x10056a90
mov ecx, dword [edx + 0x1a84]
lea eax, [eax + eax*8]
movq xmm0, qword [ecx + eax*4 - 0x10]
movq qword [ebx + 0xc], xmm0
mov ecx, dword [ebp - 0x28]
test ecx, 0x1000000
je 0x10052dcd
mov eax, dword [ebp - 0xb8]
test eax, eax
je case.default.0x10056a90
cmp byte [eax + 0x7a], 0
je case.default.0x10056a90
mov ecx, eax
movzx eax, word [eax + 0x150]
mov word [ebx + 0x86], ax
mov eax, dword [ecx + 0x150]
cmp eax, dword [ecx + 0x154]
jne 0x10052d70
lea ebx, [eax + 1]
test eax, eax
je 0x10052cc9
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x10052cce
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
cmp eax, ebx
jge 0x10052d70
lea eax, [ebx*4]
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x10052cf2
inc dword [ecx + 0x36c]
push dword [0x1025afd8]
push eax
call dword [0x101fe77c]
add esp, 8
mov edi, eax
mov esi, dword [ebp - 0xb8]
mov eax, dword [esi + 0x158]
test eax, eax
je 0x10052d58
mov ecx, dword [esi + 0x150]
shl ecx, 2
push ecx
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x158]
test eax, eax
je 0x10052d42
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x10052d42
dec dword [ecx + 0x36c]
push dword [0x1025afd8]
push eax
call dword [0x101fe780]
add esp, 8
mov esi, dword [ebp - 0xb8]
mov dword [esi + 0x158], edi
mov dword [esi + 0x154], ebx
mov eax, dword [esi + 0x150]
mov edx, dword [ebp - 0x20]
lea edi, [ebp - 0x50]
mov esi, dword [ebp - 0xb8]
mov ecx, dword [esi + 0x158]
mov ebx, dword [ebp - 0x24]
mov dword [ecx + eax*4], ebx
mov ecx, dword [ebp - 0x28]
mov eax, ecx
shr eax, 0x1a
and eax, 1
inc dword [esi + 0x150]
or al, byte [ebp - 0x84]
jne 0x10052dcd
cmp dword [ebp - 0x2c], 0x3000000
je 0x10052dcd
mov eax, dword [ebp - 0x74]
shr eax, 0x19
xorps xmm0, xmm0
cvtsi2ss xmm0, eax
mov eax, dword [ebp - 0xb8]
movsd xmm1, qword [eax + 0xc8]
xorps xmm2, xmm2
movss xmm2, xmm0
addps xmm2, xmm1
movlps qword [ebx + 0xc], xmm2
shr dword [ebp - 0xa8], 0x18
movss xmm1, dword [ebx + 0xb8]
ucomiss xmm1, dword [0x101a99dc]
jne 0x10052de7
jnp 0x10052df0
cmp dword [ebx + 0xa8], 0
je 0x10052e50
test ecx, 0x10000000
jne 0x10052e31
test ecx, 0x4000000
sete al
or al, byte [ebp - 0x84]
jne 0x10052e0f
cmp dword [ebp - 0x6c], 0
jg 0x10052e31
test ecx, 0x2000000
sete al
or al, byte [ebp - 0x84]
jne 0x10052ed8
cmp dword [ebp - 0x2c], 0x3000000
je 0x10052ed8
push ebx
push edi
call fcn.10059c10
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
add esp, 8
movq xmm0, qword [ebp - 0x50]
movq qword [ebx + 0xc], xmm0
jmp 0x10052ed8
movsd xmm0, qword [ebx + 0xc]
movsd xmm2, qword [ebx + 0x1c]
movsd xmm3, qword [ebx + 0xc0]
mulps xmm3, xmm2
movss xmm2, dword [ebx + 0xbc]
unpcklps xmm1, xmm2
subps xmm1, xmm3
movsd xmm2, qword [edx + 0x1598]
movaps xmm3, xmm1
cmpleps xmm3, xmm2
andps xmm2, xmm3
andnps xmm3, xmm1
orps xmm3, xmm2
and dword [ebx + 0xac], 0xfffffff1
mov dword [ebx + 0xb8], 0x7f7fffff
mov dword [ebx + 0xbc], 0x7f7fffff
cvttps2dq xmm1, xmm3
cvtdq2ps xmm1, xmm1
movlps qword [ebx + 0xc], xmm1
subps xmm1, xmm0
movsd xmm0, qword [ebx + 0xc8]
addps xmm0, xmm1
movlps qword [ebx + 0xc8], xmm0
movsd xmm0, qword [ebx + 0xe0]
addps xmm0, xmm1
movlps qword [ebx + 0xe0], xmm0
mov eax, dword [ebp - 0x84]
or al, byte [ebp - 0xa8]
jne 0x10052f63
cmp dword [ebx + 0x90], 0
jg 0x10052f63
cmp dword [ebx + 0x94], 0
jg 0x10052f63
movss xmm1, dword [edx + 0x10]
pxor xmm0, xmm0
ucomiss xmm1, xmm0
jbe 0x10052f63
movss xmm1, dword [edx + 0x14]
ucomiss xmm1, xmm0
jbe 0x10052f63
movsd xmm1, qword [edx + 0x1590]
movsd xmm2, qword [edx + 0x1598]
movaps xmm0, xmm2
cmpleps xmm0, xmm1
andps xmm1, xmm0
andnps xmm0, xmm2
orps xmm0, xmm1
movsd xmm1, qword [ebx + 0xc]
movsd xmm2, qword [ebx + 0x14]
addps xmm1, xmm2
movaps xmm3, xmm0
cmpleps xmm3, xmm1
andps xmm1, xmm3
andnps xmm3, xmm0
orps xmm3, xmm1
subps xmm3, xmm2
movlps qword [ebx + 0xc], xmm3
movsd xmm1, qword [edx + 0x10]
subps xmm1, xmm0
minps xmm3, xmm1
movlps qword [ebx + 0xc], xmm3
movsd xmm0, qword [ebx + 0xc]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movlps qword [ebx + 0xc], xmm0
test ecx, 0x1000000
jne 0x10052f94
test ecx, 0x4000000
je 0x10052f9c
mov eax, ecx
and eax, 0x8000000
jne 0x10052f9c
lea eax, [edx + 0x1530]
jmp 0x10052fa2
lea eax, [edx + 0x1528]
jmp 0x10052fa2
lea eax, [edx + 0x1510]
movss xmm0, dword [eax]
movss dword [ebx + 0x44], xmm0
mov eax, dword [ebx + 0x338]
mov ecx, 0x7fffffff
mov edx, 0x7fffffff
cmp eax, 0x7fffffff
je 0x10052fd4
mov esi, dword [ebx + 0x328]
cmp esi, 0xffffffff
je 0x10052fd4
add eax, esi
inc eax
inc esi
cdq
idiv esi
mov dword [ebx + 0x330], edx
mov eax, dword [ebx + 0x33c]
cmp eax, 0x7fffffff
je 0x10052ffb
mov esi, dword [ebx + 0x32c]
cmp esi, 0xffffffff
je 0x10052ffb
add eax, esi
inc eax
inc esi
cdq
idiv esi
mov ecx, edx
lea eax, [ebx + 0xc]
mov dword [ebp - 0xd8], eax
mov esi, dword [ebp - 0x28]
mov edi, esi
and edi, 0x4000000
mov dword [ebx + 0x334], ecx
mov dword [ebx + 0x32c], 0xffffffff
mov dword [ebx + 0x328], 0xffffffff
mov dword [ebx + 0x33c], 0x7fffffff
mov dword [ebx + 0x338], 0x7fffffff
lea ecx, [ebp - 0x50]
mov edx, ebx
push 1
call fcn.10059ee0
add esp, 4
mov ecx, esi
shr ecx, 0xc
and ecx, 1
movzx eax, byte [ebp - 0x35]
xor al, 1
or al, cl
mov ecx, eax
xor cl, 1
xor edx, edx
cmp dword [ebp - 0x2c], 0
sete dl
mov dword [ebp - 0x6c], edi
test edi, edi
movzx ecx, cl
cmovne edx, ecx
test al, al
movsd xmm0, qword [ebp - 0x50]
movsd qword [ebx + 0x58], xmm0
mov dword [ebx + 0x60], 0x7f7fffff
cmovne edx, ecx
mov dword [ebp - 0x70], edx
mov dword [ebx + 0x64], 0x7f7fffff
mov edi, 0xffffffff
cmp byte [ebx + 0x7d], 0
je 0x100530a8
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
jmp 0x100530db
mov eax, ebx
mov esi, dword [ebp - 0x20]
cmp byte [esi + 0xaf], 1
mov ebx, 2
sbb ebx, 0
test byte [eax + 8], 0x42
mov ecx, dword [ebp - 0x28]
jne 0x100530db
cmp dword [eax + 0x90], 0
jg 0x100530db
cmp dword [eax + 0x94], 0
jle 0x100541a9
shr dword [ebp - 0x6c], 0x1a
mov ebx, ecx
shr ebx, 0x19
and ebx, 1
mov eax, dword [ebp - 0x24]
mov edx, edi
mov byte [eax + 0x83], dl
test cl, 0x40
mov dword [ebp - 0x54], ebx
jne 0x10053115
movss xmm0, dword [eax + 0x14]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x10053115
test bl, bl
jne 0x10053115
mulss xmm0, dword [0x101a9ac4]
jmp 0x10053125
movss xmm0, dword [esi + 0x1900]
mulss xmm0, dword [0x101a9ac8]
test ecx, 0x1000000
sete bl
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
mov edi, dword [ebp - 0x24]
movss dword [edi + 0x220], xmm0
mov ecx, dword [edi + 0x274]
call fcn.1005f6e0
movzx eax, byte [esi + 0x15a4]
movzx ecx, byte [esi + 0x15a5]
add ecx, ecx
or ecx, eax
mov eax, dword [edi + 0x274]
mov dword [eax + 0x24], ecx
mov ecx, dword [edi + 0x274]
mov eax, dword [esi + 0x18fc]
mov eax, dword [eax + 0x38]
push dword [eax + 8]
call fcn.1005ff70
mov eax, dword [0x1025afd0]
xorps xmm0, xmm0
movlps qword [ebp - 0xf0], xmm0
movsd xmm0, qword [eax + 0x10]
movsd qword [ebp - 0xe8], xmm0
or bl, byte [ebp - 0x6c]
jne 0x100531db
cmp dword [ebp - 0x2c], 0x3000000
je 0x100531db
mov ecx, dword [eax + 0x19e4]
mov byte [ecx + 0x7c], 1
mov esi, dword [eax + 0x19e4]
mov ecx, dword [esi + 0x274]
mov eax, dword [ebp - 0xb8]
movups xmm0, xmmword [eax + 0x1cc]
sub esp, 0x14
movups xmmword [esp], xmm0
mov dword [esp + 0x10], 1
jmp 0x1005321e
mov ecx, dword [eax + 0x19e4]
mov byte [ecx + 0x7c], 1
mov esi, dword [eax + 0x19e4]
mov ecx, dword [esi + 0x274]
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
sub esp, 0x14
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm0
mov dword [esp + 0x10], 1
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.1005fe00
mov eax, dword [esi + 0x274]
mov edx, dword [eax + 0x3c]
test edx, edx
jle case.default.0x10056a90
mov ebx, dword [eax + 0x44]
shl edx, 4
lea eax, [edx + ebx]
add eax, 0xfffffff0
lea ecx, [edx + ebx - 0xc]
lea edi, [edx + ebx - 4]
lea edx, [edx + ebx - 8]
movd xmm0, dword [edi]
movd xmm1, dword [ecx]
movss xmm2, dword [eax]
movss xmm3, dword [edx]
movss dword [esi + 0x1cc], xmm2
movd dword [esi + 0x1d0], xmm1
movss dword [esi + 0x1d4], xmm3
movd dword [esi + 0x1d8], xmm0
xor eax, eax
test dword [ebp - 0x28], 0x8000000
mov esi, dword [ebp - 0x24]
je 0x100532dd
mov eax, dword [0x1025afd0]
mov ecx, dword [eax + 0x1a70]
test ecx, ecx
jle 0x100532cd
mov edx, dword [eax + 0x1a78]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*8]
lea ecx, [edx + ecx*4]
add ecx, 0xffffffe0
jmp 0x100532b9
dec eax
add ecx, 0xffffffdc
cmp eax, 1
jbe 0x100532cd
mov edx, dword [ecx]
test edx, edx
je 0x100532b0
test byte [edx + 0xb], 8
je 0x100532b0
cmp esi, edx
je 0x100532d3
xor eax, eax
jmp 0x100532dd
xor edx, edx
cmp esi, edx
jne 0x100532c9
cmp dword [esi + 0xa8], 0
setle al
mov edx, dword [ebp - 0x20]
mov ecx, dword [edx + 0x1b38]
test ecx, ecx
je 0x100532f5
cmp esi, dword [ecx + 0x2f0]
sete bl
jmp 0x100532f7
xor ebx, ebx
mov ecx, eax
or cl, bl
cmp cl, 1
jne 0x1005340a
movzx eax, al
shl eax, 4
movss xmm0, dword [edx + 0x1c44]
mov ecx, dword [0x1025afd0]
movss xmm2, dword [eax + ecx + 0x18dc]
movss xmm1, dword [eax + ecx + 0x18e0]
mulss xmm0, dword [ecx + 0x1500]
mulss xmm0, dword [eax + ecx + 0x18e8]
movss xmm3, dword [0x101a8280]
movaps xmm4, xmm3
minss xmm4, xmm2
xorps xmm5, xmm5
cmpltss xmm2, xmm5
andnps xmm2, xmm4
movss xmm4, dword [0x101a8294]
mulss xmm2, xmm4
movss xmm6, dword [0x101a82c0]
addss xmm2, xmm6
cvttss2si edx, xmm2
minss xmm3, xmm1
cmpltss xmm1, xmm5
andnps xmm1, xmm3
mulss xmm1, xmm4
addss xmm1, xmm6
movss xmm2, dword [eax + ecx + 0x18e4]
cvttss2si ecx, xmm1
lea eax, [ebp - 0xe8]
shl ecx, 8
unpcklps xmm2, xmm0
xorps xmm0, xmm0
movaps xmm1, xmmword [0x101a9790]
minps xmm1, xmm2
cmpnltps xmm2, xmm0
andps xmm2, xmm1
mulps xmm2, xmmword [0x101a97a0]
addps xmm2, xmmword [0x101a9710]
or ecx, edx
cvttps2dq xmm0, xmm2
movdqa xmm1, xmm0
pslld xmm1, 0x18
pslld xmm0, 0x10
movd edx, xmm0
or edx, ecx
pshufd xmm0, xmm1, 0x55
movd esi, xmm0
or esi, edx
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x274]
mov dword [ebp - 0x10], 0xffffffff
lea edx, [ebp - 0xf0]
push 0xf
push 0
push esi
push eax
push edx
call fcn.10061f10
mov edx, dword [ebp - 0x20]
test bl, bl
mov ebx, dword [ebp - 0x24]
je 0x1005358e
cmp ebx, dword [edx + 0x1b38]
jne 0x1005358e
movsd xmm1, qword [ebx + 0xc]
movss xmm2, dword [edx + 0x1900]
shufps xmm2, xmm2, 0
movaps xmm0, xmm1
subps xmm0, xmm2
movlps qword [ebp - 0x50], xmm0
movsd xmm3, qword [ebx + 0x14]
addps xmm3, xmm1
addps xmm3, xmm2
movlps qword [ebp - 0x48], xmm3
movups xmm1, xmmword [ebp - 0xf0]
movlhps xmm0, xmm3
movaps xmm2, xmm1
cmpleps xmm2, xmm0
cmpleps xmm0, xmm1
shufps xmm0, xmm2, 0xe4
pslld xmm0, 0x1f
movmskps eax, xmm0
cmp al, 0xf
je 0x1005358e
movss xmm0, dword [edx + 0x1b44]
mulss xmm0, dword [0x101a9848]
mov eax, dword [0x1025afd0]
movss xmm2, dword [eax + 0x18cc]
mulss xmm0, dword [eax + 0x1500]
movss xmm1, dword [eax + 0x18d0]
mulss xmm0, dword [eax + 0x18d8]
movss xmm3, dword [0x101a8280]
movaps xmm4, xmm3
minss xmm4, xmm2
xorps xmm5, xmm5
cmpltss xmm2, xmm5
andnps xmm2, xmm4
movss xmm4, dword [0x101a8294]
mulss xmm2, xmm4
movss xmm6, dword [0x101a82c0]
addss xmm2, xmm6
cvttss2si edx, xmm2
minss xmm3, xmm1
cmpltss xmm1, xmm5
andnps xmm1, xmm3
mulss xmm1, xmm4
addss xmm1, xmm6
cvttss2si ecx, xmm1
shl ecx, 8
or ecx, edx
lea edx, [ebp - 0x48]
movss xmm1, dword [eax + 0x18d4]
unpcklps xmm1, xmm0
xorps xmm0, xmm0
movaps xmm2, xmmword [0x101a9790]
minps xmm2, xmm1
cmpnltps xmm1, xmm0
andps xmm1, xmm2
mulps xmm1, xmmword [0x101a97a0]
addps xmm1, xmmword [0x101a9710]
cvttps2dq xmm0, xmm1
movdqa xmm1, xmm0
pslld xmm1, 0x18
pslld xmm0, 0x10
movd eax, xmm0
or eax, ecx
pshufd xmm0, xmm1, 0x55
movd esi, xmm0
or esi, eax
mov ecx, dword [ebx + 0x274]
mov eax, dword [ebp - 0x20]
movd xmm0, dword [eax + 0x1510]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x14
movd dword [esp + 0xc], xmm0
mov dword [esp + 4], edx
lea eax, [ebp - 0x50]
mov dword [esp], eax
mov dword [esp + 8], esi
mov dword [esp + 0x10], 0xf
call fcn.10061f10
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x1b34]
test eax, eax
jne 0x1005359e
mov eax, dword [edx + 0x1af4]
mov cl, 1
test byte [ebp - 0x70], 1
jne 0x100535bd
test eax, eax
je 0x100535bb
mov ecx, dword [ebx + 0x2f4]
cmp ecx, dword [eax + 0x2f4]
sete cl
jmp 0x100535bd
xor ecx, ecx
mov dword [ebp - 0x98], ecx
movss xmm1, dword [ebx + 0x10]
pxor xmm0, xmm0
test byte [ebx + 8], 1
jne 0x100535f7
mov eax, dword [0x1025afd0]
movss xmm2, dword [eax + 0x1904]
mulss xmm2, dword [ebx + 0x26c]
movss xmm0, dword [eax + 0x153c]
addss xmm0, xmm0
addss xmm0, xmm2
addss xmm1, xmm0
lea edi, [ebx + 0x48]
movss xmm0, dword [ebx + 0x44]
movss dword [ebp - 0x84], xmm0
movss xmm2, dword [ebx + 0xc]
addss xmm2, dword [ebx + 0x1c]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], ecx
movss dword [ebp - 0xc0], xmm2
movss dword [ebp - 0xbc], xmm1
cmp byte [ebx + 0x7d], 0
movd xmm5, ecx
mov dword [ebp - 0x2c], edi
je 0x100537bf
movdqu xmmword [ebp - 0xa8], xmm5
mov dword [ebp - 0x74], eax
movss xmm0, dword [edx + 0x1544]
movss dword [ebp - 0x6c], xmm0
movss xmm4, dword [edi]
movss dword [edx + 0x1544], xmm4
mov eax, 0xe
cmp byte [ebp - 0x98], 0
je 0x1005368b
cmp byte [edx + 0x1b56], 1
sbb eax, 0
mov dword [ebp - 0x10], 0xffffffff
mov ecx, dword [0x1025afd0]
shl eax, 4
movss xmm6, dword [ecx + eax + 0x15ac]
movss xmm4, dword [ecx + eax + 0x15b8]
mulss xmm4, dword [ecx + 0x1500]
movss xmm5, dword [0x101a8280]
movaps xmm7, xmm5
minss xmm7, xmm6
xorps xmm0, xmm0
cmpltss xmm6, xmm0
andnps xmm6, xmm7
movss xmm7, dword [0x101a8294]
mulss xmm6, xmm7
movss xmm3, dword [0x101a82c0]
addss xmm6, xmm3
cvttss2si esi, xmm6
movss xmm6, dword [ecx + eax + 0x15b0]
minss xmm5, xmm6
cmpltss xmm6, xmm0
andnps xmm6, xmm5
mulss xmm6, xmm7
addss xmm6, xmm3
cvttss2si edx, xmm6
shl edx, 8
or edx, esi
movss xmm0, dword [ecx + eax + 0x15b4]
unpcklps xmm0, xmm4
xorps xmm3, xmm3
movaps xmm4, xmmword [0x101a9790]
minps xmm4, xmm0
cmpnltps xmm0, xmm3
andps xmm0, xmm4
mulps xmm0, xmmword [0x101a97a0]
addps xmm0, xmmword [0x101a9710]
cvttps2dq xmm0, xmm0
movdqa xmm3, xmm0
pslld xmm3, 0x18
pslld xmm0, 0x10
movd eax, xmm0
or eax, edx
pshufd xmm0, xmm3, 0x55
movd ecx, xmm0
or ecx, eax
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x1c
movss xmm0, dword [ebp - 0x84]
movss dword [esp + 0x18], xmm0
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm2
movups xmm0, xmmword [ebp - 0xa8]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x74]
movss dword [esp], xmm0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 1
call fcn.1004a130
mov edx, dword [ebp - 0x20]
add esp, 0x1c
movss xmm0, dword [ebp - 0x6c]
movss dword [edx + 0x1544], xmm0
jmp 0x100554db
mov ecx, dword [ebp - 0x28]
test cl, cl
js 0x10055311
mov eax, dword [ebp - 0xa8]
or al, byte [ebp - 0x6c]
or al, byte [ebp - 0x54]
je 0x100538e2
mov eax, ecx
and eax, 0x23000000
cmp eax, 0x1000000
jne 0x10053971
mov eax, dword [0x1025afd0]
movss xmm0, dword [eax + 0x1900]
mov ecx, dword [eax + 0x18fc]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x1c
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], eax
movss dword [esp + 4], xmm0
lea eax, [ebp - 0x50]
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 0xbf800000
mov dword [esp + 8], 0x7f7fffff
call fcn.1006b160
mov eax, dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x50]
addss xmm0, dword [0x101a97d4]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x50], xmm0
movss xmm1, dword [eax + 0x1500]
movss xmm3, dword [0x101a8280]
movaps xmm2, xmm3
minss xmm2, xmm1
xorps xmm0, xmm0
cmpltss xmm1, xmm0
andnps xmm1, xmm2
mulss xmm1, dword [0x101a8294]
addss xmm1, dword [0x101a82c0]
cmp dword [eax + 0x1aa0], 0
je 0x100545c9
movss xmm2, dword [eax + 0x1ae0]
ucomiss xmm2, dword [0x101a8280]
mov edx, dword [ebp - 0x28]
jne 0x100538b8
jnp 0x100545cc
movaps xmm1, xmm3
minss xmm1, xmm2
xorps xmm3, xmm3
cmpltss xmm2, xmm3
andnps xmm2, xmm1
mulss xmm2, dword [0x101a8294]
addss xmm2, dword [0x101a82c0]
movaps xmm1, xmm2
jmp 0x100545cc
mov eax, dword [edx + 0x1aa0]
test ecx, 0x200000
jne 0x10053b88
mov ecx, dword [ebp - 0x68]
movss xmm2, dword [ecx]
movss xmm4, dword [0x101a8280]
movaps xmm0, xmm4
minss xmm0, xmm2
xorps xmm1, xmm1
cmpltss xmm2, xmm1
andnps xmm2, xmm0
mulss xmm2, dword [0x101a8294]
addss xmm2, dword [0x101a82c0]
test eax, eax
je 0x10054b9b
movss xmm3, dword [edx + 0x1ae0]
ucomiss xmm3, dword [0x101a8280]
mov edx, dword [ebp - 0x28]
jne 0x10053947
jnp 0x10054b9e
movaps xmm0, xmm4
minss xmm0, xmm3
xorps xmm2, xmm2
cmpltss xmm3, xmm2
andnps xmm3, xmm0
mulss xmm3, dword [0x101a8294]
addss xmm3, dword [0x101a82c0]
movaps xmm2, xmm3
jmp 0x10054b9e
cmp dword [ebp - 0x74], 0
jne 0x10053983
mov eax, dword [ebp - 0x6c]
or al, byte [ebp - 0x54]
je 0x10055311
movss xmm0, dword [edx + 0x1500]
movsd xmm1, qword [0x101a9bf0]
movsd qword [ebp - 0x50], xmm1
mov dword [ebp - 0x48], 0x3dc8c8c9
movss dword [ebp - 0x44], xmm0
mov dword [ebp - 0x10], 0xffffffff
lea esi, [ebp - 0x50]
mov ecx, esi
call fcn.10049910
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x1aa0], 0
je 0x10053a09
movss xmm0, dword [ecx + 0x1ae0]
ucomiss xmm0, dword [0x101a8280]
jne 0x100539d4
jnp 0x10053a09
and eax, 0xffffff
movss xmm1, dword [0x101a8280]
minss xmm1, xmm0
xorps xmm2, xmm2
cmpltss xmm0, xmm2
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si ecx, xmm0
shl ecx, 0x18
or eax, ecx
mov edx, dword [ebp - 0x28]
and edx, 1
mov ecx, dword [ebx + 0x274]
lea edx, [edx + edx*2]
or edx, 0xc
movsd xmm0, qword [ebx + 0xc]
movsd xmm1, qword [ebx + 0x14]
addps xmm1, xmm0
addps xmm1, xmmword [0x101a9c00]
movlps qword [ebp - 0x50], xmm1
xorps xmm1, xmm1
test byte [ebx + 8], 1
jne 0x10053a62
mov edi, dword [0x1025afd0]
movss xmm2, dword [edi + 0x1904]
mulss xmm2, dword [ebx + 0x26c]
movss xmm1, dword [edi + 0x153c]
addss xmm1, xmm1
addss xmm1, xmm2
addss xmm0, dword [0x101a9c10]
xorps xmm2, xmm2
unpcklps xmm2, xmm1
addps xmm2, xmm0
movlps qword [ebp - 0x64], xmm2
sub esp, 0x14
mov dword [esp + 0x10], edx
movss xmm0, dword [ebp - 0x84]
movss dword [esp + 0xc], xmm0
mov dword [esp + 8], eax
mov dword [esp + 4], esi
lea eax, [ebp - 0x64]
mov dword [esp], eax
call fcn.10061f10
mov esi, dword [ebx + 0x274]
mov edi, dword [ebp - 0x68]
movss xmm0, dword [edi]
movsd xmm1, qword [0x101a9c20]
movsd qword [ebp - 0x50], xmm1
mov dword [ebp - 0x48], 0x3e34b4b5
movss dword [ebp - 0x44], xmm0
lea ecx, [ebp - 0x50]
call fcn.10049910
movsd xmm0, qword [ebx + 0xc]
movsd xmm1, qword [ebx + 0x14]
addps xmm1, xmm0
addps xmm1, xmmword [0x101a9c00]
movlps qword [ebp - 0x64], xmm1
movss xmm1, dword [0x101a9c10]
addss xmm1, xmm0
movss dword [ebp - 0x34], xmm1
shufps xmm0, xmm0, 0x55
movss dword [ebp - 0x30], xmm0
lea edx, [ebp - 0x34]
mov ecx, esi
push 0x3f800000
push 0xf
push 0
push eax
lea ebx, [ebp - 0x64]
push ebx
push edx
call fcn.10061e50
mov eax, dword [ebp - 0x24]
mov esi, dword [eax + 0x274]
movss xmm0, dword [edi]
movsd xmm1, qword [0x101a9c30]
movsd qword [ebp - 0x50], xmm1
mov dword [ebp - 0x48], 0x3b808081
movss dword [ebp - 0x44], xmm0
lea ecx, [ebp - 0x50]
call fcn.10049910
mov ecx, dword [ebp - 0x24]
movsd xmm0, qword [ecx + 0xc]
mov ecx, dword [ebp - 0x24]
movsd xmm1, qword [ecx + 0x14]
addps xmm1, xmm0
addps xmm1, xmmword [0x101a9c40]
movlps qword [ebp - 0x64], xmm1
addps xmm0, xmmword [0x101a9c50]
movlps qword [ebp - 0x34], xmm0
mov ecx, esi
push 0x3f800000
push 0xf
push 0
push eax
push ebx
lea eax, [ebp - 0x34]
push eax
mov ebx, dword [ebp - 0x24]
jmp 0x10054197
movss xmm2, dword [0x1025afb8]
movss xmm4, dword [0x101a8280]
movaps xmm0, xmm4
minss xmm0, xmm2
xorps xmm1, xmm1
cmpltss xmm2, xmm1
andnps xmm2, xmm0
mulss xmm2, dword [0x101a8294]
addss xmm2, dword [0x101a82c0]
test eax, eax
je 0x10053bf6
movss xmm3, dword [edx + 0x1ae0]
ucomiss xmm3, dword [0x101a8280]
jne 0x10053bd1
jnp 0x10053bf6
movaps xmm0, xmm4
minss xmm0, xmm3
xorps xmm2, xmm2
cmpltss xmm3, xmm2
andnps xmm3, xmm0
mulss xmm3, dword [0x101a8294]
addss xmm3, dword [0x101a82c0]
movaps xmm2, xmm3
mov edx, ecx
and edx, 1
cvttss2si eax, xmm2
shl eax, 0x18
or eax, 0xc0c0c
mov ecx, dword [ebx + 0x274]
lea edx, [edx + edx*2]
or edx, 0xc
movd xmm2, dword [ebx + 0xc]
movsd xmm0, qword [ebx + 0x14]
movdqa xmm3, xmm2
punpckldq xmm3, xmm5
addps xmm3, xmm0
movlps qword [ebp - 0x50], xmm3
test byte [ebx + 8], 1
jne 0x10053c5f
mov esi, dword [0x1025afd0]
movss xmm0, dword [esi + 0x1904]
mulss xmm0, dword [ebx + 0x26c]
movss xmm1, dword [esi + 0x153c]
addss xmm1, xmm1
addss xmm1, xmm0
mov dword [ebp - 0x10], 0xffffffff
punpckldq xmm2, xmm1
xorps xmm0, xmm0
unpcklps xmm0, xmm5
addps xmm0, xmm2
movlps qword [ebp - 0x64], xmm0
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x14
mov dword [esp + 0x10], edx
movss xmm0, dword [ebp - 0x84]
movss dword [esp + 0xc], xmm0
mov dword [esp + 8], eax
mov esi, ebx
lea ebx, [ebp - 0x50]
mov dword [esp + 4], ebx
lea eax, [ebp - 0x64]
mov dword [esp], eax
mov edi, eax
call fcn.10061f10
mov ecx, dword [esi + 0x274]
movss xmm0, dword [esi + 0xc]
movss xmm1, dword [esi + 0x10]
movss xmm2, dword [esi + 0x18]
addss xmm2, xmm1
movss xmm3, dword [esi + 0x14]
addss xmm3, xmm0
sub esp, 0x14
movss dword [esp + 0xc], xmm2
movss dword [esp + 8], xmm3
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
mov dword [esp + 0x10], 1
call fcn.1005fe00
mov ecx, dword [esi + 0x274]
call fcn.1005ff50
movss xmm0, dword [0x1025afb8]
movss xmm1, dword [0x101a8280]
minss xmm1, xmm0
xorps xmm2, xmm2
cmpltss xmm0, xmm2
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si eax, xmm0
mov ecx, dword [esi + 0x274]
shl eax, 0x18
movsd xmm0, qword [esi + 0xc]
movsd xmm1, qword [esi + 0x14]
addps xmm1, xmm0
movlps qword [ebp - 0x50], xmm1
addps xmm0, xmmword [0x101a7130]
movlps qword [ebp - 0x64], xmm0
push 0x3f800000
push 0xf
push 0
push eax
push ebx
push edi
call fcn.10061e50
movss xmm0, dword [0x1025afb8]
movss xmm1, dword [0x101a8280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a9780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si eax, xmm0
mov ecx, dword [esi + 0x274]
shl eax, 0x18
or eax, 0x303030
movsd xmm0, qword [esi + 0xc]
movsd xmm1, qword [esi + 0x14]
addps xmm1, xmm0
addps xmm1, xmmword [0x101a9770]
movlps qword [ebp - 0x50], xmm1
addps xmm0, xmmword [0x101a9790]
movlps qword [ebp - 0x64], xmm0
push 0x3f800000
push 0xf
push 0
push eax
push ebx
push edi
call fcn.10061e50
mov ecx, dword [esi + 0x274]
movss xmm0, dword [0x1025afb8]
movss xmm1, dword [0x101a8280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a9780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0xb4b4b4
movsd xmm0, qword [esi + 0xc]
addps xmm0, xmmword [0x101a9ad0]
movlps qword [ebp - 0x50], xmm0
push 0
push str.confirmation
push eax
push ebx
call fcn.10062eb0
movss xmm0, dword [0x101fe450]
movss xmm1, dword [0x101fe44c]
movss xmm3, dword [0x101a8280]
movaps xmm2, xmm3
minss xmm2, xmm1
xorps xmm5, xmm5
cmpltss xmm1, xmm5
andnps xmm1, xmm2
movss xmm2, dword [0x101a8294]
mulss xmm1, xmm2
movss xmm4, dword [0x101a82c0]
addss xmm1, xmm4
cvttss2si eax, xmm1
movaps xmm1, xmm3
minss xmm1, xmm0
cmpltss xmm0, xmm5
andnps xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, xmm4
cvttss2si edx, xmm0
movss xmm0, dword [0x1025afb8]
movss xmm1, dword [0x101fe454]
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x101a9790]
minps xmm0, xmm1
cmpnltps xmm1, xmmword [0x101a7130]
andps xmm1, xmm0
mulps xmm1, xmmword [0x101a97a0]
addps xmm1, xmmword [0x101a9710]
mov ecx, dword [esi + 0x274]
cvttps2dq xmm0, xmm1
movdqa xmm1, xmm0
pslld xmm1, 0x10
pslld xmm0, 0x18
pshufd xmm0, xmm0, 0x55
por xmm0, xmm1
movd edi, xmm0
movss xmm1, dword [0x101a9ae0]
movss xmm0, dword [esi + 0x14]
addss xmm0, xmm1
addss xmm0, dword [0x101a9ae4]
addss xmm0, dword [0x101a9ae8]
movaps xmm1, xmmword [0x101a9af0]
shufps xmm1, xmm0, 1
shufps xmm1, xmm0, 0xe2
movsd xmm0, qword [esi + 0xc]
addps xmm1, xmm0
movlps qword [ebp - 0x50], xmm1
addps xmm0, xmmword [0x101a9b00]
movlps qword [ebp - 0x64], xmm0
shl edx, 8
or edx, eax
or edi, edx
push 0x3f800000
push 0xf
push 0
push edi
push ebx
lea edi, [ebp - 0x64]
push edi
call fcn.10061e50
movss xmm0, dword [0x1025afb8]
minss xmm0, dword [0x101a9b10]
movss xmm1, dword [0x101a8280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a9780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si eax, xmm0
movss xmm0, dword [esi + 0x14]
movss xmm1, dword [0x101a9ae0]
addss xmm0, xmm1
addss xmm0, dword [0x101a9ae4]
addss xmm0, dword [0x101a9ae8]
mov ecx, dword [esi + 0x274]
movaps xmm1, xmmword [0x101a9af0]
shufps xmm1, xmm0, 1
shufps xmm1, xmm0, 0xe2
movsd xmm0, qword [esi + 0xc]
addps xmm1, xmm0
movlps qword [ebp - 0x50], xmm1
addps xmm0, xmmword [0x101a9b20]
movlps qword [ebp - 0x64], xmm0
shl eax, 0x18
push 0x3f800000
push 0xf
push 0
push eax
push ebx
push edi
call fcn.10061e50
mov ecx, dword [esi + 0x274]
movss xmm0, dword [0x1025afb8]
minss xmm0, dword [0x101a8280]
xorps xmm1, xmm1
maxss xmm1, xmm0
mulss xmm1, dword [0x101a8294]
addss xmm1, dword [0x101a82c0]
cvttss2si eax, xmm1
movss xmm0, dword [esi + 0x18]
movss xmm1, dword [0x101a9ae0]
addss xmm0, xmm1
movss xmm1, dword [esi + 0x14]
unpcklps xmm1, xmm0
addps xmm1, xmmword [0x101a9b30]
addps xmm1, xmmword [0x101a9b40]
addps xmm1, xmmword [0x101a9b50]
movsd xmm0, qword [esi + 0xc]
addps xmm1, xmm0
movlps qword [ebp - 0x50], xmm1
addps xmm0, xmmword [0x101a9b60]
movlps qword [ebp - 0x64], xmm0
shl eax, 0x18
or eax, 0xd0d0d
push 0xf
push 0
push eax
push ebx
push edi
call fcn.10061f10
movss xmm0, dword [0x1025afb8]
minss xmm0, dword [0x101a8280]
xorps xmm1, xmm1
maxss xmm1, xmm0
mulss xmm1, dword [0x101a8294]
addss xmm1, dword [0x101a82c0]
cvttss2si eax, xmm1
movss xmm0, dword [esi + 0x18]
movss xmm1, dword [0x101a9ae0]
addss xmm0, xmm1
movss xmm1, dword [esi + 0x14]
unpcklps xmm1, xmm0
mov ecx, dword [esi + 0x274]
addps xmm1, xmmword [0x101a9b30]
addps xmm1, xmmword [0x101a9b40]
addps xmm1, xmmword [0x101a9b50]
movsd xmm0, qword [esi + 0xc]
addps xmm1, xmm0
movlps qword [ebp - 0x50], xmm1
addps xmm0, xmmword [0x101a9b60]
movlps qword [ebp - 0x64], xmm0
shl eax, 0x18
push 0x3f800000
push 0xf
push 0
push eax
push ebx
push edi
call fcn.10061e50
mov ecx, dword [esi + 0x274]
movss xmm0, dword [0x1025afb8]
minss xmm0, dword [0x101a8280]
xorps xmm1, xmm1
maxss xmm1, xmm0
mulss xmm1, dword [0x101a8294]
addss xmm1, dword [0x101a82c0]
cvttss2si eax, xmm1
shl eax, 0x18
or eax, 0x333333
movss xmm1, dword [0x101a9ae0]
addss xmm1, dword [esi + 0x18]
movss xmm0, dword [esi + 0x14]
unpcklps xmm0, xmm1
addps xmm0, xmmword [0x101a9b30]
addps xmm0, xmmword [0x101a9b40]
addps xmm0, xmmword [0x101a9b70]
addps xmm0, xmmword [0x101a9b80]
movsd xmm1, qword [esi + 0xc]
addps xmm0, xmm1
movlps qword [ebp - 0x50], xmm0
addps xmm1, xmmword [0x101a9b90]
movlps qword [ebp - 0x64], xmm1
push 0x3f800000
push 0xf
push 0
push eax
push ebx
mov ebx, esi
push edi
call fcn.10061e50
jmp 0x10054b8d
xorps xmm1, xmm1
jmp 0x10052c10
cmp byte [eax + 0x7b], 0
je 0x100530db
mov eax, dword [ebp - 0x24]
movss xmm0, dword [eax + 0x44]
addss xmm0, dword [0x101a8280]
mov eax, dword [0x1025afd0]
movzx ecx, byte [eax + 0xaf]
mov dword [ebp - 0x54], eax
movss xmm1, dword [eax + 0x1900]
movss xmm2, dword [0x101a9840]
mulss xmm2, xmm1
addss xmm2, xmm0
mulss xmm1, dword [0x101a9a44]
movaps xmm0, xmm2
cmpless xmm0, xmm1
movaps xmm3, xmm0
andnps xmm3, xmm2
andps xmm0, xmm1
orps xmm0, xmm3
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x101a97f0]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movups xmmword [ebp - 0x118], xmm0
xorps xmm0, xmm0
mov byte [ebp - 0x85], cl
test cl, cl
je 0x10054238
movss xmm0, dword [0x101a98f4]
movups xmmword [ebp - 0x128], xmm0
push str.RESIZE
call fcn.1005b040
add esp, 4
movss xmm0, dword [ebp - 0xe0]
movss dword [ebp - 0xf8], xmm0
movss xmm0, dword [ebp - 0xdc]
movss dword [ebp - 0xf4], xmm0
movups xmm0, xmmword [ebp - 0x118]
shufps xmm0, xmm0, 0
movaps xmm1, xmmword [0x101a97e0]
movups xmmword [ebp - 0x180], xmm0
xorps xmm1, xmm0
movups xmmword [ebp - 0x170], xmm1
movups xmm0, xmmword [ebp - 0x128]
shufps xmm0, xmm0, 0
movups xmmword [ebp - 0x128], xmm0
movaps xmm4, xmmword [0x101a9a50]
xor esi, esi
mov edi, 0x101a950c
movaps xmm1, xmm4
jmp 0x100542ce
movups xmm4, xmmword [ebp - 0x84]
movups xmm1, xmmword [ebp - 0x98]
inc esi
add edi, 0x18
cmp ebx, esi
je 0x10056969
movups xmmword [ebp - 0x98], xmm1
mov eax, dword [ebp - 0x24]
movsd xmm0, qword [eax + 0xc]
movsd xmm2, qword [eax + 0x14]
addps xmm2, xmm0
subps xmm2, xmm0
movsd xmm5, qword [edi - 8]
movsd xmm6, qword [edi]
movaps xmm1, xmm6
movups xmm3, xmmword [ebp - 0x180]
mulps xmm1, xmm3
mulps xmm2, xmm5
addps xmm2, xmm0
movlhps xmm2, xmm2
movups xmm3, xmmword [ebp - 0x128]
mulps xmm3, xmm6
movaps xmm0, xmm3
movlhps xmm0, xmm1
movaps xmm1, xmm2
subps xmm1, xmm0
addps xmm0, xmm2
movaps xmm2, xmm0
movsd xmm2, xmm1
movupd xmmword [ebp - 0x50], xmm2
movaps xmm2, xmm0
unpckhpd xmm2, xmm0
ucomiss xmm1, xmm2
jbe 0x10054342
movss dword [ebp - 0x50], xmm2
movss dword [ebp - 0x48], xmm1
shufps xmm1, xmm1, 0x55
shufps xmm0, xmm0, 0xff
ucomiss xmm1, xmm0
jbe 0x10054359
movss dword [ebp - 0x4c], xmm0
movss dword [ebp - 0x44], xmm1
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x1c0]
test eax, eax
jle case.default.0x10056a90
mov ecx, dword [ecx + 0x1c8]
mov eax, dword [ecx + eax*4 - 4]
not eax
mov ecx, esi
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x101a9104]
mov ecx, esi
shr ecx, 8
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x101a9104]
mov ecx, esi
shr ecx, 0x10
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x101a9104]
movzx ecx, al
shr eax, 8
mov edx, esi
shr edx, 0x18
xor edx, ecx
xor eax, dword [edx*4 + 0x101a9104]
not eax
mov ecx, dword [0x1025afd0]
cmp dword [ecx + 0x1a04], eax
jne 0x100543d9
mov dword [ecx + 0x1a0c], eax
movups xmmword [ebp - 0x140], xmm3
movups xmmword [ebp - 0x150], xmm6
movups xmmword [ebp - 0x108], xmm5
movups xmmword [ebp - 0x84], xmm4
cmp dword [ecx + 0x1a08], eax
jne 0x10054404
mov byte [ecx + 0x1a18], 1
push 0x2020
lea ecx, [ebp - 0x64]
push ecx
lea ecx, [ebp - 0xc8]
push ecx
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.10072260
add esp, 0x14
movzx eax, byte [ebp - 0x64]
movzx ecx, byte [ebp - 0xc8]
or cl, al
je 0x100542b4
mov ecx, esi
and ecx, 1
mov edx, 6
sub edx, ecx
mov ecx, dword [ebp - 0x54]
mov dword [ecx + 0x1cbc], edx
test al, al
movups xmm4, xmmword [ebp - 0x84]
movups xmm1, xmmword [ebp - 0x98]
je 0x100542c2
cmp byte [ecx + 0x3d5], 0
je 0x100544fd
test esi, esi
jne 0x100544fd
lea ecx, [ebp - 0xf0]
mov edx, dword [ebp - 0x24]
movss xmm0, dword [ebp - 0xf8]
movss xmm1, dword [ebp - 0xf4]
call fcn.10059910
mov eax, dword [0x1025afd0]
cmp dword [eax + 0x1a04], 0
movsd xmm1, qword [ebp - 0xf0]
setne byte [eax + 0x1a14]
je 0x100544c2
mov dword [eax + 0x1a10], 0
mov word [eax + 0x1a16], 0
mov dword [eax + 0x1a04], 0
mov dword [eax + 0x1a1c], 0
mov dword [eax + 0x1a20], 0
mov byte [eax + 0x1a15], 0
mov dword [eax + 0x1a2c], 0
movups xmm4, xmmword [ebp - 0x84]
jmp 0x100542c2
movups xmm0, xmmword [ebp - 0x170]
movups xmm3, xmmword [ebp - 0x150]
mulps xmm3, xmm0
mov edx, dword [ebp - 0x24]
movsd xmm0, qword [edx + 0x14]
movups xmm2, xmmword [ebp - 0x108]
movaps xmm1, xmm2
cmpeqps xmm1, xmmword [0x101a7130]
movups xmmword [ebp - 0x98], xmm1
movups xmm1, xmmword [ebp - 0x140]
subps xmm3, xmm1
mulps xmm3, xmm2
addps xmm3, xmm1
mov eax, dword [ebp - 0x54]
movsd xmm4, qword [eax + 0xe0]
movsd xmm1, qword [eax + 0x1a24]
subps xmm4, xmm1
addps xmm4, xmm3
movsd xmm1, qword [edx + 0xc]
addps xmm0, xmm1
movaps xmm3, xmm4
subps xmm1, xmm4
mulps xmm1, xmm2
addps xmm1, xmm4
movups xmmword [ebp - 0x84], xmm1
subps xmm3, xmm0
mulps xmm3, xmm2
addps xmm3, xmm0
subps xmm3, xmm1
movaps xmm1, xmm3
movaps xmm0, xmm3
movups xmmword [ebp - 0x108], xmm3
shufps xmm1, xmm3, 0x55
lea ecx, [ebp - 0xf0]
call fcn.10059910
movups xmm4, xmmword [ebp - 0x84]
movsd xmm1, qword [ebp - 0xf0]
movaps xmm0, xmm1
movups xmm2, xmmword [ebp - 0x108]
subps xmm0, xmm2
movups xmm2, xmmword [ebp - 0x98]
andps xmm0, xmm2
subps xmm4, xmm0
jmp 0x100542c2
mov edx, dword [ebp - 0x28]
cvttss2si eax, xmm1
and edx, 1
shl eax, 0x18
or eax, 0x131313
mov ecx, dword [ebx + 0x274]
lea edx, [edx + edx*2]
or edx, 0xc
movsd xmm1, qword [ebx + 0xc]
movsd xmm2, qword [ebx + 0x14]
addps xmm2, xmm1
movlps qword [ebp - 0x64], xmm2
test byte [ebx + 8], 1
jne 0x10054624
mov esi, dword [0x1025afd0]
movss xmm2, dword [esi + 0x1904]
mulss xmm2, dword [ebx + 0x26c]
movss xmm0, dword [esi + 0x153c]
addss xmm0, xmm0
addss xmm0, xmm2
xorps xmm2, xmm2
unpcklps xmm2, xmm0
addps xmm1, xmm2
movlps qword [ebp - 0x34], xmm1
sub esp, 0x14
mov dword [esp + 0x10], edx
movss xmm0, dword [ebp - 0x84]
movss dword [esp + 0xc], xmm0
mov dword [esp + 8], eax
lea edi, [ebp - 0x64]
mov dword [esp + 4], edi
lea eax, [ebp - 0x34]
mov dword [esp], eax
call fcn.10061f10
mov ebx, dword [ebp - 0x68]
movss xmm0, dword [ebx]
movss xmm1, dword [0x101a8280]
minss xmm1, xmm0
xorps xmm2, xmm2
cmpltss xmm0, xmm2
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si eax, xmm0
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x274]
shl eax, 0x18
or eax, 0xc0c0c
mov edx, dword [ebp - 0x24]
movsd xmm0, qword [edx + 0xc]
mov edx, dword [ebp - 0x24]
movss xmm1, dword [edx + 0x18]
xorps xmm2, xmm2
unpcklps xmm2, xmm1
addps xmm2, xmm0
movlps qword [ebp - 0x64], xmm2
push 0x3f800000
push eax
push edi
push dword [ebp - 0xd8]
call fcn.10061cd0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x274]
movss xmm0, dword [ebx]
movss xmm1, dword [0x101a8280]
minss xmm1, xmm0
xorps xmm3, xmm3
cmpltss xmm0, xmm3
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0xc0c0c
mov edx, dword [ebp - 0x24]
movsd xmm0, qword [edx + 0xc]
mov edx, dword [ebp - 0x24]
movsd xmm1, qword [edx + 0x14]
addps xmm1, xmm0
movss xmm2, dword [0x101a8280]
addps xmm2, xmm1
movlps qword [ebp - 0x64], xmm2
addss xmm0, xmm3
movss dword [ebp - 0x34], xmm0
shufps xmm1, xmm1, 0x55
movss dword [ebp - 0x30], xmm1
push 0x3f800000
push eax
push edi
lea esi, [ebp - 0x34]
push esi
call fcn.10061cd0
movss xmm0, dword [ebx]
movss xmm1, dword [0x101a8280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a9780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si eax, xmm0
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x274]
shl eax, 0x18
or eax, 0xc0c0c
mov edx, dword [ebp - 0x24]
movsd xmm0, qword [edx + 0xc]
mov edx, dword [ebp - 0x24]
movss xmm1, dword [edx + 0x14]
addps xmm1, xmm0
movlps qword [ebp - 0x64], xmm1
shufps xmm0, xmm0, 0x55
mov edx, dword [ebp - 0x24]
addss xmm0, dword [edx + 0x18]
movss dword [ebp - 0x34], xmm1
movss dword [ebp - 0x30], xmm0
push 0x3f800000
push eax
push edi
push esi
call fcn.10061cd0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x274]
movss xmm0, dword [ebx]
movss xmm1, dword [0x101a8280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a9780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0xc0c0c
mov edx, dword [ebp - 0x24]
movsd xmm0, qword [edx + 0xc]
movss xmm1, dword [0x101a99bc]
addps xmm1, xmm0
movlps qword [ebp - 0x64], xmm1
push 0x3f800000
push eax
mov esi, edi
push edi
push dword [ebp - 0xd8]
call fcn.10061cd0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x274]
movss xmm0, dword [ebx]
movss xmm1, dword [0x101a8280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a9780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0xc0c0c
mov edx, dword [ebp - 0x24]
movsd xmm0, qword [edx + 0xc]
mov edx, dword [ebp - 0x24]
movss xmm1, dword [edx + 0x14]
addps xmm1, xmm0
movlps qword [ebp - 0x64], xmm1
movss xmm2, dword [ebp - 0x50]
addss xmm2, dword [0x101a9ac8]
addss xmm2, xmm0
movss dword [ebp - 0x34], xmm2
shufps xmm1, xmm1, 0x55
movss dword [ebp - 0x30], xmm1
push 0x3f800000
push eax
push edi
lea edi, [ebp - 0x34]
push edi
call fcn.10061cd0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x274]
movss xmm0, dword [ebx]
movss xmm3, dword [0x101a8280]
movaps xmm1, xmm3
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a9780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0x2d2d2d
movss xmm1, dword [0x101a97b0]
mov edx, dword [ebp - 0x24]
movss xmm0, dword [edx + 0x18]
addss xmm0, xmm1
mov edx, dword [ebp - 0x24]
movsd xmm1, qword [edx + 0xc]
movaps xmm2, xmm3
unpcklps xmm2, xmm0
addps xmm2, xmm1
movlps qword [ebp - 0x64], xmm2
shufps xmm1, xmm1, 0x55
addss xmm1, xmm3
movss dword [ebp - 0x34], xmm2
movss dword [ebp - 0x30], xmm1
push 0x3f800000
push eax
push esi
push edi
call fcn.10061cd0
movss xmm0, dword [ebx]
movss xmm5, dword [0x101a8280]
movaps xmm1, xmm5
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a9780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si eax, xmm0
mov ecx, dword [ebp - 0x24]
movss xmm1, dword [ecx + 0x18]
mov ecx, dword [ebp - 0x24]
movss xmm2, dword [ecx + 0x14]
movaps xmm0, xmmword [0x101a98a0]
movss xmm0, xmm2
mov ecx, dword [ebp - 0x24]
movsd xmm2, qword [ecx + 0xc]
movaps xmm3, xmm2
shufps xmm3, xmm2, 0x55
addss xmm3, xmm1
movss xmm4, dword [0x101a97b0]
addss xmm1, xmm4
movaps xmm4, xmm5
unpcklps xmm4, xmm1
addps xmm4, xmm2
unpcklps xmm2, xmm3
addps xmm2, xmm0
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x274]
movlps qword [ebp - 0x64], xmm2
movlps qword [ebp - 0x34], xmm4
shl eax, 0x18
or eax, 0x2d2d2d
push 0x3f800000
push eax
push esi
push edi
call fcn.10061cd0
movss xmm0, dword [ebx]
movss xmm1, dword [0x101a8280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a9780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si eax, xmm0
mov ecx, dword [ebp - 0x24]
movsd xmm0, qword [ecx + 0x14]
movaps xmm1, xmm0
movss xmm2, dword [0x101a97b0]
addss xmm1, xmm2
movaps xmm2, xmmword [0x101a9a90]
shufps xmm2, xmm1, 1
shufps xmm2, xmm1, 0xe2
mov ecx, dword [ebp - 0x24]
movsd xmm1, qword [ecx + 0xc]
addps xmm2, xmm1
addps xmm0, xmm1
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x274]
addps xmm0, xmmword [0x101a9770]
movlps qword [ebp - 0x64], xmm2
movlps qword [ebp - 0x34], xmm0
shl eax, 0x18
or eax, 0x2d2d2d
push 0x3f800000
push eax
push esi
push edi
call fcn.10061cd0
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x274]
movss xmm0, dword [ebx]
movss xmm2, dword [0x101a8280]
movaps xmm1, xmm2
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a9780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0x2d2d2d
mov edx, dword [ebp - 0x24]
movsd xmm0, qword [edx + 0xc]
movaps xmm1, xmmword [0x101a9c60]
addps xmm1, xmm0
movlps qword [ebp - 0x64], xmm1
addss xmm0, xmm2
movss dword [ebp - 0x34], xmm0
shufps xmm1, xmm1, 0x55
movss dword [ebp - 0x30], xmm1
push 0x3f800000
push eax
push esi
push edi
call fcn.10061cd0
movss xmm0, dword [ebx]
mov ebx, dword [ebp - 0x24]
movss xmm1, dword [0x101a8280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a9780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si eax, xmm0
mov ecx, dword [ebx + 0x274]
shl eax, 0x18
movss xmm1, dword [0x101a97b0]
addss xmm1, dword [ebx + 0x14]
or eax, 0x2d2d2d
movsd xmm0, qword [ebx + 0xc]
movaps xmm2, xmmword [0x101a9a90]
shufps xmm2, xmm1, 1
shufps xmm2, xmm1, 0xe2
addps xmm2, xmm0
movlps qword [ebp - 0x64], xmm2
movss xmm1, dword [0x101a9ac8]
addss xmm1, dword [ebp - 0x50]
addss xmm1, xmm0
movss dword [ebp - 0x34], xmm1
shufps xmm2, xmm2, 0x55
movss dword [ebp - 0x30], xmm2
push 0x3f800000
push eax
push esi
push edi
call fcn.10061cd0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x2c]
jmp 0x10055311
mov edx, dword [ebp - 0x28]
and edx, 1
cvttss2si eax, xmm2
shl eax, 0x18
or eax, 0xc0c0c
mov ecx, dword [ebx + 0x274]
lea edx, [edx + edx*2]
or edx, 0xc
movss xmm2, dword [ebx + 0xc]
movsd xmm0, qword [ebx + 0x14]
movaps xmm3, xmm2
unpcklps xmm3, xmm5
addps xmm3, xmm0
movlps qword [ebp - 0x50], xmm3
test byte [ebx + 8], 1
jne 0x10054c03
mov esi, dword [0x1025afd0]
movss xmm0, dword [esi + 0x1904]
mulss xmm0, dword [ebx + 0x26c]
movss xmm1, dword [esi + 0x153c]
addss xmm1, xmm1
addss xmm1, xmm0
mov dword [ebp - 0x10], 0xffffffff
unpcklps xmm2, xmm1
xorps xmm0, xmm0
unpcklps xmm0, xmm5
addps xmm0, xmm2
movlps qword [ebp - 0x64], xmm0
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x14
mov dword [esp + 0x10], edx
movss xmm0, dword [ebp - 0x84]
movss dword [esp + 0xc], xmm0
mov dword [esp + 8], eax
lea esi, [ebp - 0x50]
mov dword [esp + 4], esi
mov edi, esi
lea eax, [ebp - 0x64]
mov dword [esp], eax
call fcn.10061f10
mov ecx, dword [ebx + 0x274]
movss xmm0, dword [ebx + 0xc]
movss xmm1, dword [ebx + 0x10]
movss xmm2, dword [ebx + 0x18]
addss xmm2, xmm1
movss xmm3, dword [ebx + 0x14]
addss xmm3, xmm0
sub esp, 0x14
movss dword [esp + 0xc], xmm2
movss dword [esp + 8], xmm3
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
mov dword [esp + 0x10], 1
call fcn.1005fe00
mov ecx, dword [ebx + 0x274]
call fcn.1005ff50
mov esi, dword [ebp - 0x68]
movss xmm0, dword [esi]
movss xmm1, dword [0x101a8280]
minss xmm1, xmm0
xorps xmm2, xmm2
cmpltss xmm0, xmm2
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si eax, xmm0
mov ecx, dword [ebx + 0x274]
shl eax, 0x18
movsd xmm0, qword [ebx + 0xc]
movsd xmm1, qword [ebx + 0x14]
addps xmm1, xmm0
movlps qword [ebp - 0x50], xmm1
addps xmm0, xmmword [0x101a7130]
movlps qword [ebp - 0x64], xmm0
push 0x3f800000
push 0xf
push 0
push eax
push edi
lea edi, [ebp - 0x64]
push edi
call fcn.10061e50
movss xmm0, dword [esi]
movss xmm1, dword [0x101a8280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a9780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si eax, xmm0
mov ecx, dword [ebx + 0x274]
shl eax, 0x18
or eax, 0x303030
movsd xmm0, qword [ebx + 0xc]
movsd xmm1, qword [ebx + 0x14]
addps xmm1, xmm0
addps xmm1, xmmword [0x101a9770]
movlps qword [ebp - 0x50], xmm1
addps xmm0, xmmword [0x101a9790]
movlps qword [ebp - 0x64], xmm0
push 0x3f800000
push 0xf
push 0
push eax
lea eax, [ebp - 0x50]
push eax
push edi
call fcn.10061e50
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0xb
mov dword [ebp - 0x3c], 0xf
mov dword [ebp - 0x50], 0x206e614a
mov dword [ebp - 0x4c], 0x32203431
mov dword [ebp - 0x49], 0x34323032
movss xmm0, dword [0x101fe44c]
movss xmm2, dword [0x101a8280]
movaps xmm1, xmm2
minss xmm1, xmm0
xorps xmm3, xmm3
cmpltss xmm0, xmm3
andnps xmm0, xmm1
movss xmm1, dword [0x101fe450]
movss xmm4, dword [0x101a8294]
mulss xmm0, xmm4
movss xmm5, dword [0x101a82c0]
addss xmm0, xmm5
cvttss2si eax, xmm0
movaps xmm0, xmm2
minss xmm0, xmm1
cmpltss xmm1, xmm3
andnps xmm1, xmm0
mulss xmm1, xmm4
addss xmm1, xmm5
cvttss2si edx, xmm1
mov byte [ebp - 0x45], 0
movss xmm0, dword [esi]
movss xmm1, dword [0x101fe454]
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x101a9790]
minps xmm0, xmm1
cmpnltps xmm1, xmmword [0x101a7130]
andps xmm1, xmm0
mulps xmm1, xmmword [0x101a97a0]
addps xmm1, xmmword [0x101a9710]
cvttps2dq xmm0, xmm1
movdqa xmm1, xmm0
pslld xmm1, 0x10
pslld xmm0, 0x18
pshufd xmm0, xmm0, 0x55
por xmm0, xmm1
mov ecx, dword [ebx + 0x274]
movd esi, xmm0
movsd xmm0, qword [ebx + 0xc]
addps xmm0, xmmword [0x101a9ba0]
movlps qword [ebp - 0x64], xmm0
shl edx, 8
or edx, eax
or esi, edx
mov dword [ebp - 0x10], 0
push 0
push str.supremacy
push esi
push edi
call fcn.10062eb0
mov edx, dword [ebp - 0x24]
mov ecx, dword [edx + 0x274]
mov eax, dword [ebp - 0x68]
movss xmm0, dword [eax]
movss xmm1, dword [0x101a8280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a9780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0x878787
movsd xmm0, qword [edx + 0xc]
addps xmm0, xmmword [0x101a9bb0]
movlps qword [ebp - 0x64], xmm0
push 0
push 0x101f1b4d
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.10062eb0
lea edi, [ebp - 0x64]
mov edx, dword [ebp - 0x24]
mov ecx, dword [edx + 0x274]
cmp dword [ebp - 0x3c], 0x10
lea eax, [ebp - 0x50]
mov esi, edx
jb 0x10054f0c
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x68]
movss xmm0, dword [edx]
movss xmm1, dword [0x101a8280]
minss xmm1, xmm0
xorps xmm2, xmm2
cmpltss xmm0, xmm2
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si edx, xmm0
shl edx, 0x18
or edx, 0x8e8e8e
movsd xmm0, qword [esi + 0xc]
addps xmm0, xmmword [0x101a9bc0]
movlps qword [ebp - 0x64], xmm0
push 0
push eax
push edx
push edi
call fcn.10062eb0
mov esi, dword [ebp - 0x24]
mov ecx, dword [esi + 0x274]
movss xmm0, dword [0x101fe450]
movss xmm1, dword [0x101fe44c]
movss xmm4, dword [0x101a8280]
movaps xmm2, xmm4
minss xmm2, xmm1
xorps xmm5, xmm5
cmpltss xmm1, xmm5
andnps xmm1, xmm2
movss xmm2, dword [0x101a8294]
mulss xmm1, xmm2
movss xmm3, dword [0x101a82c0]
addss xmm1, xmm3
cvttss2si edx, xmm1
movaps xmm1, xmm4
minss xmm1, xmm0
cmpltss xmm0, xmm5
andnps xmm0, xmm1
mulss xmm0, xmm2
addss xmm0, xmm3
cvttss2si eax, xmm0
shl eax, 8
or eax, edx
mov edx, dword [ebp - 0x68]
movss xmm0, dword [edx]
movss xmm1, dword [0x101fe454]
unpcklps xmm1, xmm0
xorps xmm0, xmm0
movaps xmm2, xmmword [0x101a9790]
minps xmm2, xmm1
cmpnltps xmm1, xmm0
andps xmm1, xmm2
mulps xmm1, xmmword [0x101a97a0]
addps xmm1, xmmword [0x101a9710]
cvttps2dq xmm0, xmm1
movdqa xmm1, xmm0
pslld xmm1, 0x10
pslld xmm0, 0x18
pshufd xmm0, xmm0, 0x55
por xmm0, xmm1
movd edx, xmm0
movss xmm0, dword [esi + 0x14]
addss xmm0, dword [0x101a9ae0]
addss xmm0, dword [0x101a9ae4]
or edx, eax
addss xmm0, dword [0x101a9ae8]
movsd xmm1, qword [esi + 0xc]
movaps xmm2, xmmword [0x101a9af0]
movss xmm2, xmm0
addps xmm2, xmm1
movlps qword [ebp - 0x64], xmm2
addps xmm1, xmmword [0x101a9b00]
movlps qword [ebp - 0x34], xmm1
lea esi, [ebp - 0x34]
push 0x3f800000
push 0xf
push 0
push edx
lea eax, [ebp - 0x64]
push eax
push esi
call fcn.10061e50
mov eax, dword [ebp - 0x68]
movss xmm0, dword [eax]
minss xmm0, dword [0x101a9b10]
movss xmm1, dword [0x101a8280]
minss xmm1, xmm0
xorps xmm2, xmm2
cmpltss xmm0, xmm2
andnps xmm0, xmm1
mulss xmm0, dword [0x101a8294]
addss xmm0, dword [0x101a82c0]
cvttss2si eax, xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [edx + 0x274]
movss xmm0, dword [edx + 0x14]
addss xmm0, dword [0x101a9ae0]
addss xmm0, dword [0x101a9ae4]
addss xmm0, dword [0x101a9ae8]
shl eax, 0x18
movsd xmm1, qword [edx + 0xc]
movaps xmm2, xmmword [0x101a9af0]
movss xmm2, xmm0
addps xmm2, xmm1
movlps qword [ebp - 0x64], xmm2
addps xmm1, xmmword [0x101a9b20]
movlps qword [ebp - 0x34], xmm1
push 0x3f800000
push 0xf
push 0
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.10061e50
mov eax, dword [ebp - 0x68]
movss xmm0, dword [eax]
minss xmm0, dword [0x101a8280]
xorps xmm1, xmm1
maxss xmm1, xmm0
mulss xmm1, dword [0x101a8294]
addss xmm1, dword [0x101a82c0]
cvttss2si eax, xmm1
mov edx, dword [ebp - 0x24]
mov ecx, dword [edx + 0x274]
shl eax, 0x18
or eax, 0xd0d0d
movss xmm0, dword [edx + 0x18]
addss xmm0, dword [0x101a9ae0]
movss xmm1, dword [edx + 0x14]
unpcklps xmm1, xmm0
addps xmm1, xmmword [0x101a9b30]
addps xmm1, xmmword [0x101a9b40]
addps xmm1, xmmword [0x101a9b50]
movsd xmm0, qword [edx + 0xc]
addps xmm1, xmm0
movlps qword [ebp - 0x64], xmm1
addps xmm0, xmmword [0x101a9bd0]
movlps qword [ebp - 0x34], xmm0
push 0xf
push 0
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.10061f10
mov eax, dword [ebp - 0x68]
movss xmm0, dword [eax]
minss xmm0, dword [0x101a8280]
mov edx, dword [ebp - 0x24]
mov ecx, dword [edx + 0x274]
xorps xmm1, xmm1
maxss xmm1, xmm0
mulss xmm1, dword [0x101a8294]
addss xmm1, dword [0x101a82c0]
cvttss2si eax, xmm1
shl eax, 0x18
movss xmm0, dword [edx + 0x18]
addss xmm0, dword [0x101a9ae0]
movss xmm1, dword [edx + 0x14]
unpcklps xmm1, xmm0
addps xmm1, xmmword [0x101a9b30]
addps xmm1, xmmword [0x101a9b40]
addps xmm1, xmmword [0x101a9b50]
movsd xmm0, qword [edx + 0xc]
addps xmm1, xmm0
movlps qword [ebp - 0x64], xmm1
addps xmm0, xmmword [0x101a9bd0]
movlps qword [ebp - 0x34], xmm0
push 0x3f800000
push 0xf
push 0
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.10061e50
mov eax, dword [ebp - 0x68]
movss xmm0, dword [eax]
minss xmm0, dword [0x101a8280]
xorps xmm1, xmm1
maxss xmm1, xmm0
mulss xmm1, dword [0x101a8294]
addss xmm1, dword [0x101a82c0]
mov edx, dword [ebp - 0x24]
mov ecx, dword [edx + 0x274]
cvttss2si eax, xmm1
shl eax, 0x18
or eax, 0x333333
movss xmm0, dword [edx + 0x18]
addss xmm0, dword [0x101a9ae0]
movss xmm1, dword [edx + 0x14]
unpcklps xmm1, xmm0
addps xmm1, xmmword [0x101a9b30]
addps xmm1, xmmword [0x101a9b40]
addps xmm1, xmmword [0x101a9b70]
addps xmm1, xmmword [0x101a9b80]
movsd xmm0, qword [edx + 0xc]
addps xmm1, xmm0
movlps qword [ebp - 0x64], xmm1
addps xmm0, xmmword [0x101a9be0]
movlps qword [ebp - 0x34], xmm0
push 0x3f800000
push 0xf
push 0
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.10061e50
mov eax, dword [ebp - 0x3c]
cmp eax, 0x10
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x2c]
jb 0x1005530b
mov ecx, dword [ebp - 0x50]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x10055301
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10056ec7
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.10157950
add esp, 8
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
mov dword [edx + 0x1aa0], 0
test cl, 1
jne 0x1005549f
movzx eax, byte [ebp - 0x98]
shl eax, 4
mov ecx, dword [0x1025afd0]
movss xmm3, dword [eax + ecx + 0x166c]
movss xmm1, dword [eax + ecx + 0x1670]
movss xmm0, dword [eax + ecx + 0x1678]
mulss xmm0, dword [ecx + 0x1500]
movss xmm2, dword [0x101a8280]
movaps xmm4, xmm2
minss xmm4, xmm3
xorps xmm5, xmm5
cmpltss xmm3, xmm5
andnps xmm3, xmm4
movss xmm4, dword [0x101a8294]
mulss xmm3, xmm4
movss xmm6, dword [0x101a82c0]
addss xmm3, xmm6
cvttss2si edx, xmm3
minss xmm2, xmm1
cmpltss xmm1, xmm5
andnps xmm1, xmm2
mulss xmm1, xmm4
addss xmm1, xmm6
movss xmm2, dword [eax + ecx + 0x1674]
cvttss2si ecx, xmm1
lea eax, [ebp - 0xc0]
shl ecx, 8
unpcklps xmm2, xmm0
xorps xmm0, xmm0
movaps xmm1, xmmword [0x101a9790]
minps xmm1, xmm2
cmpnltps xmm2, xmm0
andps xmm2, xmm1
mulps xmm2, xmmword [0x101a97a0]
addps xmm2, xmmword [0x101a9710]
or ecx, edx
cvttps2dq xmm0, xmm2
movdqa xmm1, xmm0
pslld xmm1, 0x18
pslld xmm0, 0x10
movd edx, xmm0
or edx, ecx
pshufd xmm0, xmm1, 0x55
movd esi, xmm0
or esi, edx
mov ecx, dword [ebx + 0x274]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x14
movss xmm0, dword [ebp - 0x84]
movss dword [esp + 0xc], xmm0
mov dword [esp + 4], eax
lea eax, [ebp - 0xc8]
mov dword [esp], eax
mov dword [esp + 8], esi
mov dword [esp + 0x10], 3
call fcn.10061f10
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
test ecx, 0x400
je 0x100554a7
mov eax, dword [ebx + 8]
xorps xmm0, xmm0
test al, 1
jne 0x1005547b
mov ecx, dword [0x1025afd0]
movss xmm1, dword [ecx + 0x1904]
mulss xmm1, dword [ebx + 0x26c]
movss xmm0, dword [ecx + 0x153c]
addss xmm0, xmm0
addss xmm0, xmm1
movss xmm1, dword [ebx + 0x10]
test eax, 0x400
jne 0x10055b9b
mov eax, dword [0x1025afd0]
mov dword [ebp - 0x10], 0xffffffff
xorps xmm2, xmm2
jmp 0x10055bcf
test ecx, 0x400
jne 0x1005544b
cmp byte [ebx + 0x78], 0
je 0x100554c1
mov dword [ebp - 0x10], 0xffffffff
push 0
call fcn.10073680
mov edx, dword [ebp - 0x20]
add esp, 4
cmp byte [ebx + 0x79], 0
je 0x100554db
mov dword [ebp - 0x10], 0xffffffff
push 1
call fcn.10073680
mov edx, dword [ebp - 0x20]
add esp, 4
mov ecx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x20]
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x24], ecx
movss xmm2, dword [ebx + 0x58]
movss xmm1, dword [ebx + 0x3c]
movsd xmm0, qword [ebx + 0xc]
movaps xmm5, xmm0
shufps xmm5, xmm0, 0x55
movaps xmm6, xmm0
movss dword [ebp - 0x84], xmm2
subss xmm6, xmm2
movaps xmm2, xmm6
addss xmm2, xmm1
movss dword [ebx + 0x20c], xmm2
movss xmm2, dword [ebx + 0x5c]
movss dword [ebp - 0x6c], xmm2
subss xmm5, xmm2
movss xmm2, dword [ebx + 0x40]
movaps xmm7, xmm5
movups xmmword [ebp - 0xa8], xmm2
addss xmm7, xmm2
mov ecx, dword [ebx + 8]
pxor xmm3, xmm3
xorps xmm4, xmm4
test cl, 1
jne 0x10055574
mov edx, dword [0x1025afd0]
movss xmm2, dword [edx + 0x1904]
mulss xmm2, dword [ebx + 0x26c]
movss xmm4, dword [edx + 0x153c]
mov edx, dword [ebp - 0x20]
addss xmm4, xmm4
addss xmm4, xmm2
addss xmm7, xmm4
test ecx, 0x400
je 0x100555b1
mov edx, dword [0x1025afd0]
movss xmm2, dword [edx + 0x1904]
mulss xmm2, dword [ebx + 0x26c]
addss xmm2, dword [ebx + 0x14c]
movss xmm3, dword [edx + 0x153c]
mov edx, dword [ebp - 0x20]
addss xmm3, xmm3
addss xmm3, xmm2
addss xmm7, xmm3
movss dword [ebx + 0x210], xmm7
subss xmm6, xmm1
movss xmm7, dword [ebx + 0x34]
xorps xmm3, xmm3
ucomiss xmm7, xmm3
jne 0x100555da
jp 0x100555da
movss xmm7, dword [ebx + 0x14]
subss xmm7, dword [ebx + 0x70]
addss xmm6, xmm7
movss dword [ebx + 0x214], xmm6
movups xmm7, xmmword [ebp - 0xa8]
subss xmm5, xmm7
movss xmm6, dword [ebx + 0x38]
ucomiss xmm6, xmm3
jne 0x10055607
jp 0x10055607
movss xmm6, dword [ebx + 0x18]
subss xmm6, dword [ebx + 0x74]
addss xmm5, xmm6
movss dword [ebx + 0x218], xmm5
xorps xmm5, xmm5
addss xmm1, xmm5
subss xmm1, dword [ebp - 0x84]
movss dword [ebx + 0x1b0], xmm1
xorps xmm2, xmm2
movlps qword [ebx + 0x1b4], xmm2
xorps xmm6, xmm6
test cl, 1
jne 0x10055665
mov edx, dword [0x1025afd0]
movss xmm2, dword [edx + 0x1904]
mulss xmm2, dword [ebx + 0x26c]
movss xmm6, dword [edx + 0x153c]
mov edx, dword [ebp - 0x20]
addss xmm6, xmm6
addss xmm6, xmm2
movd xmm4, eax
test ecx, 0x400
je 0x1005569e
mov eax, dword [0x1025afd0]
movss xmm2, dword [eax + 0x1904]
mulss xmm2, dword [ebx + 0x26c]
addss xmm2, dword [ebx + 0x14c]
movss xmm5, dword [eax + 0x153c]
addss xmm5, xmm5
addss xmm5, xmm2
addss xmm6, xmm5
addss xmm7, xmm6
subss xmm7, dword [ebp - 0x6c]
addss xmm1, xmm3
unpcklps xmm1, xmm7
addps xmm0, xmm1
movaps xmm1, xmm0
movlhps xmm1, xmm0
movups xmmword [ebx + 0xd8], xmm1
movups xmmword [ebx + 0xc8], xmm1
mov byte [ebx + 0x144], 0
xorps xmm1, xmm1
movups xmmword [ebx + 0xe8], xmm1
mov dword [ebx + 0xfc], 0
mov dword [ebx + 0xf8], 0
movss xmm1, dword [ebx + 0x30]
subss xmm4, dword [ebx + 0x74]
subss xmm1, xmm4
movaps xmm2, xmm1
cmpless xmm2, xmm3
andnps xmm2, xmm1
ucomiss xmm2, xmm3
seta byte [ebx + 0x145]
mov eax, dword [ebx + 0x140]
mov dword [ebx + 0x13c], eax
mov dword [ebx + 0x140], 0
shufps xmm0, xmm0, 0x55
addss xmm0, dword [0x101a9c70]
mov byte [ebx + 0x146], 0
movss dword [ebx + 0x100], xmm0
cmp dword [ebx + 0x154], 0
jns 0x100557da
mov eax, dword [0x1025afd0]
test eax, eax
je 0x10055765
inc dword [eax + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [0x1025afd8]
mov dword [ebp - 0x10], 0xffffffff
push eax
push 0
call dword [0x101fe77c]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x158]
test eax, eax
je 0x100557c7
mov ecx, dword [ebx + 0x150]
shl ecx, 2
push ecx
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x158]
test eax, eax
je 0x100557b7
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x100557b7
dec dword [ecx + 0x36c]
push dword [0x1025afd8]
push eax
call dword [0x101fe780]
add esp, 8
mov dword [ebx + 0x158], esi
mov dword [ebx + 0x154], 0
mov edx, dword [ebp - 0x20]
mov dword [ebx + 0x150], 0
mov dword [ebx + 0x160], 1
mov eax, dword [ebp - 0xb8]
test eax, eax
je 0x1005580e
mov ecx, eax
mov eax, dword [eax + 0x160]
mov dword [ebx + 0x164], eax
mov eax, dword [ecx + 0x168]
jmp 0x1005581a
mov dword [ebx + 0x164], 1
xor eax, eax
mov dword [ebx + 0x168], eax
movss xmm0, dword [ebx + 0x220]
movss dword [ebx + 0x16c], xmm0
mov dword [ebx + 0x170], 0xbf800000
cmp dword [ebx + 0x178], 0
jns 0x100558d2
mov eax, dword [0x1025afd0]
test eax, eax
je 0x1005585d
inc dword [eax + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [0x1025afd8]
mov dword [ebp - 0x10], 0xffffffff
push eax
push 0
call dword [0x101fe77c]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x17c]
test eax, eax
je 0x100558bf
mov ecx, dword [ebx + 0x174]
shl ecx, 2
push ecx
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x17c]
test eax, eax
je 0x100558af
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x100558af
dec dword [ecx + 0x36c]
push dword [0x1025afd8]
push eax
call dword [0x101fe780]
add esp, 8
mov dword [ebx + 0x17c], esi
mov dword [ebx + 0x178], 0
mov edx, dword [ebp - 0x20]
mov dword [ebx + 0x174], 0
cmp dword [ebx + 0x184], 0
jns 0x10055974
mov eax, dword [0x1025afd0]
test eax, eax
je 0x100558ff
inc dword [eax + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [0x1025afd8]
mov dword [ebp - 0x10], 0xffffffff
push eax
push 0
call dword [0x101fe77c]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x188]
test eax, eax
je 0x10055961
mov ecx, dword [ebx + 0x180]
shl ecx, 2
push ecx
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x188]
test eax, eax
je 0x10055951
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x10055951
dec dword [ecx + 0x36c]
push dword [0x1025afd8]
push eax
call dword [0x101fe780]
add esp, 8
mov dword [ebx + 0x188], esi
mov dword [ebx + 0x184], 0
mov edx, dword [ebp - 0x20]
mov dword [ebx + 0x180], 0
cmp dword [ebx + 0x190], 0
jns 0x10055a16
mov eax, dword [0x1025afd0]
test eax, eax
je 0x100559a1
inc dword [eax + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [0x1025afd8]
mov dword [ebp - 0x10], 0xffffffff
push eax
push 0
call dword [0x101fe77c]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x194]
test eax, eax
je 0x10055a03
mov ecx, dword [ebx + 0x18c]
shl ecx, 2
push ecx
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x194]
test eax, eax
je 0x100559f3
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x100559f3
dec dword [ecx + 0x36c]
push dword [0x1025afd8]
push eax
call dword [0x101fe780]
add esp, 8
mov dword [ebx + 0x194], esi
mov dword [ebx + 0x190], 0
mov edx, dword [ebp - 0x20]
mov dword [ebx + 0x18c], 0
mov dword [ebx + 0x1bc], 0
mov dword [ebx + 0x104], 0
mov dword [ebx + 0x108], 0
lea eax, [ebx + 0x254]
mov dword [ebx + 0x15c], eax
cmp dword [ebx + 0x19c], 0
jns 0x10055ae5
mov eax, dword [0x1025afd0]
test eax, eax
je 0x10055a6d
inc dword [eax + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [0x1025afd8]
mov dword [ebp - 0x10], 0xffffffff
push eax
push 0
call dword [0x101fe77c]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x1a0]
test eax, eax
je 0x10055ad2
mov ecx, dword [ebx + 0x198]
shl ecx, 4
lea ecx, [ecx + ecx*2]
push ecx
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x1a0]
test eax, eax
je 0x10055ac2
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x10055ac2
dec dword [ecx + 0x36c]
push dword [0x1025afd8]
push eax
call dword [0x101fe780]
add esp, 8
mov dword [ebx + 0x1a0], esi
mov dword [ebx + 0x19c], 0
mov edx, dword [ebp - 0x20]
mov dword [ebx + 0x198], 0
lea ecx, [ebx + 0x224]
movss xmm0, dword [edx + 0x1548]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0xc
movzx eax, byte [ebp - 0x35]
mov dword [esp + 8], eax
movss dword [esp + 4], xmm0
mov dword [esp], 3
call fcn.10085bc0
mov ecx, dword [ebp - 0x28]
test ecx, 0x4000000
je 0x10055b44
movss xmm0, dword [ebx + 0xcc]
addss xmm0, dword [0x101a98f4]
movss dword [ebx + 0xcc], xmm0
test ecx, 0x1000000
je 0x10055f2e
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x168]
cmp dword [ebx + 0x168], eax
je 0x10055f2e
mov dword [ebx + 0x168], eax
mov ecx, dword [ebx + 0x174]
cmp ecx, dword [ebx + 0x178]
jne 0x10055f19
lea edi, [ecx + 1]
test ecx, ecx
je 0x10055e7e
mov edx, ecx
shr edx, 0x1f
add edx, ecx
sar edx, 1
add edx, ecx
jmp 0x10055e83
mov eax, dword [0x1025afd0]
movss xmm3, dword [eax + 0x1904]
mulss xmm3, dword [ebx + 0x26c]
addss xmm3, dword [ebx + 0x14c]
movss xmm2, dword [eax + 0x153c]
addss xmm2, xmm2
addss xmm2, xmm3
mov dword [ebp - 0x10], 0xffffffff
movss xmm3, dword [ebx + 0xc]
movss xmm4, dword [ebx + 0x1c]
unpcklps xmm0, xmm4
movaps xmm4, xmm1
unpcklps xmm4, xmm3
addps xmm4, xmm0
addss xmm2, xmm4
lea edx, [ebp - 0x48]
movss dword [ebp - 0x44], xmm2
movsd xmm5, qword [ebx + 0x14]
movss xmm0, dword [ebx + 0xc]
unpcklps xmm0, xmm1
addps xmm5, xmm0
movlhps xmm3, xmm4
shufps xmm2, xmm4, 0xd4
shufps xmm3, xmm2, 0x28
movlhps xmm0, xmm5
movaps xmm1, xmm0
cmpleps xmm1, xmm3
movaps xmm2, xmm3
cmpltps xmm2, xmm0
movsd xmm2, xmm1
andps xmm3, xmm2
andnps xmm2, xmm0
orps xmm2, xmm3
movups xmmword [ebp - 0x50], xmm2
mov ecx, dword [ebx + 0x274]
xorps xmm6, xmm6
xorps xmm0, xmm0
test byte [ebp - 0x28], 1
je 0x10055c48
movss xmm0, dword [ebp - 0x84]
movss xmm3, dword [eax + 0x169c]
movss xmm1, dword [eax + 0x16a8]
mulss xmm1, dword [eax + 0x1500]
movss xmm2, dword [eax + 0x16a0]
movss xmm5, dword [0x101a8280]
movaps xmm4, xmm5
minss xmm4, xmm3
cmpltss xmm3, xmm6
andnps xmm3, xmm4
movss xmm4, dword [0x101a8294]
mulss xmm3, xmm4
xorps xmm7, xmm7
movss xmm6, dword [0x101a82c0]
addss xmm3, xmm6
cvttss2si esi, xmm3
movaps xmm3, xmm5
minss xmm3, xmm2
cmpltss xmm2, xmm7
andnps xmm2, xmm3
mulss xmm2, xmm4
addss xmm2, xmm6
cvttss2si edi, xmm2
shl edi, 8
movss xmm2, dword [eax + 0x16a4]
unpcklps xmm2, xmm1
xorps xmm1, xmm1
movaps xmm3, xmmword [0x101a9790]
minps xmm3, xmm2
cmpnltps xmm2, xmm1
andps xmm2, xmm3
mulps xmm2, xmmword [0x101a97a0]
or edi, esi
addps xmm2, xmmword [0x101a9710]
cvttps2dq xmm1, xmm2
movdqa xmm2, xmm1
pslld xmm2, 0x18
pslld xmm1, 0x10
movd eax, xmm1
or eax, edi
pshufd xmm1, xmm2, 0x55
movd esi, xmm1
or esi, eax
sub esp, 0x14
movss dword [esp + 0xc], xmm0
mov dword [esp + 4], edx
lea eax, [ebp - 0x50]
mov dword [esp], eax
mov dword [esp + 8], esi
mov dword [esp + 0x10], 3
call fcn.10061f10
mov edx, dword [ebp - 0x20]
movss xmm0, dword [edx + 0x1544]
ucomiss xmm0, dword [0x101a9780]
jbe 0x10055e6c
movss xmm1, dword [ebp - 0x44]
movss xmm2, dword [ebx + 0x10]
addss xmm2, dword [ebx + 0x18]
ucomiss xmm2, xmm1
jbe 0x10055e6c
mov ecx, dword [0x1025afd0]
movss xmm2, dword [ecx + 0x161c]
movss xmm5, dword [0x101a8280]
movaps xmm3, xmm5
minss xmm3, xmm2
xorps xmm4, xmm4
cmpltss xmm2, xmm4
andnps xmm2, xmm3
movss xmm3, dword [0x101a8294]
mulss xmm2, xmm3
movss xmm6, dword [0x101a82c0]
addss xmm2, xmm6
cvttss2si eax, xmm2
movss xmm2, dword [ecx + 0x1620]
minss xmm5, xmm2
cmpltss xmm2, xmm4
andnps xmm2, xmm5
mulss xmm2, xmm3
addss xmm2, xmm6
movss xmm3, dword [ecx + 0x1628]
mulss xmm3, dword [ecx + 0x1500]
cvttss2si edx, xmm2
movss xmm2, dword [ecx + 0x1624]
unpcklps xmm2, xmm3
xorps xmm3, xmm3
movaps xmm4, xmmword [0x101a9790]
minps xmm4, xmm2
cmpnltps xmm2, xmm3
andps xmm2, xmm4
mulps xmm2, xmmword [0x101a97a0]
addps xmm2, xmmword [0x101a9710]
cvttps2dq xmm2, xmm2
movdqa xmm3, xmm2
pslld xmm2, 0x10
movd edi, xmm2
mov ecx, dword [ebx + 0x274]
pslld xmm3, 0x18
pshufd xmm2, xmm3, 0x55
movd esi, xmm2
movsd xmm2, qword [ebp - 0x48]
movsd qword [ebp - 0x64], xmm2
movss xmm2, dword [ebp - 0x50]
movss dword [ebp - 0x34], xmm2
movss dword [ebp - 0x30], xmm1
shl edx, 8
or edx, eax
or edi, edx
or esi, edi
sub esp, 0x10
movss dword [esp + 0xc], xmm0
lea eax, [ebp - 0x64]
mov dword [esp + 4], eax
lea eax, [ebp - 0x34]
mov dword [esp], eax
mov dword [esp + 8], esi
call fcn.10061cd0
mov edx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x2c]
cmp byte [ebx + 0x78], 0
jne 0x100554ad
jmp 0x100554c1
mov edx, 8
cmp edx, edi
cmovg edi, edx
cmp ecx, edi
jge 0x10055f19
lea eax, [edi*4]
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x10055ea7
inc dword [ecx + 0x36c]
push dword [0x1025afd8]
push eax
call dword [0x101fe77c]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x17c]
test eax, eax
je 0x10055f01
mov ecx, dword [ebx + 0x174]
shl ecx, 2
push ecx
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x17c]
test eax, eax
je 0x10055ef1
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x10055ef1
dec dword [ecx + 0x36c]
push dword [0x1025afd8]
push eax
call dword [0x101fe780]
add esp, 8
mov dword [ebx + 0x17c], esi
mov dword [ebx + 0x178], edi
mov eax, dword [ebx + 0x168]
mov ecx, dword [ebx + 0x174]
mov edx, dword [ebx + 0x17c]
mov dword [edx + ecx*4], eax
inc dword [ebx + 0x174]
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x2c]
mov eax, dword [ebx + 0x90]
test eax, eax
mov edx, dword [ebp - 0x20]
jle 0x10055f42
dec eax
mov dword [ebx + 0x90], eax
mov eax, dword [ebx + 0x94]
test eax, eax
jle 0x10055f53
dec eax
mov dword [ebx + 0x94], eax
test byte [ebp - 0x70], 1
je 0x10055f73
push ebx
call fcn.1004d840
add esp, 4
push 0
push ebx
call fcn.1005a050
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
add esp, 8
test cl, 1
jne 0x100565e7
mov eax, dword [ebx + 0x168]
mov dword [ebp - 0xa8], eax
or eax, 0x10
mov dword [ebx + 0x168], eax
mov dword [ebx + 0x134], 1
mov dword [ebx + 0x138], 2
test cl, 0x20
jne 0x10056066
mov eax, dword [ebx + 0x1c0]
test eax, eax
jle case.default.0x10056a90
mov ecx, dword [ebx + 0x1c8]
mov ecx, dword [ecx + eax*4 - 4]
not ecx
mov bl, 0x23
mov edx, 0x101f08ef
mov eax, ecx
jmp 0x10055ffc
movzx edi, bl
movzx esi, al
shr eax, 8
xor esi, edi
xor eax, dword [esi*4 + 0x101a9104]
inc edx
mov bl, bh
test bh, bh
mov edi, dword [ebp - 0x2c]
je 0x10056013
mov bh, byte [edx - 1]
cmp bl, 0x23
jne 0x10055fe0
cmp bh, 0x23
jne 0x10055fe0
cmp byte [edx], 0x23
cmove eax, ecx
mov bh, 0x23
jmp 0x10055fe0
not eax
mov ecx, dword [0x1025afd0]
cmp dword [ecx + 0x1a04], eax
jne 0x10056029
mov dword [ecx + 0x1a0c], eax
cmp dword [ecx + 0x1a08], eax
mov ebx, dword [ebp - 0x24]
jne 0x10056042
mov byte [ecx + 0x1a18], 1
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x10], 0xffffffff
push dword [ebp - 0xd8]
push eax
call fcn.100734e0
add esp, 8
test al, al
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
je 0x10056066
mov byte [ebx + 0x7e], 1
cmp dword [ebp + 0xc], 0
je 0x10056184
movss xmm0, dword [edx + 0x1900]
mulss xmm0, dword [0x101a82c0]
movss xmm1, dword [edx + 0x153c]
movaps xmm2, xmm1
xorps xmm1, xmmword [0x101a97e0]
addss xmm2, xmm0
subss xmm1, xmm0
unpcklps xmm1, xmm2
movss xmm2, dword [ebx + 0xc]
addss xmm2, dword [ebx + 0x14]
movss xmm3, dword [ebx + 0x10]
unpcklps xmm2, xmm3
addps xmm2, xmm1
movlps qword [ebp - 0x50], xmm2
mov eax, dword [ebx + 0x1c0]
test eax, eax
jle case.default.0x10056a90
addss xmm0, dword [0x101a8280]
mov ecx, dword [ebx + 0x1c8]
mov ecx, dword [ecx + eax*4 - 4]
not ecx
mov bl, 0x23
mov edx, 0x101f08f9
mov eax, ecx
jmp 0x1005610c
movzx esi, bl
movzx edi, al
shr eax, 8
xor edi, esi
xor eax, dword [edi*4 + 0x101a9104]
inc edx
mov bl, bh
test bh, bh
mov edi, dword [ebp - 0x2c]
je 0x10056123
mov bh, byte [edx - 1]
cmp bl, 0x23
jne 0x100560f0
cmp bh, 0x23
jne 0x100560f0
cmp byte [edx], 0x23
cmove eax, ecx
mov bh, 0x23
jmp 0x100560f0
not eax
mov ecx, dword [0x1025afd0]
cmp dword [ecx + 0x1a04], eax
jne 0x10056139
mov dword [ecx + 0x1a0c], eax
cmp dword [ecx + 0x1a08], eax
mov ebx, dword [ebp - 0x24]
jne 0x10056152
mov byte [ecx + 0x1a18], 1
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0xc
movss dword [esp + 8], xmm0
lea ecx, [ebp - 0x50]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.10073310
add esp, 0xc
test al, al
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
je 0x10056184
mov eax, dword [ebp + 0xc]
mov byte [eax], 0
mov dword [ebx + 0x134], 0
mov dword [ebx + 0x138], 1
mov eax, dword [ebp - 0xa8]
mov dword [ebx + 0x168], eax
xorps xmm6, xmm6
test ecx, 0x100000
je 0x10056215
mov eax, dword [0x1025afd0]
movss xmm0, dword [eax + 0x1900]
mov ecx, dword [eax + 0x18fc]
sub esp, 0x1c
movss dword [esp + 4], xmm0
lea eax, [ebp - 0x50]
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x101f188f
mov dword [esp + 0xc], 0xbf800000
mov dword [esp + 8], 0x7f7fffff
call fcn.1006b160
mov edx, dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x50]
addss xmm0, dword [0x101a97d4]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm6, xmm0
mov eax, dword [0x1025afd0]
mov ecx, dword [ebp + 8]
cmp ecx, 0xffffffff
je 0x1005624a
mov edx, ecx
jmp 0x1005623c
cmp byte [edx + 1], 0x23
je 0x1005625f
inc edx
cmp edx, 0xffffffff
je 0x1005625a
movzx ecx, byte [edx]
cmp ecx, 0x23
je 0x10056230
test ecx, ecx
jne 0x10056236
jmp 0x1005625f
movss xmm0, dword [eax + 0x1900]
xorps xmm1, xmm1
jmp 0x100562de
mov edx, 0xffffffff
movss xmm0, dword [eax + 0x1900]
mov esi, dword [ebp + 8]
cmp edx, esi
je 0x100562d8
mov ecx, dword [eax + 0x18fc]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x1c
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], esi
movss dword [esp + 4], xmm0
lea eax, [ebp - 0x50]
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0xc], 0xbf800000
mov dword [esp + 8], 0x7f7fffff
movups xmmword [ebp - 0xa8], xmm6
call fcn.1006b160
movups xmm6, xmmword [ebp - 0xa8]
movss xmm1, dword [ebp - 0x50]
movss xmm0, dword [ebp - 0x4c]
addss xmm1, dword [0x101a97d4]
cvttps2dq xmm1, xmm1
cvtdq2ps xmm1, xmm1
jmp 0x100562db
xorps xmm1, xmm1
mov edx, dword [ebp - 0x20]
xorps xmm2, xmm2
addss xmm2, xmm0
addss xmm1, xmm6
movss dword [ebp - 0x34], xmm1
movss dword [ebp - 0x30], xmm2
movups xmm0, xmmword [ebp - 0xc8]
movups xmmword [ebp - 0x50], xmm0
movss xmm0, dword [edx + 0x1538]
movaps xmm1, xmm0
test byte [ebp - 0x28], 0x20
jne 0x10056323
movss xmm1, dword [edx + 0x1900]
addss xmm1, xmm0
addss xmm1, dword [edx + 0x1550]
movaps xmm2, xmm0
cmp dword [ebp + 0xc], 0
je 0x10056340
movss xmm2, dword [edx + 0x1900]
addss xmm2, xmm0
addss xmm2, dword [edx + 0x1550]
cmp dword [ebp + 0xc], 0
je 0x1005635e
movss xmm0, dword [ebp - 0xbc]
subss xmm0, dword [ebp - 0xc4]
addss xmm0, dword [0x101a9c74]
movss xmm3, dword [edx + 0x1520]
movaps xmm4, xmm1
subss xmm4, xmm2
mulss xmm4, xmm3
addss xmm4, xmm2
xorps xmm5, xmm5
cmpltss xmm5, xmm3
andps xmm4, xmm5
andnps xmm5, xmm2
orps xmm5, xmm4
addss xmm1, dword [ebp - 0x50]
movss dword [ebp - 0x50], xmm1
movss xmm1, dword [ebp - 0x48]
subss xmm1, xmm5
movss dword [ebp - 0x48], xmm1
movups xmm1, xmmword [ebp - 0x50]
movups xmmword [ebp - 0x64], xmm1
movss xmm1, dword [ebx + 0xc]
addss xmm1, dword [ebx + 0x14]
subss xmm1, xmm0
movss dword [ebp - 0x5c], xmm1
mov esi, dword [ebp + 8]
cmp esi, 0xffffffff
je 0x10056463
lea ecx, [edx + 0x1520]
jmp 0x100563dc
cmp byte [esi + 1], 0x23
je 0x100563ef
movzx edx, byte [esi]
cmp edx, 0x23
je 0x100563d0
test edx, edx
jne 0x100563d6
mov ecx, dword [ebp - 0x28]
test ecx, 0x100000
je 0x100565e4
movss xmm0, dword [0x101a9ae8]
subss xmm0, xmm6
movss xmm3, dword [ebp - 0x50]
movss xmm2, dword [ebp - 0x34]
movss xmm1, dword [edx + 0x1900]
mulss xmm1, dword [0x101a9c78]
cvttps2dq xmm1, xmm1
cvtdq2ps xmm4, xmm1
movsd xmm1, qword [ebp - 0x48]
movaps xmm6, xmm1
subss xmm6, xmm3
subss xmm6, xmm2
mulss xmm6, dword [edx + 0x1520]
movss xmm5, dword [ebp - 0x4c]
unpcklps xmm0, xmm5
movss xmm5, dword [edx + 0x1524]
mov dword [ebp - 0x130], 0
movss dword [ebp - 0x12c], xmm5
addss xmm6, xmm3
movaps xmm5, xmm6
cmpless xmm5, xmm3
movaps xmm7, xmm5
andnps xmm7, xmm6
andps xmm5, xmm3
orps xmm5, xmm7
addss xmm5, xmm2
movq xmm2, xmm4
xorps xmm3, xmm3
shufps xmm2, xmm3, 0xe2
addps xmm1, xmm2
movlps qword [ebp - 0x160], xmm1
movss xmm3, xmm5
addps xmm3, xmm0
addps xmm3, xmm2
movlps qword [ebp - 0x158], xmm3
mov esi, 0x101f188f
cmp esi, 0xffffffff
je 0x100565e4
xor eax, eax
mov ecx, 0x101f188f
not ecx
jmp 0x1005654f
mov ebx, dword [ebp - 0x24]
movsd xmm0, qword [ebx + 0xc]
movsd xmm2, qword [ebx + 0x14]
addps xmm2, xmm0
movups xmm1, xmmword [ebx + 0x1cc]
movlhps xmm0, xmm2
movaps xmm3, xmm1
cmpleps xmm3, xmm0
movaps xmm4, xmm0
cmpltps xmm4, xmm1
movsd xmm4, xmm3
andps xmm0, xmm4
andnps xmm4, xmm1
orps xmm4, xmm0
movups xmmword [ebx + 0x1dc], xmm4
movss xmm0, dword [ebp - 0xc8]
movss xmm5, dword [ebx + 0x48]
movaps xmm3, xmm0
addss xmm3, xmm5
movss dword [ebx + 0x1ec], xmm3
xorps xmm4, xmm4
test byte [ebx + 9], 4
xorps xmm6, xmm6
je 0x10056675
mov eax, dword [0x1025afd0]
movss xmm1, dword [eax + 0x1904]
mulss xmm1, dword [ebx + 0x26c]
addss xmm1, dword [ebx + 0x14c]
movss xmm6, dword [eax + 0x153c]
addss xmm6, xmm6
addss xmm6, xmm1
mov eax, ecx
and eax, 0x401
cmp eax, 1
lea eax, [edx + 0x1544]
cmove eax, edi
movss xmm1, dword [ebp - 0xbc]
movss dword [ebp - 0x2c], xmm1
movss xmm7, dword [0x101a82c0]
movss xmm1, dword [ebx + 0x3c]
mulss xmm1, xmm7
subss xmm1, xmm5
cvttss2si ecx, xmm1
test ecx, ecx
jle 0x100566b9
cvttps2dq xmm1, xmm1
cvtdq2ps xmm4, xmm1
addss xmm6, dword [ebp - 0x2c]
movsd xmm1, qword [ebx + 0x70]
subps xmm2, xmm1
shufps xmm5, xmm5, 0
subps xmm2, xmm5
movss xmm1, dword [eax]
movlps qword [ebx + 0x1f4], xmm2
addss xmm3, xmm7
unpcklps xmm6, xmm2
movaps xmm5, xmmword [0x101a9c80]
movss xmm5, xmm1
addps xmm5, xmm6
movss dword [ebx + 0x1f0], xmm5
movlhps xmm3, xmm5
shufps xmm3, xmm5, 0xd8
movaps xmm1, xmm3
movlhps xmm1, xmm2
movaps xmm2, xmmword [0x101a9c90]
movss xmm2, xmm4
addps xmm2, xmm1
movlhps xmm1, xmm4
subps xmm3, xmm1
shufps xmm3, xmm2, 0x32
shufps xmm2, xmm3, 0x84
cvttps2dq xmm1, xmm2
cvtdq2ps xmm2, xmm1
movups xmmword [ebx + 0x1fc], xmm2
test dword [ebp - 0x28], 0x1000000
je 0x10056760
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x55
addss xmm1, dword [0x101a9ae8]
movss dword [ebx + 0x200], xmm1
shufps xmm2, xmm2, 0xff
addss xmm2, dword [0x101a9ca0]
movss dword [ebx + 0x208], xmm2
mov eax, dword [ebx + 0x50]
mov dword [ebx + 0x10c], eax
mov eax, dword [0x1025afd0]
movss xmm3, dword [eax + 0x1558]
subss xmm0, xmm3
movss xmm2, dword [eax + 0xe0]
xor ecx, ecx
ucomiss xmm2, xmm0
jb 0x100567d7
movss xmm0, dword [ebp - 0xc4]
movss xmm1, dword [eax + 0x155c]
subss xmm0, xmm1
addss xmm3, dword [ebp - 0xc0]
movss xmm4, dword [ebp - 0x2c]
addss xmm4, xmm1
movss xmm1, dword [eax + 0xe4]
cmpltps xmm2, xmm3
cmpleps xmm0, xmm1
andps xmm0, xmm2
ucomiss xmm4, xmm1
seta cl
movd edx, xmm0
and cl, dl
movzx ecx, cl
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebx + 0x110], ecx
movups xmm0, xmmword [ebp - 0xc8]
movups xmmword [ebx + 0x114], xmm0
mov ecx, dword [eax + 0x19e4]
mov byte [ecx + 0x7c], 1
mov esi, dword [eax + 0x19e4]
mov ecx, dword [esi + 0x274]
movups xmm0, xmmword [ebx + 0x1fc]
mov dword [ebp - 0x10], 0xffffffff
sub esp, 0x14
movups xmmword [esp], xmm0
mov dword [esp + 0x10], 1
call fcn.1005fe00
mov ecx, dword [esi + 0x274]
mov eax, dword [ecx + 0x3c]
test eax, eax
jle case.default.0x10056a90
mov ecx, dword [ecx + 0x44]
shl eax, 4
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [esi + 0x1cc], xmm0
mov byte [ebx + 0x7c], 0
mov eax, dword [ebp - 0x20]
add eax, 0x1a88
inc word [ebx + 0x84]
xorps xmm0, xmm0
movups xmmword [eax + 0xc], xmm0
movups xmmword [eax], xmm0
mov ecx, dword [ebp - 0x28]
test ecx, 0x1000000
mov eax, dword [ebp - 0x68]
je 0x100568eb
test cl, 1
je case.default.0x10056a90
test cl, 0x40
jne 0x100568bd
cmp dword [ebx + 0x90], 0
jg 0x100568bd
cmp dword [ebx + 0x94], 0
jg 0x100568bd
movss xmm0, dword [ebx + 0x1dc]
ucomiss xmm0, dword [ebx + 0x1e4]
jae 0x100568b3
movss xmm0, dword [ebx + 0x1e0]
ucomiss xmm0, dword [ebx + 0x1e8]
jb 0x100568bd
mov dword [ebx + 0xa4], 1
cmp dword [ebp - 0xb8], 0
je 0x100568eb
mov ecx, dword [ebp - 0xb8]
cmp byte [ecx + 0x7d], 0
jne 0x100568e1
mov ecx, dword [ebp - 0xb8]
cmp byte [ecx + 0x81], 0
je 0x100568eb
mov dword [ebx + 0xa4], 1
xorps xmm0, xmm0
ucomiss xmm0, dword [eax]
jae 0x1005690a
mov al, 1
cmp dword [ebx + 0xa4], 0
jg 0x10056916
cmp dword [ebx + 0xa8], 0
setg al
jmp 0x10056916
mov dword [ebx + 0xa4], 1
mov al, 1
mov byte [ebx + 0x81], al
cmp byte [ebx + 0x7d], 0
je 0x10056940
cmp dword [ebx + 0x90], 0
jg 0x1005694a
cmp dword [ebx + 0x94], 0
jg 0x1005694a
cmp dword [ebx + 0xa8], 0
setle al
jmp 0x1005694c
cmp byte [ebx + 0x7a], 0
je 0x10056922
test al, al
jne 0x10056922
xor eax, eax
mov byte [ebx + 0x7f], al
test al, al
sete al
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
add esp, 0x174
pop esi
pop edi
pop ebx
pop ebp
ret
movups xmmword [ebp - 0x98], xmm1
cmp byte [ebp - 0x85], 0
je 0x10056cdf
movaps xmm1, xmmword [0x101a9a60]
movups xmm0, xmmword [ebp - 0x118]
unpcklps xmm1, xmm0
movups xmmword [ebp - 0x140], xmm1
movaps xmm1, xmmword [0x101a9a70]
movss xmm1, xmm0
movups xmmword [ebp - 0x128], xmm1
xor ebx, ebx
mov edi, 0xffffffff
jmp 0x10056a66
mov eax, dword [ebp - 0x54]
movss xmm2, dword [eax + 0xe0]
subss xmm2, dword [eax + 0x1a24]
addss xmm2, dword [0x101a98f4]
movaps xmm0, xmm3
movss xmm0, xmm2
movaps xmm5, xmm3
subps xmm5, xmm0
mov edx, dword [ebp - 0x24]
movsd xmm2, qword [edx + 0x14]
movaps xmm4, xmm1
cmpeqps xmm4, xmmword [0x101a7130]
movups xmmword [ebp - 0x108], xmm4
mulps xmm5, xmm1
addps xmm5, xmm0
movups xmmword [ebp - 0x84], xmm5
addps xmm2, xmm3
subps xmm0, xmm2
mulps xmm0, xmm1
addps xmm0, xmm2
subps xmm0, xmm5
movups xmmword [ebp - 0x150], xmm0
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
lea ecx, [ebp - 0xf0]
call fcn.10059910
movups xmm4, xmmword [ebp - 0x84]
movsd xmm0, qword [ebp - 0xf0]
movups xmmword [ebp - 0x98], xmm0
movups xmm1, xmmword [ebp - 0x150]
subps xmm0, xmm1
movups xmm1, xmmword [ebp - 0x108]
andps xmm0, xmm1
subps xmm4, xmm0
mov edi, ebx
mov esi, dword [ebp - 0x20]
inc ebx
cmp ebx, 4
je 0x10056ce7
cmp ebx, 3
ja case.default.0x10056a90
mov eax, dword [ebp - 0x24]
movsd xmm0, qword [eax + 0xc]
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
movss xmm3, dword [eax + 0x18]
addss xmm3, xmm2
movss xmm1, dword [eax + 0x14]
addss xmm1, xmm0
jmp dword [ebx*4 + 0x101a9e14]
addss xmm2, dword [0x101a98f4]
subss xmm1, dword [ebp - 0x118]
movups xmm3, xmmword [ebp - 0x128]
addps xmm0, xmm3
jmp 0x10056b0a
subss xmm3, dword [ebp - 0x118]
movss xmm0, xmm1
jmp 0x10056af5
movaps xmm2, xmm3
addss xmm2, dword [0x101a98f4]
subss xmm1, dword [ebp - 0x118]
movlhps xmm3, xmm0
shufps xmm3, xmm0, 0xe2
movups xmm0, xmmword [ebp - 0x128]
addps xmm3, xmm0
movaps xmm0, xmm3
jmp 0x10056b0a
subss xmm3, dword [ebp - 0x118]
movaps xmm1, xmm0
addss xmm1, dword [0x101a98f4]
movups xmm2, xmmword [ebp - 0x140]
addps xmm0, xmm2
movaps xmm2, xmm3
movlps qword [ebp - 0x50], xmm0
movss dword [ebp - 0x48], xmm1
movss dword [ebp - 0x44], xmm2
mov edx, dword [ebp - 0x24]
mov ecx, dword [edx + 0x1c0]
test ecx, ecx
jle case.default.0x10056a90
lea eax, [ebx + 4]
mov edx, dword [edx + 0x1c8]
mov ecx, dword [edx + ecx*4 - 4]
not ecx
mov edx, eax
xor edx, ecx
shr ecx, 8
movzx edx, dl
xor ecx, dword [edx*4 + 0x101a9104]
mov edx, eax
shr edx, 8
xor edx, ecx
shr ecx, 8
movzx edx, dl
xor ecx, dword [edx*4 + 0x101a9104]
mov edx, eax
shr edx, 0x10
xor edx, ecx
shr ecx, 8
movzx edx, dl
xor ecx, dword [edx*4 + 0x101a9104]
movzx edx, cl
shr eax, 0x18
xor eax, edx
shr ecx, 8
xor ecx, dword [eax*4 + 0x101a9104]
not ecx
mov eax, dword [0x1025afd0]
cmp dword [eax + 0x1a04], ecx
jne 0x10056b98
mov dword [eax + 0x1a0c], ecx
movups xmmword [ebp - 0x84], xmm4
cmp dword [eax + 0x1a08], ecx
jne 0x10056bae
mov byte [eax + 0x1a18], 1
push 0x20
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0xc8]
push eax
push ecx
lea eax, [ebp - 0x50]
push eax
call fcn.10072260
add esp, 0x14
cmp byte [ebp - 0xc8], 0
je 0x10056c15
mov eax, dword [ebp - 0x54]
movss xmm0, dword [eax + 0x19fc]
ucomiss xmm0, dword [0x101a9a80]
movzx eax, byte [ebp - 0x64]
mov esi, dword [ebp - 0x20]
movups xmm4, xmmword [ebp - 0x84]
ja 0x10056bfb
test al, al
je 0x10056a5c
mov ecx, ebx
and ecx, 1
add ecx, 3
mov edx, dword [ebp - 0x54]
mov dword [edx + 0x1cbc], ecx
test al, al
jne 0x10056c3a
jmp 0x10056a5c
cmp byte [ebp - 0x64], 0
mov esi, dword [ebp - 0x20]
movups xmm4, xmmword [ebp - 0x84]
je 0x10056a5c
mov eax, ebx
and eax, 1
add eax, 3
mov ecx, dword [ebp - 0x54]
mov dword [ecx + 0x1cbc], eax
mov eax, dword [ebp - 0xd8]
movsd xmm3, qword [eax]
xorps xmm1, xmm1
cmp ebx, 3
ja case.default.0x10056c4c
jmp dword [ebx*4 + 0x101a9e24]
mov eax, dword [ebp - 0x54]
movss xmm0, dword [eax + 0xe4]
subss xmm0, dword [eax + 0x1a28]
addss xmm0, dword [0x101a98f4]
movlhps xmm0, xmm3
shufps xmm0, xmm3, 0xe2
jmp 0x100569d5
movaps xmm0, xmm3
jmp 0x100569d5
mov eax, dword [ebp - 0x54]
movss xmm1, dword [eax + 0xe0]
subss xmm1, dword [eax + 0x1a24]
addss xmm1, dword [0x101a98f4]
movaps xmm0, xmm3
movss xmm0, xmm1
movss xmm1, dword [0x101a8280]
jmp 0x100569d5
mov eax, dword [ebp - 0x54]
movss xmm0, dword [eax + 0xe4]
subss xmm0, dword [eax + 0x1a28]
addss xmm0, dword [0x101a98f4]
movlhps xmm0, xmm3
shufps xmm0, xmm3, 0xe2
movaps xmm1, xmmword [0x101a9a90]
jmp 0x100569d5
mov edi, 0xffffffff
mov esi, dword [ebp - 0x20]
mov eax, dword [0x1025afd0]
mov eax, dword [eax + 0x19e4]
mov ecx, dword [eax + 0x1c0]
test ecx, ecx
jle case.default.0x10056a90
dec ecx
mov dword [eax + 0x1c0], ecx
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0x1b34]
test eax, eax
mov ebx, dword [ebp - 0x24]
je 0x10056e3a
cmp dword [eax + 0x2f0], ebx
jne 0x10056e3a
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0x1b1c]
cmp eax, 4
movups xmmword [ebp - 0x84], xmm4
je 0x10056d5c
xorps xmm2, xmm2
cmp eax, 3
jne 0x10056d88
mov eax, dword [ebp - 0x54]
cmp byte [eax + 0xf9], 0
je 0x10056d88
sub esp, 0x14
movaps xmm0, xmmword [0x101a9ab0]
jmp 0x10056d66
sub esp, 0x14
movaps xmm0, xmmword [0x101a9aa0]
movups xmmword [esp + 4], xmm0
lea eax, [ebp - 0x50]
mov dword [esp], eax
call fcn.1005ce00
movups xmm4, xmmword [ebp - 0x84]
mov esi, dword [ebp - 0x20]
add esp, 0x14
movsd xmm2, qword [ebp - 0x50]
xorps xmm0, xmm0
ucomiss xmm2, xmm0
movaps xmm3, xmm2
shufps xmm3, xmm2, 0x55
jne 0x10056da4
jp 0x10056da4
ucomiss xmm3, xmm0
jne 0x10056da4
jnp 0x10056e3a
mov eax, dword [ebp - 0x54]
movss xmm0, dword [eax + 0x18]
movss xmm1, dword [eax + 0xa4]
mulss xmm0, dword [0x101a9ac0]
minss xmm1, dword [eax + 0xa8]
mulss xmm1, xmm0
cvttps2dq xmm0, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm2, xmm0
movups xmmword [ebp - 0x98], xmm2
mulss xmm3, xmm0
movups xmmword [ebp - 0x108], xmm3
mov byte [eax + 0x1b48], 0
mov byte [eax + 0x1b57], 1
push 0x3f800000
push 0x23
call fcn.100490d0
add esp, 8
movups xmm1, xmmword [ebp - 0x108]
addss xmm1, dword [ebx + 0x20]
movups xmm0, xmmword [ebp - 0x98]
addss xmm0, dword [ebx + 0x1c]
lea ecx, [ebp - 0x50]
mov edx, ebx
call fcn.10059910
movups xmm4, xmmword [ebp - 0x84]
mov esi, dword [ebp - 0x20]
movsd xmm0, qword [ebp - 0x50]
movups xmmword [ebp - 0x98], xmm0
movups xmm0, xmmword [ebp - 0x98]
ucomiss xmm0, dword [0x101a99dc]
jne 0x10056e4c
jnp 0x10056e74
movlps qword [ebx + 0x1c], xmm0
test byte [ebx + 9], 1
jne 0x10056e74
mov eax, dword [0x1025afd0]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x2c94]
jb 0x10056e74
movss xmm0, dword [eax + 0x1c]
movss dword [eax + 0x2c94], xmm0
ucomiss xmm4, dword [0x101a99dc]
jne 0x10056e7f
jnp 0x10056eae
cvttps2dq xmm0, xmm4
cvtdq2ps xmm0, xmm0
movlps qword [ebx + 0xc], xmm0
test byte [ebx + 9], 1
jne 0x10056eae
mov eax, dword [0x1025afd0]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x2c94]
jb 0x10056eae
movss xmm0, dword [eax + 0x1c]
movss dword [eax + 0x2c94], xmm0
mov eax, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x20]
mov dword [ebx + 0x18], ecx
mov dword [ebx + 0x14], eax
jmp 0x100530a3
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop dword [eax]
push ebp
sub esp, 0x20
add ebp, 0xc
lea ecx, [ebp - 0x50]
call fcn.10015110
add esp, 0x20
pop ebp
ret