Function at 0x1004e3f0
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 [0x1025ad40]
xor eax, esp
mov dword [esp + 0x50], eax
mov ebx, dword [0x1025afd0]
test ebx, ebx
je 0x10051593
cmp byte [ebx], 0
je 0x10051593
movss xmm1, dword [ebx + 0x18]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
ja 0x1004e433
cmp dword [ebx + 0x1998], 0
jne 0x10051593
movss xmm1, dword [ebx + 0x10]
ucomiss xmm1, xmm0
jb 0x10051593
movss xmm0, dword [ebx + 0x14]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jb 0x10051593
mov eax, dword [ebx + 0x94]
cmp dword [eax + 0x34], 0
jle 0x10051593
mov eax, dword [eax + 0x3c]
mov eax, dword [eax]
cmp dword [eax + 0x38], 0
je 0x10051593
movss xmm1, dword [ebx + 0x15a8]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jbe 0x10051593
movss xmm1, dword [ebx + 0x1500]
ucomiss xmm1, xmm0
jb 0x10051593
movss xmm0, dword [0x101a8280]
ucomiss xmm0, xmm1
jb 0x10051593
mov eax, dword [ebx + 0x1998]
test eax, eax
je 0x1004e4bd
cmp dword [ebx + 0x199c], eax
jne 0x10051593
mov eax, dword [ebx + 0x34]
inc eax
cmp eax, 0x200
ja 0x10051593
mov eax, dword [ebx + 0x38]
inc eax
cmp eax, 0x200
ja 0x10051593
mov eax, dword [ebx + 0x3c]
inc eax
cmp eax, 0x200
ja 0x10051593
mov eax, dword [ebx + 0x40]
inc eax
cmp eax, 0x200
ja 0x10051593
mov eax, dword [ebx + 0x44]
inc eax
cmp eax, 0x200
ja 0x10051593
mov eax, dword [ebx + 0x48]
inc eax
cmp eax, 0x200
ja 0x10051593
mov eax, dword [ebx + 0x4c]
inc eax
cmp eax, 0x200
ja 0x10051593
mov eax, dword [ebx + 0x50]
inc eax
cmp eax, 0x200
ja 0x10051593
mov eax, dword [ebx + 0x54]
inc eax
cmp eax, 0x200
ja 0x10051593
mov eax, dword [ebx + 0x58]
inc eax
cmp eax, 0x200
ja 0x10051593
mov eax, dword [ebx + 0x5c]
inc eax
cmp eax, 0x200
ja 0x10051593
mov eax, dword [ebx + 0x60]
inc eax
cmp eax, 0x200
ja 0x10051593
mov eax, dword [ebx + 0x64]
lea ecx, [eax + 1]
cmp ecx, 0x200
ja 0x10051593
mov ecx, dword [ebx + 0x68]
inc ecx
cmp ecx, 0x200
ja 0x10051593
mov ecx, dword [ebx + 0x6c]
inc ecx
cmp ecx, 0x200
ja 0x10051593
mov ecx, dword [ebx + 0x70]
inc ecx
cmp ecx, 0x200
ja 0x10051593
mov ecx, dword [ebx + 0x74]
inc ecx
cmp ecx, 0x200
ja 0x10051593
mov ecx, dword [ebx + 0x78]
inc ecx
cmp ecx, 0x200
ja 0x10051593
mov ecx, dword [ebx + 0x7c]
inc ecx
cmp ecx, 0x200
ja 0x10051593
mov ecx, dword [ebx + 0x80]
inc ecx
cmp ecx, 0x200
ja 0x10051593
mov ecx, dword [ebx + 0x84]
inc ecx
cmp ecx, 0x200
ja 0x10051593
test byte [ebx + 8], 1
je 0x1004e618
cmp eax, 0xffffffff
je 0x10051593
cmp byte [ebx + 0xaf], 0
je 0x1004e62e
test byte [ebx + 0xc], 2
jne 0x1004e62e
mov byte [ebx + 0xaf], 0
cmp byte [ebx + 0x2c90], 0
jne 0x1004e6a1
cmp dword [ebx + 0x2cb0], 0
jne 0x10051593
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x1004e69a
mov dword [esp + 0x40], 0
lea ecx, [esp + 0x40]
push 0
push ecx
push 0x101effeb
push eax
call fcn.10048b10
add esp, 0x10
test eax, eax
je 0x1004e69a
mov esi, eax
push dword [esp + 0x40]
push eax
call fcn.1005de50
add esp, 8
mov eax, dword [0x1025afd0]
test eax, eax
je 0x1004e68a
dec dword [eax + 0x36c]
push dword [0x1025afd8]
push esi
call dword [0x101fe780]
add esp, 8
mov byte [ebx + 0x2c90], 1
movss xmm0, dword [ebx + 0x2c94]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x1004e736
subss xmm0, dword [ebx + 0x18]
movss dword [ebx + 0x2c94], xmm0
ucomiss xmm1, xmm0
jb 0x1004e736
mov edi, dword [ebx + 0x20]
test edi, edi
je 0x1004e725
mov eax, dword [0x1025afd0]
mov dword [eax + 0x2c94], 0
mov dword [esp + 0x40], 0
lea eax, [esp + 0x40]
push eax
call fcn.1005e0c0
add esp, 4
mov esi, eax
push 0x101ee2de
push edi
call fcn.10048790
add esp, 8
test eax, eax
je 0x1004e72c
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 0x1004e72c
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 [0x1025afd0]
mov ecx, dword [eax + 0xa0]
test ecx, ecx
jne 0x1004e7a2
mov ecx, dword [eax + 0x94]
cmp dword [ecx + 0x34], 0
jle 0x10051593
mov ecx, dword [ecx + 0x3c]
mov ecx, dword [ecx]
test ecx, ecx
je 0x10051593
cmp dword [ecx + 0x38], 0
je 0x10051593
movss xmm1, dword [ecx + 0x44]
xorpd xmm0, xmm0
ucomiss xmm1, xmm0
jbe 0x10051593
mov dword [eax + 0x18fc], ecx
movss xmm2, dword [eax + 0x98]
mulss xmm2, dword [ecx + 0x10]
mulss xmm2, dword [ecx + 0x44]
movss xmm1, dword [0x101a8280]
maxss xmm1, xmm2
movss dword [eax + 0x1904], xmm1
mov edx, dword [eax + 0x19e4]
test edx, edx
je 0x1004e7ff
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 0x10051593
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.1005f6e0
mov eax, dword [ebx + 0x94]
mov ecx, esi
push dword [eax + 8]
call fcn.1005ff70
mov ecx, esi
call fcn.1005ff30
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 0x1004e8fa
mov eax, dword [ebx + 0x1cd8]
cmp eax, dword [ebx + 0x1a04]
jne 0x1004e8fa
mov ecx, dword [0x1025afd0]
cmp dword [ecx + 0x1a04], eax
jne 0x1004e8eb
mov dword [ecx + 0x1a0c], eax
cmp dword [ecx + 0x1a08], eax
jne 0x1004e8fa
mov byte [ecx + 0x1a18], 1
cmp dword [ebx + 0x19f8], 0
je 0x1004e921
mov eax, dword [ebx + 0x19f0]
test eax, eax
je 0x1004e965
cmp dword [ebx + 0x1a04], eax
jne 0x1004e932
mov dword [ebx + 0x1a00], 0
jmp 0x1004e932
mov eax, dword [ebx + 0x19f0]
movlps qword [ebx + 0x19fc], xmm0
test eax, eax
je 0x1004e965
movss xmm0, dword [ebx + 0x18]
movss xmm1, dword [ebx + 0x19fc]
addss xmm1, xmm0
movss dword [ebx + 0x19fc], xmm1
cmp dword [ebx + 0x1a04], eax
je 0x1004e967
addss xmm0, dword [ebx + 0x1a00]
movss dword [ebx + 0x1a00], xmm0
jmp 0x1004e967
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 0x1004e9fd
test ecx, ecx
je 0x1004e9fb
mov eax, ecx
cmp dword [ebx + 0x1a08], ecx
jne 0x1004e9fd
mov eax, dword [0x1025afd0]
cmp dword [eax + 0x1a04], 0
setne byte [eax + 0x1a14]
je 0x1004e9c4
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 0x1004e9fd
mov eax, ecx
movss xmm1, dword [ebx + 0x18]
test eax, eax
je 0x1004ea1a
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 0x1004ea83
cmp eax, ecx
je 0x1004ea83
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 [0x101a97b0]
movss xmm3, dword [esp + 0x18]
jmp 0x1004eaef
movss dword [ebx + eax*4], xmm1
add eax, 2
cmp eax, 0x313
je 0x1004eb34
cmp byte [ebx + eax - 0x17], 0
movaps xmm1, xmm0
je 0x1004eb0e
movss xmm2, dword [ebx + eax*4 - 4]
xorps xmm1, xmm1
ucomiss xmm1, xmm2
ja 0x1004eb0e
addss xmm2, xmm3
movaps xmm1, xmm2
movss dword [ebx + eax*4 - 4], xmm1
cmp byte [ebx + eax - 0x16], 0
movaps xmm1, xmm0
je 0x1004eae0
movss xmm2, dword [ebx + eax*4]
xorps xmm1, xmm1
ucomiss xmm1, xmm2
ja 0x1004eae0
addss xmm2, xmm3
movaps xmm1, xmm2
jmp 0x1004eae0
mov esi, dword [0x1025afd0]
mov byte [esi + 0x353], 0
mov eax, dword [esi + 8]
test al, 2
je 0x1004eb4e
test byte [esi + 0xc], 1
jne 0x1004eb58
mov dword [esp + 4], 0
jmp 0x1004eba5
movss xmm1, dword [esi + 0x2fc]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
ja 0x1004eb95
movss xmm1, dword [esi + 0x304]
ucomiss xmm1, xmm0
ja 0x1004eb95
movss xmm1, dword [esi + 0x300]
ucomiss xmm1, xmm0
ja 0x1004eb95
movss xmm1, dword [esi + 0x308]
mov cl, 1
mov dword [esp + 4], ecx
ucomiss xmm1, xmm0
jbe 0x1004eba5
mov dword [esi + 0x1b1c], 4
mov cl, 1
mov dword [esp + 4], ecx
mov dword [esp + 0x18], eax
test al, 1
je 0x1004ed3a
mov eax, dword [esi + 0x64]
test eax, eax
js 0x1004ebe1
cmp eax, 0x200
jae 0x10051593
cmp byte [esi + eax + 0xfc], 0
je 0x1004ebe1
mov dword [esi + 0x2fc], 0x3f800000
mov dword [esi + 0x1b1c], 3
mov eax, dword [esi + 0x68]
test eax, eax
js 0x1004ec11
cmp eax, 0x200
jae 0x10051593
cmp byte [esi + eax + 0xfc], 0
je 0x1004ec11
mov dword [esi + 0x304], 0x3f800000
mov dword [esi + 0x1b1c], 3
mov eax, dword [esi + 0x6c]
test eax, eax
js 0x1004ec41
cmp eax, 0x200
jae 0x10051593
cmp byte [esi + eax + 0xfc], 0
je 0x1004ec41
mov dword [esi + 0x300], 0x3f800000
mov dword [esi + 0x1b1c], 3
mov eax, dword [esi + 0x38]
test eax, eax
js 0x1004ec71
cmp eax, 0x200
jae 0x10051593
cmp byte [esi + eax + 0xfc], 0
je 0x1004ec71
mov dword [esi + 0x340], 0x3f800000
mov dword [esi + 0x1b1c], 3
mov eax, dword [esi + 0x3c]
test eax, eax
js 0x1004eca1
cmp eax, 0x200
jae 0x10051593
cmp byte [esi + eax + 0xfc], 0
je 0x1004eca1
mov dword [esi + 0x344], 0x3f800000
mov dword [esi + 0x1b1c], 3
mov eax, dword [esi + 0x40]
test eax, eax
js 0x1004ecd1
cmp eax, 0x200
jae 0x10051593
cmp byte [esi + eax + 0xfc], 0
je 0x1004ecd1
mov dword [esi + 0x348], 0x3f800000
mov dword [esi + 0x1b1c], 3
mov eax, dword [esi + 0x44]
test eax, eax
js 0x1004ed01
cmp eax, 0x200
jae 0x10051593
cmp byte [esi + eax + 0xfc], 0
je 0x1004ed01
mov dword [esi + 0x34c], 0x3f800000
mov dword [esi + 0x1b1c], 3
cmp byte [esi + 0xf8], 0
je 0x1004ed14
mov dword [esi + 0x334], 0x3f800000
cmp byte [esi + 0xf9], 0
je 0x1004ed27
mov dword [esi + 0x338], 0x3f800000
cmp byte [esi + 0xfa], 0
je 0x1004ed3a
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 [0x101a97b0]
xorps xmm1, xmm1
jmp 0x1004edac
movss dword [esi + eax*4 + 0x144c], xmm2
add eax, 2
movss xmm2, dword [esi + eax*4 + 0x2fc]
ucomiss xmm2, xmm1
movaps xmm2, xmm0
jbe 0x1004edd6
movss xmm3, dword [esi + eax*4 + 0x1448]
xorps xmm2, xmm2
ucomiss xmm2, xmm3
ja 0x1004edd6
addss xmm3, dword [esi + 0x18]
movaps xmm2, xmm3
movss dword [esi + eax*4 + 0x1448], xmm2
cmp eax, 0x14
je 0x1004ee10
movss xmm2, dword [esi + eax*4 + 0x300]
ucomiss xmm2, xmm1
movaps xmm2, xmm0
jbe 0x1004eda0
movss xmm3, dword [esi + eax*4 + 0x144c]
xorps xmm2, xmm2
ucomiss xmm2, xmm3
ja 0x1004eda0
addss xmm3, dword [esi + 0x18]
movaps xmm2, xmm3
jmp 0x1004eda0
mov eax, dword [esi + 0x1b5c]
test eax, eax
je 0x1004eef5
cmp byte [esi + 0x1b56], 0
je 0x1004ee34
cmp byte [esi + 0x1b5a], 0
je 0x1004eef5
cmp dword [esi + 0x1af4], 0
je 0x10051593
cmp byte [esi + 0x1b5a], 0
je 0x1004eea7
mov ecx, dword [0x1025afd0]
mov edx, dword [ecx + 0x1af4]
test edx, edx
je 0x10051593
mov edi, dword [esi + 0x1b4c]
cmp edi, 2
jae 0x10051593
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 0x1004eed7
mov ecx, dword [0x1025afd0]
mov edx, dword [ecx + 0x1af4]
test edx, edx
je 0x10051593
mov edi, dword [esi + 0x1b4c]
cmp edi, 2
jae 0x10051593
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 0x1004f138
mov edi, dword [0x1025afd0]
mov ecx, dword [edi + 0x1b88]
test ecx, ecx
jne 0x1004ef3c
cmp dword [edi + 0x1bd8], 0
je 0x1004f51e
lea ebp, [edi + 0x1b88]
lea eax, [edi + 0x1bd8]
test ecx, ecx
cmove ebp, eax
test byte [edi + 0x1b74], 0x20
je 0x1004ef6f
mov ecx, dword [edi + 0x1bb0]
test ecx, ecx
je 0x1004ef6f
lea edx, [edi + 0x1bb0]
cmp ecx, dword [edi + 0x1af8]
cmovne ebp, edx
cmp ebp, eax
je 0x1004efb3
cmp dword [eax], 0
je 0x1004efb5
mov ecx, dword [edi + 0x1be0]
mov ecx, dword [ecx + 0x2ec]
cmp ecx, dword [edi + 0x1af4]
jne 0x1004efb5
movss xmm0, dword [edi + 0x1be4]
movss xmm1, dword [ebp + 0xc]
ucomiss xmm1, xmm0
ja 0x1004efb3
ucomiss xmm0, xmm1
jne 0x1004efb5
jp 0x1004efb5
movss xmm0, dword [ebp + 0x10]
ucomiss xmm0, dword [edi + 0x1be8]
jbe 0x1004efb5
mov ebp, eax
cmp dword [edi + 0x1af4], 0
je 0x10051593
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x10051593
cmp dword [edi + 0x1b4c], 0
mov eax, edi
jne 0x1004f057
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.1005ee10
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x38]
push 0
call fcn.10059ee0
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 0x1004f052
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.1005ee10
mov eax, dword [0x1025afd0]
cmp dword [eax + 0x1a04], 0
setne byte [eax + 0x1a14]
je 0x1004f07a
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 0x1004f0d1
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 0x10051593
mov dword [esp], edi
mov edi, dword [edi + 0x1b4c]
cmp edi, 2
jae 0x10051593
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 0x1004f171
cmp byte [esi + 0x1b71], 0
je 0x10051593
cmp dword [esi + 0x1b88], 0
jne 0x1004f167
cmp dword [esi + 0x1bd8], 0
jne 0x1004f167
mov byte [esi + 0x1b56], 0
mov dword [esi + 0x1b78], 0
cmp byte [esi + 0x1b55], 0
je 0x1004f1a3
cmp byte [esi + 0x1b54], 0
je 0x1004f1a3
test byte [esi + 8], 4
je 0x1004f19c
test byte [esi + 0xc], 4
je 0x1004f19c
cmp byte [esi + 0x1b56], 0
je 0x1004f59f
mov byte [esi + 0x1b55], 0
mov byte [esi + 0x1b54], 0
mov dword [esi + 0x1b0c], 0
cmp dword [esi + 0x1b4c], 2
jae 0x10051593
mov eax, dword [esi + 0x1af4]
test eax, eax
je 0x1004f229
mov edx, 0x15000000
mov ecx, eax
nop word cs:[eax + eax]
mov edi, dword [ecx + 8]
and edi, edx
cmp edi, 0x1000000
jne 0x1004f1f9
mov ecx, dword [ecx + 0x2ec]
test ecx, ecx
jne 0x1004f1e0
jmp 0x1004f209
cmp ecx, eax
je 0x1004f209
mov dword [ecx + 0x2fc], eax
mov eax, dword [esi + 0x1af4]
test eax, eax
je 0x1004f229
cmp dword [eax + 0x2fc], 0
je 0x1004f229
cmp dword [esi + 0x1b4c], 0
jne 0x1004f229
mov dword [eax + 0x2fc], 0
mov edi, dword [0x1025afd0]
mov ecx, dword [edi + 0x1a70]
test ecx, ecx
jle 0x1004f274
mov edx, dword [edi + 0x1a78]
lea eax, [ecx + 1]
lea ecx, [ecx + ecx*8]
lea ecx, [edx + ecx*4]
add ecx, 0xffffffe0
jmp 0x1004f259
dec eax
add ecx, 0xffffffdc
cmp eax, 2
jb 0x1004f274
mov edx, dword [ecx]
test edx, edx
je 0x1004f250
test byte [edx + 0xb], 8
je 0x1004f250
mov dword [edi + 0x1b34], 0
jmp 0x1004fbc4
cmp dword [edi + 0x1b38], 0
mov eax, dword [edi + 0x1b34]
mov dword [esp + 8], edi
je 0x1004f2db
test eax, eax
jne 0x1004f2e3
movss xmm2, dword [edi + 0x18]
mulss xmm2, dword [0x101a9994]
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 0x1004f45a
ucomiss xmm0, xmm1
jb 0x1004f45a
mov dword [edi + 0x1b38], 0
jmp 0x1004f45a
test eax, eax
je 0x1004f45a
xor ecx, ecx
xor edx, edx
test cl, cl
jne 0x1004f31c
test dl, dl
jne 0x1004f31c
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 0x1004f777
mov edx, dword [ebp + 0x1b1c]
jmp 0x1004f377
mov ecx, dword [esp + 8]
mov ebp, dword [ecx + 0x1af4]
test ebp, ebp
je 0x1004f4d0
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 0x1004f6c6
addss xmm3, dword [0x101a9998]
divss xmm3, dword [0x101a999c]
movss xmm4, dword [0x101a8280]
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 0x1004f5f1
xorps xmm5, xmm5
ucomiss xmm3, xmm5
movaps xmm6, xmm4
jne 0x1004f3f5
jnp 0x1004f5f1
movss xmm4, dword [ebp + 0x88]
ucomiss xmm4, xmm3
jae 0x1004f5ee
movss xmm5, dword [ebp + 0x8c]
addss xmm5, xmm5
xorps xmm6, xmm6
ucomiss xmm6, xmm5
jae 0x1004f5f1
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 0x1004f5f1
movss xmm0, dword [edi + 0x1454]
xorps xmm1, xmm1
movaps xmm2, xmm0
cmpeqss xmm2, xmm1
movss xmm3, dword [0x101a8280]
andps xmm3, xmm2
cmpltss xmm0, xmm1
andnps xmm0, xmm3
ucomiss xmm0, xmm1
seta cl
cmp byte [edi + 0xf8], 0
je 0x1004f517
mov edx, dword [edi + 0x34]
xor eax, eax
test edx, edx
js 0x1004f2e5
cmp edx, 0x200
jae 0x10051593
movss xmm0, dword [edi + edx*4 + 0x448]
ucomiss xmm0, xmm1
jne 0x1004f539
jp 0x1004f539
movzx edx, byte [edi + 8]
and dl, 1
jmp 0x1004f2e7
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x19b0]
test ecx, ecx
jle 0x1004f2ef
mov edi, dword [esp + 8]
mov edi, dword [edi + 0x19b8]
inc ecx
jmp 0x1004f4fa
dec ecx
cmp ecx, 1
jbe 0x1004f2ef
mov ebp, dword [edi + ecx*4 - 8]
cmp byte [ebp + 0x7a], 0
je 0x1004f4f0
cmp dword [ebp + 0x2f0], ebp
jne 0x1004f4f0
test byte [ebp + 0xa], 8
jne 0x1004f4f0
jmp 0x1004f32e
xor eax, eax
jmp 0x1004f2e5
cmp dword [edi + 0x1af8], 0
je 0x1004f138
mov word [edi + 0x1b56], 0x100
jmp 0x1004f138
movss xmm1, dword [edi + 0x88]
xor edx, edx
ucomiss xmm0, xmm1
jbe 0x1004f598
xor edx, edx
ucomiss xmm1, xmm0
jae 0x1004f598
movss xmm2, dword [edi + 0x8c]
xorps xmm3, xmm3
ucomiss xmm3, xmm2
jae 0x1004f598
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 0x1004f4c4
xor eax, eax
jmp 0x1004f2e7
cmp byte [esi + 0x1b57], 0
je 0x1004f19c
cmp dword [esi + 0x1af4], 0
je 0x1004f19c
lea ecx, [esp + 0x40]
call fcn.1005be70
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 0x1004f19c
xorps xmm6, xmm6
xor ecx, ecx
ucomiss xmm6, xmm2
seta cl
movss xmm3, dword [ebp + 0x147c]
ucomiss xmm2, xmm3
ja 0x1004f66f
ucomiss xmm3, xmm2
jne 0x1004f617
jp 0x1004f617
movss xmm2, dword [0x101a8280]
jmp 0x1004f66f
movss xmm4, dword [ebp + 0x88]
ucomiss xmm4, xmm3
jae 0x1004f66f
movss xmm5, dword [ebp + 0x8c]
addss xmm5, xmm5
xorps xmm6, xmm6
ucomiss xmm6, xmm5
jae 0x1004f66f
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 0x1004f6a0
call fcn.1005ef00
xorps xmm3, xmm3
mov dword [ebp + 0x1b44], 0x3f800000
movss xmm0, dword [0x101a8280]
mov ecx, dword [0x1025afd0]
jmp 0x1004f6a2
mov ecx, ebp
movss xmm1, dword [ecx + 0x308]
ucomiss xmm1, xmm3
jbe 0x1004f792
cmp dword [ebp + 0x1b34], 0
je 0x1004f777
mov edx, dword [ebp + 0x1b1c]
mov dword [esp], 0
mov eax, 0
cmp edx, 3
jne 0x1004f857
movss xmm1, dword [ebp + 0x1b40]
movss xmm0, dword [ebp + 0x1b44]
addss xmm1, dword [0x101a9998]
divss xmm1, dword [0x101a999c]
movss xmm2, dword [0x101a8280]
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 0x1004f83e
cmp eax, 0x200
jae 0x10051593
movss xmm0, dword [ecx + eax*4 + 0x448]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x1004f7ea
jp 0x1004f7ea
xor ecx, ecx
cmp byte [ebp + 0xf9], 1
sbb ecx, ecx
or ecx, 1
call fcn.1005ef00
jmp 0x1004f83e
mov dword [esp], 0
xor eax, eax
cmp dword [ebp + 0x1a04], 0
jne 0x1004f860
jmp 0x1004f86d
movss xmm1, dword [0x101a8280]
ucomiss xmm1, xmm0
seta al
cmp byte [ebp + 0x1b48], 0
setne cl
and cl, al
mov byte [ebp + 0x1b48], cl
je 0x1004f7c5
cmp dword [ebp + 0x1af4], 0
setne al
mov dword [esp], eax
xor eax, eax
jmp 0x1004f7d2
mov eax, dword [ebp + 0x1b34]
mov dword [esp], 0
mov dword [ebp + 0x1b34], 0
cmp dword [ebp + 0x1a04], 0
jne 0x1004f860
jmp 0x1004f86d
movss xmm1, dword [ecx + 0x88]
ucomiss xmm0, xmm1
jbe 0x1004f83e
ucomiss xmm1, xmm0
jae 0x1004f83e
movss xmm2, dword [ecx + 0x8c]
xorps xmm3, xmm3
ucomiss xmm3, xmm2
jae 0x1004f83e
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 0x1004f75f
mov dword [esp], 0
cmp byte [ebp + 0xf8], 0
mov eax, 0
je 0x1004faf8
cmp dword [ebp + 0x1a04], 0
je 0x1004f86d
cmp byte [ebp + 0x1a15], 0
je 0x1004f8ef
mov ecx, dword [0x1025afd0]
xorps xmm0, xmm0
ucomiss xmm0, dword [ecx + 0x1488]
jbe 0x1004f8ef
movss xmm1, dword [ecx + 0x14dc]
ucomiss xmm1, xmm0
jb 0x1004f8ef
movss xmm0, dword [ebp + 0xe0]
movss xmm1, dword [ebp + 0xe4]
movss xmm2, dword [0x101a9990]
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 0x1004fa04
test byte [ecx + 8], 4
jne 0x1004fa04
mov edx, dword [ebp + 0x1b1c]
cmp edx, 4
je 0x1004f947
xorps xmm0, xmm0
cmp edx, 3
jne 0x1004f97a
cmp byte [ebp + 0xf9], 0
jne 0x1004f97a
mov edx, dword [0x1025afd0]
movss xmm0, dword [edx + 0x34c]
subss xmm0, dword [edx + 0x348]
lea edi, [edx + 0x344]
add edx, 0x340
jmp 0x1004f969
mov edx, dword [0x1025afd0]
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 0x1004f992
jp 0x1004f992
movaps xmm2, xmm0
shufps xmm2, xmm0, 0x55
ucomiss xmm2, xmm1
jne 0x1004f992
jnp 0x1004fa04
movss xmm1, dword [ebp + 0x18]
mulss xmm1, dword [0x101a99a0]
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 0x1004fa04
mov ecx, dword [0x1025afd0]
xorps xmm0, xmm0
ucomiss xmm0, dword [ecx + 0x2c94]
jb 0x1004fa04
movss xmm0, dword [ecx + 0x1c]
movss dword [ecx + 0x2c94], xmm0
test eax, eax
je 0x1004fa6a
mov ecx, dword [ebp + 0x1af4]
test ecx, ecx
je 0x1004fa1a
cmp eax, dword [ecx + 0x2f0]
je 0x1004fa60
mov word [ebp + 0x1b56], 0x100
mov edi, dword [eax + 0x2fc]
test edi, edi
cmove edi, eax
push edi
call fcn.1004dec0
add esp, 4
push edi
call fcn.1004d840
add esp, 4
cmp dword [edi + 0x300], 0
je 0x1004fadb
cmp dword [edi + 0x13c], 2
jne 0x1004fa60
mov dword [ebp + 0x1b4c], 1
mov dword [ebp + 0x1b34], 0
cmp byte [esp], 0
je 0x1004fbc4
mov edi, dword [ebp + 0x1af4]
test edi, edi
je 0x1004fbc4
test byte [edi + 0x13c], 2
jne 0x1004fb1b
mov eax, 0x15000000
mov ebp, edi
nop word cs:[eax + eax]
mov ecx, dword [ebp + 8]
and ecx, eax
cmp ecx, 0x1000000
jne 0x1004fabc
mov ebp, dword [ebp + 0x2ec]
test byte [ebp + 0x13c], 2
je 0x1004faa0
cmp ebp, edi
je 0x1004fb17
push ebp
call fcn.1004d840
add esp, 4
mov dword [ebp + 0x2fc], edi
mov ebp, dword [esp + 8]
mov edi, dword [ebp + 0x1af4]
jmp 0x1004fb1b
push 0
push edi
call fcn.1005a050
add esp, 8
cmp dword [edi + 0x13c], 2
je 0x1004fa56
jmp 0x1004fa60
mov eax, dword [ebp + 0x1b34]
mov dword [esp], 0
cmp dword [ebp + 0x1a04], 0
jne 0x1004f860
jmp 0x1004f86d
mov ebp, dword [esp + 8]
mov word [ebp + 0x1b56], 0x100
test byte [edi + 0x13c], 2
jne 0x1004fb4b
mov ecx, dword [0x1025afd0]
mov dword [ecx + 0x1b4c], 0
lea edx, [ecx + 0x1af4]
mov eax, dword [ecx + 0x1af4]
jmp 0x1004fb6e
mov eax, dword [ebp + 0x1b4c]
mov ecx, dword [0x1025afd0]
xor eax, 1
mov dword [ecx + 0x1b4c], eax
mov eax, dword [ecx + 0x1af4]
jne 0x1004fbb9
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 0x1004fbb9
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 0x1004fbc4
push 1
push eax
call fcn.1005a050
add esp, 8
test byte [esp + 0x18], 1
sete al
mov ecx, dword [esp + 4]
xor cl, 1
test al, cl
jne 0x1004fc07
mov eax, dword [esi + 0x1af4]
test eax, eax
je 0x1004fc07
test dword [eax + 8], 0x40000
sete byte [esi + 0x355]
jne 0x1004fc0e
cmp dword [esi + 0x1af8], 0
je 0x1004fc0e
cmp byte [esi + 0x1b56], 0
jne 0x1004fc0e
mov al, 1
jmp 0x1004fc18
mov byte [esi + 0x355], 0
cmp dword [esi + 0x1b34], 0
setne al
mov byte [esi + 0x356], al
mov eax, dword [0x1025afd0]
movss xmm0, dword [eax + 0x144c]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x1004fdec
jp 0x1004fdec
cmp dword [esi + 0x1a04], 0
je 0x1004fcaa
test byte [esi + 0x1a20], 2
jne 0x1004fdec
cmp dword [eax + 0x1a04], 0
setne byte [eax + 0x1a14]
je 0x1004fc76
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 0x1004fdec
mov edi, dword [esi + 0x1af4]
test edi, edi
je 0x1004fd23
mov ecx, 0x5000000
and ecx, dword [edi + 8]
cmp ecx, 0x1000000
jne 0x1004fd23
mov ecx, dword [edi + 0x2ec]
test ecx, ecx
je 0x1004fd23
cmp dword [edi + 0x54], 0
je 0x10051593
push ecx
call fcn.1004d840
add esp, 4
mov eax, dword [0x1025afd0]
mov ecx, dword [eax + 0x1af4]
test ecx, ecx
je 0x10051593
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 0x1004fdec
mov byte [esi + 0x1b55], 1
jmp 0x1004fdec
mov ecx, dword [esi + 0x1a70]
test ecx, ecx
jle 0x1004fd52
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 0x1004fdec
push 1
push ecx
call fcn.1005c050
jmp 0x1004fde9
cmp dword [esi + 0x1b4c], 0
je 0x1004fdb8
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 0x1004fde1
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 0x1004fdec
test edi, edi
je 0x1004fdd5
mov eax, 0x5000000
and eax, dword [edi + 8]
cmp eax, 0x1000000
je 0x1004fdd5
mov dword [edi + 0x300], 0
mov dword [esi + 0x1af8], 0
jmp 0x1004fdec
push 1
push ecx
call fcn.1005a050
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 0x1004fe15
cmp byte [esi + 0x1b56], 0
je 0x1004ff35
xor edi, edi
mov edx, dword [esi + 0x1af4]
test edx, edx
je 0x1004fe2e
test byte [edx + 0xa], 4
je 0x1004fe2e
mov byte [esi + 0x1b56], 1
test edi, edi
je 0x1004fe3a
cmp ebp, edi
jne 0x10051593
mov byte [esi + 0x1b71], 0
mov ecx, dword [esi + 0x1b18]
test ecx, ecx
je 0x1004fe58
movd xmm0, ecx
pshufd xmm0, xmm0, 0
movdqu xmmword [eax], xmm0
mov dword [esi + 0x1b18], 0
cmp dword [esi + 0x1a04], 0
je 0x1004fe73
mov eax, dword [esi + 0x1a1c]
jmp 0x1004fe78
mov eax, 0xffffffff
mov ecx, dword [esi + 0x1b78]
test ecx, ecx
je 0x1004feb4
cmp dword [esi + 0x1b7c], 0xffffffff
je 0x10051593
cmp dword [esi + 0x1b84], 0xffffffff
je 0x10051593
cmp ecx, 1
jne 0x10051593
mov dword [esi + 0x1b78], 2
jmp 0x10050469
mov dword [esi + 0x1b7c], 0xffffffff
mov dword [esi + 0x1b74], 0
mov ecx, 0xffffffff
test edx, edx
je 0x10050463
cmp dword [esi + 0x1b34], 0
jne 0x10050463
test eax, eax
je 0x10050463
test byte [edx + 0xa], 4
jne 0x10050463
test al, 1
je 0x100500ee
mov edx, dword [0x1025afd0]
movss xmm2, dword [edx + 0x1458]
xorps xmm1, xmm1
ucomiss xmm1, xmm2
xorps xmm0, xmm0
ja 0x1005005a
ucomiss xmm2, xmm0
jne 0x1004fffc
jp 0x1004fffc
movss xmm0, dword [0x101a8280]
jmp 0x1005005a
cmp dword [esi + 0x1b34], 0
mov edi, 0
jne 0x1004fe17
mov edx, dword [esi + 0x1af4]
test edx, edx
je 0x1004ff84
xor ebp, ebp
test byte [edx + 0xa], 4
jne 0x1004fe17
mov ebp, dword [0x1025afd0]
movss xmm0, dword [ebp + 0x2fc]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
mov dword [esp + 8], ebp
ja 0x1004ff8b
mov edx, dword [esi + 0x1a04]
xor ebp, ebp
jmp 0x10051516
xor edx, edx
jmp 0x1004fe3a
movss xmm0, dword [ebp + 0x1448]
ucomiss xmm1, xmm0
ja 0x1004ffd6
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 0x1005131d
jp 0x1005131d
test edx, edx
jne 0x1005131d
mov dword [eax], ecx
mov dl, 1
mov dword [esp + 4], edx
mov edi, ecx
jmp 0x100514e5
mov edx, dword [esi + 0x1a04]
xor edi, edi
test edx, edx
je 0x1005143b
mov edi, edx
mov dl, 1
mov dword [esp], edx
mov edx, edi
mov dword [esp + 4], 0
jmp 0x10051335
movss xmm4, dword [0x101a99a4]
movss xmm3, dword [edx + 0x8c]
mulss xmm3, xmm4
ucomiss xmm0, xmm3
jae 0x1005005a
mulss xmm4, dword [edx + 0x88]
ucomiss xmm4, xmm2
jae 0x1005005a
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 0x100500d6
ucomiss xmm2, xmm1
jne 0x10050078
jp 0x10050078
movss xmm1, dword [0x101a8280]
jmp 0x100500d6
movss xmm4, dword [0x101a99a4]
movss xmm3, dword [edx + 0x8c]
mulss xmm3, xmm4
ucomiss xmm1, xmm3
jae 0x100500d6
mulss xmm4, dword [edx + 0x88]
ucomiss xmm4, xmm2
jae 0x100500d6
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 0x100500ee
mov dword [esi + 0x1b7c], 0
xor ecx, ecx
test al, 2
je 0x10050215
mov edx, dword [0x1025afd0]
movss xmm2, dword [edx + 0x145c]
xorps xmm1, xmm1
ucomiss xmm1, xmm2
xorps xmm0, xmm0
ja 0x1005017e
ucomiss xmm2, xmm0
jne 0x10050120
jp 0x10050120
movss xmm0, dword [0x101a8280]
jmp 0x1005017e
movss xmm4, dword [0x101a99a4]
movss xmm3, dword [edx + 0x8c]
mulss xmm3, xmm4
ucomiss xmm0, xmm3
jae 0x1005017e
mulss xmm4, dword [edx + 0x88]
ucomiss xmm4, xmm2
jae 0x1005017e
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 0x100501fa
ucomiss xmm2, xmm1
jne 0x1005019c
jp 0x1005019c
movss xmm1, dword [0x101a8280]
jmp 0x100501fa
movss xmm4, dword [0x101a99a4]
movss xmm3, dword [edx + 0x8c]
mulss xmm3, xmm4
ucomiss xmm1, xmm3
jae 0x100501fa
mulss xmm4, dword [edx + 0x88]
ucomiss xmm4, xmm2
jae 0x100501fa
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 0x10050215
mov dword [esi + 0x1b7c], 1
mov ecx, 1
test al, 4
je 0x1005033c
mov edx, dword [0x1025afd0]
movss xmm2, dword [edx + 0x1460]
xorps xmm1, xmm1
ucomiss xmm1, xmm2
xorps xmm0, xmm0
ja 0x100502a5
ucomiss xmm2, xmm0
jne 0x10050247
jp 0x10050247
movss xmm0, dword [0x101a8280]
jmp 0x100502a5
movss xmm4, dword [0x101a99a4]
movss xmm3, dword [edx + 0x8c]
mulss xmm3, xmm4
ucomiss xmm0, xmm3
jae 0x100502a5
mulss xmm4, dword [edx + 0x88]
ucomiss xmm4, xmm2
jae 0x100502a5
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 0x10050321
ucomiss xmm2, xmm1
jne 0x100502c3
jp 0x100502c3
movss xmm1, dword [0x101a8280]
jmp 0x10050321
movss xmm4, dword [0x101a99a4]
movss xmm3, dword [edx + 0x8c]
mulss xmm3, xmm4
ucomiss xmm1, xmm3
jae 0x10050321
mulss xmm4, dword [edx + 0x88]
ucomiss xmm4, xmm2
jae 0x10050321
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 0x1005033c
mov dword [esi + 0x1b7c], 2
mov ecx, 2
test al, 8
je 0x10050463
mov edx, dword [0x1025afd0]
movss xmm2, dword [edx + 0x1464]
xorps xmm1, xmm1
ucomiss xmm1, xmm2
xorps xmm0, xmm0
ja 0x100503cc
ucomiss xmm2, xmm0
jne 0x1005036e
jp 0x1005036e
movss xmm0, dword [0x101a8280]
jmp 0x100503cc
movss xmm4, dword [0x101a99a4]
movss xmm3, dword [edx + 0x8c]
mulss xmm3, xmm4
ucomiss xmm0, xmm3
jae 0x100503cc
mulss xmm4, dword [edx + 0x88]
ucomiss xmm4, xmm2
jae 0x100503cc
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 0x10050448
ucomiss xmm2, xmm1
jne 0x100503ea
jp 0x100503ea
movss xmm1, dword [0x101a8280]
jmp 0x10050448
movss xmm4, dword [0x101a99a4]
movss xmm3, dword [edx + 0x8c]
mulss xmm3, xmm4
ucomiss xmm1, xmm3
jae 0x10050448
mulss xmm4, dword [edx + 0x88]
ucomiss xmm4, xmm2
jae 0x10050448
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 0x10050463
mov dword [esi + 0x1b7c], 3
mov ecx, 3
mov dword [esi + 0x1b84], ecx
xorps xmm7, xmm7
test byte [esp + 0x18], 1
je 0x10050486
mov edi, dword [0x1025afd0]
cmp dword [edi + 0x1b7c], 0xffffffff
je 0x1005111a
mov eax, dword [esi + 0x1b7c]
cmp eax, 0xffffffff
je 0x100504a0
mov byte [esi + 0x1b71], 1
mov dword [esi + 0x1b80], eax
jmp 0x100504a9
cmp byte [esi + 0x1b71], 0
je 0x100504cc
cmp dword [esi + 0x1af8], 0
jne 0x100504cc
mov word [esi + 0x1b59], 0x101
mov dword [esi + 0x1b5c], 0
mov byte [esi + 0x1b56], 0
mov eax, dword [0x1025afd0]
cmp byte [eax + 0x1b71], 0
je 0x100504e3
mov byte [eax + 0x1b58], 1
jmp 0x100504f4
movzx ecx, byte [eax + 0x1b59]
mov byte [eax + 0x1b58], cl
test cl, cl
je 0x10050501
cmp dword [eax + 0x1af4], 0
je 0x10051593
mov ecx, dword [esi + 0x1af4]
test ecx, ecx
je 0x1005066e
test byte [ecx + 0xa], 4
jne 0x1005066e
cmp dword [esi + 0x1b34], 0
jne 0x1005066e
movss xmm0, dword [eax + 0x1904]
mulss xmm0, dword [ecx + 0x26c]
mulss xmm0, dword [0x101a99a8]
mulss xmm0, dword [esi + 0x18]
addss xmm0, dword [0x101a82c0]
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
cmp dword [ecx + 0x13c], 0
je 0x10051177
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 [0x101a99b8]
movaps xmm5, xmm3
mulss xmm5, xmm4
jbe 0x100505aa
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 [0x101a99bc]
movaps xmm3, xmm4
mulss xmm3, xmm6
jbe 0x100505de
mulss xmm2, xmm6
ucomiss xmm2, xmm1
cmpltss xmm1, xmm5
movaps xmm5, xmm1
andnps xmm5, xmm4
andps xmm1, xmm3
orps xmm1, xmm5
jne 0x100505f6
jnp 0x10050630
cmp byte [ecx + 0x78], 0
je 0x10050630
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 0x1005063a
jnp 0x1005066e
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 [0x101a9910]
movups xmmword [esi + 0x1b94], xmm0
movsd xmm1, qword [0x101a9920]
movsd qword [esi + 0x1ba4], xmm1
movaps xmm2, xmmword [0x101a9930]
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 0x100507e7
cmp byte [esi + 0x1b70], 0
je 0x100507e7
cmp dword [esi + 0x1b4c], 0
jne 0x100507e7
mov ecx, dword [esi + 0x1af4]
movsd xmm1, qword [ecx + 0xc]
movlhps xmm1, xmm1
movups xmm0, xmmword [ecx + 0x1ec]
subps xmm0, xmm1
addps xmm0, xmmword [0x101a99c0]
movss xmm1, dword [ecx + 0x308]
ucomiss xmm1, xmm0
movsd xmm2, qword [ecx + 0x30c]
movaps xmm3, xmm0
unpckhpd xmm3, xmm0
jb 0x10050771
movaps xmm4, xmm0
shufps xmm4, xmm0, 0x55
ucomiss xmm2, xmm4
jb 0x10050771
movaps xmm4, xmm2
shufps xmm4, xmm2, 0x55
ucomiss xmm3, xmm4
jb 0x10050771
movaps xmm4, xmm0
shufps xmm4, xmm0, 0xff
ucomiss xmm4, dword [ecx + 0x314]
jae 0x100507e0
movss xmm4, dword [eax + 0x1904]
mulss xmm4, dword [ecx + 0x26c]
mulss xmm4, dword [0x101a82c0]
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 0x10050865
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 0x1005083f
movaps xmm0, xmm4
movaps xmm1, xmm2
xorps xmm2, xmm2
jne 0x10050847
movaps xmm2, xmm3
movsd xmm3, qword [ecx + 0xc]
addps xmm2, xmm3
addss xmm1, xmm3
shufps xmm3, xmm3, 0x55
addss xmm0, xmm3
addss xmm1, dword [0x101a8280]
jmp 0x10050875
movsd xmm2, qword [eax + 0x10]
xorps xmm0, xmm0
movss xmm1, dword [0x101a8280]
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 0x10051593
mov dword [esi + 0x1b30], 0
movsd xmm0, qword [eax + 0xe0]
ucomiss xmm0, dword [0x101a9990]
jb 0x100508ee
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
ucomiss xmm1, dword [0x101a9990]
jb 0x100508ee
cvttps2dq xmm0, xmm0
cvtdq2ps xmm0, xmm0
movlps qword [eax + 0x1a40], xmm0
movlps qword [eax + 0xe0], xmm0
ucomiss xmm0, dword [0x101a9990]
jb 0x10050950
movaps xmm1, xmm0
shufps xmm1, xmm0, 0x55
ucomiss xmm1, dword [0x101a9990]
jb 0x10050950
movsd xmm1, qword [eax + 0x378]
ucomiss xmm1, dword [0x101a9990]
jb 0x10050950
movaps xmm2, xmm1
shufps xmm2, xmm1, 0x55
ucomiss xmm2, dword [0x101a9990]
jb 0x10050950
subps xmm0, xmm1
movlps qword [eax + 0x370], xmm0
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x10050947
jp 0x10050947
shufps xmm0, xmm0, 0x55
ucomiss xmm0, xmm1
jne 0x10050947
jnp 0x10050964
mov byte [eax + 0x1b57], 0
jmp 0x10050964
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 [0x101a9990]
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 [0x101a99d0]
movaps xmm4, xmmword [0x101a97e0]
jmp 0x10050a00
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 0x10050b95
cmp byte [edi + ebp - 0x34c], 0
je 0x100509d0
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 0x10050b00
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 0x10050ab9
cmp dword [0x1025afd0], 0
je 0x10051593
xorpd xmm5, xmm5
xorps xmm6, xmm6
test cl, 1
je 0x10050a92
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 0x10050ab9
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 0x100509f6
mov byte [eax + 0x1b57], 0
jmp 0x100509f6
addss xmm5, dword [eax + 0x18]
movss dword [eax + ebp*4 + 0x3e4], xmm5
mov byte [eax + ebp + 0x3d5], 0
cmp dword [0x1025afd0], 0
je 0x10051593
pxor xmm0, xmm0
test cl, 1
je 0x10050b3b
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 0x100509f6
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 0x10050c17
divss xmm0, dword [0x101a99d8]
movss xmm1, dword [0x101a8280]
divss xmm1, xmm0
jmp 0x10050c1f
movss xmm1, dword [0x101a99dc]
movss dword [ebx + 0x358], xmm1
call fcn.1004da10
call fcn.1004dfc0
mov ebp, dword [0x1025afd0]
mov edx, dword [ebp + 0x1a70]
test edx, edx
jle 0x10050c77
mov esi, dword [ebp + 0x1a78]
lea ecx, [edx + 1]
lea edx, [edx + edx*8]
lea edx, [esi + edx*4]
add edx, 0xffffffe0
jmp 0x10050c69
dec ecx
add edx, 0xffffffdc
cmp ecx, 2
jb 0x10050c77
mov esi, dword [edx]
test esi, esi
je 0x10050c60
test byte [esi + 0xb], 8
je 0x10050c60
jmp 0x10050c90
cmp dword [ebx + 0x1b34], 0
je 0x10050cb7
movss xmm0, dword [ebx + 0x1b44]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jbe 0x10050cb7
movss xmm0, dword [ebx + 0x18]
mulss xmm0, dword [0x101a82b4]
addss xmm0, dword [ebx + 0x1c44]
minss xmm0, dword [0x101a8280]
movss dword [ebx + 0x1c44], xmm0
jmp 0x10050cdf
movss xmm0, dword [ebx + 0x18]
mulss xmm0, dword [0x101a9994]
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 0x10050d2f
cmp byte [esi + 0x7d], 0
je 0x10050f9f
cmp dword [ebx + 0x1a04], 0
je 0x10050f15
mov dword [ebx + 0x1b50], 0x7fffffff
mov edx, dword [ebx + 0x19b0]
cmp edx, dword [ebx + 0x19a4]
jne 0x10051593
test edx, edx
je 0x10050d8b
xor ecx, ecx
nop
cmp edx, ecx
jle 0x10051593
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 0x10050d60
mov ecx, dword [ebx + 0x1af4]
test ecx, ecx
je 0x10050d9f
cmp byte [ecx + 0x7b], 0
je 0x100510b2
cmp dword [ebx + 0x19cc], 0
jns 0x10050e22
mov eax, dword [0x1025afd0]
test eax, eax
je 0x10050db7
inc dword [eax + 0x36c]
push dword [0x1025afd8]
push 0
call dword [0x101fe77c]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x19d0]
test eax, eax
je 0x10050e12
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 0x10050e02
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x10050e02
dec dword [ecx + 0x36c]
push dword [0x1025afd8]
push eax
call dword [0x101fe780]
add esp, 8
mov dword [ebx + 0x19d0], esi
mov dword [ebx + 0x19cc], 0
mov dword [ebx + 0x19c8], 0
cmp dword [ebx + 0x1a80], 0
jns 0x10050eb2
mov eax, dword [0x1025afd0]
test eax, eax
je 0x10050e44
inc dword [eax + 0x36c]
push dword [0x1025afd8]
push 0
call dword [0x101fe77c]
add esp, 8
mov esi, eax
mov eax, dword [ebx + 0x1a84]
test eax, eax
je 0x10050ea2
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 0x10050e92
mov ecx, dword [0x1025afd0]
test ecx, ecx
je 0x10050e92
dec dword [ecx + 0x36c]
push dword [0x1025afd8]
push eax
call dword [0x101fe780]
add esp, 8
mov dword [ebx + 0x1a84], esi
mov dword [ebx + 0x1a80], 0
mov dword [ebx + 0x1a7c], 0
push dword [ebx + 0x1af4]
call fcn.1004dec0
add esp, 4
mov eax, dword [0x1025afd0]
mov dword [eax + 0x1ab4], 0x43c80000
mov dword [eax + 0x1ab8], 0x43c80000
mov dword [eax + 0x1a8c], 4
push 0
push 0
push str.DebugDefault
call fcn.10051620
add esp, 0xc
mov byte [ebx + 2], 1
mov ecx, dword [esp + 0x50]
xor ecx, esp
call fcn.10157981
add esp, 0x54
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebx + 0x1af4]
test ecx, ecx
je 0x10050d3c
cmp byte [ecx + 0x7a], 0
je 0x10050d3c
test byte [ecx + 0xa], 4
jne 0x10050d3c
cmp byte [ebx + 0xf8], 0
jne 0x10050d3c
mov edx, dword [ebp + 0x34]
test edx, edx
js 0x10050d3c
cmp edx, 0x200
jae 0x10051593
movss xmm0, dword [ebp + edx*4 + 0x448]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jne 0x10050d3c
jp 0x10050d3c
cmp dword [ebx + 0x1af8], 0
je 0x10050f91
mov esi, dword [ebx + 0x1b50]
cmp esi, 0x7fffffff
jne 0x10051349
movsx edx, byte [ebx + 0xf9]
neg edx
jmp 0x10051359
movss xmm1, dword [ebp + 0xf0]
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jne 0x10050fc4
jp 0x10050fc4
movss xmm2, dword [ebp + 0xf4]
ucomiss xmm2, xmm0
jne 0x10050fc4
jnp 0x10050d2f
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 0x10050fef
mov edi, dword [ecx + 0x2ec]
test edi, edi
jne 0x10050fd0
xorps xmm0, xmm0
ucomiss xmm1, xmm0
jne 0x10050ffd
jnp 0x100512b3
cmp byte [ebp + 0xf8], 0
je 0x10051236
cmp byte [ebp + 0x9c], 0
je 0x100512b3
movss xmm3, dword [esi + 0x26c]
mulss xmm1, dword [0x101a99b8]
addss xmm1, xmm3
movss xmm2, dword [0x101a99e0]
minss xmm2, xmm1
movss xmm4, dword [0x101a82c0]
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 [0x101a8280]
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 0x100512b3
mov ecx, dword [ebp + 0x19b0]
test ecx, ecx
jle 0x10050d9f
mov eax, dword [ebp + 0x19b8]
inc ecx
jmp 0x100510da
dec ecx
cmp ecx, 1
jbe 0x10050d9f
mov edx, dword [eax + ecx*4 - 8]
test edx, edx
je 0x100510d0
cmp byte [edx + 0x7b], 0
je 0x100510d0
mov esi, dword [edx + 8]
test esi, 0x1000000
jne 0x100510d0
and esi, 0x40200
cmp esi, 0x40200
je 0x100510d0
mov eax, dword [edx + 0x2fc]
test eax, eax
cmove eax, edx
push eax
call fcn.1004d840
add esp, 4
jmp 0x10050d9f
mov ebp, dword [edi + 0x1af4]
test ebp, ebp
je 0x10050486
test byte [ebp + 0xa], 4
jne 0x10050486
cmp dword [edi + 0x1b34], 0
jne 0x10050486
cmp dword [edi + 0x1b4c], 0
jne 0x10050486
mov ecx, dword [edi + 0x48]
test ecx, ecx
mov dword [esp + 0x18], ecx
js 0x10051364
cmp ecx, 0x200
jae 0x10051593
cmp byte [edi + ecx + 0xfc], 0
setne cl
jmp 0x10051366
cmp byte [ecx + 0x145], 0
je 0x1005055f
cmp byte [esi + 0x1b71], 0
je 0x1005055f
mov edx, dword [esi + 0x1b7c]
cmp edx, 1
ja 0x100511e2
movss xmm1, dword [ecx + 0x58]
test edx, edx
mov edx, 0
sete dl
movss xmm2, dword [edx*4 + 0x101a99b0]
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 0x1005055f
movss xmm1, dword [ecx + 0x5c]
cmp edx, 2
mov edx, 0
sete dl
movss xmm2, dword [edx*4 + 0x101a99b0]
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 0x1005055f
test edx, 0x210
jne 0x10050d2f
movss xmm2, dword [ebp + 0x1904]
mulss xmm2, dword [ecx + 0x26c]
mulss xmm2, dword [0x101a9844]
movss xmm3, dword [ecx + 0x218]
subss xmm3, dword [ecx + 0x210]
movss xmm4, dword [ecx + 0x40]
addss xmm4, xmm4
addss xmm4, xmm3
mulss xmm4, dword [0x101a99e4]
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 0x100512c6
jnp 0x10050d2f
and edx, 0x210
jne 0x10050d2f
cmp byte [ebp + 0xf8], 0
jne 0x10050d2f
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 0x10050d2f
cmpeqss xmm0, xmm1
movd edi, xmm0
and edi, 1
mov dword [esp + 4], edi
test edx, edx
je 0x100514e3
xor edi, edi
mov ebp, 0
cmp edx, ecx
je 0x100514e5
jmp 0x100514f7
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 0x10050d3c
xor ecx, ecx
mov edx, eax
shr dl, 2
and dl, cl
mov ecx, dword [edi + 0x4c]
test ecx, ecx
js 0x1005139a
cmp ecx, 0x200
jae 0x10051593
cmp byte [edi + ecx + 0xfc], 0
setne cl
shr al, 3
and al, cl
cmp dl, al
je 0x10050486
jmp 0x100513a2
test dl, dl
je 0x10050486
cmp dword [ebp + 0x13c], 0
je 0x1005148e
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.100587d0
add esp, 8
test al, al
je 0x1005144e
movups xmm7, xmmword [esp + 8]
xorps xmm7, xmmword [0x101a97e0]
mov dword [edi + 0x1b7c], 3
mov dword [edi + 0x1b84], 2
mov dword [edi + 0x1b74], 0x30
jmp 0x10050486
mov dword [esi + 0x1b00], ecx
mov edx, dword [esi + 0x1a04]
mov ebp, ecx
jmp 0x10051516
push 1
push dword [edi + 0x4c]
call fcn.100587d0
add esp, 8
test al, al
xorps xmm7, xmm7
je 0x10050486
mov dword [edi + 0x1b7c], 2
mov dword [edi + 0x1b84], 3
mov dword [edi + 0x1b74], 0x30
movups xmm7, xmmword [esp + 8]
jmp 0x10050486
cmp byte [ebp + 0x145], 0
je 0x100513af
push 1
push dword [esp + 0x1c]
call fcn.100587d0
add esp, 8
test al, al
je 0x10051548
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 0x10051583
xor edi, edi
mov dword [esi + 0x1b00], ecx
mov edx, dword [esi + 0x1a04]
mov ebp, ecx
test edx, edx
je 0x10051503
cmp byte [esp], 0
jne 0x1005151a
cmp edx, ecx
je 0x1005150a
jmp 0x1005151a
cmp byte [esp + 4], 0
je 0x10051522
mov dword [esi + 0x1b04], ecx
mov edx, dword [esi + 0x1a04]
test edx, edx
je 0x10051522
cmp edx, ecx
jne 0x1004fe17
mov edx, dword [esp + 8]
movss xmm0, dword [edx + 0x1450]
ucomiss xmm0, xmm1
jne 0x1004fe17
jp 0x1004fe17
mov dword [esi + 0x1b08], ecx
jmp 0x1004fe17
push 1
push dword [edi + 0x4c]
call fcn.100587d0
add esp, 8
test al, al
je 0x1005158b
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 0x10050486
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3