Function at 0x180039640
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x50
mov rbx, qword [0x1800801d0]
movaps xmmword [rsp + 0x40], xmm6
mov rdi, rbx
movaps xmmword [rsp + 0x30], xmm7
cmp byte [rbx + 0xcb], 0
je 0x18003968d
test byte [rbx + 0xc], 2
jne 0x18003968d
mov byte [rbx + 0xcb], 0
mov rbx, qword [0x1800801d0]
cmp byte [rbx + 0x2f90], 0
jne 0x18003969d
mov byte [rbx + 0x2f90], 1
movss xmm0, dword [rbx + 0x2f94]
xorps xmm6, xmm6
xor esi, esi
comiss xmm0, xmm6
jbe 0x1800396de
subss xmm0, dword [rbx + 0x18]
comiss xmm6, xmm0
movss dword [rbx + 0x2f94], xmm0
jb 0x1800396de
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x1800396d1
call fcn.18003da00
jmp 0x1800396d8
mov byte [rbx + 0x3a4], 1
mov dword [rbx + 0x2f94], esi
inc dword [rdi + 0x1a08]
movss xmm1, dword [rdi + 0x18]
cvtps2pd xmm0, xmm1
mov byte [rdi + 0x1a14], 1
mov dword [rdi + 0x2f5c], esi
mov dword [rdi + 0x1a78], esi
addsd xmm0, qword [rdi + 0x1a00]
movsd qword [rdi + 0x1a00], xmm0
mov ecx, dword [rdi + 0x2f74]
test ecx, ecx
jns 0x18003973a
mov eax, ecx
cdq
sub eax, edx
mov edx, esi
sar eax, 1
add eax, ecx
lea rcx, [rdi + 0x2f70]
test eax, eax
cmovg edx, eax
call fcn.1800416a0
movss xmm1, dword [rdi + 0x18]
movss xmm7, dword [0x180071d08]
movaps xmm0, xmm1
mov dword [rdi + 0x2f70], esi
movsxd rax, dword [rdi + 0x31e4]
subss xmm0, dword [rdi + rax*4 + 0x3004]
addss xmm0, dword [rdi + 0x31e8]
movss dword [rdi + 0x31e8], xmm0
movss dword [rdi + rax*4 + 0x3004], xmm1
mov eax, 0x88888889
mov ecx, dword [rdi + 0x31e4]
movss xmm1, dword [rdi + 0x31e8]
inc ecx
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x78
sub ecx, eax
comiss xmm1, xmm6
mov dword [rdi + 0x31e4], ecx
jbe 0x1800397bd
divss xmm1, dword [0x1800713f8]
movss xmm0, dword [0x1800713bc]
divss xmm0, xmm1
jmp 0x1800397c0
movaps xmm0, xmm7
mov rax, qword [rdi + 0xa8]
movss dword [rdi + 0x3a8], xmm0
mov byte [rax], 1
mov rax, qword [0x1800801d0]
mov rcx, qword [rax + 0xb8]
test rcx, rcx
jne 0x1800397f3
mov rax, qword [rax + 0xa8]
mov rcx, qword [rax + 0x48]
mov rcx, qword [rcx]
call fcn.18003df30
movss xmm1, dword [rdi + 0x14]
lea rcx, [rdi + 0x1930]
movss xmm0, dword [rdi + 0x10]
mov eax, dword [rdi + 0x1614]
mov qword [rsp + 0x20], rsi
movups xmm2, xmmword [rsp + 0x20]
mov dword [rdi + 0x1944], eax
shufps xmm2, xmm2, 0xd2
movss xmm2, xmm0
shufps xmm2, xmm2, 0x27
movss xmm2, xmm1
movss xmm1, dword [rdi + 0x1618]
shufps xmm2, xmm2, 0x39
movups xmmword [rsp + 0x20], xmm2
movups xmmword [rdi + 0x194c], xmm2
call fcn.180049050
mov eax, esi
mov dword [rdi + 0x195c], esi
mov r12d, 1
cmp byte [rdi + 0x1610], sil
je 0x18003986d
mov dword [rdi + 0x195c], r12d
mov eax, r12d
cmp byte [rdi + 0x1611], sil
je 0x18003987f
or eax, 2
mov dword [rdi + 0x195c], eax
test byte [rdi + 0xc], 8
je 0x18003988e
or eax, 4
mov dword [rdi + 0x195c], eax
lea rcx, [rdi + 0x1dc8]
call fcn.1800447d0
mov rdx, qword [rdi + 0xa8]
lea rcx, [rdi + 0x1dc8]
mov rdx, qword [rdx + 8]
call fcn.180047b00
lea rcx, [rdi + 0x1dc8]
call fcn.180047a40
lea rcx, [rdi + 0x1e70]
call fcn.1800447d0
mov rdx, qword [rdi + 0xa8]
lea rcx, [rdi + 0x1e70]
mov rdx, qword [rdx + 8]
call fcn.180047b00
lea rcx, [rdi + 0x1e70]
call fcn.180047a40
mov byte [rdi + 0x1d68], sil
mov qword [rdi + 0x1d70], rsi
mov qword [rdi + 0x1d7c], rsi
mov dword [rdi + 0x1d78], esi
mov qword [rdi + 0x1d94], rsi
mov qword [rdi + 0x1d8c], rsi
mov qword [rdi + 0x1d84], rsi
cmp byte [rdi + 0x1f1c], sil
je 0x180039957
mov eax, dword [rdi + 0x1f3c]
cmp eax, dword [rdi + 0x1ac8]
jne 0x180039957
mov rcx, qword [0x1800801d0]
cmp dword [rcx + 0x1ac8], eax
jne 0x180039948
mov dword [rcx + 0x1acc], eax
cmp dword [rcx + 0x1b08], eax
jne 0x180039957
mov byte [rcx + 0x1b0c], r12b
mov eax, dword [rdi + 0x1ab4]
cmp dword [rdi + 0x1abc], esi
jne 0x18003996d
mov dword [rdi + 0x1ac0], esi
jmp 0x18003997b
mov ecx, eax
test eax, eax
je 0x180039983
cmp dword [rdi + 0x1ac8], eax
jne 0x180039983
mov dword [rdi + 0x1ac4], esi
mov ecx, eax
movss xmm2, dword [rdi + 0x18]
mov eax, dword [rdi + 0x1ac8]
test ecx, ecx
je 0x1800399bc
movaps xmm0, xmm2
addss xmm0, dword [rdi + 0x1ac0]
movss dword [rdi + 0x1ac0], xmm0
cmp eax, ecx
je 0x1800399bc
movaps xmm0, xmm2
addss xmm0, dword [rdi + 0x1ac4]
movss dword [rdi + 0x1ac4], xmm0
movaps xmm1, xmm2
mov dword [rdi + 0x1abc], ecx
mov ecx, eax
mov dword [rdi + 0x1ab4], esi
mov byte [rdi + 0x1ab8], sil
cmp dword [rdi + 0x1acc], eax
je 0x1800399f8
cmp dword [rdi + 0x1b08], eax
jne 0x1800399f8
test eax, eax
je 0x1800399f8
call fcn.1800310e0
mov ecx, dword [rdi + 0x1ac8]
movss xmm1, dword [rdi + 0x18]
test ecx, ecx
je 0x180039a0f
movaps xmm0, xmm1
addss xmm0, dword [rdi + 0x1ad0]
movss dword [rdi + 0x1ad0], xmm0
mov rax, qword [rdi + 0x1af8]
addss xmm1, dword [rdi + 0x1b1c]
mov qword [rdi + 0x1b10], rax
movzx eax, byte [rdi + 0x1ad7]
mov byte [rdi + 0x1b0d], al
mov eax, dword [rdi + 0x2f20]
movss dword [rdi + 0x1b1c], xmm1
mov dword [rdi + 0x1b08], ecx
mov dword [rdi + 0x1acc], esi
mov byte [rdi + 0x1ad8], sil
mov byte [rdi + 0x1b0c], sil
mov byte [rdi + 0x1ad4], sil
test eax, eax
je 0x180039a6f
cmp ecx, eax
je 0x180039a6f
mov dword [rdi + 0x2f20], esi
test ecx, ecx
jne 0x180039a81
mov qword [rdi + 0x1adc], rsi
mov qword [rdi + 0x1ae8], rsi
mov eax, dword [rdi + 0x1f8c]
mov dword [rdi + 0x1f90], eax
mov eax, esi
mov qword [rdi + 0x1f88], 0x7f7fffff
mov word [rdi + 0x1f1d], si
mov dword [rdi + 0x1f98], esi
mov r8, qword [0x1800801d0]
cmp byte [r8 + 0x148], sil
setne al
mov ecx, eax
or ecx, 2
cmp byte [r8 + 0x149], sil
cmove ecx, eax
mov edx, ecx
or edx, 4
cmp byte [r8 + 0x14a], sil
cmove edx, ecx
lea rcx, [rdi + 0xca8]
mov eax, edx
or eax, 8
cmp byte [r8 + 0x14b], sil
mov r8d, 0x800
cmove eax, edx
lea rdx, [rdi + 0x4a8]
mov dword [rdi + 0x3c8], eax
call fcn.180066d20
movss xmm1, dword [0x180071428]
lea rcx, [rdi + 0x14d]
lea rax, [rdi + 0x4ac]
mov edx, 0x80
nop
cmp byte [rcx - 1], sil
je 0x180039b3c
movss xmm0, dword [rax - 4]
comiss xmm6, xmm0
jbe 0x180039b35
movaps xmm0, xmm6
jmp 0x180039b3f
addss xmm0, dword [rdi + 0x18]
jmp 0x180039b3f
movaps xmm0, xmm1
movss dword [rax - 4], xmm0
cmp byte [rcx], sil
je 0x180039b5e
movss xmm0, dword [rax]
comiss xmm6, xmm0
jbe 0x180039b57
movaps xmm0, xmm6
jmp 0x180039b61
addss xmm0, dword [rdi + 0x18]
jmp 0x180039b61
movaps xmm0, xmm1
movss dword [rax], xmm0
cmp byte [rcx + 1], sil
je 0x180039b81
movss xmm0, dword [rax + 4]
comiss xmm6, xmm0
jbe 0x180039b7a
movaps xmm0, xmm6
jmp 0x180039b84
addss xmm0, dword [rdi + 0x18]
jmp 0x180039b84
movaps xmm0, xmm1
movss dword [rax + 4], xmm0
cmp byte [rcx + 2], sil
je 0x180039ba5
movss xmm0, dword [rax + 8]
comiss xmm6, xmm0
jbe 0x180039b9e
movaps xmm0, xmm6
jmp 0x180039ba8
addss xmm0, dword [rdi + 0x18]
jmp 0x180039ba8
movaps xmm0, xmm1
movss dword [rax + 8], xmm0
add rcx, 4
add rax, 0x10
sub rdx, r12
jne 0x180039b20
call fcn.180036e20
call fcn.18003f640
call fcn.18003f1a0
mov rdx, qword [0x1800801d0]
mov rcx, qword [rdx + 0x1a98]
test rcx, rcx
je 0x180039ddc
mov eax, dword [rdx + 0x1ac8]
mov dword [rdx + 0x1acc], eax
cmp dword [rdx + 0x1b08], eax
jne 0x180039bff
mov byte [rdx + 0x1b0c], r12b
mov rcx, qword [rcx + 0x368]
mov r8, qword [0x1800801d0]
cmp byte [rdx + 0x138], sil
je 0x180039d83
lea rax, [rdx + 0x130]
mov r9, rax
test rax, rax
jne 0x180039c30
lea r9, [r8 + 0x130]
movss xmm0, dword [r9]
movss xmm1, dword [0x180071d10]
comiss xmm0, xmm1
movss xmm2, dword [r9 + 4]
jb 0x180039d83
comiss xmm2, xmm1
jb 0x180039d83
movss xmm2, dword [rax]
subss xmm2, dword [rdx + 0x1af0]
movss xmm0, dword [rcx + 0x10]
movss xmm3, dword [rax + 4]
subss xmm3, dword [rdx + 0x1af4]
ucomiss xmm0, xmm2
jp 0x180039c8a
jne 0x180039c8a
movss xmm0, dword [rcx + 0x14]
ucomiss xmm0, xmm3
jp 0x180039c8a
je 0x180039d72
test dword [rcx + 0xc], 0x100
jne 0x180039ca8
comiss xmm6, dword [r8 + 0x2f94]
jb 0x180039ca8
mov eax, dword [r8 + 0x1c]
mov dword [r8 + 0x2f94], eax
mov eax, dword [rcx + 0xa4]
test r12b, al
je 0x180039d72
movss xmm0, dword [rcx + 0x10]
and eax, 0xfffffff1
movss xmm1, dword [rcx + 0x14]
mov dword [rcx + 0xa4], eax
mov dword [rcx + 0xb0], 0x7f7fffff
mov dword [rcx + 0xb4], 0x7f7fffff
cvttss2si eax, xmm2
movd xmm2, eax
cvtdq2ps xmm2, xmm2
cvttss2si eax, xmm3
movss dword [rcx + 0x10], xmm2
subss xmm2, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
movaps xmm0, xmm2
movss dword [rcx + 0x14], xmm3
subss xmm3, xmm1
addss xmm0, dword [rcx + 0xd0]
movaps xmm1, xmm3
addss xmm1, dword [rcx + 0xd4]
movss dword [rcx + 0xd0], xmm0
movaps xmm0, xmm2
addss xmm0, dword [rcx + 0xe8]
addss xmm2, dword [rcx + 0xe0]
movss dword [rcx + 0xd4], xmm1
movaps xmm1, xmm3
addss xmm1, dword [rcx + 0xec]
addss xmm3, dword [rcx + 0xe4]
movss dword [rcx + 0xe8], xmm0
movss dword [rcx + 0xe0], xmm2
movss dword [rcx + 0xec], xmm1
movss dword [rcx + 0xe4], xmm3
mov rcx, qword [rdx + 0x1a98]
call fcn.1800332e0
jmp 0x180039e16
mov ecx, dword [r8 + 0x1ac8]
test ecx, ecx
setne al
mov byte [r8 + 0x1ad4], al
test ecx, ecx
je 0x180039da9
mov dword [r8 + 0x1ad0], esi
mov word [r8 + 0x1ad6], si
mov dword [r8 + 0x1ac8], esi
mov byte [r8 + 0x1ad5], sil
mov qword [r8 + 0x1af8], rsi
mov byte [r8 + 0x1ad8], sil
mov qword [r8 + 0x1adc], rsi
mov qword [r8 + 0x1ae8], rsi
mov qword [rdx + 0x1a98], rsi
jmp 0x180039e16
mov rcx, qword [rdx + 0x1af8]
test rcx, rcx
je 0x180039e16
mov eax, dword [rdx + 0x1ac8]
cmp dword [rcx + 0x4c], eax
jne 0x180039e16
mov dword [rdx + 0x1acc], eax
cmp dword [rdx + 0x1b08], eax
jne 0x180039e08
mov byte [rdx + 0x1b0c], r12b
cmp byte [rdx + 0x138], sil
jne 0x180039e16
call fcn.1800310e0
mov rax, qword [0x1800801d0]
movsxd rcx, dword [rax + 0x1bd8]
test ecx, ecx
jle 0x180039e5c
mov r8, qword [rax + 0x1be0]
lea rdx, [rcx - 1]
lea rcx, [rdx + rdx*2]
add r8, 8
shl rcx, 4
add r8, rcx
mov rax, qword [r8]
test rax, rax
je 0x180039e53
test dword [rax + 0xc], 0x8000000
jne 0x180039e72
sub r8, 0x30
sub rdx, r12
jns 0x180039e42
cmp qword [rdi + 0x1d18], rsi
je 0x180039e91
movss xmm0, dword [rdi + 0x1d34]
comiss xmm0, xmm6
jbe 0x180039e91
movss xmm1, dword [rdi + 0x18]
mulss xmm1, dword [0x1800713dc]
addss xmm1, dword [rdi + 0x1dc0]
minss xmm1, dword [0x1800713bc]
jmp 0x180039eae
movss xmm0, dword [rdi + 0x18]
mulss xmm0, dword [0x1800713e4]
movss xmm1, dword [rdi + 0x1dc0]
subss xmm1, xmm0
maxss xmm1, xmm6
movss dword [rdi + 0x1dc0], xmm1
mov dword [rdi + 0x1f18], esi
mov qword [rdi + 0x31f0], 0xffffffffffffffff
mov dword [rdi + 0x31ec], 0xffffffff
mov dword [rdi + 0x2f80], 0x3f800000
mov dword [rdi + 0x2f84], 0x3f800000
call fcn.18003fc10
mov rbx, qword [0x1800801d0]
mov rbp, qword [rbx + 0x1bf8]
test rbp, rbp
je 0x180039f2f
cmp byte [rbp + 0x7e], sil
je 0x180039f2f
test dword [rbp + 0xc], 0x40000
jne 0x180039f2f
cmp byte [rbx + 0x148], sil
jne 0x180039f2f
mov ecx, dword [rbx + 0x3c]
test ecx, ecx
js 0x180039f2f
movzx edx, r12b
call fcn.180035620
test al, al
je 0x180039f2f
movzx eax, r12b
jmp 0x180039f31
xor al, al
mov byte [rbx + 0x1d60], al
cmp dword [rbx + 0x1ac8], esi
jne 0x180039f94
test al, al
je 0x180039f94
mov qword [rbx + 0x1d48], rbp
mov dword [rbx + 0x1d58], 0x7fffffff
cmp dword [rbx + 0x1c00], esi
je 0x180039f83
mov ecx, dword [rbx + 0x1c48]
cmp ecx, 0x7fffffff
je 0x180039f83
cmp byte [rbx + 0x149], sil
mov eax, 2
cmovne eax, esi
add eax, ecx
mov dword [rbx + 0x1d5c], eax
jmp 0x180039f94
movzx eax, byte [rbx + 0x149]
neg al
sbb ecx, ecx
mov dword [rbx + 0x1d5c], ecx
mov r8, qword [rbx + 0x1d48]
mov qword [rbx + 0x1d40], rsi
mov dword [rbx + 0x1d54], 0x7fffffff
mov dword [rbx + 0x1d50], 0x7fffffff
test r8, r8
je 0x18003a029
mov eax, dword [rbx + 0x1d58]
mov qword [rbx + 0x1d40], r8
cmp eax, 0x7fffffff
je 0x180039fe8
mov ecx, dword [r8 + 0x1b0]
cmp ecx, 0xffffffff
je 0x180039fe8
inc ecx
add eax, ecx
cdq
idiv ecx
mov dword [rbx + 0x1d50], edx
mov eax, dword [rbx + 0x1d5c]
cmp eax, 0x7fffffff
je 0x18003a00e
mov ecx, dword [r8 + 0x1b4]
cmp ecx, 0xffffffff
je 0x18003a00e
inc ecx
add eax, ecx
cdq
idiv ecx
mov dword [rbx + 0x1d54], edx
mov qword [rbx + 0x1d48], rsi
mov dword [rbx + 0x1d5c], 0x7fffffff
mov dword [rbx + 0x1d58], 0x7fffffff
mov dword [rbx + 0x1c48], 0x7fffffff
movss xmm0, dword [rdi + 0xd0]
comiss xmm0, xmm6
jb 0x18003a050
movsd xmm7, qword [rdi + 0x1a00]
cvtpd2ps xmm7, xmm7
subss xmm7, xmm0
mov ebx, esi
cmp dword [rdi + 0x1a28], esi
je 0x18003a0ad
mov r14, rsi
nop dword [rax]
mov rax, qword [rdi + 0x1a30]
mov rcx, qword [r14 + rax]
movzx eax, byte [rcx + 0x7e]
mov byte [rcx + 0x7f], al
mov word [rcx + 0x8a], si
mov byte [rcx + 0x7e], sil
mov byte [rcx + 0x80], sil
test al, al
jne 0x18003a09f
cmp byte [rcx + 0x3b0], sil
jne 0x18003a09f
comiss xmm7, dword [rcx + 0x27c]
jbe 0x18003a09f
call fcn.1800335c0
inc ebx
add r14, 8
cmp ebx, dword [rdi + 0x1a28]
jne 0x18003a060
mov rax, qword [rdi + 0x1bf8]
test rax, rax
je 0x18003a181
cmp byte [rax + 0x7f], sil
jne 0x18003a181
mov r11, qword [0x1800801d0]
movsxd rax, dword [r11 + 0x1a38]
test eax, eax
jle 0x18003a121
lea r9, [rax - 1]
mov rax, qword [r11 + 0x1a40]
lea r10, [rax + r9*8]
mov r8, qword [r10]
test r8, r8
je 0x18003a118
cmp byte [r8 + 0x7f], sil
je 0x18003a118
mov eax, dword [r8 + 0xc]
and eax, 0x40200
cmp eax, 0x40200
setne cl
bt dword [r8 + 0xc], 0x18
setae al
test al, cl
jne 0x18003a28e
sub r10, 8
sub r9, r12
jns 0x18003a0e8
cmp qword [r11 + 0x1bf8], rsi
je 0x18003a154
mov qword [r11 + 0x1bf8], rsi
mov byte [r11 + 0x1c51], sil
mov qword [r11 + 0x1c00], rsi
mov byte [r11 + 0x1c4c], sil
mov dword [r11 + 0x1c44], esi
mov r11, qword [0x1800801d0]
lea rbx, [r11 + 0x1bd8]
cmp dword [rbx], r12d
jl 0x18003a181
mov ecx, dword [rbx + 4]
test ecx, ecx
jns 0x18003a17f
mov eax, ecx
cdq
sub eax, edx
mov edx, esi
sar eax, 1
add eax, ecx
mov rcx, rbx
test eax, eax
cmovg edx, eax
call fcn.1800417e0
mov dword [rbx], esi
mov ecx, dword [rdi + 0x1a5c]
test ecx, ecx
jns 0x18003a1a7
mov eax, ecx
cdq
sub eax, edx
mov edx, esi
sar eax, 1
add eax, ecx
lea rcx, [rdi + 0x1a58]
test eax, eax
cmovg edx, eax
call fcn.180041740
mov dword [rdi + 0x1a58], esi
mov ecx, dword [rdi + 0x1bec]
test ecx, ecx
jns 0x18003a1d3
mov eax, ecx
cdq
sub eax, edx
mov edx, esi
sar eax, 1
add eax, ecx
lea rcx, [rdi + 0x1be8]
test eax, eax
cmovg edx, eax
call fcn.1800417e0
mov dword [rdi + 0x1be8], esi
mov r13, qword [0x1800801d0]
mov r14, qword [rdi + 0x1bf8]
movsxd r15, dword [r13 + 0x1bd8]
test r15d, r15d
je 0x18003a2c8
mov ebx, esi
test r14, r14
je 0x18003a26f
test r15d, r15d
jle 0x18003a26f
mov r11, qword [r13 + 0x1be0]
mov rbp, rsi
add r11, 8
mov rax, qword [r11]
test rax, rax
je 0x18003a261
test dword [rax + 0xc], 0x1000000
jne 0x18003a261
xor cl, cl
mov r8, rbp
cmp rbp, r15
jge 0x18003a26f
mov rdx, r11
nop
test cl, cl
jne 0x18003a261
mov r9, qword [rdx]
test r9, r9
je 0x18003a251
mov rax, qword [r14 + 0x368]
cmp qword [r9 + 0x368], rax
movzx ecx, cl
cmove ecx, r12d
inc r8
add rdx, 0x30
cmp r8, r15
jl 0x18003a230
test cl, cl
je 0x18003a26f
inc ebx
inc rbp
add r11, 0x30
cmp ebx, r15d
jl 0x18003a211
cmp ebx, r15d
jge 0x18003a2c8
mov ecx, dword [r13 + 0x1bdc]
cmp ebx, ecx
jle 0x18003a2c1
test ecx, ecx
je 0x18003a2a9
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18003a2ae
mov rax, qword [r8 + 0x380]
test rax, rax
cmovne r8, rax
mov rcx, r8
call fcn.1800332e0
jmp 0x18003a181
mov eax, 8
cmp eax, ebx
lea rcx, [r13 + 0x1bd8]
mov edx, ebx
cmovg edx, eax
call fcn.1800417e0
mov dword [r13 + 0x1bd8], ebx
call fcn.18003ef60
movsd xmm0, qword [str.uWQAR]
movabs r8, 0x47ae147ae147ae15
mov byte [rdi + 0x1a15], r12b
mov rax, qword [0x1800801d0]
movsd qword [rsp + 0x20], xmm0
or dword [rax + 0x1b20], 2
mov dword [rax + 0x1b40], 0x43c80000
mov dword [rax + 0x1b44], 0x43c80000
mov dword [rax + 0x1b28], 4
mov eax, dword [0x180071a90]
mov dword [rsp + 0x28], eax
movzx eax, word [0x180071a94]
mov word [rsp + 0x2c], ax
movzx eax, byte [0x180071a96]
mov byte [rsp + 0x2e], al
nop dword [rax]
mov rax, r8
mul rsi
mov rax, rsi
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 5
movsx eax, al
imul ecx, eax, 0x32
movzx eax, sil
sub al, cl
add al, 0x31
xor byte [rsp + rsi + 0x20], al
inc rsi
cmp rsi, 0xf
jb 0x18003a340
xor r8d, r8d
lea rcx, [rsp + 0x20]
xor edx, edx
call fcn.18002d340
movaps xmm6, xmmword [rsp + 0x40]
lea r11, [rsp + 0x50]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm7, xmmword [rsp + 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret