Function at 0x100115c0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x50
mov eax, dword [0x10156054]
xor eax, ebp
mov dword [ebp - 4], eax
movaps xmm0, xmmword [0x101504e0]
xor ecx, ecx
push esi
push edi
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0x5f5f5201
mov byte [ebp - 8], 0x72
nop dword [eax]
mov al, byte [ebp + ecx - 0x1c]
lea ecx, [ecx + 1]
xor al, 0x72
mov byte [ecx + 0x105a1b7f], al
cmp byte [ecx + 0x105a1b7f], 0
jne 0x10011600
mov edx, dword [0x10158db4]
mov esi, 1
mov ecx, dword [0x10158804]
movss xmm5, dword [0x101503a0]
movss xmm6, dword [0x10150394]
movss xmm7, dword [0x10150398]
mov edi, dword [0x1015828c]
cmp ecx, edx
jle 0x10011660
mov esi, dword [0x10158294]
inc edx
movss xmm4, dword [0x10156a08]
inc esi
jmp 0x1001179b
mov eax, dword [0x101569c0]
add eax, ecx
cmp eax, edx
jl 0x1001164b
xor al, al
mov ecx, 0xff
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xc], ecx
cmp dword [0x10158954], edx
jne 0x10011691
cmp edi, 1
movzx eax, al
mov ecx, esi
cmovg eax, esi
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x50], eax
cmp edi, 1
jne 0x100117e9
call fcn.10017a80
movss xmm4, dword [0x10156a08]
xorps xmm3, xmm3
cvtps2pd xmm1, xmm4
mulsd xmm0, xmm1
cvtsd2ss xmm3, xmm0
call fcn.10019cd0
mov ecx, dword [0x105a17b8]
cmp ecx, 0x2000
jge 0x10011780
movss xmm1, dword [0x101569d0]
sub edx, dword [0x10158804]
addss xmm1, xmm5
mov eax, dword [ebp - 0xc]
imul esi, ecx, 0x220
push 0x105a1b80
push 0x200
addss xmm1, xmm6
add esi, 0x10161780
addss xmm1, xmm7
movss dword [esi + 0xc], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov byte [esi + 0x1c], al
mov byte [esi + 0x1d], al
mov byte [esi + 0x1e], al
lea eax, [esi + 0x20]
push eax
mov dword [esi + 1], edi
mulss xmm0, xmm5
mov word [esi + 5], 0
mov dword [esi + 8], 0
movss dword [esi + 0x14], xmm3
addss xmm1, xmm0
movss dword [esi + 0x18], xmm4
mov byte [esi + 0x1f], 0xff
movss dword [esi + 0x10], xmm1
call fcn.1002f6f4
mov edx, dword [0x10158db4]
add esp, 0xc
inc dword [0x105a17b8]
mov edi, dword [0x1015828c]
movss xmm4, dword [0x10156a08]
movss xmm5, dword [0x101503a0]
movss xmm6, dword [0x10150394]
movss xmm7, dword [0x10150398]
mov byte [esi], 1
mov eax, dword [ebp - 0x50]
mov esi, dword [0x10158294]
inc edx
inc esi
test al, al
mov eax, 1
cmovne edi, eax
mov dword [0x1015828c], edi
mov dword [0x10158db4], edx
xor ecx, ecx
mov dword [0x10158294], esi
mov dword [ebp - 0x10], 0x1c171e34
mov dword [ebp - 0xc], 0x111b0006
mov byte [ebp - 8], 0x72
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x10]
lea ecx, [ecx + 1]
xor al, 0x72
mov byte [ecx + 0x105a18f3], al
cmp byte [ecx + 0x105a18f3], 0
jne 0x100117c0
mov ecx, dword [0x10158804]
cmp ecx, edx
jle 0x100117f3
inc edx
inc esi
jmp 0x10011919
movss xmm4, dword [0x10156a08]
jmp 0x10011783
mov eax, dword [0x101569c0]
add eax, ecx
cmp eax, edx
jge 0x10011805
inc edx
inc esi
jmp 0x10011919
xor al, al
mov ecx, 0xff
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xc], ecx
cmp dword [0x10158954], edx
jne 0x1001182d
mov ecx, 1
movzx eax, al
cmp edi, ecx
mov dword [ebp - 0xc], ecx
cmovg eax, ecx
mov dword [ebp - 0x50], eax
cmp edi, 1
jne 0x10011907
call fcn.10017a80
xorps xmm1, xmm1
xorps xmm3, xmm3
cvtss2sd xmm1, xmm4
mulsd xmm0, xmm1
cvtsd2ss xmm3, xmm0
call fcn.10019cd0
mov eax, dword [0x105a17b8]
cmp eax, 0x2000
jge 0x10011904
movss xmm1, dword [0x101569d0]
sub edx, dword [0x10158804]
addss xmm1, xmm5
imul esi, eax, 0x220
mov eax, dword [ebp - 0xc]
push 0x105a18f4
push 0x200
addss xmm1, xmm6
add esi, 0x10161780
movss dword [esi + 0xc], xmm0
addss xmm1, xmm7
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov byte [esi + 0x1c], al
mov byte [esi + 0x1d], al
mov byte [esi + 0x1e], al
lea eax, [esi + 0x20]
push eax
mov dword [esi + 1], edi
mulss xmm0, xmm5
mov word [esi + 5], 0
mov dword [esi + 8], 0
movss dword [esi + 0x14], xmm3
addss xmm1, xmm0
movss dword [esi + 0x18], xmm4
mov byte [esi + 0x1f], 0xff
movss dword [esi + 0x10], xmm1
call fcn.1002f6f4
mov edx, dword [0x10158db4]
add esp, 0xc
inc dword [0x105a17b8]
mov edi, dword [0x1015828c]
movss xmm4, dword [0x10156a08]
mov byte [esi], 1
mov esi, dword [0x10158294]
mov eax, dword [ebp - 0x50]
inc edx
inc esi
test al, al
mov eax, 1
cmovne edi, eax
mov dword [0x1015828c], edi
mov dword [0x10158db4], edx
xor ecx, ecx
mov dword [0x10158294], esi
mov dword [ebp - 0x10], 0x2171738
mov dword [ebp - 0xc], 0x3b3f350b
mov byte [ebp - 8], 0x72
nop dword [eax]
mov al, byte [ebp + ecx - 0x10]
lea ecx, [ecx + 1]
xor al, 0x72
mov byte [ecx + 0x105a1b6f], al
cmp byte [ecx + 0x105a1b6f], 0
jne 0x10011940
mov ecx, dword [0x10158804]
cmp ecx, edx
jle 0x10011969
inc edx
inc esi
jmp 0x10011a9f
mov eax, dword [0x101569c0]
add eax, ecx
cmp eax, edx
jge 0x1001197b
inc edx
inc esi
jmp 0x10011a9f
xor al, al
mov ecx, 0xff
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xc], ecx
cmp dword [0x10158954], edx
jne 0x100119a3
mov ecx, 1
movzx eax, al
cmp edi, ecx
mov dword [ebp - 0xc], ecx
cmovg eax, ecx
mov dword [ebp - 0x50], eax
cmp edi, 1
jne 0x10011a8d
call fcn.10017a80
xorps xmm1, xmm1
xorps xmm3, xmm3
cvtss2sd xmm1, xmm4
mulsd xmm0, xmm1
cvtsd2ss xmm3, xmm0
call fcn.10019cd0
mov eax, dword [0x105a17b8]
cmp eax, 0x2000
jge 0x10011a8a
movss xmm1, dword [0x101569d0]
addss xmm1, dword [0x101503a0]
sub edx, dword [0x10158804]
imul esi, eax, 0x220
mov eax, dword [ebp - 0xc]
push 0x105a1b70
addss xmm1, dword [0x10150394]
push 0x200
add esi, 0x10161780
addss xmm1, dword [0x10150398]
movss dword [esi + 0xc], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov byte [esi + 0x1c], al
mov byte [esi + 0x1d], al
mov byte [esi + 0x1e], al
lea eax, [esi + 0x20]
push eax
mov dword [esi + 1], edi
mulss xmm0, dword [0x101503a0]
mov word [esi + 5], 0
mov dword [esi + 8], 0
movss dword [esi + 0x14], xmm3
addss xmm1, xmm0
movss dword [esi + 0x18], xmm4
mov byte [esi + 0x1f], 0xff
movss dword [esi + 0x10], xmm1
call fcn.1002f6f4
mov edx, dword [0x10158db4]
add esp, 0xc
inc dword [0x105a17b8]
mov edi, dword [0x1015828c]
movss xmm4, dword [0x10156a08]
mov byte [esi], 1
mov esi, dword [0x10158294]
mov eax, dword [ebp - 0x50]
inc edx
inc esi
test al, al
mov eax, 1
cmovne edi, eax
mov dword [0x1015828c], edi
mov dword [0x10158db4], edx
xor ecx, ecx
mov dword [0x10158294], esi
mov dword [ebp - 0x10], 0x7000739
mov word [ebp - 0xc], 0x213a
mov byte [ebp - 0xa], 0x72
nop
mov al, byte [ebp + ecx - 0x10]
lea ecx, [ecx + 1]
xor al, 0x72
mov byte [ecx + 0x105a18ff], al
cmp byte [ecx + 0x105a18ff], 0
jne 0x10011ac0
mov ecx, dword [0x10158804]
cmp ecx, edx
jle 0x10011ae9
inc edx
inc esi
jmp 0x10011c1f
mov eax, dword [0x101569c0]
add eax, ecx
cmp eax, edx
jge 0x10011afb
inc edx
inc esi
jmp 0x10011c1f
xor al, al
mov ecx, 0xff
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xc], ecx
cmp dword [0x10158954], edx
jne 0x10011b23
mov ecx, 1
movzx eax, al
cmp edi, ecx
mov dword [ebp - 0xc], ecx
cmovg eax, ecx
mov dword [ebp - 0x50], eax
cmp edi, 1
jne 0x10011c0d
call fcn.10017a80
xorps xmm1, xmm1
xorps xmm3, xmm3
cvtss2sd xmm1, xmm4
mulsd xmm0, xmm1
cvtsd2ss xmm3, xmm0
call fcn.10019cd0
mov eax, dword [0x105a17b8]
cmp eax, 0x2000
jge 0x10011c0a
movss xmm1, dword [0x101569d0]
addss xmm1, dword [0x101503a0]
sub edx, dword [0x10158804]
imul esi, eax, 0x220
mov eax, dword [ebp - 0xc]
push 0x105a1900
addss xmm1, dword [0x10150394]
push 0x200
add esi, 0x10161780
addss xmm1, dword [0x10150398]
movss dword [esi + 0xc], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov byte [esi + 0x1c], al
mov byte [esi + 0x1d], al
mov byte [esi + 0x1e], al
lea eax, [esi + 0x20]
push eax
mov dword [esi + 1], edi
mulss xmm0, dword [0x101503a0]
mov word [esi + 5], 0
mov dword [esi + 8], 0
movss dword [esi + 0x14], xmm3
addss xmm1, xmm0
movss dword [esi + 0x18], xmm4
mov byte [esi + 0x1f], 0xff
movss dword [esi + 0x10], xmm1
call fcn.1002f6f4
mov edx, dword [0x10158db4]
add esp, 0xc
inc dword [0x105a17b8]
mov edi, dword [0x1015828c]
movss xmm4, dword [0x10156a08]
mov byte [esi], 1
mov esi, dword [0x10158294]
mov eax, dword [ebp - 0x50]
inc edx
inc esi
test al, al
mov eax, 1
cmovne edi, eax
mov dword [0x1015828c], edi
movaps xmm0, xmmword [0x10150500]
xor ecx, ecx
mov dword [0x10158db4], edx
mov dword [0x10158294], esi
movups xmmword [ebp - 0x1c], xmm0
mov word [ebp - 0xc], 0x17
mov byte [ebp - 0xa], 0x72
mov al, byte [ebp + ecx - 0x1c]
lea ecx, [ecx + 1]
xor al, 0x72
mov byte [ecx + 0x105a192f], al
cmp byte [ecx + 0x105a192f], 0
jne 0x10011c42
mov ecx, dword [0x10158804]
cmp ecx, edx
jle 0x10011c6b
inc edx
inc esi
jmp 0x10011da1
mov eax, dword [0x101569c0]
add eax, ecx
cmp eax, edx
jge 0x10011c7d
inc edx
inc esi
jmp 0x10011da1
xor al, al
mov ecx, 0xff
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xc], ecx
cmp dword [0x10158954], edx
jne 0x10011ca5
mov ecx, 1
movzx eax, al
cmp edi, ecx
mov dword [ebp - 0xc], ecx
cmovg eax, ecx
mov dword [ebp - 0x50], eax
cmp edi, 1
jne 0x10011d8f
call fcn.10017a80
xorps xmm1, xmm1
xorps xmm3, xmm3
cvtss2sd xmm1, xmm4
mulsd xmm0, xmm1
cvtsd2ss xmm3, xmm0
call fcn.10019cd0
mov eax, dword [0x105a17b8]
cmp eax, 0x2000
jge 0x10011d8c
movss xmm1, dword [0x101569d0]
addss xmm1, dword [0x101503a0]
sub edx, dword [0x10158804]
imul esi, eax, 0x220
mov eax, dword [ebp - 0xc]
push 0x105a1930
addss xmm1, dword [0x10150394]
push 0x200
add esi, 0x10161780
addss xmm1, dword [0x10150398]
movss dword [esi + 0xc], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov byte [esi + 0x1c], al
mov byte [esi + 0x1d], al
mov byte [esi + 0x1e], al
lea eax, [esi + 0x20]
push eax
mov dword [esi + 1], edi
mulss xmm0, dword [0x101503a0]
mov word [esi + 5], 0
mov dword [esi + 8], 0
movss dword [esi + 0x14], xmm3
addss xmm1, xmm0
movss dword [esi + 0x18], xmm4
mov byte [esi + 0x1f], 0xff
movss dword [esi + 0x10], xmm1
call fcn.1002f6f4
mov edx, dword [0x10158db4]
add esp, 0xc
inc dword [0x105a17b8]
mov edi, dword [0x1015828c]
movss xmm4, dword [0x10156a08]
mov byte [esi], 1
mov esi, dword [0x10158294]
mov eax, dword [ebp - 0x50]
inc edx
inc esi
test al, al
mov eax, 1
cmovne edi, eax
mov dword [0x1015828c], edi
mov dword [0x10158db4], edx
xor ecx, ecx
mov dword [0x10158294], esi
mov dword [ebp - 0x14], 0x13061722
mov dword [ebp - 0x10], 0x73e5200
mov dword [ebp - 0xc], 0x72111b11
mov al, byte [ebp + ecx - 0x14]
lea ecx, [ecx + 1]
xor al, 0x72
mov byte [ecx + 0x105a18e7], al
cmp byte [ecx + 0x105a18e7], 0
jne 0x10011dc4
mov ecx, dword [0x10158804]
cmp ecx, edx
jle 0x10011ded
inc edx
inc esi
jmp 0x10011f23
mov eax, dword [0x101569c0]
add eax, ecx
cmp eax, edx
jge 0x10011dff
inc edx
inc esi
jmp 0x10011f23
xor al, al
mov ecx, 0xff
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xc], ecx
cmp dword [0x10158954], edx
jne 0x10011e27
mov ecx, 1
movzx eax, al
cmp edi, ecx
mov dword [ebp - 0xc], ecx
cmovg eax, ecx
mov dword [ebp - 0x50], eax
cmp edi, 1
jne 0x10011f11
call fcn.10017a80
xorps xmm1, xmm1
xorps xmm3, xmm3
cvtss2sd xmm1, xmm4
mulsd xmm0, xmm1
cvtsd2ss xmm3, xmm0
call fcn.10019cd0
mov eax, dword [0x105a17b8]
cmp eax, 0x2000
jge 0x10011f0e
movss xmm1, dword [0x101569d0]
addss xmm1, dword [0x101503a0]
sub edx, dword [0x10158804]
imul esi, eax, 0x220
mov eax, dword [ebp - 0xc]
push 0x105a18e8
addss xmm1, dword [0x10150394]
push 0x200
add esi, 0x10161780
addss xmm1, dword [0x10150398]
movss dword [esi + 0xc], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov byte [esi + 0x1c], al
mov byte [esi + 0x1d], al
mov byte [esi + 0x1e], al
lea eax, [esi + 0x20]
push eax
mov dword [esi + 1], edi
mulss xmm0, dword [0x101503a0]
mov word [esi + 5], 0
mov dword [esi + 8], 0
movss dword [esi + 0x14], xmm3
addss xmm1, xmm0
movss dword [esi + 0x18], xmm4
mov byte [esi + 0x1f], 0xff
movss dword [esi + 0x10], xmm1
call fcn.1002f6f4
mov edx, dword [0x10158db4]
add esp, 0xc
inc dword [0x105a17b8]
mov edi, dword [0x1015828c]
movss xmm4, dword [0x10156a08]
mov byte [esi], 1
mov esi, dword [0x10158294]
mov eax, dword [ebp - 0x50]
inc edx
inc esi
test al, al
mov eax, 1
cmovne edi, eax
mov dword [0x1015828c], edi
movaps xmm0, xmmword [0x101504b0]
xor ecx, ecx
mov dword [0x10158db4], edx
mov dword [0x10158294], esi
movups xmmword [ebp - 0x1c], xmm0
mov word [ebp - 0xc], 0x7206
mov al, byte [ebp + ecx - 0x1c]
lea ecx, [ecx + 1]
xor al, 0x72
mov byte [ecx + 0x105a194f], al
cmp byte [ecx + 0x105a194f], 0
jne 0x10011f42
mov ecx, dword [0x10158804]
cmp ecx, edx
jle 0x10011f6b
inc edx
inc esi
jmp 0x100120a1
mov eax, dword [0x101569c0]
add eax, ecx
cmp eax, edx
jge 0x10011f7d
inc edx
inc esi
jmp 0x100120a1
xor al, al
mov ecx, 0xff
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xc], ecx
cmp dword [0x10158954], edx
jne 0x10011fa5
mov ecx, 1
movzx eax, al
cmp edi, ecx
mov dword [ebp - 0xc], ecx
cmovg eax, ecx
mov dword [ebp - 0x50], eax
cmp edi, 1
jne 0x1001208f
call fcn.10017a80
xorps xmm1, xmm1
xorps xmm3, xmm3
cvtss2sd xmm1, xmm4
mulsd xmm0, xmm1
cvtsd2ss xmm3, xmm0
call fcn.10019cd0
mov eax, dword [0x105a17b8]
cmp eax, 0x2000
jge 0x1001208c
movss xmm1, dword [0x101569d0]
addss xmm1, dword [0x101503a0]
sub edx, dword [0x10158804]
imul esi, eax, 0x220
mov eax, dword [ebp - 0xc]
push 0x105a1950
addss xmm1, dword [0x10150394]
push 0x200
add esi, 0x10161780
addss xmm1, dword [0x10150398]
movss dword [esi + 0xc], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov byte [esi + 0x1c], al
mov byte [esi + 0x1d], al
mov byte [esi + 0x1e], al
lea eax, [esi + 0x20]
push eax
mov dword [esi + 1], edi
mulss xmm0, dword [0x101503a0]
mov word [esi + 5], 0
mov dword [esi + 8], 0
movss dword [esi + 0x14], xmm3
addss xmm1, xmm0
movss dword [esi + 0x18], xmm4
mov byte [esi + 0x1f], 0xff
movss dword [esi + 0x10], xmm1
call fcn.1002f6f4
mov edx, dword [0x10158db4]
add esp, 0xc
inc dword [0x105a17b8]
mov edi, dword [0x1015828c]
movss xmm4, dword [0x10156a08]
mov byte [esi], 1
mov esi, dword [0x10158294]
mov eax, dword [ebp - 0x50]
inc edx
inc esi
test al, al
mov eax, 1
cmovne edi, eax
mov dword [0x1015828c], edi
movaps xmm0, xmmword [0x101504d0]
xor ecx, ecx
mov dword [0x10158db4], edx
mov dword [0x10158294], esi
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0x5f5f5201
mov byte [ebp - 8], 0x72
mov al, byte [ebp + ecx - 0x1c]
lea ecx, [ecx + 1]
xor al, 0x72
mov byte [ecx + 0x105a18cf], al
cmp byte [ecx + 0x105a18cf], 0
jne 0x100120c5
mov ecx, dword [0x10158804]
cmp ecx, edx
jle 0x100120ee
inc edx
inc esi
jmp 0x10012224
mov eax, dword [0x101569c0]
add eax, ecx
cmp eax, edx
jge 0x10012100
inc edx
inc esi
jmp 0x10012224
xor al, al
mov ecx, 0xff
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xc], ecx
cmp dword [0x10158954], edx
jne 0x10012128
mov ecx, 1
movzx eax, al
cmp edi, ecx
mov dword [ebp - 0xc], ecx
cmovg eax, ecx
mov dword [ebp - 0x50], eax
cmp edi, 1
jne 0x10012212
call fcn.10017a80
xorps xmm1, xmm1
xorps xmm3, xmm3
cvtss2sd xmm1, xmm4
mulsd xmm0, xmm1
cvtsd2ss xmm3, xmm0
call fcn.10019cd0
mov eax, dword [0x105a17b8]
cmp eax, 0x2000
jge 0x1001220f
movss xmm1, dword [0x101569d0]
addss xmm1, dword [0x101503a0]
sub edx, dword [0x10158804]
imul esi, eax, 0x220
mov eax, dword [ebp - 0xc]
push 0x105a18d0
addss xmm1, dword [0x10150394]
push 0x200
add esi, 0x10161780
addss xmm1, dword [0x10150398]
movss dword [esi + 0xc], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov byte [esi + 0x1c], al
mov byte [esi + 0x1d], al
mov byte [esi + 0x1e], al
lea eax, [esi + 0x20]
push eax
mov dword [esi + 1], edi
mulss xmm0, dword [0x101503a0]
mov word [esi + 5], 0
mov dword [esi + 8], 0
movss dword [esi + 0x14], xmm3
addss xmm1, xmm0
movss dword [esi + 0x18], xmm4
mov byte [esi + 0x1f], 0xff
movss dword [esi + 0x10], xmm1
call fcn.1002f6f4
mov edx, dword [0x10158db4]
add esp, 0xc
inc dword [0x105a17b8]
mov edi, dword [0x1015828c]
movss xmm4, dword [0x10156a08]
mov byte [esi], 1
mov esi, dword [0x10158294]
mov eax, dword [ebp - 0x50]
inc edx
inc esi
test al, al
mov eax, 1
cmovne edi, eax
mov dword [0x1015828c], edi
mov dword [0x10158db4], edx
xor ecx, ecx
mov dword [0x10158294], esi
mov dword [ebp - 0x10], 0x1a111739
mov dword [ebp - 0xc], 0x131f1d1b
mov byte [ebp - 8], 0x72
mov al, byte [ebp + ecx - 0x10]
lea ecx, [ecx + 1]
xor al, 0x72
mov byte [ecx + 0x105a1967], al
cmp byte [ecx + 0x105a1967], 0
jne 0x10012244
mov ecx, dword [0x10158804]
cmp ecx, edx
jle 0x1001226d
inc edx
inc esi
jmp 0x100123a3
mov eax, dword [0x101569c0]
add eax, ecx
cmp eax, edx
jge 0x1001227f
inc edx
inc esi
jmp 0x100123a3
xor al, al
mov ecx, 0xff
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xc], ecx
cmp dword [0x10158954], edx
jne 0x100122a7
mov ecx, 1
movzx eax, al
cmp edi, ecx
mov dword [ebp - 0xc], ecx
cmovg eax, ecx
mov dword [ebp - 0x50], eax
cmp edi, 1
jne 0x10012391
call fcn.10017a80
xorps xmm1, xmm1
xorps xmm3, xmm3
cvtss2sd xmm1, xmm4
mulsd xmm0, xmm1
cvtsd2ss xmm3, xmm0
call fcn.10019cd0
mov eax, dword [0x105a17b8]
cmp eax, 0x2000
jge 0x1001238e
movss xmm1, dword [0x101569d0]
addss xmm1, dword [0x101503a0]
sub edx, dword [0x10158804]
imul esi, eax, 0x220
mov eax, dword [ebp - 0xc]
push 0x105a1968
addss xmm1, dword [0x10150394]
push 0x200
add esi, 0x10161780
addss xmm1, dword [0x10150398]
movss dword [esi + 0xc], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov byte [esi + 0x1c], al
mov byte [esi + 0x1d], al
mov byte [esi + 0x1e], al
lea eax, [esi + 0x20]
push eax
mov dword [esi + 1], edi
mulss xmm0, dword [0x101503a0]
mov word [esi + 5], 0
mov dword [esi + 8], 0
movss dword [esi + 0x14], xmm3
addss xmm1, xmm0
movss dword [esi + 0x18], xmm4
mov byte [esi + 0x1f], 0xff
movss dword [esi + 0x10], xmm1
call fcn.1002f6f4
mov edx, dword [0x10158db4]
add esp, 0xc
inc dword [0x105a17b8]
mov edi, dword [0x1015828c]
movss xmm4, dword [0x10156a08]
mov byte [esi], 1
mov esi, dword [0x10158294]
mov eax, dword [ebp - 0x50]
inc edx
inc esi
test al, al
mov eax, 1
cmovne edi, eax
mov dword [0x1015828c], edi
mov dword [0x10158db4], edx
xor ecx, ecx
mov dword [0x10158294], esi
mov dword [ebp - 0x14], 0x1e1e1b05
mov dword [ebp - 0x10], 0x101b1552
mov dword [ebp - 0xc], 0x721c1d01
mov al, byte [ebp + ecx - 0x14]
lea ecx, [ecx + 1]
xor al, 0x72
mov byte [ecx + 0x105a197b], al
cmp byte [ecx + 0x105a197b], 0
jne 0x100123c6
mov ecx, dword [0x10158804]
cmp ecx, edx
jle 0x100123ef
inc edx
inc esi
jmp 0x10012525
mov eax, dword [0x101569c0]
add eax, ecx
cmp eax, edx
jge 0x10012401
inc edx
inc esi
jmp 0x10012525
xor al, al
mov ecx, 0xff
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xc], ecx
cmp dword [0x10158954], edx
jne 0x10012429
mov ecx, 1
movzx eax, al
cmp edi, ecx
mov dword [ebp - 0xc], ecx
cmovg eax, ecx
mov dword [ebp - 0x50], eax
cmp edi, 1
jne 0x10012513
call fcn.10017a80
xorps xmm1, xmm1
xorps xmm3, xmm3
cvtss2sd xmm1, xmm4
mulsd xmm0, xmm1
cvtsd2ss xmm3, xmm0
call fcn.10019cd0
mov eax, dword [0x105a17b8]
cmp eax, 0x2000
jge 0x10012510
movss xmm1, dword [0x101569d0]
addss xmm1, dword [0x101503a0]
sub edx, dword [0x10158804]
imul esi, eax, 0x220
mov eax, dword [ebp - 0xc]
push 0x105a197c
addss xmm1, dword [0x10150394]
push 0x200
add esi, 0x10161780
addss xmm1, dword [0x10150398]
movss dword [esi + 0xc], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov byte [esi + 0x1c], al
mov byte [esi + 0x1d], al
mov byte [esi + 0x1e], al
lea eax, [esi + 0x20]
push eax
mov dword [esi + 1], edi
mulss xmm0, dword [0x101503a0]
mov word [esi + 5], 0
mov dword [esi + 8], 0
movss dword [esi + 0x14], xmm3
addss xmm1, xmm0
movss dword [esi + 0x18], xmm4
mov byte [esi + 0x1f], 0xff
movss dword [esi + 0x10], xmm1
call fcn.1002f6f4
mov edx, dword [0x10158db4]
add esp, 0xc
inc dword [0x105a17b8]
mov edi, dword [0x1015828c]
movss xmm4, dword [0x10156a08]
mov byte [esi], 1
mov esi, dword [0x10158294]
mov eax, dword [ebp - 0x50]
inc edx
inc esi
test al, al
mov eax, 1
cmovne edi, eax
mov dword [0x1015828c], edi
movaps xmm0, xmmword [str.__Re]
xor ecx, ecx
mov dword [0x10158db4], edx
mov dword [0x10158294], esi
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0x5f5f5201
mov byte [ebp - 8], 0x72
nop dword [eax]
mov al, byte [ebp + ecx - 0x1c]
lea ecx, [ecx + 1]
xor al, 0x72
mov byte [ecx + 0x105a199f], al
cmp byte [ecx + 0x105a199f], 0
jne 0x10012550
mov ecx, dword [0x10158804]
cmp ecx, edx
jle 0x10012579
inc edx
inc esi
jmp 0x100126af
mov eax, dword [0x101569c0]
add eax, ecx
cmp eax, edx
jge 0x1001258b
inc edx
inc esi
jmp 0x100126af
xor al, al
mov ecx, 0xff
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xc], ecx
cmp dword [0x10158954], edx
jne 0x100125b3
mov ecx, 1
movzx eax, al
cmp edi, ecx
mov dword [ebp - 0xc], ecx
cmovg eax, ecx
mov dword [ebp - 0x50], eax
cmp edi, 1
jne 0x1001269d
call fcn.10017a80
xorps xmm1, xmm1
xorps xmm3, xmm3
cvtss2sd xmm1, xmm4
mulsd xmm0, xmm1
cvtsd2ss xmm3, xmm0
call fcn.10019cd0
mov eax, dword [0x105a17b8]
cmp eax, 0x2000
jge 0x1001269a
movss xmm1, dword [0x101569d0]
addss xmm1, dword [0x101503a0]
sub edx, dword [0x10158804]
imul esi, eax, 0x220
mov eax, dword [ebp - 0xc]
push 0x105a19a0
addss xmm1, dword [0x10150394]
push 0x200
add esi, 0x10161780
addss xmm1, dword [0x10150398]
movss dword [esi + 0xc], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov byte [esi + 0x1c], al
mov byte [esi + 0x1d], al
mov byte [esi + 0x1e], al
lea eax, [esi + 0x20]
push eax
mov dword [esi + 1], edi
mulss xmm0, dword [0x101503a0]
mov word [esi + 5], 0
mov dword [esi + 8], 0
movss dword [esi + 0x14], xmm3
addss xmm1, xmm0
movss dword [esi + 0x18], xmm4
mov byte [esi + 0x1f], 0xff
movss dword [esi + 0x10], xmm1
call fcn.1002f6f4
mov edx, dword [0x10158db4]
add esp, 0xc
inc dword [0x105a17b8]
mov edi, dword [0x1015828c]
movss xmm4, dword [0x10156a08]
mov byte [esi], 1
mov esi, dword [0x10158294]
mov eax, dword [ebp - 0x50]
inc edx
inc esi
test al, al
mov eax, 1
cmovne edi, eax
mov dword [0x1015828c], edi
mov dword [0x10158db4], edx
xor ecx, ecx
mov dword [0x10158294], esi
mov dword [ebp - 0xc], 0x1c1d173e
mov byte [ebp - 8], 0x72
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0xc]
lea ecx, [ecx + 1]
xor al, 0x72
mov byte [ecx + 0x105a1987], al
cmp byte [ecx + 0x105a1987], 0
jne 0x100126d0
mov ecx, dword [0x10158804]
cmp ecx, edx
jle 0x100126f9
inc edx
inc esi
jmp 0x1001282f
mov eax, dword [0x101569c0]
add eax, ecx
cmp eax, edx
jge 0x1001270b
inc edx
inc esi
jmp 0x1001282f
xor al, al
mov ecx, 0xff
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xc], ecx
cmp dword [0x10158954], edx
jne 0x10012733
mov ecx, 1
movzx eax, al
cmp edi, ecx
mov dword [ebp - 0xc], ecx
cmovg eax, ecx
mov dword [ebp - 0x50], eax
cmp edi, 1
jne 0x1001281d
call fcn.10017a80
xorps xmm1, xmm1
xorps xmm3, xmm3
cvtss2sd xmm1, xmm4
mulsd xmm0, xmm1
cvtsd2ss xmm3, xmm0
call fcn.10019cd0
mov eax, dword [0x105a17b8]
cmp eax, 0x2000
jge 0x1001281a
movss xmm1, dword [0x101569d0]
addss xmm1, dword [0x101503a0]
sub edx, dword [0x10158804]
imul esi, eax, 0x220
mov eax, dword [ebp - 0xc]
push 0x105a1988
addss xmm1, dword [0x10150394]
push 0x200
add esi, 0x10161780
addss xmm1, dword [0x10150398]
movss dword [esi + 0xc], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov byte [esi + 0x1c], al
mov byte [esi + 0x1d], al
mov byte [esi + 0x1e], al
lea eax, [esi + 0x20]
push eax
mov dword [esi + 1], edi
mulss xmm0, dword [0x101503a0]
mov word [esi + 5], 0
mov dword [esi + 8], 0
movss dword [esi + 0x14], xmm3
addss xmm1, xmm0
movss dword [esi + 0x18], xmm4
mov byte [esi + 0x1f], 0xff
movss dword [esi + 0x10], xmm1
call fcn.1002f6f4
mov edx, dword [0x10158db4]
add esp, 0xc
inc dword [0x105a17b8]
mov edi, dword [0x1015828c]
movss xmm4, dword [0x10156a08]
mov byte [esi], 1
mov esi, dword [0x10158294]
mov eax, dword [ebp - 0x50]
inc edx
inc esi
test al, al
mov eax, 1
cmovne edi, eax
mov dword [0x1015828c], edi
movaps xmm0, xmmword [0x10150520]
xor ecx, ecx
mov dword [0x10158db4], edx
mov dword [0x10158294], esi
movups xmmword [ebp - 0x18], xmm0
nop dword [eax + eax]
mov al, byte [ebp + ecx - 0x18]
lea ecx, [ecx + 1]
xor al, 0x72
mov byte [ecx + 0x105a1b2f], al
cmp byte [ecx + 0x105a1b2f], 0
jne 0x10012850
mov ecx, dword [0x10158804]
cmp ecx, edx
jle 0x10012879
inc edx
inc esi
jmp 0x100129af
mov eax, dword [0x101569c0]
add eax, ecx
cmp eax, edx
jge 0x1001288b
inc edx
inc esi
jmp 0x100129af
xor al, al
mov ecx, 0xff
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xc], ecx
cmp dword [0x10158954], edx
jne 0x100128b3
mov ecx, 1
movzx eax, al
cmp edi, ecx
mov dword [ebp - 0xc], ecx
cmovg eax, ecx
mov dword [ebp - 0x50], eax
cmp edi, 1
jne 0x1001299d
call fcn.10017a80
xorps xmm1, xmm1
xorps xmm3, xmm3
cvtss2sd xmm1, xmm4
mulsd xmm0, xmm1
cvtsd2ss xmm3, xmm0
call fcn.10019cd0
mov eax, dword [0x105a17b8]
cmp eax, 0x2000
jge 0x1001299a
movss xmm1, dword [0x101569d0]
addss xmm1, dword [0x101503a0]
sub edx, dword [0x10158804]
imul esi, eax, 0x220
mov eax, dword [ebp - 0xc]
push 0x105a1b30
addss xmm1, dword [0x10150394]
push 0x200
add esi, 0x10161780
addss xmm1, dword [0x10150398]
movss dword [esi + 0xc], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov byte [esi + 0x1c], al
mov byte [esi + 0x1d], al
mov byte [esi + 0x1e], al
lea eax, [esi + 0x20]
push eax
mov dword [esi + 1], edi
mulss xmm0, dword [0x101503a0]
mov word [esi + 5], 0
mov dword [esi + 8], 0
movss dword [esi + 0x14], xmm3
addss xmm1, xmm0
movss dword [esi + 0x18], xmm4
mov byte [esi + 0x1f], 0xff
movss dword [esi + 0x10], xmm1
call fcn.1002f6f4
mov edx, dword [0x10158db4]
add esp, 0xc
inc dword [0x105a17b8]
mov edi, dword [0x1015828c]
movss xmm4, dword [0x10156a08]
mov byte [esi], 1
mov esi, dword [0x10158294]
mov eax, dword [ebp - 0x50]
inc edx
inc esi
test al, al
mov eax, 1
cmovne edi, eax
mov dword [0x1015828c], edi
mov dword [0x10158db4], edx
xor ecx, ecx
mov dword [0x10158294], esi
mov dword [ebp - 0x14], 0x170621
mov dword [ebp - 0x10], 0x7301d17
mov dword [ebp - 0xc], 0x6171911
mov byte [ebp - 8], 0x72
mov al, byte [ebp + ecx - 0x14]
lea ecx, [ecx + 1]
xor al, 0x72
mov byte [ecx + 0x105a198f], al
cmp byte [ecx + 0x105a198f], 0
jne 0x100129d6
mov ecx, dword [0x10158804]
cmp ecx, edx
jle 0x100129ff
inc edx
inc esi
jmp 0x10012b35
mov eax, dword [0x101569c0]
add eax, ecx
cmp eax, edx
jge 0x10012a11
inc edx
inc esi
jmp 0x10012b35
xor al, al
mov ecx, 0xff
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xc], ecx
cmp dword [0x10158954], edx
jne 0x10012a39
mov ecx, 1
movzx eax, al
cmp edi, ecx
mov dword [ebp - 0xc], ecx
cmovg eax, ecx
mov dword [ebp - 0x50], eax
cmp edi, 1
jne 0x10012b23
call fcn.10017a80
xorps xmm1, xmm1
xorps xmm3, xmm3
cvtss2sd xmm1, xmm4
mulsd xmm0, xmm1
cvtsd2ss xmm3, xmm0
call fcn.10019cd0
mov eax, dword [0x105a17b8]
cmp eax, 0x2000
jge 0x10012b20
movss xmm1, dword [0x101569d0]
addss xmm1, dword [0x101503a0]
sub edx, dword [0x10158804]
imul esi, eax, 0x220
mov eax, dword [ebp - 0xc]
push 0x105a1990
addss xmm1, dword [0x10150394]
push 0x200
add esi, 0x10161780
addss xmm1, dword [0x10150398]
movss dword [esi + 0xc], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov byte [esi + 0x1c], al
mov byte [esi + 0x1d], al
mov byte [esi + 0x1e], al
lea eax, [esi + 0x20]
push eax
mov dword [esi + 1], edi
mulss xmm0, dword [0x101503a0]
mov word [esi + 5], 0
mov dword [esi + 8], 0
movss dword [esi + 0x14], xmm3
addss xmm1, xmm0
movss dword [esi + 0x18], xmm4
mov byte [esi + 0x1f], 0xff
movss dword [esi + 0x10], xmm1
call fcn.1002f6f4
mov edx, dword [0x10158db4]
add esp, 0xc
inc dword [0x105a17b8]
mov edi, dword [0x1015828c]
movss xmm4, dword [0x10156a08]
mov byte [esi], 1
mov esi, dword [0x10158294]
mov eax, dword [ebp - 0x50]
inc edx
inc esi
test al, al
mov eax, 1
cmovne edi, eax
mov dword [0x1015828c], edi
movaps xmm0, xmmword [0x101504a0]
xor ecx, ecx
movups xmmword [ebp - 0x4c], xmm0
mov dword [0x10158db4], edx
movaps xmm0, xmmword [0x101504c0]
mov dword [0x10158294], esi
movups xmmword [ebp - 0x3c], xmm0
mov dword [ebp - 0x2c], 0x1d1a0152
mov dword [ebp - 0x28], 0x1a521c05
mov dword [ebp - 0x24], 0x53170017
mov byte [ebp - 0x20], 0x72
mov al, byte [ebp + ecx - 0x4c]
lea ecx, [ecx + 1]
xor al, 0x72
mov byte [ecx + 0x105a1b3f], al
cmp byte [ecx + 0x105a1b3f], 0
jne 0x10012b72
mov ecx, dword [0x10158804]
cmp ecx, edx
jg 0x10012ccb
mov eax, dword [0x101569c0]
add eax, ecx
cmp eax, edx
jl 0x10012ccb
xor al, al
mov ecx, 0xff
mov dword [ebp - 0x50], eax
mov dword [ebp - 0xc], ecx
cmp dword [0x10158954], edx
jne 0x10012bcf
mov ecx, 1
movzx eax, al
cmp edi, ecx
mov dword [ebp - 0xc], ecx
cmovg eax, ecx
mov dword [ebp - 0x50], eax
cmp edi, 1
jne 0x10012cb1
call fcn.10017a80
xorps xmm1, xmm1
xorps xmm3, xmm3
cvtss2sd xmm1, xmm4
mulsd xmm0, xmm1
cvtsd2ss xmm3, xmm0
call fcn.10019cd0
mov eax, dword [0x105a17b8]
cmp eax, 0x2000
jge 0x10012cae
movss xmm1, dword [0x101569d0]
addss xmm1, dword [0x101503a0]
sub edx, dword [0x10158804]
imul esi, eax, 0x220
mov eax, dword [ebp - 0xc]
push 0x105a1b40
addss xmm1, dword [0x10150394]
push 0x200
add esi, 0x10161780
addss xmm1, dword [0x10150398]
movss dword [esi + 0xc], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov byte [esi + 0x1c], al
mov byte [esi + 0x1d], al
mov byte [esi + 0x1e], al
lea eax, [esi + 0x20]
push eax
mov dword [esi + 1], edi
mulss xmm0, dword [0x101503a0]
mov word [esi + 5], 0
mov dword [esi + 8], 0
movss dword [esi + 0x14], xmm3
addss xmm1, xmm0
movss dword [esi + 0x18], xmm4
mov byte [esi + 0x1f], 0xff
movss dword [esi + 0x10], xmm1
call fcn.1002f6f4
mov edx, dword [0x10158db4]
add esp, 0xc
inc dword [0x105a17b8]
mov edi, dword [0x1015828c]
mov byte [esi], 1
mov esi, dword [0x10158294]
mov eax, dword [ebp - 0x50]
inc edx
inc esi
test al, al
mov dword [0x10158db4], edx
mov eax, 1
cmovne edi, eax
mov dword [0x1015828c], edi
jmp 0x10012cd9
lea eax, [edx + 1]
inc esi
mov dword [0x10158db4], eax
mov eax, 1
mov ecx, eax
mov dword [0x10158294], esi
call fcn.1000db40
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.100244b6
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret