Function at 0x10019dd0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
mov eax, dword [0x10156054]
xor eax, ebp
mov dword [ebp - 4], eax
movss xmm3, dword [0x10156ba0]
xorps xmm2, xmm2
comiss xmm2, xmm3
push ebx
push esi
push edi
movss dword [ebp - 0x110], xmm2
jbe 0x10019e09
xorps xmm3, xmm3
movss dword [0x10156ba0], xmm3
movss xmm4, dword [0x101569d0]
comiss xmm2, xmm4
movss dword [ebp - 0xe4], xmm4
jbe 0x10019e31
xorps xmm4, xmm4
movss dword [ebp - 0xe4], xmm4
movss dword [0x101569d0], xmm4
cmp byte [0x101587b9], 0
movsd xmm6, qword [0x10150430]
movss xmm7, dword [0x101503b0]
movss dword [ebp - 0x13c], xmm3
movss dword [ebp - 0x140], xmm4
je 0x10019f89
mov eax, dword [0x105a1978]
test al, 1
jne 0x10019e71
or eax, 1
mov dword [0x105a1978], eax
jmp 0x10019e79
movss xmm3, dword [0x105a1974]
test al, 2
jne 0x10019e87
or eax, 2
mov dword [0x105a1978], eax
jmp 0x10019e8f
movss xmm4, dword [0x105a1b20]
mov al, byte [0x105a17bc]
movss xmm5, dword [0xb7cb5c]
test al, al
je 0x10019ebc
cvtps2pd xmm0, xmm5
cvtps2pd xmm1, xmm3
divsd xmm0, xmm6
movsd xmm6, qword [0x101503b8]
mulsd xmm0, xmm6
subsd xmm1, xmm0
jmp 0x10019ed6
cvtps2pd xmm1, xmm5
cvtps2pd xmm0, xmm3
divsd xmm1, xmm6
movsd xmm6, qword [0x101503b8]
mulsd xmm1, xmm6
addsd xmm1, xmm0
cvtpd2ps xmm3, xmm1
mov cl, byte [0x10158260]
cvtps2pd xmm1, xmm5
movss dword [0x105a1974], xmm3
divsd xmm1, qword [0x10150430]
cvtps2pd xmm0, xmm4
mulsd xmm1, xmm6
test cl, cl
je 0x10019f04
subsd xmm0, xmm1
jmp 0x10019f08
addsd xmm0, xmm1
comiss xmm2, xmm3
cvtpd2ps xmm4, xmm0
movss dword [ebp - 0xe4], xmm4
movss dword [0x105a1b20], xmm4
jbe 0x10019f2e
xorps xmm3, xmm3
xor al, al
movss dword [0x105a1974], xmm3
comiss xmm2, xmm4
jbe 0x10019f48
xorps xmm4, xmm4
xor cl, cl
movss dword [ebp - 0xe4], xmm4
movss dword [0x105a1b20], xmm4
movss xmm0, dword [0x101569dc]
mov edx, 1
comiss xmm0, xmm7
movzx eax, al
movss xmm0, dword [0x101569e0]
movss dword [0x10156ba0], xmm3
cmovae eax, edx
movss dword [0x101569d0], xmm4
comiss xmm0, xmm7
mov byte [0x105a17bc], al
movzx eax, cl
cmovae eax, edx
mov byte [0x10158260], al
movss xmm1, dword [0x101569d4]
movaps xmm5, xmm3
addss xmm5, xmm1
movss xmm6, dword [0x101503f0]
cvtps2pd xmm0, xmm3
mov esi, dword [0x101569c0]
mov al, byte [0x10158281]
inc esi
mov dword [ebp - 0x120], esi
movaps xmm7, xmm3
movaps xmm2, xmm5
subss xmm2, dword [0x10150390]
addss xmm7, dword [0x10150390]
movss dword [ebp - 0x10c], xmm2
cvtps2pd xmm2, xmm1
movaps xmm1, xmm2
mulsd xmm1, qword [0x101503e0]
subsd xmm2, qword [0x101503a8]
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movsd xmm1, qword [0x10150410]
movss dword [ebp - 0xf0], xmm0
movaps xmm0, xmm4
addss xmm0, dword [0x10150398]
movss dword [ebp - 0xec], xmm0
movaps xmm0, xmm4
movss xmm4, dword [0x101569bc]
addss xmm0, dword [0x101503a0]
movss dword [ebp - 0xe8], xmm0
addss xmm0, dword [0x10150394]
movss dword [ebp - 0x104], xmm0
cvtpd2ps xmm0, xmm2
mulss xmm0, xmm6
movss dword [ebp - 0x114], xmm0
test al, al
je 0x1001a058
cvtps2pd xmm2, xmm4
jmp 0x1001a0b5
cmp byte [0xb6f065], 0
je 0x1001a0aa
movd xmm0, dword [0xc17044]
cvtdq2ps xmm0, xmm0
cvttss2si edx, xmm0
movd xmm0, dword [0xc17048]
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm0
cmp edx, 0x500
jne 0x1001a094
cmp ecx, 0x400
jne 0x1001a094
movaps xmm2, xmm1
jmp 0x1001a0b5
movd xmm2, edx
movd xmm0, ecx
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm0, xmm0
divsd xmm2, xmm0
jmp 0x1001a0b5
movss xmm2, dword [0xc3efa4]
cvtps2pd xmm2, xmm2
cvtpd2ps xmm0, xmm2
movss xmm2, dword [ebp - 0x114]
divss xmm2, xmm0
movss xmm0, dword [ebp - 0xf0]
mulss xmm0, xmm6
movss dword [ebp - 0x114], xmm2
movss dword [ebp - 0xf0], xmm0
test al, al
je 0x1001a0ea
cvtps2pd xmm2, xmm4
jmp 0x1001a147
cmp byte [0xb6f065], 0
je 0x1001a13c
movd xmm0, dword [0xc17044]
cvtdq2ps xmm0, xmm0
cvttss2si edx, xmm0
movd xmm0, dword [0xc17048]
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm0
cmp edx, 0x500
jne 0x1001a126
cmp ecx, 0x400
jne 0x1001a126
movaps xmm2, xmm1
jmp 0x1001a147
movd xmm2, edx
movd xmm0, ecx
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm0, xmm0
divsd xmm2, xmm0
jmp 0x1001a147
movss xmm2, dword [0xc3efa4]
cvtps2pd xmm2, xmm2
cvtpd2ps xmm0, xmm2
movss xmm2, dword [ebp - 0xf0]
divss xmm2, xmm0
movss dword [ebp - 0xf0], xmm2
test al, al
je 0x1001a168
cvtps2pd xmm2, xmm4
jmp 0x1001a1c5
cmp byte [0xb6f065], 0
je 0x1001a1ba
movd xmm0, dword [0xc17044]
cvtdq2ps xmm0, xmm0
cvttss2si edx, xmm0
movd xmm0, dword [0xc17048]
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm0
cmp edx, 0x500
jne 0x1001a1a4
cmp ecx, 0x400
jne 0x1001a1a4
movaps xmm2, xmm1
jmp 0x1001a1c5
movd xmm2, edx
movd xmm0, ecx
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm0, xmm0
divsd xmm2, xmm0
jmp 0x1001a1c5
movss xmm2, dword [0xc3efa4]
cvtps2pd xmm2, xmm2
mulss xmm3, xmm6
cvtpd2ps xmm0, xmm2
movss xmm2, dword [0x1015039c]
divss xmm2, xmm0
movss dword [ebp - 0x118], xmm2
test al, al
je 0x1001a1ea
cvtps2pd xmm2, xmm4
jmp 0x1001a247
cmp byte [0xb6f065], 0
je 0x1001a23c
movd xmm0, dword [0xc17044]
cvtdq2ps xmm0, xmm0
cvttss2si edx, xmm0
movd xmm0, dword [0xc17048]
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm0
cmp edx, 0x500
jne 0x1001a226
cmp ecx, 0x400
jne 0x1001a226
movaps xmm2, xmm1
jmp 0x1001a247
movd xmm2, edx
movd xmm0, ecx
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm0, xmm0
divsd xmm2, xmm0
jmp 0x1001a247
movss xmm2, dword [0xc3efa4]
cvtps2pd xmm2, xmm2
mulss xmm5, xmm6
cvtpd2ps xmm0, xmm2
divss xmm3, xmm0
movss dword [ebp - 0x11c], xmm3
test al, al
je 0x1001a264
cvtps2pd xmm2, xmm4
jmp 0x1001a2c1
cmp byte [0xb6f065], 0
je 0x1001a2b6
movd xmm0, dword [0xc17044]
cvtdq2ps xmm0, xmm0
cvttss2si edx, xmm0
movd xmm0, dword [0xc17048]
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm0
cmp edx, 0x500
jne 0x1001a2a0
cmp ecx, 0x400
jne 0x1001a2a0
movaps xmm2, xmm1
jmp 0x1001a2c1
movd xmm2, edx
movd xmm0, ecx
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm0, xmm0
divsd xmm2, xmm0
jmp 0x1001a2c1
movss xmm2, dword [0xc3efa4]
cvtps2pd xmm2, xmm2
mulss xmm7, xmm6
cvtpd2ps xmm0, xmm2
divss xmm5, xmm0
movss dword [ebp - 0x108], xmm5
test al, al
je 0x1001a2de
cvtps2pd xmm2, xmm4
jmp 0x1001a33b
cmp byte [0xb6f065], 0
je 0x1001a330
movd xmm0, dword [0xc17044]
cvtdq2ps xmm0, xmm0
cvttss2si edx, xmm0
movd xmm0, dword [0xc17048]
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm0
cmp edx, 0x500
jne 0x1001a31a
cmp ecx, 0x400
jne 0x1001a31a
movaps xmm2, xmm1
jmp 0x1001a33b
movd xmm2, edx
movd xmm0, ecx
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm0, xmm0
divsd xmm2, xmm0
jmp 0x1001a33b
movss xmm2, dword [0xc3efa4]
cvtps2pd xmm2, xmm2
movss xmm3, dword [ebp - 0x10c]
mulss xmm3, xmm6
cvtpd2ps xmm0, xmm2
divss xmm7, xmm0
movss dword [ebp - 0xf4], xmm7
test al, al
je 0x1001a360
cvtps2pd xmm2, xmm4
jmp 0x1001a3bd
cmp byte [0xb6f065], 0
je 0x1001a3b2
movd xmm0, dword [0xc17044]
cvtdq2ps xmm0, xmm0
cvttss2si edx, xmm0
movd xmm0, dword [0xc17048]
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm0
cmp edx, 0x500
jne 0x1001a39c
cmp ecx, 0x400
jne 0x1001a39c
movaps xmm2, xmm1
jmp 0x1001a3bd
movd xmm2, edx
movd xmm0, ecx
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm0, xmm0
divsd xmm2, xmm0
jmp 0x1001a3bd
movss xmm2, dword [0xc3efa4]
cvtps2pd xmm2, xmm2
cvtpd2ps xmm0, xmm2
movaps xmm2, xmm3
divss xmm2, xmm0
movss dword [ebp - 0xf8], xmm2
test al, al
je 0x1001a3d9
cvtps2pd xmm1, xmm4
jmp 0x1001a430
cmp byte [0xb6f065], 0
je 0x1001a425
movd xmm0, dword [0xc17044]
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm0
movd xmm0, dword [0xc17048]
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm0
cmp ecx, 0x500
jne 0x1001a40f
cmp eax, 0x400
je 0x1001a430
movd xmm1, ecx
movd xmm0, eax
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
jmp 0x1001a430
movss xmm1, dword [0xc3efa4]
cvtps2pd xmm1, xmm1
cvtpd2ps xmm0, xmm1
push 0x100551a8
push 1
push 0x23
push 0x100541d4
push 0x100551ac
push 0x100551b0
divss xmm3, xmm0
push 0x10054374
push 0x10054258
push str._s_s_s_s_s_d_d_s
lea eax, [ebp - 0x88]
push 0x40
push eax
movss dword [0x101569dc], xmm5
movss dword [ebp - 0x10c], xmm3
call fcn.10008130
movaps xmm0, xmmword [0x10150530]
add esp, 0x2c
mov ecx, dword [0x1015828c]
xor eax, eax
movaps xmmword [0x10158290], xmm0
movaps xmmword [0x101582a0], xmm0
movaps xmmword [0x101582b0], xmm0
movaps xmmword [0x101582c0], xmm0
xorps xmm0, xmm0
mov byte [0x10158da0], 0
movaps xmmword [0x10158db0], xmm0
movaps xmmword [0x10158dc0], xmm0
movaps xmmword [0x10158dd0], xmm0
movaps xmmword [0x10158de0], xmm0
cmp eax, ecx
jle 0x1001a4e0
mov dword [eax*4 + 0x10158950], 0
inc eax
cmp eax, 0x10
jl 0x1001a4d1
push 0x10054f28
push 0x100551c8
lea eax, [ebp - 0x88]
push eax
push str._s_ME_s__s
push 0x40
push eax
call fcn.10008130
mov eax, dword [0x1015828c]
add esp, 0x18
test eax, eax
jns 0x1001a51c
mov dword [0x1015828c], 0
jmp 0x1001a52c
cmp eax, 0x10
mov ecx, 0xf
cmovge eax, ecx
mov dword [0x1015828c], eax
movss xmm0, dword [0xb7cb5c]
cvtps2pd xmm0, xmm0
divsd xmm0, qword [0x10150430]
addsd xmm0, qword [0x105a1798]
comisd xmm0, xmmword [0x10150420]
movsd qword [0x105a1798], xmm0
ja 0x1001a562
cmp byte [0x10156e0c], 0
je 0x1001a5d5
push 0
call fcn.1002fda6
add esp, 4
mov dword [ebp - 0x130], eax
lea eax, [ebp - 0x130]
mov dword [ebp - 0x12c], edx
push eax
call fcn.10030075
add esp, 4
cmp dword [eax + 0x10], 3
jne 0x1001a5bc
push 0
call fcn.1002fda6
add esp, 4
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x128]
mov dword [ebp - 0x124], edx
push eax
call fcn.10030075
add esp, 4
cmp dword [eax + 0xc], 1
jne 0x1001a5bc
mov al, 1
jmp 0x1001a5be
xor al, al
xorps xmm0, xmm0
mov byte [0x101587b9], al
movsd qword [0x105a1798], xmm0
mov byte [0x10156e0c], 0
cmp byte [0x10158281], 0
movss xmm2, dword [0x10156a08]
je 0x1001a5f8
movss xmm0, dword [0x101503b0]
divss xmm0, dword [0x101569bc]
jmp 0x1001a65e
cmp byte [0xb6f065], 0
je 0x1001a64e
movd xmm0, dword [0xc17044]
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm0
movd xmm0, dword [0xc17048]
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm0
cmp ecx, 0x500
jne 0x1001a638
cmp eax, 0x400
jne 0x1001a638
movsd xmm1, qword [0x101503f8]
jmp 0x1001a661
movd xmm1, eax
movd xmm0, ecx
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
jmp 0x1001a661
movss xmm0, dword [0x101503b0]
divss xmm0, dword [0xc3efa4]
cvtps2pd xmm1, xmm0
mov eax, dword [0x105a17b8]
cmp eax, 0x2000
jge 0x1001a6ee
movss xmm0, dword [ebp - 0xf4]
imul esi, eax, 0x220
lea eax, [ebp - 0x88]
push eax
push 0x200
add esi, 0x10161780
movss dword [esi + 0xc], xmm0
lea eax, [esi + 0x20]
movss xmm0, dword [ebp - 0xec]
movss dword [esi + 0x10], xmm0
cvtps2pd xmm0, xmm2
push eax
mov dword [esi + 1], 1
mov word [esi + 5], 0
mov dword [esi + 8], 0
mov dword [esi + 0x1c], 0xffffffff
movss dword [esi + 0x18], xmm2
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x14], xmm0
call fcn.1002f6f4
add esp, 0xc
mov byte [esi], 1
inc dword [0x105a17b8]
mov esi, dword [ebp - 0x120]
movss xmm3, dword [ebp - 0x108]
lea ecx, [ebp - 0x138]
movss xmm1, dword [ebp - 0xe8]
movaps xmm6, xmm3
maxss xmm3, dword [ebp - 0x11c]
minss xmm6, dword [ebp - 0x11c]
minss xmm1, dword [ebp - 0xe4]
movss xmm0, dword [ebp - 0xe8]
sub esp, 0x10
maxss xmm0, dword [ebp - 0xe4]
movd xmm4, dword [0xc17048]
mov ebx, 0x4041c0
subss xmm3, xmm6
mov dword [ebp - 0xe4], 0xaa000000
cvtdq2ps xmm4, xmm4
subss xmm0, xmm1
cvtps2pd xmm2, xmm3
mulss xmm3, dword [0x101503a4]
mulsd xmm2, qword [0x101503e0]
cvtps2pd xmm7, xmm0
mulss xmm0, dword [0x101503a4]
addss xmm3, xmm6
mulsd xmm7, qword [0x101503e0]
addss xmm0, xmm1
cvtps2pd xmm1, xmm3
cvtps2pd xmm5, xmm0
movd xmm3, dword [0xc17044]
movaps xmm0, xmm1
addsd xmm0, xmm2
cvtdq2ps xmm3, xmm3
cvtpd2ps xmm6, xmm0
movaps xmm0, xmm5
subsd xmm1, xmm2
addsd xmm0, xmm7
movss dword [ebp - 0xfc], xmm6
subsd xmm5, xmm7
cvtpd2ps xmm1, xmm1
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x100], xmm1
mulss xmm0, xmm4
movss dword [esp + 0xc], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm6
mulss xmm3, xmm1
movss dword [esp + 8], xmm0
cvtpd2ps xmm0, xmm5
mulss xmm0, xmm4
movss dword [esp + 4], xmm0
movss dword [esp], xmm3
call ebx
lea eax, [ebp - 0xe4]
mov edi, 0x727b60
push eax
lea eax, [ebp - 0x138]
push eax
call edi
movsx eax, byte [0xb7cd74]
push eax
mov eax, 0x53fb70
call eax
add esp, 0xc
cmp byte [0x10156ba9], 0
je 0x1001a8ff
cmp byte [0x1015894f], 0
jne 0x1001a8ff
call fcn.1001c430
test al, al
jne 0x1001a8ff
cmp dword [0x10156a04], 2
jne 0x1001a864
mov eax, 0x101589c0
cmp dword [eax], 0
jne 0x1001a911
add eax, 0x50
cmp eax, 0x10158b00
jl 0x1001a851
cmp dword [0x101569fc], 2
jne 0x1001a885
mov eax, 0x101589c4
cmp dword [eax], 0
jne 0x1001a911
add eax, 0x50
cmp eax, 0x10158b04
jl 0x1001a872
cmp dword [0x10156ba4], 2
jne 0x1001a8a6
mov eax, 0x101589c8
cmp dword [eax], 0
jne 0x1001a911
add eax, 0x50
cmp eax, 0x10158b08
jl 0x1001a893
cmp dword [0x10156a00], 2
jne 0x1001a8c3
mov eax, 0x101589cc
cmp dword [eax], 0
jne 0x1001a911
add eax, 0x50
cmp eax, 0x10158b0c
jl 0x1001a8b4
cmp dword [0x10156a0c], 2
jne 0x1001a8e0
mov eax, 0x101589e8
cmp dword [eax], 0
jne 0x1001a911
add eax, 0x50
cmp eax, 0x10158b28
jl 0x1001a8d1
cmp dword [0x101569b4], 2
jne 0x1001a8ff
mov eax, 0x101589ec
nop
cmp dword [eax], 0
jne 0x1001a911
add eax, 0x50
cmp eax, 0x10158b2c
jl 0x1001a8f0
cmp byte [0x10158852], 0
jne 0x1001a911
mov byte [0x10158280], 0
jmp 0x1001a970
cmp byte [0x10158280], 0
je 0x1001a970
movss xmm2, dword [0x10158288]
movss xmm1, dword [0x10158c08]
movaps xmm0, xmm2
subss xmm0, dword [0x10158c04]
movss dword [0x10158c04], xmm2
addss xmm0, dword [0x10156ba0]
movss dword [0x10156ba0], xmm0
movaps xmm0, xmm1
subss xmm0, dword [0x10158840]
movss dword [0x10158840], xmm1
addss xmm0, dword [0x101569d0]
movss dword [0x101569d0], xmm0
movss xmm0, dword [ebp - 0x104]
lea ecx, [ebp - 0x138]
movaps xmm1, xmm0
movd xmm3, dword [0xc17044]
maxss xmm0, dword [ebp - 0xe8]
minss xmm1, dword [ebp - 0xe8]
sub esp, 0x10
mov dword [ebp - 0xe4], 0xffffffff
cvtdq2ps xmm3, xmm3
subss xmm0, xmm1
cvtps2pd xmm4, xmm0
mulss xmm0, dword [0x101503a4]
mulsd xmm4, qword [0x101503e0]
addss xmm0, xmm1
movd xmm1, dword [0xc17048]
cvtdq2ps xmm1, xmm1
cvtps2pd xmm2, xmm0
movaps xmm0, xmm2
subsd xmm2, xmm4
addsd xmm0, xmm4
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp + 0xc], xmm0
movaps xmm0, xmm3
mulss xmm0, dword [ebp - 0xfc]
mulss xmm3, dword [ebp - 0x100]
movss dword [esp + 8], xmm0
cvtpd2ps xmm0, xmm2
mulss xmm0, xmm1
movss dword [esp + 4], xmm0
movss dword [esp], xmm3
call ebx
lea eax, [ebp - 0xe4]
push eax
lea eax, [ebp - 0x138]
push eax
call edi
add esp, 8
mov byte [0x101587ba], 0
call fcn.10017d90
mov eax, dword [0x1015828c]
xor edi, edi
mov ebx, dword [eax*4 + 0x10158290]
mov dword [ebp - 0x124], ebx
test esi, esi
jle 0x1001ac88
mov ecx, dword [0x10158d54]
test ecx, ecx
jne 0x1001aa69
call fcn.10019ac0
mov ecx, dword [0x10158d54]
mov eax, edi
cdq
idiv dword [0x10158d58]
mov esi, edx
test ecx, ecx
jne 0x1001aa87
call fcn.10019ac0
mov ecx, dword [0x10158d54]
test ecx, ecx
je 0x1001aa9a
mov al, byte [ecx + esi*4 + 2]
mov dl, byte [ecx + esi*4]
mov bl, byte [ecx + esi*4 + 1]
mov dword [ebp - 0xe8], eax
jmp 0x1001aaa7
or dl, 0xff
mov byte [ebp - 0xe8], 0xff
or bl, 0xff
mov ecx, dword [0x1015828c]
mov eax, dword [ecx*4 + 0x10158800]
add eax, edi
cmp dword [ecx*4 + 0x10158950], eax
jne 0x1001aac8
cmp byte [0x101587ba], 0
je 0x1001ab11
movsd xmm1, qword [0x101503c8]
movzx eax, dl
movd xmm0, eax
cvtdq2pd xmm0, xmm0
movzx eax, bl
mulsd xmm0, xmm1
cvttsd2si edx, xmm0
movd xmm0, eax
mov eax, dword [ebp - 0xe8]
cvtdq2pd xmm0, xmm0
movzx eax, al
mulsd xmm0, xmm1
cvttsd2si ebx, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
jmp 0x1001ab17
mov eax, dword [ebp - 0xe8]
movss xmm0, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x124]
movaps xmm4, xmm0
cmp dword [0x101569c0], ecx
jge 0x1001ab38
subss xmm4, dword [ebp - 0x118]
movd xmm1, edi
lea ecx, [ebp - 0xdc]
cvtdq2ps xmm1, xmm1
mov byte [ebp - 0xe2], al
mov eax, 0xc17048
mov byte [ebp - 0xe4], dl
sub esp, 0x10
mov byte [ebp - 0xe3], bl
mov byte [ebp - 0xe1], 0xaa
movaps xmm6, xmm4
mulss xmm1, dword [0x101503a0]
maxss xmm4, dword [ebp - 0x11c]
minss xmm6, dword [ebp - 0x11c]
addss xmm1, dword [ebp - 0x104]
subss xmm4, xmm6
movaps xmm3, xmm1
addss xmm3, dword [0x101503a0]
movss dword [ebp - 0x12c], xmm4
cvtps2pd xmm4, xmm4
movaps xmm2, xmm3
movss dword [ebp - 0x110], xmm3
minss xmm2, xmm1
mulsd xmm4, qword [0x101503e0]
movaps xmm0, xmm3
movd xmm3, dword [eax]
maxss xmm0, xmm1
mov eax, 0xc17044
cvtdq2ps xmm3, xmm3
subss xmm0, xmm2
movd xmm1, dword [eax]
mov eax, 0x4041c0
cvtdq2ps xmm1, xmm1
cvtps2pd xmm7, xmm0
mulss xmm0, dword [0x101503a4]
mulsd xmm7, qword [0x101503e0]
addss xmm0, xmm2
cvtps2pd xmm5, xmm0
movss xmm0, dword [ebp - 0x12c]
mulss xmm0, dword [0x101503a4]
addss xmm0, xmm6
cvtps2pd xmm2, xmm0
movaps xmm0, xmm5
subsd xmm5, xmm7
addsd xmm0, xmm7
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm3
movss dword [esp + 0xc], xmm0
movaps xmm0, xmm2
addsd xmm0, xmm4
subsd xmm2, xmm4
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp + 8], xmm0
cvtpd2ps xmm0, xmm5
mulss xmm0, xmm3
movss dword [esp + 4], xmm0
cvtpd2ps xmm0, xmm2
mulss xmm0, xmm1
movss dword [esp], xmm0
call eax
lea eax, [ebp - 0xe4]
push eax
lea eax, [ebp - 0xdc]
push eax
mov eax, 0x727b60
call eax
inc edi
add esp, 8
cmp edi, dword [ebp - 0x120]
jl 0x1001aa54
mov ebx, dword [ebp - 0x124]
movaps xmm0, xmmword [str.IJOMG]
xor ecx, ecx
movups xmmword [ebp - 0xe0], xmm0
mov dword [ebp - 0xd0], 0x50434208
mov byte [ebp - 0xcc], 0x26
nop dword [eax]
mov al, byte [ebp + ecx - 0xe0]
lea ecx, [ecx + 1]
xor al, 0x26
mov byte [ecx + 0x105a190f], al
cmp byte [ecx + 0x105a190f], 0
jne 0x1001acb0
cmp byte [0x10158281], 0
movss xmm2, dword [0x10156a08]
je 0x1001acee
movss xmm0, dword [0x101503b0]
divss xmm0, dword [0x101569bc]
jmp 0x1001ad54
cmp byte [0xb6f065], 0
je 0x1001ad44
movd xmm0, dword [0xc17044]
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm0
movd xmm0, dword [0xc17048]
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm0
cmp ecx, 0x500
jne 0x1001ad2e
cmp eax, 0x400
jne 0x1001ad2e
movsd xmm1, qword [0x101503f8]
jmp 0x1001ad57
movd xmm1, eax
movd xmm0, ecx
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
jmp 0x1001ad57
movss xmm0, dword [0x101503b0]
divss xmm0, dword [0xc3efa4]
cvtps2pd xmm1, xmm0
mov eax, dword [0x105a17b8]
cmp eax, 0x2000
jge 0x1001add8
movss xmm0, dword [ebp - 0xf8]
imul esi, eax, 0x220
push 0x105a1910
push 0x200
add esi, 0x10161780
movss dword [esi + 0xc], xmm0
lea eax, [esi + 0x20]
movss xmm0, dword [ebp - 0xec]
movss dword [esi + 0x10], xmm0
cvtps2pd xmm0, xmm2
push eax
mov dword [esi + 1], 0x1000001
mov word [esi + 5], 0
mov dword [esi + 8], 0
mov dword [esi + 0x1c], 0xffffffff
movss dword [esi + 0x18], xmm2
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x14], xmm0
call fcn.1002f6f4
add esp, 0xc
mov byte [esi], 1
inc dword [0x105a17b8]
cmp dword [0x101569c0], ebx
jge 0x1001b034
mov eax, dword [0x1015828c]
lea ecx, [ebp - 0xdc]
movss xmm4, dword [ebp - 0x110]
sub esp, 0x10
movss xmm6, dword [ebp - 0x104]
movaps xmm3, xmm4
subss xmm3, dword [0x101503a0]
movd xmm1, dword [eax*4 + 0x10158950]
mov ebx, 0x4041c0
movd xmm0, dword [eax*4 + 0x10158290]
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0xe4], 0xaa000000
cvtdq2pd xmm1, xmm1
movss xmm7, dword [ebp - 0x108]
divsd xmm1, xmm0
cvtpd2ps xmm2, xmm1
movss xmm1, dword [0x101503b0]
subss xmm1, xmm2
mulss xmm3, xmm2
mulss xmm2, xmm4
movaps xmm0, xmm1
mulss xmm0, xmm6
addss xmm3, xmm0
movaps xmm0, xmm6
addss xmm0, dword [0x101503a0]
movss dword [ebp - 0x12c], xmm3
movaps xmm3, xmm7
minss xmm3, dword [ebp - 0x10c]
maxss xmm7, dword [ebp - 0x10c]
mulss xmm0, xmm1
movaps xmm1, xmm4
minss xmm1, xmm6
addss xmm0, xmm2
subss xmm7, xmm3
movss dword [ebp - 0xf8], xmm0
movaps xmm0, xmm4
maxss xmm0, xmm6
movd xmm4, dword [0xc17048]
cvtps2pd xmm2, xmm7
mulss xmm7, dword [0x101503a4]
subss xmm0, xmm1
mulsd xmm2, qword [0x101503e0]
addss xmm7, xmm3
movd xmm3, dword [0xc17044]
cvtps2pd xmm6, xmm0
mulss xmm0, dword [0x101503a4]
mulsd xmm6, qword [0x101503e0]
addss xmm0, xmm1
cvtps2pd xmm1, xmm7
cvtps2pd xmm5, xmm0
movaps xmm0, xmm1
subsd xmm1, xmm2
addsd xmm0, xmm2
cvtdq2ps xmm4, xmm4
cvtpd2ps xmm7, xmm0
movaps xmm0, xmm5
subsd xmm5, xmm6
addsd xmm0, xmm6
movss dword [ebp - 0x118], xmm7
cvtdq2ps xmm3, xmm3
cvtpd2ps xmm0, xmm0
cvtpd2ps xmm1, xmm1
mulss xmm0, xmm4
movss dword [ebp - 0xec], xmm1
movss dword [esp + 0xc], xmm0
movaps xmm0, xmm3
mulss xmm0, xmm7
mulss xmm3, xmm1
movss dword [esp + 8], xmm0
cvtpd2ps xmm0, xmm5
mulss xmm0, xmm4
movss dword [esp + 4], xmm0
movss dword [esp], xmm3
call ebx
lea eax, [ebp - 0xe4]
mov esi, 0x727b60
push eax
lea eax, [ebp - 0xdc]
push eax
call esi
movss xmm2, dword [ebp - 0xf8]
movaps xmm0, xmm2
movd xmm1, dword [0xc17048]
minss xmm0, dword [ebp - 0x12c]
maxss xmm2, dword [ebp - 0x12c]
movd xmm3, dword [0xc17044]
lea ecx, [ebp - 0xdc]
cvtdq2ps xmm1, xmm1
mov dword [ebp - 0xe4], 0xffffffff
subss xmm2, xmm0
cvtdq2ps xmm3, xmm3
cvtps2pd xmm4, xmm2
mulss xmm2, dword [0x101503a4]
mulsd xmm4, qword [0x101503e0]
addss xmm2, xmm0
cvtps2pd xmm2, xmm2
movaps xmm0, xmm2
subsd xmm2, xmm4
addsd xmm0, xmm4
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x118]
mulss xmm0, xmm3
movss dword [esp], xmm0
sub esp, 8
cvtpd2ps xmm0, xmm2
mulss xmm0, xmm1
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0xec]
mulss xmm0, xmm3
movss dword [esp], xmm0
call ebx
lea eax, [ebp - 0xe4]
push eax
lea eax, [ebp - 0xdc]
push eax
call esi
add esp, 8
jmp 0x1001b03e
mov ebx, 0x4041c0
mov esi, 0x727b60
movss xmm2, dword [ebp - 0x110]
lea ecx, [ebp - 0xdc]
movaps xmm0, xmm2
movd xmm3, dword [0xc17044]
addss xmm0, dword [0x10150394]
movss dword [0x101569d8], xmm2
sub esp, 0x10
cvtdq2ps xmm3, xmm3
mov dword [ebp - 0xe4], 0xffffffff
movaps xmm1, xmm0
movss dword [ebp - 0xe8], xmm0
maxss xmm0, xmm2
minss xmm1, xmm2
subss xmm0, xmm1
cvtps2pd xmm4, xmm0
mulss xmm0, dword [0x101503a4]
mulsd xmm4, qword [0x101503e0]
addss xmm0, xmm1
movd xmm1, dword [0xc17048]
cvtdq2ps xmm1, xmm1
cvtps2pd xmm2, xmm0
movaps xmm0, xmm2
subsd xmm2, xmm4
addsd xmm0, xmm4
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ebp - 0xfc]
mulss xmm0, xmm3
movss dword [esp + 8], xmm0
cvtpd2ps xmm0, xmm2
mulss xmm0, xmm1
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x100]
mulss xmm0, xmm3
movss dword [esp], xmm0
call ebx
lea eax, [ebp - 0xe4]
push eax
lea eax, [ebp - 0xdc]
push eax
call esi
movss xmm2, dword [ebp - 0xe8]
lea ecx, [ebp - 0xdc]
movaps xmm0, xmm2
movd xmm3, dword [0xc17044]
addss xmm0, dword [0x101503a0]
cvtdq2ps xmm3, xmm3
mov dword [ebp - 0xe4], 0xaa000000
movaps xmm1, xmm0
movss dword [ebp - 0xec], xmm0
maxss xmm0, xmm2
minss xmm1, xmm2
subss xmm0, xmm1
cvtps2pd xmm4, xmm0
mulss xmm0, dword [0x101503a4]
mulsd xmm4, qword [0x101503e0]
addss xmm0, xmm1
movd xmm1, dword [0xc17048]
cvtdq2ps xmm1, xmm1
cvtps2pd xmm2, xmm0
movaps xmm0, xmm2
subsd xmm2, xmm4
addsd xmm0, xmm4
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0xfc]
mulss xmm0, xmm3
movss dword [esp], xmm0
sub esp, 8
cvtpd2ps xmm0, xmm2
mulss xmm0, xmm1
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x100]
mulss xmm0, xmm3
movss dword [esp], xmm0
call ebx
lea eax, [ebp - 0xe4]
push eax
lea eax, [ebp - 0xdc]
push eax
call esi
mov eax, dword [0x1015828c]
movss xmm0, dword [ebp - 0xe8]
addss xmm0, dword [0x10150398]
push dword [eax*4 + 0x10158db0]
mov eax, dword [eax*4 + 0x10158950]
inc eax
push eax
push str._d__d
lea eax, [ebp - 0xc8]
movss dword [ebp - 0xe8], xmm0
push 0x40
push eax
call fcn.10008130
movss xmm2, dword [0x10156a08]
add esp, 0x1c
cmp byte [0x10158281], 0
je 0x1001b23d
movss xmm0, dword [0x101503b0]
divss xmm0, dword [0x101569bc]
jmp 0x1001b2a3
cmp byte [0xb6f065], 0
je 0x1001b293
movd xmm0, dword [0xc17044]
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm0
movd xmm0, dword [0xc17048]
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm0
cmp ecx, 0x500
jne 0x1001b27d
cmp eax, 0x400
jne 0x1001b27d
movsd xmm1, qword [0x101503f8]
jmp 0x1001b2a6
movd xmm1, eax
movd xmm0, ecx
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
jmp 0x1001b2a6
movss xmm0, dword [0x101503b0]
divss xmm0, dword [0xc3efa4]
cvtps2pd xmm1, xmm0
mov eax, dword [0x105a17b8]
cmp eax, 0x2000
jge 0x1001b332
movss xmm0, dword [ebp - 0xf4]
imul esi, eax, 0x220
lea eax, [ebp - 0xc8]
push eax
push 0x200
add esi, 0x10161780
movss dword [esi + 0xc], xmm0
lea eax, [esi + 0x20]
movss xmm0, dword [ebp - 0xe8]
movss dword [esi + 0x10], xmm0
cvtps2pd xmm0, xmm2
push eax
mov dword [esi + 1], 1
mov word [esi + 5], 0
mov dword [esi + 8], 0
mov dword [esi + 0x1c], 0xffffffff
movss dword [esi + 0x18], xmm2
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x14], xmm0
call fcn.1002f6f4
add esp, 0xc
mov byte [esi], 1
inc dword [0x105a17b8]
mov esi, 0x727b60
cmp byte [0x101569bb], 0
movss xmm0, dword [ebp - 0xec]
movaps xmm1, xmm0
movss dword [0x101569e0], xmm0
addss xmm1, dword [0x101503a0]
addss xmm0, dword [0x10150398]
movss dword [ebp - 0xf4], xmm1
movss dword [ebp - 0xf8], xmm0
je 0x1001b5dd
mov eax, dword [0x10158284]
test eax, eax
je 0x1001b5dd
push eax
push 0x100542a8
lea eax, [ebp - 0x48]
push 0x40
push eax
call fcn.10008130
movss xmm0, dword [ebp - 0xf4]
lea ecx, [ebp - 0xdc]
movaps xmm1, xmm0
movd xmm3, dword [0xc17044]
maxss xmm0, dword [ebp - 0xec]
minss xmm1, dword [ebp - 0xec]
cvtdq2ps xmm3, xmm3
mov dword [ebp - 0xe8], 0xaa000000
subss xmm0, xmm1
cvtps2pd xmm4, xmm0
mulss xmm0, dword [0x101503a4]
mulsd xmm4, qword [0x101503e0]
addss xmm0, xmm1
movd xmm1, dword [0xc17048]
cvtdq2ps xmm1, xmm1
cvtps2pd xmm2, xmm0
movaps xmm0, xmm2
subsd xmm2, xmm4
addsd xmm0, xmm4
cvtpd2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [esp + 0xc], xmm0
movaps xmm0, xmm3
mulss xmm0, dword [ebp - 0xfc]
mulss xmm3, dword [ebp - 0x100]
movss dword [esp + 8], xmm0
cvtpd2ps xmm0, xmm2
mulss xmm0, xmm1
movss dword [esp + 4], xmm0
movss dword [esp], xmm3
call ebx
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0xdc]
push eax
call esi
movss xmm0, dword [0x10150388]
add esp, 8
comiss xmm0, dword [ebp - 0x114]
jbe 0x1001b4c1
nop word [eax + eax]
lea ecx, [ebp - 0x48]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1001b466
sub ecx, edx
cmp ecx, 4
jb 0x1001b4c1
mov byte [ebp + ecx - 0x4c], 0x2e
lea ecx, [ebp - 0x48]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1001b480
sub ecx, edx
mov byte [ebp + ecx - 0x4b], 0x2e
lea ecx, [ebp - 0x48]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1001b494
sub ecx, edx
mov byte [ebp + ecx - 0x4a], 0x2e
lea ecx, [ebp - 0x48]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1001b4a8
sub ecx, edx
dec ecx
cmp ecx, 0x40
jae 0x1001b669
mov byte [ebp + ecx - 0x48], al
jmp 0x1001b460
cmp byte [0x10158281], 0
movss xmm1, dword [0x10156a08]
je 0x1001b4e4
movss xmm0, dword [0x101503b0]
divss xmm0, dword [0x101569bc]
jmp 0x1001b54a
cmp byte [0xb6f065], 0
je 0x1001b53a
movd xmm0, dword [0xc17044]
cvtdq2ps xmm0, xmm0
cvttss2si ecx, xmm0
movd xmm0, dword [0xc17048]
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm0
cmp ecx, 0x500
jne 0x1001b524
cmp eax, 0x400
jne 0x1001b524
movsd xmm2, qword [0x101503f8]
jmp 0x1001b54d
movd xmm2, eax
movd xmm0, ecx
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm0, xmm0
divsd xmm2, xmm0
jmp 0x1001b54d
movss xmm0, dword [0x101503b0]
divss xmm0, dword [0xc3efa4]
cvtps2pd xmm2, xmm0
mov eax, dword [0x105a17b8]
cmp eax, 0x2000
jge 0x1001b5cd
movss xmm0, dword [ebp - 0xf0]
imul esi, eax, 0x220
lea eax, [ebp - 0x48]
push eax
push 0x200
add esi, 0x10161780
movss dword [esi + 0xc], xmm0
lea eax, [esi + 0x20]
movss xmm0, dword [ebp - 0xf8]
movss dword [esi + 0x10], xmm0
cvtps2pd xmm0, xmm1
push eax
mov dword [esi + 1], 0x10001
mov word [esi + 5], 0
mov dword [esi + 8], 0
mov dword [esi + 0x1c], 0xffffffff
movss dword [esi + 0x18], xmm1
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [esi + 0x14], xmm0
call fcn.1002f6f4
add esp, 0xc
mov byte [esi], 1
inc dword [0x105a17b8]
movss xmm0, dword [ebp - 0xf4]
movss dword [0x101569e0], xmm0
cmp byte [0x10158283], 0
je 0x1001b62f
mov edi, dword [0x101569c0]
xor esi, esi
nop
mov ecx, dword [esi + 0x10158800]
mov edx, dword [esi + 0x10158950]
lea eax, [ecx + edi]
cmp eax, edx
jge 0x1001b611
inc ecx
lea eax, [ecx + edi]
cmp eax, edx
jl 0x1001b603
mov dword [esi + 0x10158800], ecx
cmp ecx, edx
jle 0x1001b620
dec ecx
cmp ecx, edx
jg 0x1001b615
mov dword [esi + 0x10158800], ecx
add esi, 4
cmp esi, 0x40
jl 0x1001b5f0
mov byte [0x10158283], 0
cmp byte [0x101587b9], 0
je 0x1001b658
movss xmm0, dword [ebp - 0x13c]
movss dword [0x10156ba0], xmm0
movss xmm0, dword [ebp - 0x140]
movss dword [0x101569d0], xmm0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100244b6
mov esp, ebp
pop ebp
ret
call fcn.100245f9
int3