Function at 0x10051550
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], 0x1005f010
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
test edx, edx
je case.default.0x100569c0
movzx ecx, byte [edx]
test cl, cl
je case.default.0x100569c0
mov edx, dword [0x10258f60]
cmp byte [edx + 1], 0
je case.default.0x100569c0
mov eax, dword [edx + 0x199c]
cmp eax, dword [edx + 0x1998]
je case.default.0x100569c0
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 0x100515f9
movzx edi, cl
movzx ebx, al
shr eax, 8
xor ebx, edi
xor eax, dword [ebx*4 + 0x101a7104]
inc edx
mov cl, ch
test ch, ch
je 0x10051610
mov ch, byte [edx - 1]
cmp cl, 0x23
jne 0x100515e0
cmp ch, 0x23
jne 0x100515e0
cmp byte [edx], 0x23
cmove eax, esi
mov ch, 0x23
jmp 0x100515e0
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 0x1005165d
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 0x10051640
mov edx, dword [ebp - 0x28]
lea edx, [esi + edx*8]
cmp ecx, edx
je 0x10051681
cmp dword [ecx], eax
jne 0x10051681
mov edi, dword [ecx + 4]
test edi, edi
je 0x10051681
mov dword [ebp - 0x74], 0
mov edx, dword [ebp - 0x20]
jmp 0x10051ad0
mov ecx, dword [ebp - 0x20]
lea edi, [ecx + 0x19d4]
cmp dword [ecx + 0x1a8c], 0
je 0x100516ab
movsd xmm0, qword [ecx + 0x1ab4]
movups xmmword [ebp - 0xb8], xmm0
mov dword [ebp - 0x10], 0xffffffff
jmp 0x100516b5
xorps xmm0, xmm0
movups xmmword [ebp - 0xb8], xmm0
inc dword [ecx + 0x36c]
mov eax, dword [0x10258f68]
mov dword [ebp - 0x10], 0xffffffff
push eax
push 0x340
mov esi, ecx
call dword [0x101fc77c]
add esp, 8
mov ebx, eax
mov ecx, eax
push dword [ebp + 8]
push esi
call fcn.1004ab80
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.10049200
mov dword [ebx + 0xc], 0x42700000
mov dword [ebx + 0x10], 0x42700000
test esi, 0x100
jne 0x1005177e
mov eax, dword [0x10258f60]
mov dword [ebp - 0x28], eax
mov esi, dword [eax + 0x2cb0]
test esi, esi
movups xmm3, xmmword [ebp - 0xb8]
je 0x10051785
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.0x100569c0
mov edx, dword [ebp - 0x28]
mov edx, dword [edx + 0x2cb8]
cmp dword [edx + eax], ebx
je 0x10051950
inc edi
add eax, 0x1c
add ecx, 0xffffffe4
cmp esi, edi
jne 0x10051750
mov edi, dword [ebp - 0xa8]
jmp 0x10051785
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 0x100517f3
movd eax, xmm0
test eax, eax
jg 0x100517c5
mov dword [edi + 0x90], 2
pshufd xmm0, xmm0, 0x55
movd eax, xmm0
test eax, eax
jg 0x100517dc
mov dword [edi + 0x94], 2
mov al, 1
cmp dword [edi + 0x90], 0
jg 0x10051809
cmp dword [edi + 0x94], 0
setg al
jmp 0x10051809
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 0x100518ed
lea ebx, [eax + 1]
test eax, eax
je 0x10051835
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x1005183a
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
cmp eax, ebx
jge 0x100518ed
mov dword [ebp - 0xa8], edi
lea eax, [ebx*4]
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x1005186b
inc dword [ecx + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov ecx, dword [0x10258f68]
mov dword [ebp - 0x10], 0xffffffff
push ecx
push eax
call dword [0x101fc77c]
add esp, 8
mov edi, eax
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x19b8]
test eax, eax
je 0x100518d5
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 0x100518c2
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x100518c2
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
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 0x10051932
mov eax, dword [edx + 0x19a4]
cmp eax, dword [edx + 0x19a8]
jne 0x10051ab3
lea edi, [eax + 1]
test eax, eax
je 0x10051a07
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x10051a0c
lea ecx, [edx + 0x19a4]
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x50]
push eax
call fcn.1005e780
mov edx, dword [ebp - 0x20]
jmp 0x10051ac8
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.0x100569c0
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.0x100569c0
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 [0x101a79f0]
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 [0x101a7a00]
jbe 0x10051785
cvttps2dq xmm0, xmm0
cvtdq2ps xmm3, xmm0
jmp 0x10051785
mov ecx, 8
cmp ecx, edi
cmovg edi, ecx
cmp eax, edi
jge 0x10051ab3
lea eax, [edi*4]
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x10051a37
inc dword [ecx + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov ecx, dword [0x10258f68]
mov dword [ebp - 0x10], 0xffffffff
push ecx
push eax
call dword [0x101fc77c]
add esp, 8
mov esi, eax
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x19ac]
test eax, eax
je 0x10051aa1
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 0x10051a8e
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x10051a8e
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
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.0x100569c0
mov ebx, dword [edx + 0x1998]
mov eax, dword [edi + 0x21c]
mov dword [ebp - 0x2c], eax
cmp eax, ebx
jne 0x10051b0e
mov ecx, dword [edi + 8]
jmp 0x10051b11
mov dword [edi + 8], ecx
mov eax, dword [edx + 0x19c8]
test eax, eax
mov esi, ecx
mov dword [ebp - 0x28], ecx
je 0x10051b40
jle case.default.0x100569c0
mov ecx, dword [edx + 0x19d0]
mov eax, dword [ecx + eax*4 - 4]
mov ecx, dword [ebp - 0x28]
cmp dword [ebp - 0x2c], ebx
jne 0x10051b47
mov eax, dword [edi + 0x2ec]
jmp 0x10051b55
xor eax, eax
cmp dword [ebp - 0x2c], ebx
je 0x10051b38
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 0x10051b7a
cmp dword [ebp - 0xa8], 0
jne case.default.0x100569c0
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 0x10051be3
mov ecx, dword [edx + 0x1a7c]
cmp dword [edx + 0x1a70], ecx
jle case.default.0x100569c0
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 0x10051c13
movsd xmm0, qword [ebx + 0xac]
orps xmm0, xmmword [0x101a7a10]
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 0x10051cee
lea edi, [eax + 1]
test eax, eax
je 0x10051c3f
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x10051c44
mov ecx, 8
cmp ecx, edi
cmovg edi, ecx
cmp eax, edi
jge 0x10051cee
lea eax, [edi*4]
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x10051c6f
inc dword [ecx + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov ecx, dword [0x10258f68]
mov dword [ebp - 0x10], 0xffffffff
push ecx
push eax
call dword [0x101fc77c]
add esp, 8
mov esi, eax
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x19d0]
test eax, eax
je 0x10051cdc
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 0x10051cc6
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x10051cc6
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
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 [0x10258f60]
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 0x10051ece
mov eax, dword [edi + 0x1a7c]
cmp dword [edi + 0x1a70], eax
jle case.default.0x100569c0
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 0x10051e9d
lea edx, [eax + 1]
test eax, eax
je 0x10051dd4
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x10051dd9
mov ecx, 8
cmp ecx, edx
cmovg edx, ecx
cmp eax, edx
jge 0x10051e9d
mov dword [ebp - 0x84], edx
lea eax, [edx*4]
lea eax, [eax + eax*8]
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x10051e0d
inc dword [ecx + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov ecx, dword [0x10258f68]
mov dword [ebp - 0x10], 0xffffffff
push ecx
push eax
call dword [0x101fc77c]
add esp, 8
mov edi, dword [ebp - 0x20]
mov edx, dword [edi + 0x1a84]
test edx, edx
je 0x10051e85
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 0x10051e69
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x10051e69
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
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 0x10051ee7
cmp dword [ebp - 0xa8], 0
jne 0x10051ee7
mov dword [ebx + 0x300], 0
mov ecx, dword [edi + 0x1a88]
test ecx, ecx
je 0x10051f59
mov eax, dword [ebx + 0xac]
test eax, ecx
je 0x10051f59
movss xmm0, dword [edi + 0x1aac]
movss xmm1, dword [edi + 0x1ab0]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
ucomiss xmm0, dword [0x101a7a00]
jbe 0x10051f65
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 0x10051fcf
mov dword [ebp - 0x84], 0
jmp 0x10051fd7
lea edx, [ecx - 1]
test ecx, edx
jne case.default.0x100569c0
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 0x1005205e
mov eax, dword [ebx + 0xb0]
test eax, ecx
je 0x1005205e
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.0x100569c0
and eax, 0xfffffff1
mov dword [ebx + 0xb0], eax
movss xmm1, dword [edi + 0x1ab4]
ucomiss xmm1, xmm0
jbe 0x10052119
mov dword [ebx + 0x90], 0
movss xmm0, dword [edi + 0x1ab4]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [ebx + 0x1c], xmm0
jmp 0x1005212a
mov dword [ebp - 0x98], 0
mov dword [ebp - 0xd8], 0
cmp dword [edi + 0x1a90], 0
je 0x10052185
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 0x100520a3
jnp 0x1005219b
mov eax, dword [ebx + 8]
test al, 1
jne 0x100520d0
mov ecx, dword [0x10258f60]
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 0x10052107
mov eax, dword [0x10258f60]
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 0x1005219b
mov dword [ebx + 0x90], 2
mov byte [ebx + 0x98], 0
movss xmm0, dword [edi + 0x1ab8]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x10052167
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 0x1005207f
jmp 0x10052185
mov dword [ebx + 0x94], 2
mov byte [ebx + 0x98], 0
cmp dword [edi + 0x1a90], 0
jne 0x1005207f
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x70]
je 0x1005219b
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x38], 0
mov ecx, dword [edi + 0x1a94]
test ecx, ecx
je 0x100521c2
mov eax, dword [ebx + 0xb4]
test eax, ecx
je 0x100521c2
movzx ecx, byte [edi + 0x1ac4]
and eax, 0xfffffff1
mov dword [ebx + 0xb4], eax
mov byte [ebx + 0x7d], cl
cmp dword [edi + 0x1a9c], 0
je 0x100521d7
push ebx
call fcn.1004d770
mov edi, dword [ebp - 0x20]
add esp, 4
cmp byte [ebx + 0x80], 0
je 0x100521fd
movsd xmm0, qword [ebx + 0xac]
andps xmm0, xmmword [0x101a7a20]
movlps qword [ebx + 0xac], xmm0
and byte [ebx + 0xb4], 0xf7
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x70]
jne 0x1005226a
mov eax, dword [0x10258f60]
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.1005fd30
mov ecx, dword [esi + 0x274]
mov eax, dword [ecx + 0x3c]
test eax, eax
jle case.default.0x100569c0
mov ecx, dword [ecx + 0x44]
shl eax, 4
movups xmm0, xmmword [eax + ecx - 0x10]
movups xmmword [esi + 0x1cc], xmm0
jmp 0x1005677a
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 0x100522b5
test eax, eax
je 0x100522b5
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x2f0]
mov dword [ebx + 0x2f0], eax
test ecx, 0x8000000
jne 0x100522e1
mov eax, ecx
and eax, 0x5000000
je 0x100522e1
cmp dword [ebp - 0xb8], 0
je 0x100522e1
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x2f4]
mov dword [ebx + 0x2f4], eax
test byte [ebx + 0xa], 0x80
je 0x1005230a
mov eax, ebx
nop dword [eax]
mov eax, dword [eax + 0x2ec]
test eax, eax
je case.default.0x100569c0
mov dword [ebx + 0x2f8], eax
test byte [eax + 0xa], 0x80
jne 0x100522f0
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 [0x101a7a30]
movups xmmword [ebx + 0x1cc], xmm0
mov eax, dword [ebp - 0x70]
mov dword [ebx + 0x21c], eax
mov eax, dword [ebx + 0x1c4]
test eax, eax
jg 0x10052409
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 [0x10258f60]
test ecx, ecx
je 0x10052398
inc dword [ecx + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov ecx, dword [0x10258f68]
mov dword [ebp - 0x10], 0xffffffff
push ecx
push eax
call dword [0x101fc77c]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x1c8]
test eax, eax
je 0x100523fa
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 0x100523ea
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x100523ea
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
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 0x100524ce
movzx eax, byte [ebx + 0xa]
and al, 8
shr al, 3
or al, byte [ebp - 0x74]
jne 0x100524ce
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 0x100524ce
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 0x100524b4
test esi, esi
je 0x1005247a
mov eax, dword [0x10258f60]
test eax, eax
je 0x1005247a
dec dword [eax + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [0x10258f68]
mov dword [ebp - 0x10], 0xffffffff
push eax
push esi
call dword [0x101fc780]
add esp, 8
mov eax, dword [0x10258f60]
test eax, eax
je 0x100524a0
inc dword [eax + 0x36c]
push dword [0x10258f68]
push edi
call dword [0x101fc77c]
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 0x100524e6
cmp dword [ebx + 0x90], 0
jg 0x100524e6
cmp dword [ebx + 0x94], 0
jle 0x1005255c
cmp byte [ebx + 0x81], 0
je 0x100524f8
cmp dword [ebx + 0xa8], 0
je 0x10052553
movss xmm0, dword [ebx + 0x34]
pxor xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x1005251a
jp 0x1005251a
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 0x1005253f
jp 0x1005253f
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 0x10052561
cmp dword [ebx + 0xa4], 0
jle 0x100524f8
movsd xmm0, qword [ebx + 0x2c]
movlps qword [ebx + 0x2c], xmm0
mov eax, dword [ebx + 0xa4]
test eax, eax
jle 0x10052576
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 0x10052598
test al, al
jne 0x100525a9
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 0x10052607
mov dword [ebx + 0xa8], 1
test cl, 0x40
je 0x10052607
cmp byte [ebp - 0xd8], 0
jne 0x100525e2
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x14], 0
cmp byte [ebp - 0x98], 0
jne 0x100525f9
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x30], 0
mov esi, dword [0x10258f60]
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 0x10052654
test ecx, 0x6000000
je 0x1005265c
mov eax, ecx
and eax, 0x8000000
jne 0x1005265c
lea eax, [edi + 0x1534]
jmp 0x10052662
lea eax, [edi + 0x152c]
jmp 0x10052662
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 0x100526c3
mov ecx, dword [ebp - 0x28]
mov eax, ecx
and eax, 0x4010000
jne 0x100526c6
pxor xmm1, xmm1
ucomiss xmm2, xmm1
jne 0x100526c6
jp 0x100526c6
test ecx, 0x400
je 0x100526b1
movss xmm1, dword [edi + 0x150c]
mov dword [ebx + 0x3c], 0
movss dword [ebx + 0x40], xmm1
pxor xmm0, xmm0
jmp 0x100526c6
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 0x10052727
mov byte [ebx + 0x7d], 0
jmp 0x100527fb
movss xmm0, dword [ebx + 0x10]
mov edx, dword [ebx + 8]
xorps xmm1, xmm1
test dl, 1
jne 0x10052757
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 0x100527c1
cmp dword [edi + 0x19f0], 0
jne 0x100527c1
cmp dword [edi + 0x19f8], 0
jne 0x100527c1
lea eax, [ebp - 0x48]
lea ecx, [ebp - 0x50]
push 1
push eax
push ecx
mov edi, edx
call fcn.1004c410
mov edx, edi
mov ecx, dword [ebp - 0x20]
add esp, 0xc
test al, al
je 0x100527c1
cmp byte [ecx + 0x3d5], 0
je 0x100527c1
mov eax, dword [ebp - 0x24]
mov byte [eax + 0x7e], 1
mov ebx, dword [ebp - 0x24]
cmp byte [ebx + 0x7e], 0
je 0x100527fb
xor byte [ebx + 0x7d], 1
test edx, 0x100
jne 0x100527ef
xorps xmm0, xmm0
ucomiss xmm0, dword [esi + 0x2c94]
jb 0x100527ef
movss xmm0, dword [esi + 0x1c]
movss dword [esi + 0x2c94], xmm0
mov ebx, dword [ebp - 0x24]
push ebx
call fcn.1004d770
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.10059a30
add esp, 4
test byte [ebp - 0x28], 0x40
je 0x10052829
cmp byte [ebx + 0x7d], 0
je 0x100528ff
cmp dword [ebx + 0x90], 0
jle 0x10052845
cmp byte [ebp - 0xd8], 0
je 0x1005285e
movss xmm2, dword [0x101a79dc]
jmp 0x1005288d
movss xmm2, dword [0x101a79dc]
cmp dword [ebx + 0x94], 0
movaps xmm1, xmm2
jg 0x1005288d
jmp 0x10052936
cmp byte [ebx + 0x98], 0
movss xmm2, dword [ebp - 0xe0]
je 0x10052888
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 [0x101a79dc]
cmp byte [ebp - 0x98], 0
jne 0x100528d3
cmp dword [ebx + 0x94], 0
jle 0x100528d3
cmp byte [ebx + 0x98], 0
movss xmm1, dword [ebp - 0xdc]
je 0x100528ce
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 0x10052936
test byte [ebx + 9], 1
jne 0x10052936
mov eax, dword [0x10258f60]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x2c94]
jb 0x10052936
movss xmm0, dword [eax + 0x1c]
movss dword [eax + 0x2c94], xmm0
jmp 0x10052936
movss xmm1, dword [0x101a79dc]
movaps xmm2, xmm1
cmp byte [ebp - 0xd8], 0
jne 0x10052920
movss xmm2, dword [ebp - 0xe0]
movss dword [ebx + 0x1c], xmm2
cmp byte [ebp - 0x98], 0
jne 0x10052936
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.10059840
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 0x100529c6
cmp dword [ebp - 0xa8], 0
jne 0x100529c6
movss xmm1, dword [ebx + 0x10]
xorps xmm2, xmm2
test byte [ebx + 8], 1
mov edx, dword [ebp - 0x20]
jne 0x100529b2
mov ecx, dword [0x10258f60]
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 0x100529d1
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 0x10052a87
movss xmm0, dword [0x101a7a40]
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 0x10052a8b
movss xmm0, dword [0x101a79dc]
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 0x10052a9a
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 0x10052ae4
mov esi, dword [ebp - 0x70]
movss xmm2, dword [esi]
test al, al
jne 0x10052aaa
xorps xmm3, xmm3
xor eax, eax
jmp 0x10052ab4
test al, al
je 0x10052a1b
cmp byte [ebp - 0x35], 0
jne 0x10052b5f
jmp 0x10052b9f
mov byte [ebx + 0x79], 1
test cx, cx
js 0x10052aee
mov eax, dword [ebp - 0x70]
movss xmm2, dword [eax]
movss xmm3, dword [edx + 0x1568]
mov al, 1
subss xmm1, xmm3
ucomiss xmm2, xmm1
jbe 0x10052af6
mov ecx, dword [ebp - 0x28]
and ecx, 8
mov ecx, dword [ebp - 0x28]
jne 0x10052af6
mov edx, ecx
and edx, 0x800
mov ecx, edx
shr ecx, 0xb
mov byte [ebx + 0x78], cl
xorps xmm1, xmm1
test edx, edx
jne 0x10052b06
mov edx, dword [ebp - 0x20]
jmp 0x10052b40
mov byte [ebx + 0x78], 1
test al, al
je 0x10052b0d
jmp 0x10052b38
mov byte [ebx + 0x78], 1
mov al, 1
jmp 0x10052b38
mov byte [ebx + 0x78], 0
xorps xmm1, xmm1
test al, al
jne 0x10052b47
xorps xmm0, xmm0
jmp 0x10052b4f
test al, al
mov edx, dword [ebp - 0x20]
jne 0x10052b30
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 0x100540d1
movss xmm1, dword [edx + 0x1568]
mov ecx, dword [ebp - 0x28]
test al, al
je 0x10052b01
movss xmm0, dword [edx + 0x1568]
movss dword [ebx + 0x70], xmm0
movss dword [ebx + 0x74], xmm1
cmp byte [ebp - 0x35], 0
je 0x10052b9f
test ecx, 0x4000000
sete al
mov dword [ebx + 0xa0], 0xffffffff
or al, byte [ebp - 0x84]
jne 0x10052b9f
mov eax, dword [edx + 0x1a7c]
test eax, eax
jle case.default.0x100569c0
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 0x10052cfd
mov eax, dword [ebp - 0xb8]
test eax, eax
je case.default.0x100569c0
cmp byte [eax + 0x7a], 0
je case.default.0x100569c0
mov ecx, eax
movzx eax, word [eax + 0x150]
mov word [ebx + 0x86], ax
mov eax, dword [ecx + 0x150]
cmp eax, dword [ecx + 0x154]
jne 0x10052ca0
lea ebx, [eax + 1]
test eax, eax
je 0x10052bf9
mov ecx, eax
shr ecx, 0x1f
add ecx, eax
sar ecx, 1
add ecx, eax
jmp 0x10052bfe
mov ecx, 8
cmp ecx, ebx
cmovg ebx, ecx
cmp eax, ebx
jge 0x10052ca0
lea eax, [ebx*4]
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x10052c22
inc dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc77c]
add esp, 8
mov edi, eax
mov esi, dword [ebp - 0xb8]
mov eax, dword [esi + 0x158]
test eax, eax
je 0x10052c88
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 0x10052c72
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x10052c72
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
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 0x10052cfd
cmp dword [ebp - 0x2c], 0x3000000
je 0x10052cfd
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 [0x101a79dc]
jne 0x10052d17
jnp 0x10052d20
cmp dword [ebx + 0xa8], 0
je 0x10052d80
test ecx, 0x10000000
jne 0x10052d61
test ecx, 0x4000000
sete al
or al, byte [ebp - 0x84]
jne 0x10052d3f
cmp dword [ebp - 0x6c], 0
jg 0x10052d61
test ecx, 0x2000000
sete al
or al, byte [ebp - 0x84]
jne 0x10052e08
cmp dword [ebp - 0x2c], 0x3000000
je 0x10052e08
push ebx
push edi
call fcn.10059b40
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
add esp, 8
movq xmm0, qword [ebp - 0x50]
movq qword [ebx + 0xc], xmm0
jmp 0x10052e08
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 0x10052e93
cmp dword [ebx + 0x90], 0
jg 0x10052e93
cmp dword [ebx + 0x94], 0
jg 0x10052e93
movss xmm1, dword [edx + 0x10]
pxor xmm0, xmm0
ucomiss xmm1, xmm0
jbe 0x10052e93
movss xmm1, dword [edx + 0x14]
ucomiss xmm1, xmm0
jbe 0x10052e93
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 0x10052ec4
test ecx, 0x4000000
je 0x10052ecc
mov eax, ecx
and eax, 0x8000000
jne 0x10052ecc
lea eax, [edx + 0x1530]
jmp 0x10052ed2
lea eax, [edx + 0x1528]
jmp 0x10052ed2
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 0x10052f04
mov esi, dword [ebx + 0x328]
cmp esi, 0xffffffff
je 0x10052f04
add eax, esi
inc eax
inc esi
cdq
idiv esi
mov dword [ebx + 0x330], edx
mov eax, dword [ebx + 0x33c]
cmp eax, 0x7fffffff
je 0x10052f2b
mov esi, dword [ebx + 0x32c]
cmp esi, 0xffffffff
je 0x10052f2b
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.10059e10
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 0x10052fd8
mov esi, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
jmp 0x1005300b
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 0x1005300b
cmp dword [eax + 0x90], 0
jg 0x1005300b
cmp dword [eax + 0x94], 0
jle 0x100540d9
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 0x10053045
movss xmm0, dword [eax + 0x14]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x10053045
test bl, bl
jne 0x10053045
mulss xmm0, dword [0x101a7ac4]
jmp 0x10053055
movss xmm0, dword [esi + 0x1900]
mulss xmm0, dword [0x101a7ac8]
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.1005f610
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.1005fea0
mov eax, dword [0x10258f60]
xorps xmm0, xmm0
movlps qword [ebp - 0xf0], xmm0
movsd xmm0, qword [eax + 0x10]
movsd qword [ebp - 0xe8], xmm0
or bl, byte [ebp - 0x6c]
jne 0x1005310b
cmp dword [ebp - 0x2c], 0x3000000
je 0x1005310b
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 0x1005314e
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.1005fd30
mov eax, dword [esi + 0x274]
mov edx, dword [eax + 0x3c]
test edx, edx
jle case.default.0x100569c0
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 0x1005320d
mov eax, dword [0x10258f60]
mov ecx, dword [eax + 0x1a70]
test ecx, ecx
jle 0x100531fd
mov edx, dword [eax + 0x1a78]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*8]
lea ecx, [edx + ecx*4]
add ecx, 0xffffffe0
jmp 0x100531e9
dec eax
add ecx, 0xffffffdc
cmp eax, 1
jbe 0x100531fd
mov edx, dword [ecx]
test edx, edx
je 0x100531e0
test byte [edx + 0xb], 8
je 0x100531e0
cmp esi, edx
je 0x10053203
xor eax, eax
jmp 0x1005320d
xor edx, edx
cmp esi, edx
jne 0x100531f9
cmp dword [esi + 0xa8], 0
setle al
mov edx, dword [ebp - 0x20]
mov ecx, dword [edx + 0x1b38]
test ecx, ecx
je 0x10053225
cmp esi, dword [ecx + 0x2f0]
sete bl
jmp 0x10053227
xor ebx, ebx
mov ecx, eax
or cl, bl
cmp cl, 1
jne 0x1005333a
movzx eax, al
shl eax, 4
movss xmm0, dword [edx + 0x1c44]
mov ecx, dword [0x10258f60]
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 [0x101a6280]
movaps xmm4, xmm3
minss xmm4, xmm2
xorps xmm5, xmm5
cmpltss xmm2, xmm5
andnps xmm2, xmm4
movss xmm4, dword [0x101a6294]
mulss xmm2, xmm4
movss xmm6, dword [0x101a62c0]
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 [0x101a7790]
minps xmm1, xmm2
cmpnltps xmm2, xmm0
andps xmm2, xmm1
mulps xmm2, xmmword [0x101a77a0]
addps xmm2, xmmword [0x101a7710]
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.10061e40
mov edx, dword [ebp - 0x20]
test bl, bl
mov ebx, dword [ebp - 0x24]
je 0x100534be
cmp ebx, dword [edx + 0x1b38]
jne 0x100534be
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 0x100534be
movss xmm0, dword [edx + 0x1b44]
mulss xmm0, dword [0x101a7848]
mov eax, dword [0x10258f60]
movss xmm2, dword [eax + 0x18cc]
mulss xmm0, dword [eax + 0x1500]
movss xmm1, dword [eax + 0x18d0]
mulss xmm0, dword [eax + 0x18d8]
movss xmm3, dword [0x101a6280]
movaps xmm4, xmm3
minss xmm4, xmm2
xorps xmm5, xmm5
cmpltss xmm2, xmm5
andnps xmm2, xmm4
movss xmm4, dword [0x101a6294]
mulss xmm2, xmm4
movss xmm6, dword [0x101a62c0]
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 [0x101a7790]
minps xmm2, xmm1
cmpnltps xmm1, xmm0
andps xmm1, xmm2
mulps xmm1, xmmword [0x101a77a0]
addps xmm1, xmmword [0x101a7710]
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.10061e40
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 0x1b34]
test eax, eax
jne 0x100534ce
mov eax, dword [edx + 0x1af4]
mov cl, 1
test byte [ebp - 0x70], 1
jne 0x100534ed
test eax, eax
je 0x100534eb
mov ecx, dword [ebx + 0x2f4]
cmp ecx, dword [eax + 0x2f4]
sete cl
jmp 0x100534ed
xor ecx, ecx
mov dword [ebp - 0x98], ecx
movss xmm1, dword [ebx + 0x10]
pxor xmm0, xmm0
test byte [ebx + 8], 1
jne 0x10053527
mov eax, dword [0x10258f60]
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 0x100536ef
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 0x100535bb
cmp byte [edx + 0x1b56], 1
sbb eax, 0
mov dword [ebp - 0x10], 0xffffffff
mov ecx, dword [0x10258f60]
shl eax, 4
movss xmm6, dword [ecx + eax + 0x15ac]
movss xmm4, dword [ecx + eax + 0x15b8]
mulss xmm4, dword [ecx + 0x1500]
movss xmm5, dword [0x101a6280]
movaps xmm7, xmm5
minss xmm7, xmm6
xorps xmm0, xmm0
cmpltss xmm6, xmm0
andnps xmm6, xmm7
movss xmm7, dword [0x101a6294]
mulss xmm6, xmm7
movss xmm3, dword [0x101a62c0]
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 [0x101a7790]
minps xmm4, xmm0
cmpnltps xmm0, xmm3
andps xmm0, xmm4
mulps xmm0, xmmword [0x101a77a0]
addps xmm0, xmmword [0x101a7710]
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.1004a060
mov edx, dword [ebp - 0x20]
add esp, 0x1c
movss xmm0, dword [ebp - 0x6c]
movss dword [edx + 0x1544], xmm0
jmp 0x1005540b
mov ecx, dword [ebp - 0x28]
test cl, cl
js 0x10055241
mov eax, dword [ebp - 0xa8]
or al, byte [ebp - 0x6c]
or al, byte [ebp - 0x54]
je 0x10053812
mov eax, ecx
and eax, 0x23000000
cmp eax, 0x1000000
jne 0x100538a1
mov eax, dword [0x10258f60]
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.1006b090
mov eax, dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x50]
addss xmm0, dword [0x101a77d4]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x50], xmm0
movss xmm1, dword [eax + 0x1500]
movss xmm3, dword [0x101a6280]
movaps xmm2, xmm3
minss xmm2, xmm1
xorps xmm0, xmm0
cmpltss xmm1, xmm0
andnps xmm1, xmm2
mulss xmm1, dword [0x101a6294]
addss xmm1, dword [0x101a62c0]
cmp dword [eax + 0x1aa0], 0
je 0x100544f9
movss xmm2, dword [eax + 0x1ae0]
ucomiss xmm2, dword [0x101a6280]
mov edx, dword [ebp - 0x28]
jne 0x100537e8
jnp 0x100544fc
movaps xmm1, xmm3
minss xmm1, xmm2
xorps xmm3, xmm3
cmpltss xmm2, xmm3
andnps xmm2, xmm1
mulss xmm2, dword [0x101a6294]
addss xmm2, dword [0x101a62c0]
movaps xmm1, xmm2
jmp 0x100544fc
mov eax, dword [edx + 0x1aa0]
test ecx, 0x200000
jne 0x10053ab8
mov ecx, dword [ebp - 0x68]
movss xmm2, dword [ecx]
movss xmm4, dword [0x101a6280]
movaps xmm0, xmm4
minss xmm0, xmm2
xorps xmm1, xmm1
cmpltss xmm2, xmm1
andnps xmm2, xmm0
mulss xmm2, dword [0x101a6294]
addss xmm2, dword [0x101a62c0]
test eax, eax
je 0x10054acb
movss xmm3, dword [edx + 0x1ae0]
ucomiss xmm3, dword [0x101a6280]
mov edx, dword [ebp - 0x28]
jne 0x10053877
jnp 0x10054ace
movaps xmm0, xmm4
minss xmm0, xmm3
xorps xmm2, xmm2
cmpltss xmm3, xmm2
andnps xmm3, xmm0
mulss xmm3, dword [0x101a6294]
addss xmm3, dword [0x101a62c0]
movaps xmm2, xmm3
jmp 0x10054ace
cmp dword [ebp - 0x74], 0
jne 0x100538b3
mov eax, dword [ebp - 0x6c]
or al, byte [ebp - 0x54]
je 0x10055241
movss xmm0, dword [edx + 0x1500]
movsd xmm1, qword [0x101a7bf0]
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.10049840
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 0x1aa0], 0
je 0x10053939
movss xmm0, dword [ecx + 0x1ae0]
ucomiss xmm0, dword [0x101a6280]
jne 0x10053904
jnp 0x10053939
and eax, 0xffffff
movss xmm1, dword [0x101a6280]
minss xmm1, xmm0
xorps xmm2, xmm2
cmpltss xmm0, xmm2
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
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 [0x101a7c00]
movlps qword [ebp - 0x50], xmm1
xorps xmm1, xmm1
test byte [ebx + 8], 1
jne 0x10053992
mov edi, dword [0x10258f60]
movss xmm2, dword [edi + 0x1904]
mulss xmm2, dword [ebx + 0x26c]
movss xmm1, dword [edi + 0x153c]
addss xmm1, xmm1
addss xmm1, xmm2
addss xmm0, dword [0x101a7c10]
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.10061e40
mov esi, dword [ebx + 0x274]
mov edi, dword [ebp - 0x68]
movss xmm0, dword [edi]
movsd xmm1, qword [0x101a7c20]
movsd qword [ebp - 0x50], xmm1
mov dword [ebp - 0x48], 0x3e34b4b5
movss dword [ebp - 0x44], xmm0
lea ecx, [ebp - 0x50]
call fcn.10049840
movsd xmm0, qword [ebx + 0xc]
movsd xmm1, qword [ebx + 0x14]
addps xmm1, xmm0
addps xmm1, xmmword [0x101a7c00]
movlps qword [ebp - 0x64], xmm1
movss xmm1, dword [0x101a7c10]
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.10061d80
mov eax, dword [ebp - 0x24]
mov esi, dword [eax + 0x274]
movss xmm0, dword [edi]
movsd xmm1, qword [0x101a7c30]
movsd qword [ebp - 0x50], xmm1
mov dword [ebp - 0x48], 0x3b808081
movss dword [ebp - 0x44], xmm0
lea ecx, [ebp - 0x50]
call fcn.10049840
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 [0x101a7c40]
movlps qword [ebp - 0x64], xmm1
addps xmm0, xmmword [0x101a7c50]
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 0x100540c7
movss xmm2, dword [0x10258f48]
movss xmm4, dword [0x101a6280]
movaps xmm0, xmm4
minss xmm0, xmm2
xorps xmm1, xmm1
cmpltss xmm2, xmm1
andnps xmm2, xmm0
mulss xmm2, dword [0x101a6294]
addss xmm2, dword [0x101a62c0]
test eax, eax
je 0x10053b26
movss xmm3, dword [edx + 0x1ae0]
ucomiss xmm3, dword [0x101a6280]
jne 0x10053b01
jnp 0x10053b26
movaps xmm0, xmm4
minss xmm0, xmm3
xorps xmm2, xmm2
cmpltss xmm3, xmm2
andnps xmm3, xmm0
mulss xmm3, dword [0x101a6294]
addss xmm3, dword [0x101a62c0]
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 0x10053b8f
mov esi, dword [0x10258f60]
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.10061e40
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.1005fd30
mov ecx, dword [esi + 0x274]
call fcn.1005fe80
movss xmm0, dword [0x10258f48]
movss xmm1, dword [0x101a6280]
minss xmm1, xmm0
xorps xmm2, xmm2
cmpltss xmm0, xmm2
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
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 [0x101a5130]
movlps qword [ebp - 0x64], xmm0
push 0x3f800000
push 0xf
push 0
push eax
push ebx
push edi
call fcn.10061d80
movss xmm0, dword [0x10258f48]
movss xmm1, dword [0x101a6280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a7780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
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 [0x101a7770]
movlps qword [ebp - 0x50], xmm1
addps xmm0, xmmword [0x101a7790]
movlps qword [ebp - 0x64], xmm0
push 0x3f800000
push 0xf
push 0
push eax
push ebx
push edi
call fcn.10061d80
mov ecx, dword [esi + 0x274]
movss xmm0, dword [0x10258f48]
movss xmm1, dword [0x101a6280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a7780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0xb4b4b4
movsd xmm0, qword [esi + 0xc]
addps xmm0, xmmword [0x101a7ad0]
movlps qword [ebp - 0x50], xmm0
push 0
push str.confirmation
push eax
push ebx
call fcn.10062de0
movss xmm0, dword [0x101fc450]
movss xmm1, dword [0x101fc44c]
movss xmm3, dword [0x101a6280]
movaps xmm2, xmm3
minss xmm2, xmm1
xorps xmm5, xmm5
cmpltss xmm1, xmm5
andnps xmm1, xmm2
movss xmm2, dword [0x101a6294]
mulss xmm1, xmm2
movss xmm4, dword [0x101a62c0]
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 [0x10258f48]
movss xmm1, dword [0x101fc454]
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x101a7790]
minps xmm0, xmm1
cmpnltps xmm1, xmmword [0x101a5130]
andps xmm1, xmm0
mulps xmm1, xmmword [0x101a77a0]
addps xmm1, xmmword [0x101a7710]
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 [0x101a7ae0]
movss xmm0, dword [esi + 0x14]
addss xmm0, xmm1
addss xmm0, dword [0x101a7ae4]
addss xmm0, dword [0x101a7ae8]
movaps xmm1, xmmword [0x101a7af0]
shufps xmm1, xmm0, 1
shufps xmm1, xmm0, 0xe2
movsd xmm0, qword [esi + 0xc]
addps xmm1, xmm0
movlps qword [ebp - 0x50], xmm1
addps xmm0, xmmword [0x101a7b00]
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.10061d80
movss xmm0, dword [0x10258f48]
minss xmm0, dword [0x101a7b10]
movss xmm1, dword [0x101a6280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a7780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
cvttss2si eax, xmm0
movss xmm0, dword [esi + 0x14]
movss xmm1, dword [0x101a7ae0]
addss xmm0, xmm1
addss xmm0, dword [0x101a7ae4]
addss xmm0, dword [0x101a7ae8]
mov ecx, dword [esi + 0x274]
movaps xmm1, xmmword [0x101a7af0]
shufps xmm1, xmm0, 1
shufps xmm1, xmm0, 0xe2
movsd xmm0, qword [esi + 0xc]
addps xmm1, xmm0
movlps qword [ebp - 0x50], xmm1
addps xmm0, xmmword [0x101a7b20]
movlps qword [ebp - 0x64], xmm0
shl eax, 0x18
push 0x3f800000
push 0xf
push 0
push eax
push ebx
push edi
call fcn.10061d80
mov ecx, dword [esi + 0x274]
movss xmm0, dword [0x10258f48]
minss xmm0, dword [0x101a6280]
xorps xmm1, xmm1
maxss xmm1, xmm0
mulss xmm1, dword [0x101a6294]
addss xmm1, dword [0x101a62c0]
cvttss2si eax, xmm1
movss xmm0, dword [esi + 0x18]
movss xmm1, dword [0x101a7ae0]
addss xmm0, xmm1
movss xmm1, dword [esi + 0x14]
unpcklps xmm1, xmm0
addps xmm1, xmmword [0x101a7b30]
addps xmm1, xmmword [0x101a7b40]
addps xmm1, xmmword [0x101a7b50]
movsd xmm0, qword [esi + 0xc]
addps xmm1, xmm0
movlps qword [ebp - 0x50], xmm1
addps xmm0, xmmword [0x101a7b60]
movlps qword [ebp - 0x64], xmm0
shl eax, 0x18
or eax, 0xd0d0d
push 0xf
push 0
push eax
push ebx
push edi
call fcn.10061e40
movss xmm0, dword [0x10258f48]
minss xmm0, dword [0x101a6280]
xorps xmm1, xmm1
maxss xmm1, xmm0
mulss xmm1, dword [0x101a6294]
addss xmm1, dword [0x101a62c0]
cvttss2si eax, xmm1
movss xmm0, dword [esi + 0x18]
movss xmm1, dword [0x101a7ae0]
addss xmm0, xmm1
movss xmm1, dword [esi + 0x14]
unpcklps xmm1, xmm0
mov ecx, dword [esi + 0x274]
addps xmm1, xmmword [0x101a7b30]
addps xmm1, xmmword [0x101a7b40]
addps xmm1, xmmword [0x101a7b50]
movsd xmm0, qword [esi + 0xc]
addps xmm1, xmm0
movlps qword [ebp - 0x50], xmm1
addps xmm0, xmmword [0x101a7b60]
movlps qword [ebp - 0x64], xmm0
shl eax, 0x18
push 0x3f800000
push 0xf
push 0
push eax
push ebx
push edi
call fcn.10061d80
mov ecx, dword [esi + 0x274]
movss xmm0, dword [0x10258f48]
minss xmm0, dword [0x101a6280]
xorps xmm1, xmm1
maxss xmm1, xmm0
mulss xmm1, dword [0x101a6294]
addss xmm1, dword [0x101a62c0]
cvttss2si eax, xmm1
shl eax, 0x18
or eax, 0x333333
movss xmm1, dword [0x101a7ae0]
addss xmm1, dword [esi + 0x18]
movss xmm0, dword [esi + 0x14]
unpcklps xmm0, xmm1
addps xmm0, xmmword [0x101a7b30]
addps xmm0, xmmword [0x101a7b40]
addps xmm0, xmmword [0x101a7b70]
addps xmm0, xmmword [0x101a7b80]
movsd xmm1, qword [esi + 0xc]
addps xmm0, xmm1
movlps qword [ebp - 0x50], xmm0
addps xmm1, xmmword [0x101a7b90]
movlps qword [ebp - 0x64], xmm1
push 0x3f800000
push 0xf
push 0
push eax
push ebx
mov ebx, esi
push edi
call fcn.10061d80
jmp 0x10054abd
xorps xmm1, xmm1
jmp 0x10052b40
cmp byte [eax + 0x7b], 0
je 0x1005300b
mov eax, dword [ebp - 0x24]
movss xmm0, dword [eax + 0x44]
addss xmm0, dword [0x101a6280]
mov eax, dword [0x10258f60]
movzx ecx, byte [eax + 0xaf]
mov dword [ebp - 0x54], eax
movss xmm1, dword [eax + 0x1900]
movss xmm2, dword [0x101a7840]
mulss xmm2, xmm1
addss xmm2, xmm0
mulss xmm1, dword [0x101a7a44]
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 [0x101a77f0]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movups xmmword [ebp - 0x118], xmm0
xorps xmm0, xmm0
mov byte [ebp - 0x85], cl
test cl, cl
je 0x10054168
movss xmm0, dword [0x101a78f4]
movups xmmword [ebp - 0x128], xmm0
push str.RESIZE
call fcn.1005af70
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 [0x101a77e0]
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 [0x101a7a50]
xor esi, esi
mov edi, 0x101a750c
movaps xmm1, xmm4
jmp 0x100541fe
movups xmm4, xmmword [ebp - 0x84]
movups xmm1, xmmword [ebp - 0x98]
inc esi
add edi, 0x18
cmp ebx, esi
je 0x10056899
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 0x10054272
movss dword [ebp - 0x50], xmm2
movss dword [ebp - 0x48], xmm1
shufps xmm1, xmm1, 0x55
shufps xmm0, xmm0, 0xff
ucomiss xmm1, xmm0
jbe 0x10054289
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.0x100569c0
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 + 0x101a7104]
mov ecx, esi
shr ecx, 8
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x101a7104]
mov ecx, esi
shr ecx, 0x10
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x101a7104]
movzx ecx, al
shr eax, 8
mov edx, esi
shr edx, 0x18
xor edx, ecx
xor eax, dword [edx*4 + 0x101a7104]
not eax
mov ecx, dword [0x10258f60]
cmp dword [ecx + 0x1a04], eax
jne 0x10054309
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 0x10054334
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.10072190
add esp, 0x14
movzx eax, byte [ebp - 0x64]
movzx ecx, byte [ebp - 0xc8]
or cl, al
je 0x100541e4
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 0x100541f2
cmp byte [ecx + 0x3d5], 0
je 0x1005442d
test esi, esi
jne 0x1005442d
lea ecx, [ebp - 0xf0]
mov edx, dword [ebp - 0x24]
movss xmm0, dword [ebp - 0xf8]
movss xmm1, dword [ebp - 0xf4]
call fcn.10059840
mov eax, dword [0x10258f60]
cmp dword [eax + 0x1a04], 0
movsd xmm1, qword [ebp - 0xf0]
setne byte [eax + 0x1a14]
je 0x100543f2
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 0x100541f2
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 [0x101a5130]
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.10059840
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 0x100541f2
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 0x10054554
mov esi, dword [0x10258f60]
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.10061e40
mov ebx, dword [ebp - 0x68]
movss xmm0, dword [ebx]
movss xmm1, dword [0x101a6280]
minss xmm1, xmm0
xorps xmm2, xmm2
cmpltss xmm0, xmm2
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
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.10061c00
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x274]
movss xmm0, dword [ebx]
movss xmm1, dword [0x101a6280]
minss xmm1, xmm0
xorps xmm3, xmm3
cmpltss xmm0, xmm3
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
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 [0x101a6280]
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.10061c00
movss xmm0, dword [ebx]
movss xmm1, dword [0x101a6280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a7780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
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.10061c00
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x274]
movss xmm0, dword [ebx]
movss xmm1, dword [0x101a6280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a7780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0xc0c0c
mov edx, dword [ebp - 0x24]
movsd xmm0, qword [edx + 0xc]
movss xmm1, dword [0x101a79bc]
addps xmm1, xmm0
movlps qword [ebp - 0x64], xmm1
push 0x3f800000
push eax
mov esi, edi
push edi
push dword [ebp - 0xd8]
call fcn.10061c00
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x274]
movss xmm0, dword [ebx]
movss xmm1, dword [0x101a6280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a7780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
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 [0x101a7ac8]
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.10061c00
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x274]
movss xmm0, dword [ebx]
movss xmm3, dword [0x101a6280]
movaps xmm1, xmm3
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a7780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0x2d2d2d
movss xmm1, dword [0x101a77b0]
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.10061c00
movss xmm0, dword [ebx]
movss xmm5, dword [0x101a6280]
movaps xmm1, xmm5
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a7780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
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 [0x101a78a0]
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 [0x101a77b0]
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.10061c00
movss xmm0, dword [ebx]
movss xmm1, dword [0x101a6280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a7780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
cvttss2si eax, xmm0
mov ecx, dword [ebp - 0x24]
movsd xmm0, qword [ecx + 0x14]
movaps xmm1, xmm0
movss xmm2, dword [0x101a77b0]
addss xmm1, xmm2
movaps xmm2, xmmword [0x101a7a90]
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 [0x101a7770]
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.10061c00
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x274]
movss xmm0, dword [ebx]
movss xmm2, dword [0x101a6280]
movaps xmm1, xmm2
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a7780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0x2d2d2d
mov edx, dword [ebp - 0x24]
movsd xmm0, qword [edx + 0xc]
movaps xmm1, xmmword [0x101a7c60]
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.10061c00
movss xmm0, dword [ebx]
mov ebx, dword [ebp - 0x24]
movss xmm1, dword [0x101a6280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a7780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
cvttss2si eax, xmm0
mov ecx, dword [ebx + 0x274]
shl eax, 0x18
movss xmm1, dword [0x101a77b0]
addss xmm1, dword [ebx + 0x14]
or eax, 0x2d2d2d
movsd xmm0, qword [ebx + 0xc]
movaps xmm2, xmmword [0x101a7a90]
shufps xmm2, xmm1, 1
shufps xmm2, xmm1, 0xe2
addps xmm2, xmm0
movlps qword [ebp - 0x64], xmm2
movss xmm1, dword [0x101a7ac8]
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.10061c00
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x2c]
jmp 0x10055241
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 0x10054b33
mov esi, dword [0x10258f60]
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.10061e40
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.1005fd30
mov ecx, dword [ebx + 0x274]
call fcn.1005fe80
mov esi, dword [ebp - 0x68]
movss xmm0, dword [esi]
movss xmm1, dword [0x101a6280]
minss xmm1, xmm0
xorps xmm2, xmm2
cmpltss xmm0, xmm2
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
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 [0x101a5130]
movlps qword [ebp - 0x64], xmm0
push 0x3f800000
push 0xf
push 0
push eax
push edi
lea edi, [ebp - 0x64]
push edi
call fcn.10061d80
movss xmm0, dword [esi]
movss xmm1, dword [0x101a6280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a7780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
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 [0x101a7770]
movlps qword [ebp - 0x50], xmm1
addps xmm0, xmmword [0x101a7790]
movlps qword [ebp - 0x64], xmm0
push 0x3f800000
push 0xf
push 0
push eax
lea eax, [ebp - 0x50]
push eax
push edi
call fcn.10061d80
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0xb
mov dword [ebp - 0x3c], 0xf
mov dword [ebp - 0x50], 0x206e614a
mov dword [ebp - 0x4c], 0x32203520
mov dword [ebp - 0x49], 0x34323032
movss xmm0, dword [0x101fc44c]
movss xmm2, dword [0x101a6280]
movaps xmm1, xmm2
minss xmm1, xmm0
xorps xmm3, xmm3
cmpltss xmm0, xmm3
andnps xmm0, xmm1
movss xmm1, dword [0x101fc450]
movss xmm4, dword [0x101a6294]
mulss xmm0, xmm4
movss xmm5, dword [0x101a62c0]
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 [0x101fc454]
unpcklps xmm1, xmm0
movaps xmm0, xmmword [0x101a7790]
minps xmm0, xmm1
cmpnltps xmm1, xmmword [0x101a5130]
andps xmm1, xmm0
mulps xmm1, xmmword [0x101a77a0]
addps xmm1, xmmword [0x101a7710]
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 [0x101a7ba0]
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.10062de0
mov edx, dword [ebp - 0x24]
mov ecx, dword [edx + 0x274]
mov eax, dword [ebp - 0x68]
movss xmm0, dword [eax]
movss xmm1, dword [0x101a6280]
minss xmm1, xmm0
cmpltss xmm0, dword [0x101a7780]
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
cvttss2si eax, xmm0
shl eax, 0x18
or eax, 0x878787
movsd xmm0, qword [edx + 0xc]
addps xmm0, xmmword [0x101a7bb0]
movlps qword [ebp - 0x64], xmm0
push 0
push 0x101ef7dd
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.10062de0
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 0x10054e3c
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x68]
movss xmm0, dword [edx]
movss xmm1, dword [0x101a6280]
minss xmm1, xmm0
xorps xmm2, xmm2
cmpltss xmm0, xmm2
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
cvttss2si edx, xmm0
shl edx, 0x18
or edx, 0x8e8e8e
movsd xmm0, qword [esi + 0xc]
addps xmm0, xmmword [0x101a7bc0]
movlps qword [ebp - 0x64], xmm0
push 0
push eax
push edx
push edi
call fcn.10062de0
mov esi, dword [ebp - 0x24]
mov ecx, dword [esi + 0x274]
movss xmm0, dword [0x101fc450]
movss xmm1, dword [0x101fc44c]
movss xmm4, dword [0x101a6280]
movaps xmm2, xmm4
minss xmm2, xmm1
xorps xmm5, xmm5
cmpltss xmm1, xmm5
andnps xmm1, xmm2
movss xmm2, dword [0x101a6294]
mulss xmm1, xmm2
movss xmm3, dword [0x101a62c0]
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 [0x101fc454]
unpcklps xmm1, xmm0
xorps xmm0, xmm0
movaps xmm2, xmmword [0x101a7790]
minps xmm2, xmm1
cmpnltps xmm1, xmm0
andps xmm1, xmm2
mulps xmm1, xmmword [0x101a77a0]
addps xmm1, xmmword [0x101a7710]
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 [0x101a7ae0]
addss xmm0, dword [0x101a7ae4]
or edx, eax
addss xmm0, dword [0x101a7ae8]
movsd xmm1, qword [esi + 0xc]
movaps xmm2, xmmword [0x101a7af0]
movss xmm2, xmm0
addps xmm2, xmm1
movlps qword [ebp - 0x64], xmm2
addps xmm1, xmmword [0x101a7b00]
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.10061d80
mov eax, dword [ebp - 0x68]
movss xmm0, dword [eax]
minss xmm0, dword [0x101a7b10]
movss xmm1, dword [0x101a6280]
minss xmm1, xmm0
xorps xmm2, xmm2
cmpltss xmm0, xmm2
andnps xmm0, xmm1
mulss xmm0, dword [0x101a6294]
addss xmm0, dword [0x101a62c0]
cvttss2si eax, xmm0
mov edx, dword [ebp - 0x24]
mov ecx, dword [edx + 0x274]
movss xmm0, dword [edx + 0x14]
addss xmm0, dword [0x101a7ae0]
addss xmm0, dword [0x101a7ae4]
addss xmm0, dword [0x101a7ae8]
shl eax, 0x18
movsd xmm1, qword [edx + 0xc]
movaps xmm2, xmmword [0x101a7af0]
movss xmm2, xmm0
addps xmm2, xmm1
movlps qword [ebp - 0x64], xmm2
addps xmm1, xmmword [0x101a7b20]
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.10061d80
mov eax, dword [ebp - 0x68]
movss xmm0, dword [eax]
minss xmm0, dword [0x101a6280]
xorps xmm1, xmm1
maxss xmm1, xmm0
mulss xmm1, dword [0x101a6294]
addss xmm1, dword [0x101a62c0]
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 [0x101a7ae0]
movss xmm1, dword [edx + 0x14]
unpcklps xmm1, xmm0
addps xmm1, xmmword [0x101a7b30]
addps xmm1, xmmword [0x101a7b40]
addps xmm1, xmmword [0x101a7b50]
movsd xmm0, qword [edx + 0xc]
addps xmm1, xmm0
movlps qword [ebp - 0x64], xmm1
addps xmm0, xmmword [0x101a7bd0]
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.10061e40
mov eax, dword [ebp - 0x68]
movss xmm0, dword [eax]
minss xmm0, dword [0x101a6280]
mov edx, dword [ebp - 0x24]
mov ecx, dword [edx + 0x274]
xorps xmm1, xmm1
maxss xmm1, xmm0
mulss xmm1, dword [0x101a6294]
addss xmm1, dword [0x101a62c0]
cvttss2si eax, xmm1
shl eax, 0x18
movss xmm0, dword [edx + 0x18]
addss xmm0, dword [0x101a7ae0]
movss xmm1, dword [edx + 0x14]
unpcklps xmm1, xmm0
addps xmm1, xmmword [0x101a7b30]
addps xmm1, xmmword [0x101a7b40]
addps xmm1, xmmword [0x101a7b50]
movsd xmm0, qword [edx + 0xc]
addps xmm1, xmm0
movlps qword [ebp - 0x64], xmm1
addps xmm0, xmmword [0x101a7bd0]
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.10061d80
mov eax, dword [ebp - 0x68]
movss xmm0, dword [eax]
minss xmm0, dword [0x101a6280]
xorps xmm1, xmm1
maxss xmm1, xmm0
mulss xmm1, dword [0x101a6294]
addss xmm1, dword [0x101a62c0]
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 [0x101a7ae0]
movss xmm1, dword [edx + 0x14]
unpcklps xmm1, xmm0
addps xmm1, xmmword [0x101a7b30]
addps xmm1, xmmword [0x101a7b40]
addps xmm1, xmmword [0x101a7b70]
addps xmm1, xmmword [0x101a7b80]
movsd xmm0, qword [edx + 0xc]
addps xmm1, xmm0
movlps qword [ebp - 0x64], xmm1
addps xmm0, xmmword [0x101a7be0]
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.10061d80
mov eax, dword [ebp - 0x3c]
cmp eax, 0x10
mov ebx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x2c]
jb 0x1005523b
mov ecx, dword [ebp - 0x50]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x10055231
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x10056df7
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call fcn.10155aa0
add esp, 8
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
mov dword [edx + 0x1aa0], 0
test cl, 1
jne 0x100553cf
movzx eax, byte [ebp - 0x98]
shl eax, 4
mov ecx, dword [0x10258f60]
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 [0x101a6280]
movaps xmm4, xmm2
minss xmm4, xmm3
xorps xmm5, xmm5
cmpltss xmm3, xmm5
andnps xmm3, xmm4
movss xmm4, dword [0x101a6294]
mulss xmm3, xmm4
movss xmm6, dword [0x101a62c0]
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 [0x101a7790]
minps xmm1, xmm2
cmpnltps xmm2, xmm0
andps xmm2, xmm1
mulps xmm2, xmmword [0x101a77a0]
addps xmm2, xmmword [0x101a7710]
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.10061e40
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
test ecx, 0x400
je 0x100553d7
mov eax, dword [ebx + 8]
xorps xmm0, xmm0
test al, 1
jne 0x100553ab
mov ecx, dword [0x10258f60]
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 0x10055acb
mov eax, dword [0x10258f60]
mov dword [ebp - 0x10], 0xffffffff
xorps xmm2, xmm2
jmp 0x10055aff
test ecx, 0x400
jne 0x1005537b
cmp byte [ebx + 0x78], 0
je 0x100553f1
mov dword [ebp - 0x10], 0xffffffff
push 0
call fcn.100735b0
mov edx, dword [ebp - 0x20]
add esp, 4
cmp byte [ebx + 0x79], 0
je 0x1005540b
mov dword [ebp - 0x10], 0xffffffff
push 1
call fcn.100735b0
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 0x100554a4
mov edx, dword [0x10258f60]
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 0x100554e1
mov edx, dword [0x10258f60]
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 0x1005550a
jp 0x1005550a
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 0x10055537
jp 0x10055537
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 0x10055595
mov edx, dword [0x10258f60]
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 0x100555ce
mov eax, dword [0x10258f60]
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 [0x101a7c70]
mov byte [ebx + 0x146], 0
movss dword [ebx + 0x100], xmm0
cmp dword [ebx + 0x154], 0
jns 0x1005570a
mov eax, dword [0x10258f60]
test eax, eax
je 0x10055695
inc dword [eax + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [0x10258f68]
mov dword [ebp - 0x10], 0xffffffff
push eax
push 0
call dword [0x101fc77c]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x158]
test eax, eax
je 0x100556f7
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 0x100556e7
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x100556e7
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
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 0x1005573e
mov ecx, eax
mov eax, dword [eax + 0x160]
mov dword [ebx + 0x164], eax
mov eax, dword [ecx + 0x168]
jmp 0x1005574a
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 0x10055802
mov eax, dword [0x10258f60]
test eax, eax
je 0x1005578d
inc dword [eax + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [0x10258f68]
mov dword [ebp - 0x10], 0xffffffff
push eax
push 0
call dword [0x101fc77c]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x17c]
test eax, eax
je 0x100557ef
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 0x100557df
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x100557df
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
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 0x100558a4
mov eax, dword [0x10258f60]
test eax, eax
je 0x1005582f
inc dword [eax + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [0x10258f68]
mov dword [ebp - 0x10], 0xffffffff
push eax
push 0
call dword [0x101fc77c]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x188]
test eax, eax
je 0x10055891
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 0x10055881
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x10055881
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
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 0x10055946
mov eax, dword [0x10258f60]
test eax, eax
je 0x100558d1
inc dword [eax + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [0x10258f68]
mov dword [ebp - 0x10], 0xffffffff
push eax
push 0
call dword [0x101fc77c]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x194]
test eax, eax
je 0x10055933
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 0x10055923
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x10055923
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
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 0x10055a15
mov eax, dword [0x10258f60]
test eax, eax
je 0x1005599d
inc dword [eax + 0x36c]
mov dword [ebp - 0x10], 0xffffffff
mov eax, dword [0x10258f68]
mov dword [ebp - 0x10], 0xffffffff
push eax
push 0
call dword [0x101fc77c]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x1a0]
test eax, eax
je 0x10055a02
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 0x100559f2
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x100559f2
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
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.10085af0
mov ecx, dword [ebp - 0x28]
test ecx, 0x4000000
je 0x10055a74
movss xmm0, dword [ebx + 0xcc]
addss xmm0, dword [0x101a78f4]
movss dword [ebx + 0xcc], xmm0
test ecx, 0x1000000
je 0x10055e5e
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x168]
cmp dword [ebx + 0x168], eax
je 0x10055e5e
mov dword [ebx + 0x168], eax
mov ecx, dword [ebx + 0x174]
cmp ecx, dword [ebx + 0x178]
jne 0x10055e49
lea edi, [ecx + 1]
test ecx, ecx
je 0x10055dae
mov edx, ecx
shr edx, 0x1f
add edx, ecx
sar edx, 1
add edx, ecx
jmp 0x10055db3
mov eax, dword [0x10258f60]
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 0x10055b78
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 [0x101a6280]
movaps xmm4, xmm5
minss xmm4, xmm3
cmpltss xmm3, xmm6
andnps xmm3, xmm4
movss xmm4, dword [0x101a6294]
mulss xmm3, xmm4
xorps xmm7, xmm7
movss xmm6, dword [0x101a62c0]
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 [0x101a7790]
minps xmm3, xmm2
cmpnltps xmm2, xmm1
andps xmm2, xmm3
mulps xmm2, xmmword [0x101a77a0]
or edi, esi
addps xmm2, xmmword [0x101a7710]
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.10061e40
mov edx, dword [ebp - 0x20]
movss xmm0, dword [edx + 0x1544]
ucomiss xmm0, dword [0x101a7780]
jbe 0x10055d9c
movss xmm1, dword [ebp - 0x44]
movss xmm2, dword [ebx + 0x10]
addss xmm2, dword [ebx + 0x18]
ucomiss xmm2, xmm1
jbe 0x10055d9c
mov ecx, dword [0x10258f60]
movss xmm2, dword [ecx + 0x161c]
movss xmm5, dword [0x101a6280]
movaps xmm3, xmm5
minss xmm3, xmm2
xorps xmm4, xmm4
cmpltss xmm2, xmm4
andnps xmm2, xmm3
movss xmm3, dword [0x101a6294]
mulss xmm2, xmm3
movss xmm6, dword [0x101a62c0]
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 [0x101a7790]
minps xmm4, xmm2
cmpnltps xmm2, xmm3
andps xmm2, xmm4
mulps xmm2, xmmword [0x101a77a0]
addps xmm2, xmmword [0x101a7710]
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.10061c00
mov edx, dword [ebp - 0x20]
mov edi, dword [ebp - 0x2c]
cmp byte [ebx + 0x78], 0
jne 0x100553dd
jmp 0x100553f1
mov edx, 8
cmp edx, edi
cmovg edi, edx
cmp ecx, edi
jge 0x10055e49
lea eax, [edi*4]
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x10055dd7
inc dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc77c]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x17c]
test eax, eax
je 0x10055e31
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 0x10055e21
mov ecx, dword [0x10258f60]
test ecx, ecx
je 0x10055e21
dec dword [ecx + 0x36c]
push dword [0x10258f68]
push eax
call dword [0x101fc780]
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 0x10055e72
dec eax
mov dword [ebx + 0x90], eax
mov eax, dword [ebx + 0x94]
test eax, eax
jle 0x10055e83
dec eax
mov dword [ebx + 0x94], eax
test byte [ebp - 0x70], 1
je 0x10055ea3
push ebx
call fcn.1004d770
add esp, 4
push 0
push ebx
call fcn.10059f80
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
add esp, 8
test cl, 1
jne 0x10056517
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 0x10055f96
mov eax, dword [ebx + 0x1c0]
test eax, eax
jle case.default.0x100569c0
mov ecx, dword [ebx + 0x1c8]
mov ecx, dword [ecx + eax*4 - 4]
not ecx
mov bl, 0x23
mov edx, 0x101ee57f
mov eax, ecx
jmp 0x10055f2c
movzx edi, bl
movzx esi, al
shr eax, 8
xor esi, edi
xor eax, dword [esi*4 + 0x101a7104]
inc edx
mov bl, bh
test bh, bh
mov edi, dword [ebp - 0x2c]
je 0x10055f43
mov bh, byte [edx - 1]
cmp bl, 0x23
jne 0x10055f10
cmp bh, 0x23
jne 0x10055f10
cmp byte [edx], 0x23
cmove eax, ecx
mov bh, 0x23
jmp 0x10055f10
not eax
mov ecx, dword [0x10258f60]
cmp dword [ecx + 0x1a04], eax
jne 0x10055f59
mov dword [ecx + 0x1a0c], eax
cmp dword [ecx + 0x1a08], eax
mov ebx, dword [ebp - 0x24]
jne 0x10055f72
mov byte [ecx + 0x1a18], 1
mov dword [ebp - 0x10], 0xffffffff
mov dword [ebp - 0x10], 0xffffffff
push dword [ebp - 0xd8]
push eax
call fcn.10073410
add esp, 8
test al, al
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
je 0x10055f96
mov byte [ebx + 0x7e], 1
cmp dword [ebp + 0xc], 0
je 0x100560b4
movss xmm0, dword [edx + 0x1900]
mulss xmm0, dword [0x101a62c0]
movss xmm1, dword [edx + 0x153c]
movaps xmm2, xmm1
xorps xmm1, xmmword [0x101a77e0]
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.0x100569c0
addss xmm0, dword [0x101a6280]
mov ecx, dword [ebx + 0x1c8]
mov ecx, dword [ecx + eax*4 - 4]
not ecx
mov bl, 0x23
mov edx, 0x101ee589
mov eax, ecx
jmp 0x1005603c
movzx esi, bl
movzx edi, al
shr eax, 8
xor edi, esi
xor eax, dword [edi*4 + 0x101a7104]
inc edx
mov bl, bh
test bh, bh
mov edi, dword [ebp - 0x2c]
je 0x10056053
mov bh, byte [edx - 1]
cmp bl, 0x23
jne 0x10056020
cmp bh, 0x23
jne 0x10056020
cmp byte [edx], 0x23
cmove eax, ecx
mov bh, 0x23
jmp 0x10056020
not eax
mov ecx, dword [0x10258f60]
cmp dword [ecx + 0x1a04], eax
jne 0x10056069
mov dword [ecx + 0x1a0c], eax
cmp dword [ecx + 0x1a08], eax
mov ebx, dword [ebp - 0x24]
jne 0x10056082
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.10073240
add esp, 0xc
test al, al
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
je 0x100560b4
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 0x10056145
mov eax, dword [0x10258f60]
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], 0x101ef51f
mov dword [esp + 0xc], 0xbf800000
mov dword [esp + 8], 0x7f7fffff
call fcn.1006b090
mov edx, dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x50]
addss xmm0, dword [0x101a77d4]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm6, xmm0
mov eax, dword [0x10258f60]
mov ecx, dword [ebp + 8]
cmp ecx, 0xffffffff
je 0x1005617a
mov edx, ecx
jmp 0x1005616c
cmp byte [edx + 1], 0x23
je 0x1005618f
inc edx
cmp edx, 0xffffffff
je 0x1005618a
movzx ecx, byte [edx]
cmp ecx, 0x23
je 0x10056160
test ecx, ecx
jne 0x10056166
jmp 0x1005618f
movss xmm0, dword [eax + 0x1900]
xorps xmm1, xmm1
jmp 0x1005620e
mov edx, 0xffffffff
movss xmm0, dword [eax + 0x1900]
mov esi, dword [ebp + 8]
cmp edx, esi
je 0x10056208
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.1006b090
movups xmm6, xmmword [ebp - 0xa8]
movss xmm1, dword [ebp - 0x50]
movss xmm0, dword [ebp - 0x4c]
addss xmm1, dword [0x101a77d4]
cvttps2dq xmm1, xmm1
cvtdq2ps xmm1, xmm1
jmp 0x1005620b
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 0x10056253
movss xmm1, dword [edx + 0x1900]
addss xmm1, xmm0
addss xmm1, dword [edx + 0x1550]
movaps xmm2, xmm0
cmp dword [ebp + 0xc], 0
je 0x10056270
movss xmm2, dword [edx + 0x1900]
addss xmm2, xmm0
addss xmm2, dword [edx + 0x1550]
cmp dword [ebp + 0xc], 0
je 0x1005628e
movss xmm0, dword [ebp - 0xbc]
subss xmm0, dword [ebp - 0xc4]
addss xmm0, dword [0x101a7c74]
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 0x10056393
lea ecx, [edx + 0x1520]
jmp 0x1005630c
cmp byte [esi + 1], 0x23
je 0x1005631f
movzx edx, byte [esi]
cmp edx, 0x23
je 0x10056300
test edx, edx
jne 0x10056306
mov ecx, dword [ebp - 0x28]
test ecx, 0x100000
je 0x10056514
movss xmm0, dword [0x101a7ae8]
subss xmm0, xmm6
movss xmm3, dword [ebp - 0x50]
movss xmm2, dword [ebp - 0x34]
movss xmm1, dword [edx + 0x1900]
mulss xmm1, dword [0x101a7c78]
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, 0x101ef51f
cmp esi, 0xffffffff
je 0x10056514
xor eax, eax
mov ecx, 0x101ef51f
not ecx
jmp 0x1005647f
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 0x100565a5
mov eax, dword [0x10258f60]
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 [0x101a62c0]
movss xmm1, dword [ebx + 0x3c]
mulss xmm1, xmm7
subss xmm1, xmm5
cvttss2si ecx, xmm1
test ecx, ecx
jle 0x100565e9
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 [0x101a7c80]
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 [0x101a7c90]
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 0x10056690
movaps xmm1, xmm2
shufps xmm1, xmm2, 0x55
addss xmm1, dword [0x101a7ae8]
movss dword [ebx + 0x200], xmm1
shufps xmm2, xmm2, 0xff
addss xmm2, dword [0x101a7ca0]
movss dword [ebx + 0x208], xmm2
mov eax, dword [ebx + 0x50]
mov dword [ebx + 0x10c], eax
mov eax, dword [0x10258f60]
movss xmm3, dword [eax + 0x1558]
subss xmm0, xmm3
movss xmm2, dword [eax + 0xe0]
xor ecx, ecx
ucomiss xmm2, xmm0
jb 0x10056707
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.1005fd30
mov ecx, dword [esi + 0x274]
mov eax, dword [ecx + 0x3c]
test eax, eax
jle case.default.0x100569c0
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 0x1005681b
test cl, 1
je case.default.0x100569c0
test cl, 0x40
jne 0x100567ed
cmp dword [ebx + 0x90], 0
jg 0x100567ed
cmp dword [ebx + 0x94], 0
jg 0x100567ed
movss xmm0, dword [ebx + 0x1dc]
ucomiss xmm0, dword [ebx + 0x1e4]
jae 0x100567e3
movss xmm0, dword [ebx + 0x1e0]
ucomiss xmm0, dword [ebx + 0x1e8]
jb 0x100567ed
mov dword [ebx + 0xa4], 1
cmp dword [ebp - 0xb8], 0
je 0x1005681b
mov ecx, dword [ebp - 0xb8]
cmp byte [ecx + 0x7d], 0
jne 0x10056811
mov ecx, dword [ebp - 0xb8]
cmp byte [ecx + 0x81], 0
je 0x1005681b
mov dword [ebx + 0xa4], 1
xorps xmm0, xmm0
ucomiss xmm0, dword [eax]
jae 0x1005683a
mov al, 1
cmp dword [ebx + 0xa4], 0
jg 0x10056846
cmp dword [ebx + 0xa8], 0
setg al
jmp 0x10056846
mov dword [ebx + 0xa4], 1
mov al, 1
mov byte [ebx + 0x81], al
cmp byte [ebx + 0x7d], 0
je 0x10056870
cmp dword [ebx + 0x90], 0
jg 0x1005687a
cmp dword [ebx + 0x94], 0
jg 0x1005687a
cmp dword [ebx + 0xa8], 0
setle al
jmp 0x1005687c
cmp byte [ebx + 0x7a], 0
je 0x10056852
test al, al
jne 0x10056852
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 0x10056c0f
movaps xmm1, xmmword [0x101a7a60]
movups xmm0, xmmword [ebp - 0x118]
unpcklps xmm1, xmm0
movups xmmword [ebp - 0x140], xmm1
movaps xmm1, xmmword [0x101a7a70]
movss xmm1, xmm0
movups xmmword [ebp - 0x128], xmm1
xor ebx, ebx
mov edi, 0xffffffff
jmp 0x10056996
mov eax, dword [ebp - 0x54]
movss xmm2, dword [eax + 0xe0]
subss xmm2, dword [eax + 0x1a24]
addss xmm2, dword [0x101a78f4]
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 [0x101a5130]
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.10059840
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 0x10056c17
cmp ebx, 3
ja case.default.0x100569c0
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 + 0x101a7e14]
addss xmm2, dword [0x101a78f4]
subss xmm1, dword [ebp - 0x118]
movups xmm3, xmmword [ebp - 0x128]
addps xmm0, xmm3
jmp 0x10056a3a
subss xmm3, dword [ebp - 0x118]
movss xmm0, xmm1
jmp 0x10056a25
movaps xmm2, xmm3
addss xmm2, dword [0x101a78f4]
subss xmm1, dword [ebp - 0x118]
movlhps xmm3, xmm0
shufps xmm3, xmm0, 0xe2
movups xmm0, xmmword [ebp - 0x128]
addps xmm3, xmm0
movaps xmm0, xmm3
jmp 0x10056a3a
subss xmm3, dword [ebp - 0x118]
movaps xmm1, xmm0
addss xmm1, dword [0x101a78f4]
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.0x100569c0
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 + 0x101a7104]
mov edx, eax
shr edx, 8
xor edx, ecx
shr ecx, 8
movzx edx, dl
xor ecx, dword [edx*4 + 0x101a7104]
mov edx, eax
shr edx, 0x10
xor edx, ecx
shr ecx, 8
movzx edx, dl
xor ecx, dword [edx*4 + 0x101a7104]
movzx edx, cl
shr eax, 0x18
xor eax, edx
shr ecx, 8
xor ecx, dword [eax*4 + 0x101a7104]
not ecx
mov eax, dword [0x10258f60]
cmp dword [eax + 0x1a04], ecx
jne 0x10056ac8
mov dword [eax + 0x1a0c], ecx
movups xmmword [ebp - 0x84], xmm4
cmp dword [eax + 0x1a08], ecx
jne 0x10056ade
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.10072190
add esp, 0x14
cmp byte [ebp - 0xc8], 0
je 0x10056b45
mov eax, dword [ebp - 0x54]
movss xmm0, dword [eax + 0x19fc]
ucomiss xmm0, dword [0x101a7a80]
movzx eax, byte [ebp - 0x64]
mov esi, dword [ebp - 0x20]
movups xmm4, xmmword [ebp - 0x84]
ja 0x10056b2b
test al, al
je 0x1005698c
mov ecx, ebx
and ecx, 1
add ecx, 3
mov edx, dword [ebp - 0x54]
mov dword [edx + 0x1cbc], ecx
test al, al
jne 0x10056b6a
jmp 0x1005698c
cmp byte [ebp - 0x64], 0
mov esi, dword [ebp - 0x20]
movups xmm4, xmmword [ebp - 0x84]
je 0x1005698c
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.0x10056b7c
jmp dword [ebx*4 + 0x101a7e24]
mov eax, dword [ebp - 0x54]
movss xmm0, dword [eax + 0xe4]
subss xmm0, dword [eax + 0x1a28]
addss xmm0, dword [0x101a78f4]
movlhps xmm0, xmm3
shufps xmm0, xmm3, 0xe2
jmp 0x10056905
movaps xmm0, xmm3
jmp 0x10056905
mov eax, dword [ebp - 0x54]
movss xmm1, dword [eax + 0xe0]
subss xmm1, dword [eax + 0x1a24]
addss xmm1, dword [0x101a78f4]
movaps xmm0, xmm3
movss xmm0, xmm1
movss xmm1, dword [0x101a6280]
jmp 0x10056905
mov eax, dword [ebp - 0x54]
movss xmm0, dword [eax + 0xe4]
subss xmm0, dword [eax + 0x1a28]
addss xmm0, dword [0x101a78f4]
movlhps xmm0, xmm3
shufps xmm0, xmm3, 0xe2
movaps xmm1, xmmword [0x101a7a90]
jmp 0x10056905
mov edi, 0xffffffff
mov esi, dword [ebp - 0x20]
mov eax, dword [0x10258f60]
mov eax, dword [eax + 0x19e4]
mov ecx, dword [eax + 0x1c0]
test ecx, ecx
jle case.default.0x100569c0
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 0x10056d6a
cmp dword [eax + 0x2f0], ebx
jne 0x10056d6a
mov eax, dword [ebp - 0x54]
mov eax, dword [eax + 0x1b1c]
cmp eax, 4
movups xmmword [ebp - 0x84], xmm4
je 0x10056c8c
xorps xmm2, xmm2
cmp eax, 3
jne 0x10056cb8
mov eax, dword [ebp - 0x54]
cmp byte [eax + 0xf9], 0
je 0x10056cb8
sub esp, 0x14
movaps xmm0, xmmword [0x101a7ab0]
jmp 0x10056c96
sub esp, 0x14
movaps xmm0, xmmword [0x101a7aa0]
movups xmmword [esp + 4], xmm0
lea eax, [ebp - 0x50]
mov dword [esp], eax
call fcn.1005cd30
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 0x10056cd4
jp 0x10056cd4
ucomiss xmm3, xmm0
jne 0x10056cd4
jnp 0x10056d6a
mov eax, dword [ebp - 0x54]
movss xmm0, dword [eax + 0x18]
movss xmm1, dword [eax + 0xa4]
mulss xmm0, dword [0x101a7ac0]
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.10049000
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.10059840
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 [0x101a79dc]
jne 0x10056d7c
jnp 0x10056da4
movlps qword [ebx + 0x1c], xmm0
test byte [ebx + 9], 1
jne 0x10056da4
mov eax, dword [0x10258f60]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x2c94]
jb 0x10056da4
movss xmm0, dword [eax + 0x1c]
movss dword [eax + 0x2c94], xmm0
ucomiss xmm4, dword [0x101a79dc]
jne 0x10056daf
jnp 0x10056dde
cvttps2dq xmm0, xmm4
cvtdq2ps xmm0, xmm0
movlps qword [ebx + 0xc], xmm0
test byte [ebx + 9], 1
jne 0x10056dde
mov eax, dword [0x10258f60]
xorps xmm0, xmm0
ucomiss xmm0, dword [eax + 0x2c94]
jb 0x10056dde
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 0x10052fd3
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.10014f60
add esp, 0x20
pop ebp
ret