Function at 0x1004e320
Capabilities:
Resolve function by parsing pe exports
Terminate process
Write file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x54
mov eax, dword [0x10259d1c]
xor eax, esp
mov dword [esp + 0x50], eax
mov ebx, dword [0x10259f60]
test ebx, ebx
je 0x100514c3
cmp byte [ebx], 0
je 0x100514c3
movss xmm1, dword [ebx + 0x18]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
ja 0x1004e363
cmp dword [ebx + 0x1998], 0
jne 0x100514c3
movss xmm1, dword [ebx + 0x10]
ucomiss xmm1, xmm0
jb 0x100514c3
movss xmm0, dword [ebx + 0x14]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jb 0x100514c3
mov eax, dword [ebx + 0x94]
cmp dword [eax + 0x34], 0
jle 0x100514c3
mov eax, dword [eax + 0x3c]
mov eax, dword [eax]
cmp dword [eax + 0x38], 0
je 0x100514c3
movss xmm1, dword [ebx + 0x15a8]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jbe 0x100514c3
movss xmm1, dword [ebx + 0x1500]
ucomiss xmm1, xmm0
jb 0x100514c3
movss xmm0, dword [0x101a7280]
ucomiss xmm0, xmm1
jb 0x100514c3
mov eax, dword [ebx + 0x1998]
test eax, eax
je 0x1004e3ed
cmp dword [ebx + 0x199c], eax
jne 0x100514c3
mov eax, dword [ebx + 0x34]
inc eax
cmp eax, 0x200
ja 0x100514c3
mov eax, dword [ebx + 0x38]
inc eax
cmp eax, 0x200
ja 0x100514c3
mov eax, dword [ebx + 0x3c]
inc eax
cmp eax, 0x200
ja 0x100514c3
mov eax, dword [ebx + 0x40]
inc eax
cmp eax, 0x200
ja 0x100514c3
mov eax, dword [ebx + 0x44]
inc eax
cmp eax, 0x200
ja 0x100514c3
mov eax, dword [ebx + 0x48]
inc eax
cmp eax, 0x200
ja 0x100514c3
mov eax, dword [ebx + 0x4c]
inc eax
cmp eax, 0x200
ja 0x100514c3
mov eax, dword [ebx + 0x50]
inc eax
cmp eax, 0x200
ja 0x100514c3
mov eax, dword [ebx + 0x54]
inc eax
cmp eax, 0x200
ja 0x100514c3
mov eax, dword [ebx + 0x58]
inc eax
cmp eax, 0x200
ja 0x100514c3
mov eax, dword [ebx + 0x5c]
inc eax
cmp eax, 0x200
ja 0x100514c3
mov eax, dword [ebx + 0x60]
inc eax
cmp eax, 0x200
ja 0x100514c3
mov eax, dword [ebx + 0x64]
lea ecx, [eax + 1]
cmp ecx, 0x200
ja 0x100514c3
mov ecx, dword [ebx + 0x68]
inc ecx
cmp ecx, 0x200
ja 0x100514c3
mov ecx, dword [ebx + 0x6c]
inc ecx
cmp ecx, 0x200
ja 0x100514c3
mov ecx, dword [ebx + 0x70]
inc ecx
cmp ecx, 0x200
ja 0x100514c3
mov ecx, dword [ebx + 0x74]
inc ecx
cmp ecx, 0x200
ja 0x100514c3
mov ecx, dword [ebx + 0x78]
inc ecx
cmp ecx, 0x200
ja 0x100514c3
mov ecx, dword [ebx + 0x7c]
inc ecx
cmp ecx, 0x200
ja 0x100514c3
mov ecx, dword [ebx + 0x80]
inc ecx
cmp ecx, 0x200
ja 0x100514c3
mov ecx, dword [ebx + 0x84]
inc ecx
cmp ecx, 0x200
ja 0x100514c3
test byte [ebx + 8], 1
je 0x1004e548
cmp eax, 0xffffffff
je 0x100514c3
cmp byte [ebx + 0xaf], 0
je 0x1004e55e
test byte [ebx + 0xc], 2
jne 0x1004e55e
mov byte [ebx + 0xaf], 0
cmp byte [ebx + 0x2c90], 0
jne 0x1004e5d1
cmp dword [ebx + 0x2cb0], 0
jne 0x100514c3
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x1004e5ca
mov dword [esp + 0x40], 0
lea ecx, [esp + 0x40]
push 0
push ecx
push 0x101eec7b
push eax
call fcn.10048a40
add esp, 0x10
test eax, eax
je 0x1004e5ca
mov esi, eax
push dword [esp + 0x40]
push eax
call fcn.1005dd80
add esp, 8
mov eax, dword [0x10259f60]
test eax, eax
je 0x1004e5ba
dec dword [eax + 0x36c]
push dword [0x10259f68]
push esi
call dword [0x101fd780]
add esp, 8
mov byte [ebx + 0x2c90], 1
movss xmm0, dword [ebx + 0x2c94]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x1004e666
subss xmm0, dword [ebx + 0x18]
movss dword [ebx + 0x2c94], xmm0
ucomiss xmm1, xmm0
jb 0x1004e666
mov edi, dword [ebx + 0x20]
test edi, edi
je 0x1004e655
mov eax, dword [0x10259f60]
mov dword [eax + 0x2c94], 0
mov dword [esp + 0x40], 0
lea eax, [esp + 0x40]
push eax
call fcn.1005dff0
add esp, 4
mov esi, eax
push 0x101ecf6e
push edi
call fcn.100486c0
add esp, 8
test eax, eax
je 0x1004e65c
mov edi, eax
push eax
push dword [esp + 0x44]
push 1
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
add esp, 0x10
push edi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
jmp 0x1004e65c
mov byte [ebx + 0x354], 1
mov dword [ebx + 0x2c94], 0
movss xmm0, dword [ebx + 0x18]
cvtss2sd xmm0, xmm0
addsd xmm0, qword [ebx + 0x1990]
movsd qword [ebx + 0x1990], xmm0
mov byte [ebx + 1], 1
inc dword [ebx + 0x1998]
mov dword [ebx + 0x2c6c], 0
mov dword [ebx + 0x19e0], 0
mov eax, dword [ebx + 0x94]
mov byte [eax], 1
mov eax, dword [0x10259f60]
mov ecx, dword [eax + 0xa0]
test ecx, ecx
jne 0x1004e6d2
mov ecx, dword [eax + 0x94]
cmp dword [ecx + 0x34], 0
jle 0x100514c3
mov ecx, dword [ecx + 0x3c]
mov ecx, dword [ecx]
test ecx, ecx
je 0x100514c3
cmp dword [ecx + 0x38], 0
je 0x100514c3
movss xmm1, dword [ecx + 0x44]
xorpd xmm0, xmm0
ucomiss xmm1, xmm0
jbe 0x100514c3
mov dword [eax + 0x18fc], ecx
movss xmm2, dword [eax + 0x98]
mulss xmm2, dword [ecx + 0x10]
mulss xmm2, dword [ecx + 0x44]
movss xmm1, dword [0x101a7280]
maxss xmm1, xmm2
movss dword [eax + 0x1904], xmm1
mov edx, dword [eax + 0x19e4]
test edx, edx
je 0x1004e72f
mulss xmm1, dword [edx + 0x26c]
movaps xmm0, xmm1
movss dword [eax + 0x1900], xmm0
mov edx, dword [ecx + 0x38]
mov esi, dword [edx + 0x2c]
mov edx, dword [edx + 0x30]
mov dword [eax + 0x1908], esi
mov dword [eax + 0x190c], edx
mov dword [eax + 0x1910], ecx
movss dword [eax + 0x1914], xmm0
mov eax, dword [ebx + 0x18fc]
cmp dword [eax + 0x38], 0
je 0x100514c3
xorps xmm0, xmm0
movhps xmm0, qword [ebx + 0x10]
movups xmmword [ebx + 0x191c], xmm0
movss xmm0, dword [ebx + 0x15a8]
movss dword [ebx + 0x1918], xmm0
lea esi, [ebx + 0x1c48]
mov ecx, esi
call fcn.1005f610
mov eax, dword [ebx + 0x94]
mov ecx, esi
push dword [eax + 8]
call fcn.1005fea0
mov ecx, esi
call fcn.1005fe60
movzx eax, byte [ebx + 0x15a4]
movzx ecx, byte [ebx + 0x15a5]
add ecx, ecx
or ecx, eax
mov dword [ebx + 0x1c6c], ecx
mov byte [ebx + 0x1c00], 0
xorps xmm0, xmm0
movups xmmword [ebx + 0x1c04], xmm0
movups xmmword [ebx + 0x1c14], xmm0
mov dword [ebx + 0x1c28], 0
mov dword [ebx + 0x1c24], 0
cmp byte [ebx + 0x1cc0], 0
je 0x1004e82a
mov eax, dword [ebx + 0x1cd8]
cmp eax, dword [ebx + 0x1a04]
jne 0x1004e82a
mov ecx, dword [0x10259f60]
cmp dword [ecx + 0x1a04], eax
jne 0x1004e81b
mov dword [ecx + 0x1a0c], eax
cmp dword [ecx + 0x1a08], eax
jne 0x1004e82a
mov byte [ecx + 0x1a18], 1
cmp dword [ebx + 0x19f8], 0
je 0x1004e851
mov eax, dword [ebx + 0x19f0]
test eax, eax
je 0x1004e895
cmp dword [ebx + 0x1a04], eax
jne 0x1004e862
mov dword [ebx + 0x1a00], 0
jmp 0x1004e862
mov eax, dword [ebx + 0x19f0]
movlps qword [ebx + 0x19fc], xmm0
test eax, eax
je 0x1004e895
movss xmm0, dword [ebx + 0x18]
movss xmm1, dword [ebx + 0x19fc]
addss xmm1, xmm0
movss dword [ebx + 0x19fc], xmm1
cmp dword [ebx + 0x1a04], eax
je 0x1004e897
addss xmm0, dword [ebx + 0x1a00]
movss dword [ebx + 0x1a00], xmm0
jmp 0x1004e897
xor eax, eax
mov dword [ebx + 0x19f8], eax
mov dword [ebx + 0x19f0], 0
mov byte [ebx + 0x19f4], 0
mov ecx, dword [ebx + 0x1a04]
mov eax, dword [ebx + 0x1a0c]
cmp eax, ecx
je 0x1004e92d
test ecx, ecx
je 0x1004e92b
mov eax, ecx
cmp dword [ebx + 0x1a08], ecx
jne 0x1004e92d
mov eax, dword [0x10259f60]
cmp dword [eax + 0x1a04], 0
setne byte [eax + 0x1a14]
je 0x1004e8f4
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
mov eax, dword [ebx + 0x1a04]
jmp 0x1004e92d
mov eax, ecx
movss xmm1, dword [ebx + 0x18]
test eax, eax
je 0x1004e94a
movss xmm0, dword [ebx + 0x1a10]
addss xmm0, xmm1
movss dword [ebx + 0x1a10], xmm0
movss xmm0, dword [ebx + 0x1a3c]
movss dword [esp + 0x18], xmm1
addss xmm0, xmm1
movss dword [ebx + 0x1a3c], xmm0
mov dword [ebx + 0x1a08], eax
mov ecx, dword [ebx + 0x1a2c]
mov dword [ebx + 0x1a30], ecx
movzx ecx, byte [ebx + 0x1a17]
mov byte [ebx + 0x1a19], cl
mov dword [ebx + 0x1a0c], 0
mov byte [ebx + 0x1a18], 0
mov byte [ebx + 0x1a14], 0
mov ecx, dword [ebx + 0x2c40]
test ecx, ecx
je 0x1004e9b3
cmp eax, ecx
je 0x1004e9b3
mov dword [ebx + 0x2c40], 0
mov eax, dword [ebx + 0x1d24]
mov dword [ebx + 0x1d28], eax
mov dword [ebx + 0x1d24], 0
mov dword [ebx + 0x1d20], 0x7f7fffff
mov byte [ebx + 0x1cc1], 0
lea eax, [ebx + 0xc48]
lea ecx, [ebx + 0x448]
push 0x800
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, 0x113
movss xmm0, dword [0x101a87b0]
movss xmm3, dword [esp + 0x18]
jmp 0x1004ea1f
movss dword [ebx + eax*4], xmm1
add eax, 2
cmp eax, 0x313
je 0x1004ea64
cmp byte [ebx + eax - 0x17], 0
movaps xmm1, xmm0
je 0x1004ea3e
movss xmm2, dword [ebx + eax*4 - 4]
xorps xmm1, xmm1
ucomiss xmm1, xmm2
ja 0x1004ea3e
addss xmm2, xmm3
movaps xmm1, xmm2
movss dword [ebx + eax*4 - 4], xmm1
cmp byte [ebx + eax - 0x16], 0
movaps xmm1, xmm0
je 0x1004ea10
movss xmm2, dword [ebx + eax*4]
xorps xmm1, xmm1
ucomiss xmm1, xmm2
ja 0x1004ea10
addss xmm2, xmm3
movaps xmm1, xmm2
jmp 0x1004ea10
mov esi, dword [0x10259f60]
mov byte [esi + 0x353], 0
mov eax, dword [esi + 8]
test al, 2
je 0x1004ea7e
test byte [esi + 0xc], 1
jne 0x1004ea88
mov dword [esp + 4], 0
jmp 0x1004ead5
movss xmm1, dword [esi + 0x2fc]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
ja 0x1004eac5
movss xmm1, dword [esi + 0x304]
ucomiss xmm1, xmm0
ja 0x1004eac5
movss xmm1, dword [esi + 0x300]
ucomiss xmm1, xmm0
ja 0x1004eac5
movss xmm1, dword [esi + 0x308]
mov cl, 1
mov dword [esp + 4], ecx
ucomiss xmm1, xmm0
jbe 0x1004ead5
mov dword [esi + 0x1b1c], 4
mov cl, 1
mov dword [esp + 4], ecx
mov dword [esp + 0x18], eax
test al, 1
je 0x1004ec6a
mov eax, dword [esi + 0x64]
test eax, eax
js 0x1004eb11
cmp eax, 0x200
jae 0x100514c3
cmp byte [esi + eax + 0xfc], 0
je 0x1004eb11
mov dword [esi + 0x2fc], 0x3f800000
mov dword [esi + 0x1b1c], 3
mov eax, dword [esi + 0x68]
test eax, eax
js 0x1004eb41
cmp eax, 0x200
jae 0x100514c3
cmp byte [esi + eax + 0xfc], 0
je 0x1004eb41
mov dword [esi + 0x304], 0x3f800000
mov dword [esi + 0x1b1c], 3
mov eax, dword [esi + 0x6c]
test eax, eax
js 0x1004eb71
cmp eax, 0x200
jae 0x100514c3
cmp byte [esi + eax + 0xfc], 0
je 0x1004eb71
mov dword [esi + 0x300], 0x3f800000
mov dword [esi + 0x1b1c], 3
mov eax, dword [esi + 0x38]
test eax, eax
js 0x1004eba1
cmp eax, 0x200
jae 0x100514c3
cmp byte [esi + eax + 0xfc], 0
je 0x1004eba1
mov dword [esi + 0x340], 0x3f800000
mov dword [esi + 0x1b1c], 3
mov eax, dword [esi + 0x3c]
test eax, eax
js 0x1004ebd1
cmp eax, 0x200
jae 0x100514c3
cmp byte [esi + eax + 0xfc], 0
je 0x1004ebd1
mov dword [esi + 0x344], 0x3f800000
mov dword [esi + 0x1b1c], 3
mov eax, dword [esi + 0x40]
test eax, eax
js 0x1004ec01
cmp eax, 0x200
jae 0x100514c3
cmp byte [esi + eax + 0xfc], 0
je 0x1004ec01
mov dword [esi + 0x348], 0x3f800000
mov dword [esi + 0x1b1c], 3
mov eax, dword [esi + 0x44]
test eax, eax
js 0x1004ec31
cmp eax, 0x200
jae 0x100514c3
cmp byte [esi + eax + 0xfc], 0
je 0x1004ec31
mov dword [esi + 0x34c], 0x3f800000
mov dword [esi + 0x1b1c], 3
cmp byte [esi + 0xf8], 0
je 0x1004ec44
mov dword [esi + 0x334], 0x3f800000
cmp byte [esi + 0xf9], 0
je 0x1004ec57
mov dword [esi + 0x338], 0x3f800000
cmp byte [esi + 0xfa], 0
je 0x1004ec6a
mov dword [esi + 0x33c], 0x3f800000
mov eax, dword [esi + 0x1498]
mov dword [esi + 0x14ec], eax
movups xmm0, xmmword [esi + 0x1488]
movups xmmword [esi + 0x14dc], xmm0
movups xmm0, xmmword [esi + 0x1478]
movups xmmword [esi + 0x14cc], xmm0
movups xmm0, xmmword [esi + 0x1468]
movups xmmword [esi + 0x14bc], xmm0
movups xmm0, xmmword [esi + 0x1448]
movups xmm1, xmmword [esi + 0x1458]
movups xmmword [esi + 0x14ac], xmm1
movups xmmword [esi + 0x149c], xmm0
xor eax, eax
movss xmm0, dword [0x101a87b0]
xorps xmm1, xmm1
jmp 0x1004ecdc
movss dword [esi + eax*4 + 0x144c], xmm2
add eax, 2
movss xmm2, dword [esi + eax*4 + 0x2fc]
ucomiss xmm2, xmm1
movaps xmm2, xmm0
jbe 0x1004ed06
movss xmm3, dword [esi + eax*4 + 0x1448]
xorps xmm2, xmm2
ucomiss xmm2, xmm3
ja 0x1004ed06
addss xmm3, dword [esi + 0x18]
movaps xmm2, xmm3
movss dword [esi + eax*4 + 0x1448], xmm2
cmp eax, 0x14
je 0x1004ed40
movss xmm2, dword [esi + eax*4 + 0x300]
ucomiss xmm2, xmm1
movaps xmm2, xmm0
jbe 0x1004ecd0
movss xmm3, dword [esi + eax*4 + 0x144c]
xorps xmm2, xmm2
ucomiss xmm2, xmm3
ja 0x1004ecd0
addss xmm3, dword [esi + 0x18]
movaps xmm2, xmm3
jmp 0x1004ecd0
mov eax, dword [esi + 0x1b5c]
test eax, eax
je 0x1004ee25
cmp byte [esi + 0x1b56], 0
je 0x1004ed64
cmp byte [esi + 0x1b5a], 0
je 0x1004ee25
cmp dword [esi + 0x1af4], 0
je 0x100514c3
cmp byte [esi + 0x1b5a], 0
je 0x1004edd7
mov ecx, dword [0x10259f60]
mov edx, dword [ecx + 0x1af4]
test edx, edx
je 0x100514c3
mov edi, dword [esi + 0x1b4c]
cmp edi, 2
jae 0x100514c3
lea ebp, [esi + 0x1b60]
mov dword [ecx + 0x1af8], eax
mov dword [edx + edi*4 + 0x300], eax
mov eax, dword [ecx + 0x1af4]
shl edi, 4
movups xmm0, xmmword [ebp]
movups xmmword [eax + edi + 0x308], xmm0
mov word [ecx + 0x1b55], 1
mov byte [ecx + 0x1b57], 1
jmp 0x1004ee07
mov ecx, dword [0x10259f60]
mov edx, dword [ecx + 0x1af4]
test edx, edx
je 0x100514c3
mov edi, dword [esi + 0x1b4c]
cmp edi, 2
jae 0x100514c3
mov dword [ecx + 0x1af8], eax
mov dword [edx + edi*4 + 0x300], eax
mov eax, dword [esi + 0x1af4]
mov ecx, dword [esi + 0x1b4c]
shl ecx, 4
movups xmm0, xmmword [esi + 0x1b60]
movups xmmword [eax + ecx + 0x308], xmm0
mov word [esi + 0x1b59], 0
mov dword [esi + 0x1b5c], 0
mov dword [esi + 0x1b10], 0
cmp byte [esi + 0x1b71], 0
je 0x1004f068
mov edi, dword [0x10259f60]
mov ecx, dword [edi + 0x1b88]
test ecx, ecx
jne 0x1004ee6c
cmp dword [edi + 0x1bd8], 0
je 0x1004f44e
lea ebp, [edi + 0x1b88]
lea eax, [edi + 0x1bd8]
test ecx, ecx
cmove ebp, eax
test byte [edi + 0x1b74], 0x20
je 0x1004ee9f
mov ecx, dword [edi + 0x1bb0]
test ecx, ecx
je 0x1004ee9f
lea edx, [edi + 0x1bb0]
cmp ecx, dword [edi + 0x1af8]
cmovne ebp, edx
cmp ebp, eax
je 0x1004eee3
cmp dword [eax], 0
je 0x1004eee5
mov ecx, dword [edi + 0x1be0]
mov ecx, dword [ecx + 0x2ec]
cmp ecx, dword [edi + 0x1af4]
jne 0x1004eee5
movss xmm0, dword [edi + 0x1be4]
movss xmm1, dword [ebp + 0xc]
ucomiss xmm1, xmm0
ja 0x1004eee3
ucomiss xmm0, xmm1
jne 0x1004eee5
jp 0x1004eee5
movss xmm0, dword [ebp + 0x10]
ucomiss xmm0, dword [edi + 0x1be8]
jbe 0x1004eee5
mov ebp, eax
cmp dword [edi + 0x1af4], 0
je 0x100514c3
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x100514c3
cmp dword [edi + 0x1b4c], 0
mov eax, edi
jne 0x1004ef87
movsd xmm0, qword [ecx + 0xc]
movlhps xmm0, xmm0
movups xmm1, xmmword [ebp + 0x18]
addps xmm1, xmm0
movups xmmword [esp + 8], xmm1
movups xmmword [esp + 0x40], xmm1
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x40]
call fcn.1005ed40
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x38]
push 0
call fcn.10059e10
add esp, 4
mov eax, dword [ebp + 8]
movsd xmm0, qword [eax + 0x58]
movsd xmm1, qword [esp + 0x38]
subps xmm0, xmm1
movups xmm1, xmmword [ebp + 0x18]
movlhps xmm0, xmm0
addps xmm1, xmm0
movups xmmword [ebp + 0x18], xmm1
test byte [eax + 0xb], 1
je 0x1004ef82
movups xmm1, xmmword [esp + 8]
addps xmm1, xmm0
movups xmmword [esp + 0x28], xmm1
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2ec]
lea edx, [esp + 0x28]
call fcn.1005ed40
mov eax, dword [0x10259f60]
cmp dword [eax + 0x1a04], 0
setne byte [eax + 0x1a14]
je 0x1004efaa
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
mov ecx, dword [ebp + 8]
mov dword [edi + 0x1af4], ecx
mov ecx, dword [edi + 0x1af8]
mov edx, dword [ebp]
cmp ecx, edx
je 0x1004f001
mov dword [edi + 0x1b10], edx
mov ecx, dword [ebp + 4]
mov dword [edi + 0x1b14], ecx
mov ecx, dword [ebp]
mov dword [esp + 8], ebp
mov edx, dword [eax + 0x1af4]
test edx, edx
je 0x100514c3
mov dword [esp], edi
mov edi, dword [edi + 0x1b4c]
cmp edi, 2
jae 0x100514c3
mov ebp, dword [esp + 8]
add ebp, 0x18
mov dword [eax + 0x1af8], ecx
mov dword [edx + edi*4 + 0x300], ecx
mov ecx, dword [eax + 0x1af4]
shl edi, 4
movups xmm0, xmmword [ebp]
movups xmmword [ecx + edi + 0x308], xmm0
mov word [eax + 0x1b55], 1
mov byte [eax + 0x1b57], 1
mov eax, dword [esp]
mov byte [eax + 0x1b70], 0
cmp dword [esi + 0x1b78], 2
jne 0x1004f0a1
cmp byte [esi + 0x1b71], 0
je 0x100514c3
cmp dword [esi + 0x1b88], 0
jne 0x1004f097
cmp dword [esi + 0x1bd8], 0
jne 0x1004f097
mov byte [esi + 0x1b56], 0
mov dword [esi + 0x1b78], 0
cmp byte [esi + 0x1b55], 0
je 0x1004f0d3
cmp byte [esi + 0x1b54], 0
je 0x1004f0d3
test byte [esi + 8], 4
je 0x1004f0cc
test byte [esi + 0xc], 4
je 0x1004f0cc
cmp byte [esi + 0x1b56], 0
je 0x1004f4cf
mov byte [esi + 0x1b55], 0
mov byte [esi + 0x1b54], 0
mov dword [esi + 0x1b0c], 0
cmp dword [esi + 0x1b4c], 2
jae 0x100514c3
mov eax, dword [esi + 0x1af4]
test eax, eax
je 0x1004f159
mov edx, 0x15000000
mov ecx, eax
nop word cs:[eax + eax]
mov edi, dword [ecx + 8]
and edi, edx
cmp edi, 0x1000000
jne 0x1004f129
mov ecx, dword [ecx + 0x2ec]
test ecx, ecx
jne 0x1004f110
jmp 0x1004f139
cmp ecx, eax
je 0x1004f139
mov dword [ecx + 0x2fc], eax
mov eax, dword [esi + 0x1af4]
test eax, eax
je 0x1004f159
cmp dword [eax + 0x2fc], 0
je 0x1004f159
cmp dword [esi + 0x1b4c], 0
jne 0x1004f159
mov dword [eax + 0x2fc], 0
mov edi, dword [0x10259f60]
mov ecx, dword [edi + 0x1a70]
test ecx, ecx
jle 0x1004f1a4
mov edx, dword [edi + 0x1a78]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*8]
lea ecx, [edx + ecx*4]
add ecx, 0xffffffe0
jmp 0x1004f189
dec eax
add ecx, 0xffffffdc
cmp eax, 2
jb 0x1004f1a4
mov edx, dword [ecx]
test edx, edx
je 0x1004f180
test byte [edx + 0xb], 8
je 0x1004f180
mov dword [edi + 0x1b34], 0
jmp 0x1004faf4
cmp dword [edi + 0x1b38], 0
mov eax, dword [edi + 0x1b34]
mov dword [esp + 8], edi
je 0x1004f20b
test eax, eax
jne 0x1004f213
movss xmm2, dword [edi + 0x18]
mulss xmm2, dword [0x101a8994]
addss xmm2, dword [edi + 0x1b44]
xorps xmm0, xmm0
xorps xmm1, xmm1
cmpless xmm1, xmm2
andps xmm1, xmm2
movss dword [edi + 0x1b44], xmm1
ucomiss xmm0, dword [edi + 0x1c44]
jb 0x1004f38a
ucomiss xmm0, xmm1
jb 0x1004f38a
mov dword [edi + 0x1b38], 0
jmp 0x1004f38a
test eax, eax
je 0x1004f38a
xor ecx, ecx
xor edx, edx
test cl, cl
jne 0x1004f24c
test dl, dl
jne 0x1004f24c
mov ebp, dword [esp + 8]
movss xmm1, dword [ebp + 0x18]
movss xmm3, dword [ebp + 0x1b40]
addss xmm3, xmm1
movss dword [ebp + 0x1b40], xmm3
test eax, eax
je 0x1004f6a7
mov edx, dword [ebp + 0x1b1c]
jmp 0x1004f2a7
mov ecx, dword [esp + 8]
mov ebp, dword [ecx + 0x1af4]
test ebp, ebp
je 0x1004f400
mov eax, dword [esp + 8]
mov dword [eax + 0x1b38], ebp
mov dword [eax + 0x1b34], ebp
mov ebp, eax
mov dword [eax + 0x1b44], 0
movzx eax, dl
xor dl, 1
mov byte [ebp + 0x1b48], dl
mov edx, 4
sub edx, eax
mov dword [ebp + 0x1b1c], edx
movss xmm1, dword [ebp + 0x18]
xorps xmm3, xmm3
addss xmm3, xmm1
movss dword [ebp + 0x1b40], xmm3
mov ecx, ebp
cmp edx, 4
jne 0x1004f5f6
addss xmm3, dword [0x101a8998]
divss xmm3, dword [0x101a899c]
movss xmm4, dword [0x101a7280]
movaps xmm0, xmm4
minss xmm0, xmm3
xorps xmm2, xmm2
cmpltss xmm3, xmm2
andnps xmm3, xmm0
movss xmm5, dword [ebp + 0x1b44]
movaps xmm0, xmm3
cmpless xmm0, xmm5
movaps xmm6, xmm0
andnps xmm6, xmm3
andps xmm0, xmm5
orps xmm0, xmm6
movss dword [ebp + 0x1b44], xmm0
movss xmm3, dword [ebp + 0x1478]
ucomiss xmm2, xmm3
xorps xmm6, xmm6
ja 0x1004f521
xorps xmm5, xmm5
ucomiss xmm3, xmm5
movaps xmm6, xmm4
jne 0x1004f325
jnp 0x1004f521
movss xmm4, dword [ebp + 0x88]
ucomiss xmm4, xmm3
jae 0x1004f51e
movss xmm5, dword [ebp + 0x8c]
addss xmm5, xmm5
xorps xmm6, xmm6
ucomiss xmm6, xmm5
jae 0x1004f521
movaps xmm6, xmm3
subss xmm6, xmm1
unpcklps xmm3, xmm6
shufps xmm4, xmm4, 0
subps xmm3, xmm4
shufps xmm5, xmm5, 0
divps xmm3, xmm5
cvttps2dq xmm3, xmm3
pshufd xmm4, xmm3, 0x55
psubd xmm3, xmm4
movd eax, xmm3
xor ecx, ecx
test eax, eax
cmovg ecx, eax
xorps xmm6, xmm6
cvtsi2ss xmm6, ecx
jmp 0x1004f521
movss xmm0, dword [edi + 0x1454]
xorps xmm1, xmm1
movaps xmm2, xmm0
cmpeqss xmm2, xmm1
movss xmm3, dword [0x101a7280]
andps xmm3, xmm2
cmpltss xmm0, xmm1
andnps xmm0, xmm3
ucomiss xmm0, xmm1
seta cl
cmp byte [edi + 0xf8], 0
je 0x1004f447
mov edx, dword [edi + 0x34]
xor eax, eax
test edx, edx
js 0x1004f215
cmp edx, 0x200
jae 0x100514c3
movss xmm0, dword [edi + edx*4 + 0x448]
ucomiss xmm0, xmm1
jne 0x1004f469
jp 0x1004f469
movzx edx, byte [edi + 8]
and dl, 1
jmp 0x1004f217
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x19b0]
test ecx, ecx
jle 0x1004f21f
mov edi, dword [esp + 8]
mov edi, dword [edi + 0x19b8]
inc ecx
jmp 0x1004f42a
dec ecx
cmp ecx, 1
jbe 0x1004f21f
mov ebp, dword [edi + ecx*4 - 8]
cmp byte [ebp + 0x7a], 0
je 0x1004f420
cmp dword [ebp + 0x2f0], ebp
jne 0x1004f420
test byte [ebp + 0xa], 8
jne 0x1004f420
jmp 0x1004f25e
xor eax, eax
jmp 0x1004f215
cmp dword [edi + 0x1af8], 0
je 0x1004f068
mov word [edi + 0x1b56], 0x100
jmp 0x1004f068
movss xmm1, dword [edi + 0x88]
xor edx, edx
ucomiss xmm0, xmm1
jbe 0x1004f4c8
xor edx, edx
ucomiss xmm1, xmm0
jae 0x1004f4c8
movss xmm2, dword [edi + 0x8c]
xorps xmm3, xmm3
ucomiss xmm3, xmm2
jae 0x1004f4c8
movaps xmm3, xmm0
subss xmm3, dword [edi + 0x18]
unpcklps xmm0, xmm3
shufps xmm1, xmm1, 0
subps xmm0, xmm1
shufps xmm2, xmm2, 0
divps xmm0, xmm2
cvttps2dq xmm0, xmm0
pshufd xmm1, xmm0, 0x55
pcmpgtd xmm0, xmm1
movd dword [esp], xmm0
xor edx, edx
mov ebp, ecx
test byte [esp], 1
jne 0x1004f3f4
xor eax, eax
jmp 0x1004f217
cmp byte [esi + 0x1b57], 0
je 0x1004f0cc
cmp dword [esi + 0x1af4], 0
je 0x1004f0cc
lea ecx, [esp + 0x40]
call fcn.1005bda0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov dword [esi + 0x37c], ecx
mov dword [esi + 0x378], eax
mov dword [esi + 0xe4], ecx
mov dword [esi + 0xe0], eax
mov byte [esi + 0x353], 1
jmp 0x1004f0cc
xorps xmm6, xmm6
xor ecx, ecx
ucomiss xmm6, xmm2
seta cl
movss xmm3, dword [ebp + 0x147c]
ucomiss xmm2, xmm3
ja 0x1004f59f
ucomiss xmm3, xmm2
jne 0x1004f547
jp 0x1004f547
movss xmm2, dword [0x101a7280]
jmp 0x1004f59f
movss xmm4, dword [ebp + 0x88]
ucomiss xmm4, xmm3
jae 0x1004f59f
movss xmm5, dword [ebp + 0x8c]
addss xmm5, xmm5
xorps xmm6, xmm6
ucomiss xmm6, xmm5
jae 0x1004f59f
movaps xmm2, xmm3
subss xmm2, xmm1
unpcklps xmm3, xmm2
shufps xmm4, xmm4, 0
subps xmm3, xmm4
shufps xmm5, xmm5, 0
divps xmm3, xmm5
cvttps2dq xmm1, xmm3
pshufd xmm2, xmm1, 0x55
psubd xmm1, xmm2
movd eax, xmm1
xor edx, edx
test eax, eax
cmovg edx, eax
xorps xmm2, xmm2
cvtsi2ss xmm2, edx
xorps xmm3, xmm3
xor eax, eax
ucomiss xmm2, xmm3
seta al
sub ecx, eax
je 0x1004f5d0
call fcn.1005ee30
xorps xmm3, xmm3
mov dword [ebp + 0x1b44], 0x3f800000
movss xmm0, dword [0x101a7280]
mov ecx, dword [0x10259f60]
jmp 0x1004f5d2
mov ecx, ebp
movss xmm1, dword [ecx + 0x308]
ucomiss xmm1, xmm3
jbe 0x1004f6c2
cmp dword [ebp + 0x1b34], 0
je 0x1004f6a7
mov edx, dword [ebp + 0x1b1c]
mov dword [esp], 0
mov eax, 0
cmp edx, 3
jne 0x1004f787
movss xmm1, dword [ebp + 0x1b40]
movss xmm0, dword [ebp + 0x1b44]
addss xmm1, dword [0x101a8998]
divss xmm1, dword [0x101a899c]
movss xmm2, dword [0x101a7280]
minss xmm2, xmm1
xorps xmm3, xmm3
cmpltss xmm1, xmm3
andnps xmm1, xmm2
movaps xmm2, xmm1
cmpless xmm2, xmm0
movaps xmm3, xmm2
andnps xmm3, xmm1
andps xmm2, xmm0
orps xmm2, xmm3
movss dword [ebp + 0x1b44], xmm2
mov eax, dword [ecx + 0x34]
test eax, eax
js 0x1004f76e
cmp eax, 0x200
jae 0x100514c3
movss xmm0, dword [ecx + eax*4 + 0x448]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x1004f71a
jp 0x1004f71a
xor ecx, ecx
cmp byte [ebp + 0xf9], 1
sbb ecx, ecx
or ecx, 1
call fcn.1005ee30
jmp 0x1004f76e
mov dword [esp], 0
xor eax, eax
cmp dword [ebp + 0x1a04], 0
jne 0x1004f790
jmp 0x1004f79d
movss xmm1, dword [0x101a7280]
ucomiss xmm1, xmm0
seta al
cmp byte [ebp + 0x1b48], 0
setne cl
and cl, al
mov byte [ebp + 0x1b48], cl
je 0x1004f6f5
cmp dword [ebp + 0x1af4], 0
setne al
mov dword [esp], eax
xor eax, eax
jmp 0x1004f702
mov eax, dword [ebp + 0x1b34]
mov dword [esp], 0
mov dword [ebp + 0x1b34], 0
cmp dword [ebp + 0x1a04], 0
jne 0x1004f790
jmp 0x1004f79d
movss xmm1, dword [ecx + 0x88]
ucomiss xmm0, xmm1
jbe 0x1004f76e
ucomiss xmm1, xmm0
jae 0x1004f76e
movss xmm2, dword [ecx + 0x8c]
xorps xmm3, xmm3
ucomiss xmm3, xmm2
jae 0x1004f76e
movaps xmm3, xmm0
subss xmm3, dword [ecx + 0x18]
unpcklps xmm0, xmm3
shufps xmm1, xmm1, 0
subps xmm0, xmm1
shufps xmm2, xmm2, 0
divps xmm0, xmm2
cvttps2dq xmm0, xmm0
pshufd xmm1, xmm0, 0x55
pcmpgtd xmm0, xmm1
movd eax, xmm0
test al, 1
jne 0x1004f68f
mov dword [esp], 0
cmp byte [ebp + 0xf8], 0
mov eax, 0
je 0x1004fa28
cmp dword [ebp + 0x1a04], 0
je 0x1004f79d
cmp byte [ebp + 0x1a15], 0
je 0x1004f81f
mov ecx, dword [0x10259f60]
xorps xmm0, xmm0
ucomiss xmm0, dword [ecx + 0x1488]
jbe 0x1004f81f
movss xmm1, dword [ecx + 0x14dc]
ucomiss xmm1, xmm0
jb 0x1004f81f
movss xmm0, dword [ebp + 0xe0]
movss xmm1, dword [ebp + 0xe4]
movss xmm2, dword [0x101a8990]
movaps xmm3, xmm2
cmpleps xmm3, xmm1
movaps xmm1, xmm2
cmpleps xmm1, xmm0
andps xmm1, xmm3
movd ecx, xmm1
movss xmm0, dword [ebp + 0x37c]
movaps xmm1, xmm2
cmpleps xmm1, xmm0
movss xmm0, dword [ebp + 0x378]
cmpleps xmm2, xmm0
andps xmm2, xmm1
movd edx, xmm2
xor edx, ecx
movzx ecx, byte [esp]
test dl, 1
mov edx, 1
cmovne edx, ecx
mov dword [esp], edx
mov ecx, dword [ebp + 0x1b34]
test ecx, ecx
je 0x1004f934
test byte [ecx + 8], 4
jne 0x1004f934
mov edx, dword [ebp + 0x1b1c]
cmp edx, 4
je 0x1004f877
xorps xmm0, xmm0
cmp edx, 3
jne 0x1004f8aa
cmp byte [ebp + 0xf9], 0
jne 0x1004f8aa
mov edx, dword [0x10259f60]
movss xmm0, dword [edx + 0x34c]
subss xmm0, dword [edx + 0x348]
lea edi, [edx + 0x344]
add edx, 0x340
jmp 0x1004f899
mov edx, dword [0x10259f60]
movss xmm0, dword [edx + 0x328]
subss xmm0, dword [edx + 0x324]
lea edi, [edx + 0x320]
add edx, 0x31c
movss xmm1, dword [edi]
subss xmm1, dword [edx]
unpcklps xmm1, xmm0
xorps xmm0, xmm0
addps xmm0, xmm1
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x1004f8c2
jp 0x1004f8c2
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
ucomiss xmm2, xmm1
jne 0x1004f8c2
jnp 0x1004f934
movss xmm1, dword [ebp + 0x18]
mulss xmm1, dword [0x101a89a0]
movss xmm2, dword [ebp + 0xa4]
minss xmm2, dword [ebp + 0xa8]
mulss xmm2, xmm1
cvttps2dq xmm1, xmm2
cvtdq2ps xmm1, xmm1
mov ecx, dword [ecx + 0x2f0]
unpcklps xmm1, xmm1
mulps xmm0, xmm1
movsd xmm1, qword [ecx + 0xc]
addps xmm1, xmm0
movlps qword [ecx + 0xc], xmm1
mov byte [ebp + 0x1b57], 1
mov ecx, dword [ebp + 0x1b34]
test byte [ecx + 9], 1
jne 0x1004f934
mov ecx, dword [0x10259f60]
xorps xmm0, xmm0
ucomiss xmm0, dword [ecx + 0x2c94]
jb 0x1004f934
movss xmm0, dword [ecx + 0x1c]
movss dword [ecx + 0x2c94], xmm0
test eax, eax
je 0x1004f99a
mov ecx, dword [ebp + 0x1af4]
test ecx, ecx
je 0x1004f94a
cmp eax, dword [ecx + 0x2f0]
je 0x1004f990
mov word [ebp + 0x1b56], 0x100
mov edi, dword [eax + 0x2fc]
test edi, edi
cmove edi, eax
push edi
call fcn.1004ddf0
add esp, 4
push edi
call fcn.1004d770
add esp, 4
cmp dword [edi + 0x300], 0
je 0x1004fa0b
cmp dword [edi + 0x13c], 2
jne 0x1004f990
mov dword [ebp + 0x1b4c], 1
mov dword [ebp + 0x1b34], 0
cmp byte [esp], 0
je 0x1004faf4
mov edi, dword [ebp + 0x1af4]
test edi, edi
je 0x1004faf4
test byte [edi + 0x13c], 2
jne 0x1004fa4b
mov eax, 0x15000000
mov ebp, edi
nop word cs:[eax + eax]
mov ecx, dword [ebp + 8]
and ecx, eax
cmp ecx, 0x1000000
jne 0x1004f9ec
mov ebp, dword [ebp + 0x2ec]
test byte [ebp + 0x13c], 2
je 0x1004f9d0
cmp ebp, edi
je 0x1004fa47
push ebp
call fcn.1004d770
add esp, 4
mov dword [ebp + 0x2fc], edi
mov ebp, dword [esp + 8]
mov edi, dword [ebp + 0x1af4]
jmp 0x1004fa4b
push 0
push edi
call fcn.10059f80
add esp, 8
cmp dword [edi + 0x13c], 2
je 0x1004f986
jmp 0x1004f990
mov eax, dword [ebp + 0x1b34]
mov dword [esp], 0
cmp dword [ebp + 0x1a04], 0
jne 0x1004f790
jmp 0x1004f79d
mov ebp, dword [esp + 8]
mov word [ebp + 0x1b56], 0x100
test byte [edi + 0x13c], 2
jne 0x1004fa7b
mov ecx, dword [0x10259f60]
mov dword [ecx + 0x1b4c], 0
lea edx, [ecx + 0x1af4]
mov eax, dword [ecx + 0x1af4]
jmp 0x1004fa9e
mov eax, dword [ebp + 0x1b4c]
mov ecx, dword [0x10259f60]
xor eax, 1
mov dword [ecx + 0x1b4c], eax
mov eax, dword [ecx + 0x1af4]
jne 0x1004fae9
lea edx, [ecx + 0x1af4]
mov edi, eax
mov eax, dword [eax + 0x2fc]
test eax, eax
cmove eax, edi
mov dword [ecx + 0x1af4], eax
mov edi, dword [eax + 0x300]
test edi, edi
je 0x1004fae9
mov dword [ecx + 0x1af8], edi
mov dword [eax + 0x300], edi
mov edx, dword [edx]
movups xmm0, xmmword [eax + 0x308]
movups xmmword [edx + 0x308], xmm0
mov word [ecx + 0x1b55], 1
mov byte [ecx + 0x1b57], 1
jmp 0x1004faf4
push 1
push eax
call fcn.10059f80
add esp, 8
test byte [esp + 0x18], 1
sete al
mov ecx, dword [esp + 4]
xor cl, 1
test al, cl
jne 0x1004fb37
mov eax, dword [esi + 0x1af4]
test eax, eax
je 0x1004fb37
test dword [eax + 8], 0x40000
sete byte [esi + 0x355]
jne 0x1004fb3e
cmp dword [esi + 0x1af8], 0
je 0x1004fb3e
cmp byte [esi + 0x1b56], 0
jne 0x1004fb3e
mov al, 1
jmp 0x1004fb48
mov byte [esi + 0x355], 0
cmp dword [esi + 0x1b34], 0
setne al
mov byte [esi + 0x356], al
mov eax, dword [0x10259f60]
movss xmm0, dword [eax + 0x144c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x1004fd1c
jp 0x1004fd1c
cmp dword [esi + 0x1a04], 0
je 0x1004fbda
test byte [esi + 0x1a20], 2
jne 0x1004fd1c
cmp dword [eax + 0x1a04], 0
setne byte [eax + 0x1a14]
je 0x1004fba6
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
jmp 0x1004fd1c
mov edi, dword [esi + 0x1af4]
test edi, edi
je 0x1004fc53
mov ecx, 0x5000000
and ecx, dword [edi + 8]
cmp ecx, 0x1000000
jne 0x1004fc53
mov ecx, dword [edi + 0x2ec]
test ecx, ecx
je 0x1004fc53
cmp dword [edi + 0x54], 0
je 0x100514c3
push ecx
call fcn.1004d770
add esp, 4
mov eax, dword [0x10259f60]
mov ecx, dword [eax + 0x1af4]
test ecx, ecx
je 0x100514c3
mov edx, dword [edi + 0x54]
mov dword [eax + 0x1af8], edx
mov dword [ecx + 0x300], edx
mov byte [esi + 0x1b54], 0
cmp byte [esi + 0x1b57], 0
je 0x1004fd1c
mov byte [esi + 0x1b55], 1
jmp 0x1004fd1c
mov ecx, dword [esi + 0x1a70]
test ecx, ecx
jle 0x1004fc82
mov eax, dword [esi + 0x1a78]
dec ecx
lea edx, [ecx + ecx*8]
mov eax, dword [eax + edx*4 + 4]
test byte [eax + 0xb], 8
jne 0x1004fd1c
push 1
push ecx
call fcn.1005bf80
jmp 0x1004fd19
cmp dword [esi + 0x1b4c], 0
je 0x1004fce8
mov dword [eax + 0x1b4c], 0
mov edx, dword [eax + 0x1af4]
mov ecx, dword [edx + 0x2fc]
test ecx, ecx
cmove ecx, edx
mov dword [eax + 0x1af4], ecx
mov edx, dword [ecx + 0x300]
test edx, edx
je 0x1004fd11
mov dword [eax + 0x1af8], edx
mov dword [ecx + 0x300], edx
mov edx, dword [eax + 0x1af4]
movups xmm0, xmmword [ecx + 0x308]
movups xmmword [edx + 0x308], xmm0
mov word [eax + 0x1b55], 1
mov byte [eax + 0x1b57], 1
jmp 0x1004fd1c
test edi, edi
je 0x1004fd05
mov eax, 0x5000000
and eax, dword [edi + 8]
cmp eax, 0x1000000
je 0x1004fd05
mov dword [edi + 0x300], 0
mov dword [esi + 0x1af8], 0
jmp 0x1004fd1c
push 1
push ecx
call fcn.10059f80
add esp, 8
lea eax, [esi + 0x1afc]
xorps xmm0, xmm0
movups xmmword [esi + 0x1afc], xmm0
mov ecx, dword [esi + 0x1af8]
xor ebp, ebp
test ecx, ecx
je 0x1004fd45
cmp byte [esi + 0x1b56], 0
je 0x1004fe65
xor edi, edi
mov edx, dword [esi + 0x1af4]
test edx, edx
je 0x1004fd5e
test byte [edx + 0xa], 4
je 0x1004fd5e
mov byte [esi + 0x1b56], 1
test edi, edi
je 0x1004fd6a
cmp ebp, edi
jne 0x100514c3
mov byte [esi + 0x1b71], 0
mov ecx, dword [esi + 0x1b18]
test ecx, ecx
je 0x1004fd88
movd xmm0, ecx
pshufd xmm0, xmm0, 0
movdqu xmmword [eax], xmm0
mov dword [esi + 0x1b18], 0
cmp dword [esi + 0x1a04], 0
je 0x1004fda3
mov eax, dword [esi + 0x1a1c]
jmp 0x1004fda8
mov eax, 0xffffffff
mov ecx, dword [esi + 0x1b78]
test ecx, ecx
je 0x1004fde4
cmp dword [esi + 0x1b7c], 0xffffffff
je 0x100514c3
cmp dword [esi + 0x1b84], 0xffffffff
je 0x100514c3
cmp ecx, 1
jne 0x100514c3
mov dword [esi + 0x1b78], 2
jmp 0x10050399
mov dword [esi + 0x1b7c], 0xffffffff
mov dword [esi + 0x1b74], 0
mov ecx, 0xffffffff
test edx, edx
je 0x10050393
cmp dword [esi + 0x1b34], 0
jne 0x10050393
test eax, eax
je 0x10050393
test byte [edx + 0xa], 4
jne 0x10050393
test al, 1
je 0x1005001e
mov edx, dword [0x10259f60]
movss xmm2, dword [edx + 0x1458]
xorps xmm1, xmm1
ucomiss xmm1, xmm2
xorps xmm0, xmm0
ja 0x1004ff8a
ucomiss xmm2, xmm0
jne 0x1004ff2c
jp 0x1004ff2c
movss xmm0, dword [0x101a7280]
jmp 0x1004ff8a
cmp dword [esi + 0x1b34], 0
mov edi, 0
jne 0x1004fd47
mov edx, dword [esi + 0x1af4]
test edx, edx
je 0x1004feb4
xor ebp, ebp
test byte [edx + 0xa], 4
jne 0x1004fd47
mov ebp, dword [0x10259f60]
movss xmm0, dword [ebp + 0x2fc]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
mov dword [esp + 8], ebp
ja 0x1004febb
mov edx, dword [esi + 0x1a04]
xor ebp, ebp
jmp 0x10051446
xor edx, edx
jmp 0x1004fd6a
movss xmm0, dword [ebp + 0x1448]
ucomiss xmm1, xmm0
ja 0x1004ff06
movaps xmm2, xmm0
cmpneqss xmm2, xmm1
movd edx, xmm2
and edx, 1
mov dword [esp], edx
ucomiss xmm0, xmm1
mov edx, dword [esi + 0x1a04]
jne 0x1005124d
jp 0x1005124d
test edx, edx
jne 0x1005124d
mov dword [eax], ecx
mov dl, 1
mov dword [esp + 4], edx
mov edi, ecx
jmp 0x10051415
mov edx, dword [esi + 0x1a04]
xor edi, edi
test edx, edx
je 0x1005136b
mov edi, edx
mov dl, 1
mov dword [esp], edx
mov edx, edi
mov dword [esp + 4], 0
jmp 0x10051265
movss xmm4, dword [0x101a89a4]
movss xmm3, dword [edx + 0x8c]
mulss xmm3, xmm4
ucomiss xmm0, xmm3
jae 0x1004ff8a
mulss xmm4, dword [edx + 0x88]
ucomiss xmm4, xmm2
jae 0x1004ff8a
movaps xmm0, xmm2
subss xmm0, dword [edx + 0x18]
unpcklps xmm2, xmm0
shufps xmm4, xmm4, 0
subps xmm2, xmm4
shufps xmm3, xmm3, 0
divps xmm2, xmm3
cvttps2dq xmm0, xmm2
pshufd xmm2, xmm0, 0x55
psubd xmm0, xmm2
movd edi, xmm0
xor ebp, ebp
test edi, edi
cmovg ebp, edi
xorps xmm0, xmm0
cvtsi2ss xmm0, ebp
movss xmm2, dword [edx + 0x148c]
ucomiss xmm1, xmm2
ja 0x10050006
ucomiss xmm2, xmm1
jne 0x1004ffa8
jp 0x1004ffa8
movss xmm1, dword [0x101a7280]
jmp 0x10050006
movss xmm4, dword [0x101a89a4]
movss xmm3, dword [edx + 0x8c]
mulss xmm3, xmm4
ucomiss xmm1, xmm3
jae 0x10050006
mulss xmm4, dword [edx + 0x88]
ucomiss xmm4, xmm2
jae 0x10050006
movaps xmm1, xmm2
subss xmm1, dword [edx + 0x18]
unpcklps xmm2, xmm1
shufps xmm4, xmm4, 0
subps xmm2, xmm4
shufps xmm3, xmm3, 0
divps xmm2, xmm3
cvttps2dq xmm1, xmm2
pshufd xmm2, xmm1, 0x55
psubd xmm1, xmm2
movd edx, xmm1
xor edi, edi
test edx, edx
cmovg edi, edx
xorps xmm1, xmm1
cvtsi2ss xmm1, edi
addss xmm0, xmm1
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x1005001e
mov dword [esi + 0x1b7c], 0
xor ecx, ecx
test al, 2
je 0x10050145
mov edx, dword [0x10259f60]
movss xmm2, dword [edx + 0x145c]
xorps xmm1, xmm1
ucomiss xmm1, xmm2
xorps xmm0, xmm0
ja 0x100500ae
ucomiss xmm2, xmm0
jne 0x10050050
jp 0x10050050
movss xmm0, dword [0x101a7280]
jmp 0x100500ae
movss xmm4, dword [0x101a89a4]
movss xmm3, dword [edx + 0x8c]
mulss xmm3, xmm4
ucomiss xmm0, xmm3
jae 0x100500ae
mulss xmm4, dword [edx + 0x88]
ucomiss xmm4, xmm2
jae 0x100500ae
movaps xmm0, xmm2
subss xmm0, dword [edx + 0x18]
unpcklps xmm2, xmm0
shufps xmm4, xmm4, 0
subps xmm2, xmm4
shufps xmm3, xmm3, 0
divps xmm2, xmm3
cvttps2dq xmm0, xmm2
pshufd xmm2, xmm0, 0x55
psubd xmm0, xmm2
movd edi, xmm0
xor ebp, ebp
test edi, edi
cmovg ebp, edi
xorps xmm0, xmm0
cvtsi2ss xmm0, ebp
movss xmm2, dword [edx + 0x1490]
ucomiss xmm1, xmm2
ja 0x1005012a
ucomiss xmm2, xmm1
jne 0x100500cc
jp 0x100500cc
movss xmm1, dword [0x101a7280]
jmp 0x1005012a
movss xmm4, dword [0x101a89a4]
movss xmm3, dword [edx + 0x8c]
mulss xmm3, xmm4
ucomiss xmm1, xmm3
jae 0x1005012a
mulss xmm4, dword [edx + 0x88]
ucomiss xmm4, xmm2
jae 0x1005012a
movaps xmm1, xmm2
subss xmm1, dword [edx + 0x18]
unpcklps xmm2, xmm1
shufps xmm4, xmm4, 0
subps xmm2, xmm4
shufps xmm3, xmm3, 0
divps xmm2, xmm3
cvttps2dq xmm1, xmm2
pshufd xmm2, xmm1, 0x55
psubd xmm1, xmm2
movd edx, xmm1
xor edi, edi
test edx, edx
cmovg edi, edx
xorps xmm1, xmm1
cvtsi2ss xmm1, edi
addss xmm0, xmm1
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x10050145
mov dword [esi + 0x1b7c], 1
mov ecx, 1
test al, 4
je 0x1005026c
mov edx, dword [0x10259f60]
movss xmm2, dword [edx + 0x1460]
xorps xmm1, xmm1
ucomiss xmm1, xmm2
xorps xmm0, xmm0
ja 0x100501d5
ucomiss xmm2, xmm0
jne 0x10050177
jp 0x10050177
movss xmm0, dword [0x101a7280]
jmp 0x100501d5
movss xmm4, dword [0x101a89a4]
movss xmm3, dword [edx + 0x8c]
mulss xmm3, xmm4
ucomiss xmm0, xmm3
jae 0x100501d5
mulss xmm4, dword [edx + 0x88]
ucomiss xmm4, xmm2
jae 0x100501d5
movaps xmm0, xmm2
subss xmm0, dword [edx + 0x18]
unpcklps xmm2, xmm0
shufps xmm4, xmm4, 0
subps xmm2, xmm4
shufps xmm3, xmm3, 0
divps xmm2, xmm3
cvttps2dq xmm0, xmm2
pshufd xmm2, xmm0, 0x55
psubd xmm0, xmm2
movd edi, xmm0
xor ebp, ebp
test edi, edi
cmovg ebp, edi
xorps xmm0, xmm0
cvtsi2ss xmm0, ebp
movss xmm2, dword [edx + 0x1494]
ucomiss xmm1, xmm2
ja 0x10050251
ucomiss xmm2, xmm1
jne 0x100501f3
jp 0x100501f3
movss xmm1, dword [0x101a7280]
jmp 0x10050251
movss xmm4, dword [0x101a89a4]
movss xmm3, dword [edx + 0x8c]
mulss xmm3, xmm4
ucomiss xmm1, xmm3
jae 0x10050251
mulss xmm4, dword [edx + 0x88]
ucomiss xmm4, xmm2
jae 0x10050251
movaps xmm1, xmm2
subss xmm1, dword [edx + 0x18]
unpcklps xmm2, xmm1
shufps xmm4, xmm4, 0
subps xmm2, xmm4
shufps xmm3, xmm3, 0
divps xmm2, xmm3
cvttps2dq xmm1, xmm2
pshufd xmm2, xmm1, 0x55
psubd xmm1, xmm2
movd edx, xmm1
xor edi, edi
test edx, edx
cmovg edi, edx
xorps xmm1, xmm1
cvtsi2ss xmm1, edi
addss xmm0, xmm1
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x1005026c
mov dword [esi + 0x1b7c], 2
mov ecx, 2
test al, 8
je 0x10050393
mov edx, dword [0x10259f60]
movss xmm2, dword [edx + 0x1464]
xorps xmm1, xmm1
ucomiss xmm1, xmm2
xorps xmm0, xmm0
ja 0x100502fc
ucomiss xmm2, xmm0
jne 0x1005029e
jp 0x1005029e
movss xmm0, dword [0x101a7280]
jmp 0x100502fc
movss xmm4, dword [0x101a89a4]
movss xmm3, dword [edx + 0x8c]
mulss xmm3, xmm4
ucomiss xmm0, xmm3
jae 0x100502fc
mulss xmm4, dword [edx + 0x88]
ucomiss xmm4, xmm2
jae 0x100502fc
movaps xmm0, xmm2
subss xmm0, dword [edx + 0x18]
unpcklps xmm2, xmm0
shufps xmm4, xmm4, 0
subps xmm2, xmm4
shufps xmm3, xmm3, 0
divps xmm2, xmm3
cvttps2dq xmm0, xmm2
pshufd xmm2, xmm0, 0x55
psubd xmm0, xmm2
movd edi, xmm0
xor ebp, ebp
test edi, edi
cmovg ebp, edi
xorps xmm0, xmm0
cvtsi2ss xmm0, ebp
movss xmm2, dword [edx + 0x1498]
ucomiss xmm1, xmm2
ja 0x10050378
ucomiss xmm2, xmm1
jne 0x1005031a
jp 0x1005031a
movss xmm1, dword [0x101a7280]
jmp 0x10050378
movss xmm4, dword [0x101a89a4]
movss xmm3, dword [edx + 0x8c]
mulss xmm3, xmm4
ucomiss xmm1, xmm3
jae 0x10050378
mulss xmm4, dword [edx + 0x88]
ucomiss xmm4, xmm2
jae 0x10050378
movaps xmm1, xmm2
subss xmm1, dword [edx + 0x18]
unpcklps xmm2, xmm1
shufps xmm4, xmm4, 0
subps xmm2, xmm4
shufps xmm3, xmm3, 0
divps xmm2, xmm3
cvttps2dq xmm1, xmm2
pshufd xmm2, xmm1, 0x55
psubd xmm1, xmm2
movd edx, xmm1
xor edi, edi
test edx, edx
cmovg edi, edx
xorps xmm1, xmm1
cvtsi2ss xmm1, edi
addss xmm0, xmm1
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x10050393
mov dword [esi + 0x1b7c], 3
mov ecx, 3
mov dword [esi + 0x1b84], ecx
xorps xmm7, xmm7
test byte [esp + 0x18], 1
je 0x100503b6
mov edi, dword [0x10259f60]
cmp dword [edi + 0x1b7c], 0xffffffff
je 0x1005104a
mov eax, dword [esi + 0x1b7c]
cmp eax, 0xffffffff
je 0x100503d0
mov byte [esi + 0x1b71], 1
mov dword [esi + 0x1b80], eax
jmp 0x100503d9
cmp byte [esi + 0x1b71], 0
je 0x100503fc
cmp dword [esi + 0x1af8], 0
jne 0x100503fc
mov word [esi + 0x1b59], 0x101
mov dword [esi + 0x1b5c], 0
mov byte [esi + 0x1b56], 0
mov eax, dword [0x10259f60]
cmp byte [eax + 0x1b71], 0
je 0x10050413
mov byte [eax + 0x1b58], 1
jmp 0x10050424
movzx ecx, byte [eax + 0x1b59]
mov byte [eax + 0x1b58], cl
test cl, cl
je 0x10050431
cmp dword [eax + 0x1af4], 0
je 0x100514c3
mov ecx, dword [esi + 0x1af4]
test ecx, ecx
je 0x1005059e
test byte [ecx + 0xa], 4
jne 0x1005059e
cmp dword [esi + 0x1b34], 0
jne 0x1005059e
movss xmm0, dword [eax + 0x1904]
mulss xmm0, dword [ecx + 0x26c]
mulss xmm0, dword [0x101a89a8]
mulss xmm0, dword [esi + 0x18]
addss xmm0, dword [0x101a72c0]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
cmp dword [ecx + 0x13c], 0
je 0x100510a7
movss xmm3, dword [eax + 0x328]
subss xmm3, dword [eax + 0x324]
movss xmm2, dword [eax + 0x320]
subss xmm2, dword [eax + 0x31c]
xorps xmm1, xmm1
addss xmm2, xmm1
movss xmm6, dword [eax + 0x334]
ucomiss xmm6, xmm1
addss xmm3, xmm1
movss xmm4, dword [0x101a89b8]
movaps xmm5, xmm3
mulss xmm5, xmm4
jbe 0x100504da
mulss xmm2, xmm4
xorps xmm4, xmm4
cmpltss xmm4, xmm6
movaps xmm6, xmm4
andnps xmm6, xmm3
andps xmm4, xmm5
movss xmm5, dword [eax + 0x338]
ucomiss xmm5, xmm1
orps xmm4, xmm6
movss xmm6, dword [0x101a89bc]
movaps xmm3, xmm4
mulss xmm3, xmm6
jbe 0x1005050e
mulss xmm2, xmm6
ucomiss xmm2, xmm1
cmpltss xmm1, xmm5
movaps xmm5, xmm1
andnps xmm5, xmm4
andps xmm1, xmm3
orps xmm1, xmm5
jne 0x10050526
jnp 0x10050560
cmp byte [ecx + 0x78], 0
je 0x10050560
movss xmm3, dword [ecx + 0x58]
mulss xmm2, xmm0
addss xmm2, xmm3
cvttps2dq xmm2, xmm2
cvtdq2ps xmm2, xmm2
addss xmm3, dword [ecx + 0xe0]
movss dword [ecx + 0x58], xmm2
subss xmm3, xmm2
movss dword [ecx + 0xe0], xmm3
mov byte [esi + 0x1b70], 1
xorps xmm2, xmm2
ucomiss xmm1, xmm2
jne 0x1005056a
jnp 0x1005059e
movss xmm2, dword [ecx + 0x5c]
mulss xmm1, xmm0
addss xmm1, xmm2
cvttps2dq xmm0, xmm1
cvtdq2ps xmm0, xmm0
addss xmm2, dword [ecx + 0xe4]
movss dword [ecx + 0x5c], xmm0
subss xmm2, xmm0
movss dword [ecx + 0xe4], xmm2
mov byte [esi + 0x1b70], 1
mov dword [esi + 0x1b8c], 0
mov dword [esi + 0x1b88], 0
mov dword [esi + 0x1b90], 0
movaps xmm0, xmmword [0x101a8910]
movups xmmword [esi + 0x1b94], xmm0
movsd xmm1, qword [0x101a8920]
movsd qword [esi + 0x1ba4], xmm1
movaps xmm2, xmmword [0x101a8930]
movups xmmword [esi + 0x1bac], xmm2
movups xmmword [esi + 0x1bbc], xmm0
movsd qword [esi + 0x1bcc], xmm1
movups xmmword [esi + 0x1bd4], xmm2
movups xmmword [esi + 0x1be4], xmm0
movsd qword [esi + 0x1bf4], xmm1
mov dword [esi + 0x1bfc], 0xff7fffff
cmp byte [esi + 0x1b71], 0
je 0x10050717
cmp byte [esi + 0x1b70], 0
je 0x10050717
cmp dword [esi + 0x1b4c], 0
jne 0x10050717
mov ecx, dword [esi + 0x1af4]
movsd xmm1, qword [ecx + 0xc]
movlhps xmm1, xmm1
movups xmm0, xmmword [ecx + 0x1ec]
subps xmm0, xmm1
addps xmm0, xmmword [0x101a89c0]
movss xmm1, dword [ecx + 0x308]
ucomiss xmm1, xmm0
movsd xmm2, qword [ecx + 0x30c]
movaps xmm3, xmm0
unpckhpd xmm3, xmm0
jb 0x100506a1
movaps xmm4, xmm0
shufps xmm4, xmm0, 0x55
ucomiss xmm2, xmm4
jb 0x100506a1
movaps xmm4, xmm2
shufps xmm4, xmm2, 0x55
ucomiss xmm3, xmm4
jb 0x100506a1
movaps xmm4, xmm0
shufps xmm4, xmm0, 0xff
ucomiss xmm4, dword [ecx + 0x314]
jae 0x10050710
movss xmm4, dword [eax + 0x1904]
mulss xmm4, dword [ecx + 0x26c]
mulss xmm4, dword [0x101a72c0]
subps xmm3, xmm0
shufps xmm4, xmm4, 0
minps xmm3, xmm4
movlhps xmm4, xmm3
addps xmm3, xmm0
subps xmm0, xmm4
movsd xmm0, xmm3
movlhps xmm1, xmm2
movss xmm3, dword [ecx + 0x314]
shufps xmm3, xmm2, 0xd4
shufps xmm1, xmm3, 0x28
movapd xmm2, xmm0
cmpleps xmm2, xmm1
movaps xmm3, xmm1
cmpltps xmm3, xmm0
movsd xmm3, xmm2
andps xmm1, xmm3
andnps xmm3, xmm0
orps xmm3, xmm1
movups xmmword [ecx + 0x308], xmm3
mov dword [esi + 0x1af8], 0
mov byte [esi + 0x1b70], 0
mov ecx, dword [esi + 0x1af4]
test ecx, ecx
je 0x10050795
mov edx, dword [esi + 0x1b4c]
shl edx, 4
movss xmm2, dword [ecx + edx + 0x308]
movss xmm4, dword [ecx + edx + 0x30c]
movsd xmm3, qword [ecx + edx + 0x310]
movaps xmm0, xmm3
shufps xmm0, xmm3, 0x55
cmpltps xmm0, xmm4
movaps xmm1, xmm3
cmpltps xmm1, xmm2
orps xmm1, xmm0
movd edx, xmm1
xorps xmm0, xmm0
xorps xmm1, xmm1
test dl, 1
jne 0x1005076f
movaps xmm0, xmm4
movaps xmm1, xmm2
xorps xmm2, xmm2
jne 0x10050777
movaps xmm2, xmm3
movsd xmm3, qword [ecx + 0xc]
addps xmm2, xmm3
addss xmm1, xmm3
shufps xmm3, xmm3, 0x55
addss xmm0, xmm3
addss xmm1, dword [0x101a7280]
jmp 0x100507a5
movsd xmm2, qword [eax + 0x10]
xorps xmm0, xmm0
movss xmm1, dword [0x101a7280]
addss xmm0, xmm7
movss dword [esi + 0x1b24], xmm0
minss xmm1, xmm2
shufps xmm2, xmm2, 0x55
addss xmm2, xmm7
movss dword [esi + 0x1b2c], xmm2
movss dword [esi + 0x1b20], xmm1
movss dword [esi + 0x1b28], xmm1
ucomiss xmm0, xmm2
ja 0x100514c3
mov dword [esi + 0x1b30], 0
movsd xmm0, qword [eax + 0xe0]
ucomiss xmm0, dword [0x101a8990]
jb 0x1005081e
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
ucomiss xmm1, dword [0x101a8990]
jb 0x1005081e
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movlps qword [eax + 0x1a40], xmm0
movlps qword [eax + 0xe0], xmm0
ucomiss xmm0, dword [0x101a8990]
jb 0x10050880
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
ucomiss xmm1, dword [0x101a8990]
jb 0x10050880
movsd xmm1, qword [eax + 0x378]
ucomiss xmm1, dword [0x101a8990]
jb 0x10050880
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
ucomiss xmm2, dword [0x101a8990]
jb 0x10050880
subps xmm0, xmm1
movlps qword [eax + 0x370], xmm0
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x10050877
jp 0x10050877
shufps xmm0, xmm0, 0x55
ucomiss xmm0, xmm1
jne 0x10050877
jnp 0x10050894
mov byte [eax + 0x1b57], 0
jmp 0x10050894
mov dword [eax + 0x370], 0
mov dword [eax + 0x374], 0
mov esi, dword [eax + 0xe0]
mov edx, dword [eax + 0xe4]
mov dword [eax + 0x37c], edx
mov dword [eax + 0x378], esi
movq xmm1, qword [eax + 0xe0]
pshufd xmm0, xmm1, 0x55
movdqu xmmword [esp + 0x18], xmm0
movss xmm2, dword [0x101a8990]
movaps xmm3, xmm2
cmpleps xmm3, xmm1
movd xmm4, edx
pshufd xmm4, xmm4, 0
cmpleps xmm2, xmm4
andps xmm2, xmm3
movd ecx, xmm2
lea edi, [eax + 0x434]
xor ebp, ebp
xorps xmm2, xmm2
movsd xmm3, qword [0x101a89d0]
movaps xmm4, xmmword [0x101a87e0]
jmp 0x10050930
mov byte [edi + ebp - 0x64], 0
movss xmm5, dword [edi + ebp*4 - 0x50]
ucomiss xmm5, xmm2
setae byte [edi + ebp - 0x5a]
movss dword [edi + ebp*4 - 0x3c], xmm5
mov dword [edi + ebp*4 - 0x50], 0xbf800000
mov byte [edi + ebp - 0x5f], 0
inc ebp
cmp ebp, 5
je 0x10050ac5
cmp byte [edi + ebp - 0x34c], 0
je 0x10050900
movss xmm5, dword [edi + ebp*4 - 0x50]
ucomiss xmm2, xmm5
seta byte [edi + ebp - 0x64]
mov byte [edi + ebp - 0x5a], 0
movss dword [edi + ebp*4 - 0x3c], xmm5
jbe 0x10050a30
mov dword [eax + ebp*4 + 0x3e4], 0
mov byte [eax + ebp + 0x3d5], 0
movsd xmm5, qword [eax + 0x1990]
movapd xmm6, xmm5
subsd xmm6, qword [eax + ebp*8 + 0x3a8]
cvtsd2ss xmm6, xmm6
movss xmm7, dword [eax + 0x28]
ucomiss xmm7, xmm6
jbe 0x100509e9
cmp dword [0x10259f60], 0
je 0x100514c3
xorpd xmm5, xmm5
xorps xmm6, xmm6
test cl, 1
je 0x100509c2
movups xmm6, xmmword [esp + 0x18]
subss xmm6, dword [edi + ebp*8 - 0xb0]
movaps xmm5, xmm1
subss xmm5, dword [edi + ebp*8 - 0xb4]
mulss xmm6, xmm6
mulss xmm5, xmm5
addss xmm5, xmm6
movss xmm6, dword [eax + 0x2c]
mulss xmm6, xmm6
ucomiss xmm6, xmm5
movapd xmm5, xmm3
jbe 0x100509e9
mov byte [edi + ebp - 0x5f], 1
movapd xmm5, xmm3
movsd qword [edi + ebp*8 - 0x8c], xmm5
mov dword [edi + ebp*8 - 0xb4], esi
mov dword [edi + ebp*8 - 0xb0], edx
mov dword [edi + ebp*8 - 0x28], 0
mov dword [edi + ebp*8 - 0x24], 0
mov dword [edi + ebp*4], 0
cmp byte [edi + ebp - 0x64], 0
je 0x10050926
mov byte [eax + 0x1b57], 0
jmp 0x10050926
addss xmm5, dword [eax + 0x18]
movss dword [eax + ebp*4 + 0x3e4], xmm5
mov byte [eax + ebp + 0x3d5], 0
cmp dword [0x10259f60], 0
je 0x100514c3
pxor xmm0, xmm0
test cl, 1
je 0x10050a6b
movsd xmm6, qword [edi + ebp*8 - 0xb4]
movaps xmm0, xmm1
subps xmm0, xmm6
movdqa xmm6, xmm0
mulps xmm6, xmm0
shufps xmm6, xmm6, 0x55
movaps xmm5, xmm0
mulss xmm5, xmm0
addss xmm5, xmm6
movss xmm6, dword [edi + ebp*4]
movaps xmm7, xmm5
cmpless xmm7, xmm6
andps xmm6, xmm7
andnps xmm7, xmm5
orps xmm7, xmm6
movss dword [edi + ebp*4], xmm7
movaps xmm5, xmm0
xorps xmm5, xmm4
maxps xmm5, xmm0
movsd xmm0, qword [edi + ebp*8 - 0x28]
movaps xmm6, xmm5
cmpleps xmm6, xmm0
andps xmm0, xmm6
andnps xmm6, xmm5
orps xmm6, xmm0
movlps qword [edi + ebp*8 - 0x28], xmm6
jmp 0x10050926
movss xmm0, dword [ebx + 0x18]
mov eax, dword [ebx + 0x2eb8]
movaps xmm1, xmm0
subss xmm1, dword [ebx + eax*4 + 0x2cd8]
addss xmm1, dword [ebx + 0x2ebc]
movss dword [ebx + 0x2ebc], xmm1
movss dword [ebx + eax*4 + 0x2cd8], xmm0
mov ecx, dword [ebx + 0x2eb8]
lea eax, [ecx + 1]
mov edx, 0x88888889
imul edx
lea eax, [edx + ecx]
inc eax
mov edx, eax
shr edx, 0x1f
sar eax, 6
add eax, edx
imul eax, eax, 0x78
neg eax
add eax, ecx
inc eax
mov dword [ebx + 0x2eb8], eax
movss xmm0, dword [ebx + 0x2ebc]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x10050b47
divss xmm0, dword [0x101a89d8]
movss xmm1, dword [0x101a7280]
divss xmm1, xmm0
jmp 0x10050b4f
movss xmm1, dword [0x101a89dc]
movss dword [ebx + 0x358], xmm1
call fcn.1004d940
call fcn.1004def0
mov ebp, dword [0x10259f60]
mov edx, dword [ebp + 0x1a70]
test edx, edx
jle 0x10050ba7
mov esi, dword [ebp + 0x1a78]
lea ecx, [edx + 1]
lea edx, [edx + edx*8]
lea edx, [esi + edx*4]
add edx, 0xffffffe0
jmp 0x10050b99
dec ecx
add edx, 0xffffffdc
cmp ecx, 2
jb 0x10050ba7
mov esi, dword [edx]
test esi, esi
je 0x10050b90
test byte [esi + 0xb], 8
je 0x10050b90
jmp 0x10050bc0
cmp dword [ebx + 0x1b34], 0
je 0x10050be7
movss xmm0, dword [ebx + 0x1b44]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x10050be7
movss xmm0, dword [ebx + 0x18]
mulss xmm0, dword [0x101a72b4]
addss xmm0, dword [ebx + 0x1c44]
minss xmm0, dword [0x101a7280]
movss dword [ebx + 0x1c44], xmm0
jmp 0x10050c0f
movss xmm0, dword [ebx + 0x18]
mulss xmm0, dword [0x101a8994]
addss xmm0, dword [ebx + 0x1c44]
xorps xmm1, xmm1
cmpless xmm1, xmm0
andps xmm1, xmm0
movss dword [ebx + 0x1c44], xmm1
mov dword [ebx + 0x1cbc], 0
mov dword [ebx + 0x2ec8], 0xffffffff
mov dword [ebx + 0x2ec4], 0xffffffff
mov dword [ebx + 0x2ec0], 0xffffffff
mov dword [ebx + 0x2c80], 0x3f800000
mov dword [ebx + 0x2c84], 0x3f800000
mov esi, dword [ebp + 0x19e8]
test esi, esi
je 0x10050c5f
cmp byte [esi + 0x7d], 0
je 0x10050ecf
cmp dword [ebx + 0x1a04], 0
je 0x10050e45
mov dword [ebx + 0x1b50], 0x7fffffff
mov edx, dword [ebx + 0x19b0]
cmp edx, dword [ebx + 0x19a4]
jne 0x100514c3
test edx, edx
je 0x10050cbb
xor ecx, ecx
nop
cmp edx, ecx
jle 0x100514c3
mov edx, dword [ebx + 0x19ac]
mov edx, dword [edx + ecx*4]
movzx eax, byte [edx + 0x7a]
mov byte [edx + 0x7b], al
mov byte [edx + 0x7a], 0
mov byte [edx + 0x7c], 0
inc ecx
mov edx, dword [ebx + 0x19a4]
cmp ecx, edx
jne 0x10050c90
mov ecx, dword [ebx + 0x1af4]
test ecx, ecx
je 0x10050ccf
cmp byte [ecx + 0x7b], 0
je 0x10050fe2
cmp dword [ebx + 0x19cc], 0
jns 0x10050d52
mov eax, dword [0x10259f60]
test eax, eax
je 0x10050ce7
inc dword [eax + 0x36c]
push dword [0x10259f68]
push 0
call dword [0x101fd77c]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x19d0]
test eax, eax
je 0x10050d42
mov ecx, dword [ebx + 0x19c8]
shl ecx, 2
push ecx
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x19d0]
test eax, eax
je 0x10050d32
mov ecx, dword [0x10259f60]
test ecx, ecx
je 0x10050d32
dec dword [ecx + 0x36c]
push dword [0x10259f68]
push eax
call dword [0x101fd780]
add esp, 8
mov dword [ebx + 0x19d0], esi
mov dword [ebx + 0x19cc], 0
mov dword [ebx + 0x19c8], 0
cmp dword [ebx + 0x1a80], 0
jns 0x10050de2
mov eax, dword [0x10259f60]
test eax, eax
je 0x10050d74
inc dword [eax + 0x36c]
push dword [0x10259f68]
push 0
call dword [0x101fd77c]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x1a84]
test eax, eax
je 0x10050dd2
mov ecx, dword [ebx + 0x1a7c]
shl ecx, 2
lea ecx, [ecx + ecx*8]
push ecx
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebx + 0x1a84]
test eax, eax
je 0x10050dc2
mov ecx, dword [0x10259f60]
test ecx, ecx
je 0x10050dc2
dec dword [ecx + 0x36c]
push dword [0x10259f68]
push eax
call dword [0x101fd780]
add esp, 8
mov dword [ebx + 0x1a84], esi
mov dword [ebx + 0x1a80], 0
mov dword [ebx + 0x1a7c], 0
push dword [ebx + 0x1af4]
call fcn.1004ddf0
add esp, 4
mov eax, dword [0x10259f60]
mov dword [eax + 0x1ab4], 0x43c80000
mov dword [eax + 0x1ab8], 0x43c80000
mov dword [eax + 0x1a8c], 4
push 0
push 0
push str.DebugDefault
call fcn.10051550
add esp, 0xc
mov byte [ebx + 2], 1
mov ecx, dword [esp + 0x50]
xor ecx, esp
call fcn.10155bf1
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebx + 0x1af4]
test ecx, ecx
je 0x10050c6c
cmp byte [ecx + 0x7a], 0
je 0x10050c6c
test byte [ecx + 0xa], 4
jne 0x10050c6c
cmp byte [ebx + 0xf8], 0
jne 0x10050c6c
mov edx, dword [ebp + 0x34]
test edx, edx
js 0x10050c6c
cmp edx, 0x200
jae 0x100514c3
movss xmm0, dword [ebp + edx*4 + 0x448]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x10050c6c
jp 0x10050c6c
cmp dword [ebx + 0x1af8], 0
je 0x10050ec1
mov esi, dword [ebx + 0x1b50]
cmp esi, 0x7fffffff
jne 0x10051279
movsx edx, byte [ebx + 0xf9]
neg edx
jmp 0x10051289
movss xmm1, dword [ebp + 0xf0]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jne 0x10050ef4
jp 0x10050ef4
movss xmm2, dword [ebp + 0xf4]
ucomiss xmm2, xmm0
jne 0x10050ef4
jnp 0x10050c5f
mov edi, esi
nop word cs:[eax + eax]
mov ecx, edi
mov edx, dword [edi + 8]
mov edi, edx
and edi, 0x1000218
cmp edi, 0x1000010
jne 0x10050f1f
mov edi, dword [ecx + 0x2ec]
test edi, edi
jne 0x10050f00
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jne 0x10050f2d
jnp 0x100511e3
cmp byte [ebp + 0xf8], 0
je 0x10051166
cmp byte [ebp + 0x9c], 0
je 0x100511e3
movss xmm3, dword [esi + 0x26c]
mulss xmm1, dword [0x101a89b8]
addss xmm1, xmm3
movss xmm2, dword [0x101a89e0]
minss xmm2, xmm1
movss xmm4, dword [0x101a72c0]
cmpltss xmm1, xmm4
movaps xmm5, xmm1
andnps xmm5, xmm2
andps xmm1, xmm4
orps xmm1, xmm5
movaps xmm2, xmm1
divss xmm2, xmm3
movss dword [esi + 0x26c], xmm1
movss xmm5, dword [0x101a7280]
subss xmm5, xmm2
movups xmm1, xmmword [esi + 0xc]
movsd xmm3, qword [ebp + 0xe0]
subps xmm3, xmm1
shufps xmm5, xmm5, 0
movaps xmm4, xmm1
unpckhpd xmm4, xmm1
mulps xmm5, xmm4
mulps xmm5, xmm3
divps xmm5, xmm4
addps xmm5, xmm1
shufps xmm2, xmm2, 0
mulps xmm1, xmm2
movsd xmm1, xmm5
movupd xmmword [esi + 0xc], xmm1
movsd xmm1, qword [esi + 0x1c]
mulps xmm1, xmm2
movlps qword [esi + 0x1c], xmm1
jmp 0x100511e3
mov ecx, dword [ebp + 0x19b0]
test ecx, ecx
jle 0x10050ccf
mov eax, dword [ebp + 0x19b8]
inc ecx
jmp 0x1005100a
dec ecx
cmp ecx, 1
jbe 0x10050ccf
mov edx, dword [eax + ecx*4 - 8]
test edx, edx
je 0x10051000
cmp byte [edx + 0x7b], 0
je 0x10051000
mov esi, dword [edx + 8]
test esi, 0x1000000
jne 0x10051000
and esi, 0x40200
cmp esi, 0x40200
je 0x10051000
mov eax, dword [edx + 0x2fc]
test eax, eax
cmove eax, edx
push eax
call fcn.1004d770
add esp, 4
jmp 0x10050ccf
mov ebp, dword [edi + 0x1af4]
test ebp, ebp
je 0x100503b6
test byte [ebp + 0xa], 4
jne 0x100503b6
cmp dword [edi + 0x1b34], 0
jne 0x100503b6
cmp dword [edi + 0x1b4c], 0
jne 0x100503b6
mov ecx, dword [edi + 0x48]
test ecx, ecx
mov dword [esp + 0x18], ecx
js 0x10051294
cmp ecx, 0x200
jae 0x100514c3
cmp byte [edi + ecx + 0xfc], 0
setne cl
jmp 0x10051296
cmp byte [ecx + 0x145], 0
je 0x1005048f
cmp byte [esi + 0x1b71], 0
je 0x1005048f
mov edx, dword [esi + 0x1b7c]
cmp edx, 1
ja 0x10051112
movss xmm1, dword [ecx + 0x58]
test edx, edx
mov edx, 0
sete dl
movss xmm2, dword [edx*4 + 0x101a89b0]
mulss xmm2, xmm0
addss xmm2, xmm1
cvttps2dq xmm2, xmm2
cvtdq2ps xmm2, xmm2
addss xmm1, dword [ecx + 0xe0]
movss dword [ecx + 0x58], xmm2
subss xmm1, xmm2
movss dword [ecx + 0xe0], xmm1
mov edx, dword [esi + 0x1b7c]
mov edi, edx
and edi, 0xfffffffe
cmp edi, 2
jne 0x1005048f
movss xmm1, dword [ecx + 0x5c]
cmp edx, 2
mov edx, 0
sete dl
movss xmm2, dword [edx*4 + 0x101a89b0]
mulss xmm2, xmm0
addss xmm2, xmm1
cvttps2dq xmm2, xmm2
addss xmm1, dword [ecx + 0xe4]
cvtdq2ps xmm2, xmm2
movss dword [ecx + 0x5c], xmm2
subss xmm1, xmm2
movss dword [ecx + 0xe4], xmm1
jmp 0x1005048f
test edx, 0x210
jne 0x10050c5f
movss xmm2, dword [ebp + 0x1904]
mulss xmm2, dword [ecx + 0x26c]
mulss xmm2, dword [0x101a8844]
movss xmm3, dword [ecx + 0x218]
subss xmm3, dword [ecx + 0x210]
movss xmm4, dword [ecx + 0x40]
addss xmm4, xmm4
addss xmm4, xmm3
mulss xmm4, dword [0x101a89e4]
movss xmm3, dword [ecx + 0x5c]
minss xmm2, xmm4
cvttps2dq xmm2, xmm2
cvtdq2ps xmm2, xmm2
mulss xmm1, xmm2
movaps xmm2, xmm3
addss xmm3, dword [ecx + 0xe4]
subss xmm2, xmm1
movss dword [ecx + 0x5c], xmm2
subss xmm3, xmm2
movss dword [ecx + 0xe4], xmm3
movss xmm1, dword [ebp + 0xf4]
ucomiss xmm1, xmm0
jne 0x100511f6
jnp 0x10050c5f
and edx, 0x210
jne 0x10050c5f
cmp byte [ebp + 0xf8], 0
jne 0x10050c5f
movss xmm0, dword [ebp + 0x1904]
mulss xmm0, dword [ecx + 0x26c]
movss xmm2, dword [ecx + 0x58]
mulss xmm1, xmm0
movaps xmm0, xmm2
addss xmm2, dword [ecx + 0xe0]
subss xmm0, xmm1
movss dword [ecx + 0x58], xmm0
subss xmm2, xmm0
movss dword [ecx + 0xe0], xmm2
jmp 0x10050c5f
cmpeqss xmm0, xmm1
movd edi, xmm0
and edi, 1
mov dword [esp + 4], edi
test edx, edx
je 0x10051413
xor edi, edi
mov ebp, 0
cmp edx, ecx
je 0x10051415
jmp 0x10051427
xor edx, edx
cmp dl, byte [ebx + 0xf9]
sbb edx, edx
or edx, 1
add edx, esi
inc edx
mov dword [ecx + 0x33c], edx
jmp 0x10050c6c
xor ecx, ecx
mov edx, eax
shr dl, 2
and dl, cl
mov ecx, dword [edi + 0x4c]
test ecx, ecx
js 0x100512ca
cmp ecx, 0x200
jae 0x100514c3
cmp byte [edi + ecx + 0xfc], 0
setne cl
shr al, 3
and al, cl
cmp dl, al
je 0x100503b6
jmp 0x100512d2
test dl, dl
je 0x100503b6
cmp dword [ebp + 0x13c], 0
je 0x100513be
movss xmm0, dword [ebp + 0x208]
subss xmm0, dword [ebp + 0x200]
movss xmm1, dword [ebp + 0x314]
movss xmm2, dword [edi + 0x1904]
mulss xmm2, dword [ebp + 0x26c]
subss xmm0, xmm2
subss xmm1, dword [ebp + 0x30c]
addss xmm1, xmm0
xorps xmm0, xmm0
movaps xmm2, xmm1
cmpless xmm2, xmm0
andnps xmm2, xmm1
movups xmmword [esp + 8], xmm2
push 1
push dword [esp + 0x1c]
call fcn.10058700
add esp, 8
test al, al
je 0x1005137e
movups xmm7, xmmword [esp + 8]
xorps xmm7, xmmword [0x101a87e0]
mov dword [edi + 0x1b7c], 3
mov dword [edi + 0x1b84], 2
mov dword [edi + 0x1b74], 0x30
jmp 0x100503b6
mov dword [esi + 0x1b00], ecx
mov edx, dword [esi + 0x1a04]
mov ebp, ecx
jmp 0x10051446
push 1
push dword [edi + 0x4c]
call fcn.10058700
add esp, 8
test al, al
xorps xmm7, xmm7
je 0x100503b6
mov dword [edi + 0x1b7c], 2
mov dword [edi + 0x1b84], 3
mov dword [edi + 0x1b74], 0x30
movups xmm7, xmmword [esp + 8]
jmp 0x100503b6
cmp byte [ebp + 0x145], 0
je 0x100512df
push 1
push dword [esp + 0x1c]
call fcn.10058700
add esp, 8
test al, al
je 0x10051478
movss xmm0, dword [ebp + 0x208]
subss xmm0, dword [ebp + 0x200]
movss xmm1, dword [ebp + 0x5c]
movaps xmm2, xmm1
addss xmm1, dword [ebp + 0xe4]
subss xmm2, xmm0
movss dword [ebp + 0x5c], xmm2
subss xmm1, xmm2
jmp 0x100514b3
xor edi, edi
mov dword [esi + 0x1b00], ecx
mov edx, dword [esi + 0x1a04]
mov ebp, ecx
test edx, edx
je 0x10051433
cmp byte [esp], 0
jne 0x1005144a
cmp edx, ecx
je 0x1005143a
jmp 0x1005144a
cmp byte [esp + 4], 0
je 0x10051452
mov dword [esi + 0x1b04], ecx
mov edx, dword [esi + 0x1a04]
test edx, edx
je 0x10051452
cmp edx, ecx
jne 0x1004fd47
mov edx, dword [esp + 8]
movss xmm0, dword [edx + 0x1450]
ucomiss xmm0, xmm1
jne 0x1004fd47
jp 0x1004fd47
mov dword [esi + 0x1b08], ecx
jmp 0x1004fd47
push 1
push dword [edi + 0x4c]
call fcn.10058700
add esp, 8
test al, al
je 0x100514bb
movss xmm0, dword [ebp + 0x208]
subss xmm0, dword [ebp + 0x200]
movss xmm1, dword [ebp + 0x5c]
addss xmm0, xmm1
addss xmm1, dword [ebp + 0xe4]
movss dword [ebp + 0x5c], xmm0
subss xmm1, xmm0
movss dword [ebp + 0xe4], xmm1
xorps xmm7, xmm7
jmp 0x100503b6
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3