Function at 0x18001f120
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xb8]
sub rsp, 0x190
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x1801432e0]
xor rax, rsp
mov qword [rbp + 0x58], rax
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x30], rax
lea r14, [0x18018da80]
mov qword [rsp + 0x30], r14
xor ebx, ebx
mov qword [0x18018db80], rbx
mov qword [0x18018db88], rbx
mov qword [0x18018db90], rbx
mov qword [0x18018db98], rbx
mov qword [0x18018dba0], rbx
mov qword [0x18018dba8], rbx
lea rdi, [0x18018dbb8]
mov qword [rbp - 0x80], rdi
mov qword [0x18018dcb8], rbx
mov qword [0x18018dcc0], rbx
mov r8d, 0xff
lea rdx, [0x1800f576d]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov byte [0x18018dcb7], bl
mov rcx, rdi
call fcn.1800631b0
nop
mov esi, ebx
cmp dword [0x18018db80], ebx
jle 0x18001f20f
mov edi, ebx
nop dword [rax]
mov rcx, qword [0x18018db88]
mov rcx, qword [rdi + rcx]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
inc esi
lea rdi, [rdi + 8]
cmp esi, dword [0x18018db80]
jl 0x18001f1f0
mov rcx, qword [0x18018db88]
test rcx, rcx
je 0x18001f241
mov qword [0x18018db80], rbx
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18001f234
dec dword [rax + 0x3b4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x18018db88], rbx
xor edx, edx
mov r8d, 0x100
mov rcx, r14
call sub.VCRUNTIME140.dll_memset
mov dword [0x18018dbb0], 0xffffffff
mov eax, dword [0x1800fca60]
mov dword [rsp + 0x78], eax
movzx eax, byte [0x1800fca64]
mov byte [rsp + 0x78], 0x48
xor byte [rsp + 0x79], 0x32
xor byte [rsp + 0x7a], 0x33
xor byte [rsp + 0x7b], 0x34
xor al, 0x35
mov byte [rsp + 0x7c], al
mov edi, 8
mov r8d, dword [0x18018db90]
mov ecx, dword [0x18018db94]
cmp r8d, ecx
jne 0x18001f33a
lea esi, [r8 + 1]
test ecx, ecx
je 0x18001f2b4
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18001f2b6
mov eax, edi
cmp eax, esi
cmovg esi, eax
cmp esi, ecx
jle 0x18001f33a
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18001f2d1
inc dword [rax + 0x3b4]
movsxd rcx, esi
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov rdx, qword [0x18018db98]
test rdx, rdx
je 0x18001f324
movsxd r8, dword [0x18018db90]
shl r8, 3
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x18018db98]
test rcx, rcx
je 0x18001f31e
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18001f31e
dec dword [rax + 0x3b4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x18018db98], r14
mov dword [0x18018db94], esi
mov r8d, dword [0x18018db90]
jmp 0x18001f341
mov r14, qword [0x18018db98]
movsxd rax, r8d
lea rcx, [rsp + 0x78]
mov qword [r14 + rax*8], rcx
mov r10d, dword [0x18018db90]
inc r10d
mov dword [0x18018db90], r10d
mov rax, qword [str.y__zdn8uwe]
mov qword [rbp - 0x80], rax
mov r12d, 4
lea r13d, [r12 + 0x1b]
mov r15d, dword [0x1801432f0]
cmp byte [0x1800fdbf7], 0
je 0x18001f4cf
cmp r15d, 2
jl 0x18001f48a
movdqa xmm4, xmmword [0x1800ff5e0]
movd xmm6, r12d
movd xmm5, r13d
movdqa xmm2, xmmword [0x1800ff470]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.1111111111111111]
movd xmm0, dword [rbp - 0x80]
xorps xmm2, xmm0
movd dword [rbp - 0x80], xmm2
movdqa xmm3, xmmword [0x1800ff4b0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
paddb xmm2, xmmword [str.1111111111111111]
movd xmm0, dword [rbp - 0x7c]
xorps xmm2, xmm0
movd dword [rbp - 0x7c], xmm2
jmp 0x18001f4cf
lea r9, [rbp - 0x80]
mov r8d, ebx
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, edi
jl 0x18001f4a0
mov ecx, dword [0x18018db94]
cmp r10d, ecx
jne 0x18001f583
lea esi, [r10 + 1]
test ecx, ecx
je 0x18001f4f1
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18001f4f3
mov eax, edi
cmp eax, esi
cmovg esi, eax
cmp esi, ecx
jle 0x18001f583
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18001f512
inc dword [rax + 0x3b4]
movsxd rcx, esi
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov rdx, qword [0x18018db98]
test rdx, rdx
je 0x18001f565
movsxd r8, dword [0x18018db90]
shl r8, 3
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x18018db98]
test rcx, rcx
je 0x18001f55f
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18001f55f
dec dword [rax + 0x3b4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x18018db98], r14
mov dword [0x18018db94], esi
movsxd rax, dword [0x18018db90]
lea rcx, [rbp - 0x80]
mov qword [r14 + rax*8], rcx
jmp 0x18001f595
movsxd rcx, r10d
lea rdx, [rbp - 0x80]
mov rax, qword [0x18018db98]
mov qword [rax + rcx*8], rdx
mov eax, dword [0x1800fd108]
mov dword [rsp + 0x40], eax
mov ecx, dword [0x18018db90]
movzx eax, word [0x1800fd10c]
inc ecx
mov word [rsp + 0x44], ax
mov dword [0x18018db90], ecx
mov esi, ecx
mov byte [rsp + 0x40], 0x43
xor byte [rsp + 0x41], 0x32
xor byte [rsp + 0x42], 0x33
xor byte [rsp + 0x43], 0x34
xor byte [rsp + 0x44], 0x35
xor byte [rsp + 0x45], 0x36
mov r8d, dword [0x18018db94]
cmp ecx, r8d
jne 0x18001f691
inc esi
test r8d, r8d
je 0x18001f5fd
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x18001f5ff
mov eax, edi
cmp eax, esi
cmovg esi, eax
cmp esi, r8d
jle 0x18001f691
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18001f61f
inc dword [rax + 0x3b4]
movsxd rcx, esi
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov rdx, qword [0x18018db98]
test rdx, rdx
je 0x18001f672
movsxd r8, dword [0x18018db90]
shl r8, 3
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x18018db98]
test rcx, rcx
je 0x18001f66c
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18001f66c
dec dword [rax + 0x3b4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x18018db98], r14
mov dword [0x18018db94], esi
movsxd rax, dword [0x18018db90]
lea rcx, [rsp + 0x40]
mov qword [r14 + rax*8], rcx
jmp 0x18001f6a4
movsxd rcx, ecx
lea rdx, [rsp + 0x40]
mov rax, qword [0x18018db98]
mov qword [rax + rcx*8], rdx
mov ecx, dword [0x18018db90]
movsd xmm0, qword [str.rrgf]
inc ecx
movzx eax, byte [0x1800fbba0]
movsd qword [rsp + 0x48], xmm0
mov dword [0x18018db90], ecx
mov esi, ecx
mov byte [rsp + 0x48], 0x43
xor byte [rsp + 0x49], 0x32
xor byte [rsp + 0x4a], 0x33
xor byte [rsp + 0x4b], 0x34
xor byte [rsp + 0x4c], 0x35
xor byte [rsp + 0x4d], 0x36
xor byte [rsp + 0x4e], 0x37
xor byte [rsp + 0x4f], 0x38
xor al, 0x39
mov byte [rsp + 0x50], al
mov r8d, dword [0x18018db94]
cmp ecx, r8d
jne 0x18001f7af
inc esi
test r8d, r8d
je 0x18001f71b
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x18001f71d
mov eax, edi
cmp eax, esi
cmovg esi, eax
cmp esi, r8d
jle 0x18001f7af
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18001f73d
inc dword [rax + 0x3b4]
movsxd rcx, esi
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov rdx, qword [0x18018db98]
test rdx, rdx
je 0x18001f790
movsxd r8, dword [0x18018db90]
shl r8, 3
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x18018db98]
test rcx, rcx
je 0x18001f78a
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18001f78a
dec dword [rax + 0x3b4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x18018db98], r14
mov dword [0x18018db94], esi
movsxd rax, dword [0x18018db90]
lea rcx, [rsp + 0x48]
mov qword [r14 + rax*8], rcx
jmp 0x18001f7c2
movsxd rcx, ecx
lea rdx, [rsp + 0x48]
mov rax, qword [0x18018db98]
mov qword [rax + rcx*8], rdx
mov ecx, dword [0x18018db90]
movsd xmm0, qword [0x1800fbeb8]
inc ecx
movzx eax, byte [0x1800fbec0]
movsd qword [rsp + 0x58], xmm0
mov dword [0x18018db90], ecx
mov esi, ecx
mov byte [rsp + 0x58], 0x4c
xor byte [rsp + 0x59], 0x32
xor byte [rsp + 0x5a], 0x33
xor byte [rsp + 0x5b], 0x34
xor byte [rsp + 0x5c], 0x35
xor byte [rsp + 0x5d], 0x36
xor byte [rsp + 0x5e], 0x37
xor byte [rsp + 0x5f], 0x38
xor al, 0x39
mov byte [rsp + 0x60], al
mov r8d, dword [0x18018db94]
cmp ecx, r8d
jne 0x18001f8cd
inc esi
test r8d, r8d
je 0x18001f839
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x18001f83b
mov eax, edi
cmp eax, esi
cmovg esi, eax
cmp esi, r8d
jle 0x18001f8cd
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18001f85b
inc dword [rax + 0x3b4]
movsxd rcx, esi
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov rdx, qword [0x18018db98]
test rdx, rdx
je 0x18001f8ae
movsxd r8, dword [0x18018db90]
shl r8, 3
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x18018db98]
test rcx, rcx
je 0x18001f8a8
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18001f8a8
dec dword [rax + 0x3b4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x18018db98], r14
mov dword [0x18018db94], esi
movsxd rax, dword [0x18018db90]
lea rcx, [rsp + 0x58]
mov qword [r14 + rax*8], rcx
jmp 0x18001f8e0
movsxd rcx, ecx
lea rdx, [rsp + 0x58]
mov rax, qword [0x18018db98]
mov qword [rax + rcx*8], rdx
mov ecx, dword [0x18018db90]
movsd xmm0, qword [str.rp]
inc ecx
movzx eax, byte [0x1800fd418]
movsd qword [rsp + 0x68], xmm0
mov dword [0x18018db90], ecx
mov esi, ecx
mov byte [rsp + 0x68], 0x4c
xor byte [rsp + 0x69], 0x32
xor byte [rsp + 0x6a], 0x33
xor byte [rsp + 0x6b], 0x34
xor byte [rsp + 0x6c], 0x35
xor byte [rsp + 0x6d], 0x36
xor byte [rsp + 0x6e], 0x37
xor byte [rsp + 0x6f], 0x38
xor al, 0x39
mov byte [rsp + 0x70], al
mov r8d, dword [0x18018db94]
cmp ecx, r8d
jne 0x18001f9dd
inc esi
test r8d, r8d
je 0x18001f957
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x18001f959
mov eax, edi
cmp eax, esi
cmovg esi, eax
cmp esi, r8d
jle 0x18001f9dd
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18001f975
inc dword [rax + 0x3b4]
movsxd rcx, esi
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov rdx, qword [0x18018db98]
test rdx, rdx
je 0x18001f9c8
movsxd r8, dword [0x18018db90]
shl r8, 3
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x18018db98]
test rcx, rcx
je 0x18001f9c2
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18001f9c2
dec dword [rax + 0x3b4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x18018db98], r14
mov dword [0x18018db94], esi
mov ecx, dword [0x18018db90]
jmp 0x18001f9e4
mov r14, qword [0x18018db98]
movsxd rax, ecx
lea rcx, [rsp + 0x68]
mov qword [r14 + rax*8], rcx
mov r10d, dword [0x18018db90]
inc r10d
mov dword [0x18018db90], r10d
movsd xmm0, qword [0x1800fd590]
movsd qword [rbp - 0x68], xmm0
mov eax, dword [0x1800fd598]
mov dword [rbp - 0x60], eax
movzx eax, word [0x1800fd59c]
mov word [rbp - 0x5c], ax
cmp byte [0x1800fd59d], 0
je 0x18001fb80
mov r8d, ebx
cmp r15d, 2
jl 0x18001fb3e
movdqa xmm4, xmmword [0x1800ff5e0]
movd xmm6, r12d
movd xmm5, r13d
movdqa xmm2, xmmword [0x1800ff470]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
mov eax, dword [str.1111111111111111]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [0x1800fd590]
xorps xmm2, xmm0
movd dword [rbp - 0x68], xmm2
movdqa xmm3, xmmword [0x1800ff4b0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x64]
xorps xmm2, xmm1
movd dword [rbp - 0x64], xmm2
mov r8d, edi
movsxd rax, r8d
lea r9, [rbp - 0x68]
add r9, rax
nop dword [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xe
jl 0x18001fb50
mov ecx, dword [0x18018db94]
cmp r10d, ecx
jne 0x18001fc28
lea esi, [r10 + 1]
test ecx, ecx
je 0x18001fba2
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18001fba4
mov eax, edi
cmp eax, esi
cmovg esi, eax
cmp esi, ecx
jle 0x18001fc28
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18001fbbf
inc dword [rax + 0x3b4]
movsxd rcx, esi
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov rdx, qword [0x18018db98]
test rdx, rdx
je 0x18001fc12
movsxd r8, dword [0x18018db90]
shl r8, 3
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x18018db98]
test rcx, rcx
je 0x18001fc0c
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18001fc0c
dec dword [rax + 0x3b4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x18018db98], r14
mov dword [0x18018db94], esi
mov r10d, dword [0x18018db90]
jmp 0x18001fc2f
mov r14, qword [0x18018db98]
movsxd rax, r10d
lea rcx, [rbp - 0x68]
mov qword [r14 + rax*8], rcx
mov r10d, dword [0x18018db90]
inc r10d
mov dword [0x18018db90], r10d
movsd xmm0, qword [str.rzvwedlxn_]
movsd qword [rbp - 0x78], xmm0
mov eax, dword [0x1800facf8]
mov dword [rbp - 0x70], eax
cmp byte [0x1800facfb], 0
je 0x18001fdc0
mov r8d, ebx
cmp r15d, 2
jl 0x18001fd7d
movdqa xmm4, xmmword [0x1800ff5e0]
movd xmm6, r12d
movd xmm5, r13d
movdqa xmm2, xmmword [0x1800ff470]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
mov eax, dword [str.1111111111111111]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.rzvwedlxn_]
xorps xmm2, xmm0
movd dword [rbp - 0x78], xmm2
movdqa xmm3, xmmword [0x1800ff4b0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x74]
xorps xmm2, xmm1
movd dword [rbp - 0x74], xmm2
mov r8d, edi
movsxd rax, r8d
lea r9, [rbp - 0x78]
add r9, rax
nop word [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xc
jl 0x18001fd90
mov ecx, dword [0x18018db94]
cmp r10d, ecx
jne 0x18001fe68
lea esi, [r10 + 1]
test ecx, ecx
je 0x18001fde2
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18001fde4
mov eax, edi
cmp eax, esi
cmovg esi, eax
cmp esi, ecx
jle 0x18001fe68
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18001fdff
inc dword [rax + 0x3b4]
movsxd rcx, esi
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov rdx, qword [0x18018db98]
test rdx, rdx
je 0x18001fe52
movsxd r8, dword [0x18018db90]
shl r8, 3
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x18018db98]
test rcx, rcx
je 0x18001fe4c
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18001fe4c
dec dword [rax + 0x3b4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x18018db98], r14
mov dword [0x18018db94], esi
mov r10d, dword [0x18018db90]
jmp 0x18001fe6f
mov r14, qword [0x18018db98]
movsxd rax, r10d
lea rcx, [rbp - 0x78]
mov qword [r14 + rax*8], rcx
mov r10d, dword [0x18018db90]
inc r10d
mov dword [0x18018db90], r10d
movups xmm0, xmmword [0x1800fdbf8]
movups xmmword [rbp + 8], xmm0
mov eax, dword [0x1800fdc08]
mov dword [rbp + 0x18], eax
cmp byte [0x1800fdc0b], 0
je 0x180020030
mov r8d, ebx
cmp r15d, 2
jl 0x18001fff3
movdqa xmm5, xmmword [0x1800ff470]
movdqa xmm4, xmmword [0x1800ff5e0]
movd xmm6, r12d
movdqa xmm7, xmmword [0x1800ff4c0]
movd xmm8, r13d
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp + 0xc]
mov edx, dword [rsp + 0x20]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, edi
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x18001fef1
cmp r8d, 0x14
jge 0x180020030
movsxd rax, r8d
lea r9, [rbp + 8]
add r9, rax
nop dword [rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x14
jl 0x180020000
mov ecx, dword [0x18018db94]
cmp r10d, ecx
jne 0x1800200d8
lea esi, [r10 + 1]
test ecx, ecx
je 0x180020052
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180020054
mov eax, edi
cmp eax, esi
cmovg esi, eax
cmp esi, ecx
jle 0x1800200d8
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18002006f
inc dword [rax + 0x3b4]
movsxd rcx, esi
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov rdx, qword [0x18018db98]
test rdx, rdx
je 0x1800200c2
movsxd r8, dword [0x18018db90]
shl r8, 3
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x18018db98]
test rcx, rcx
je 0x1800200bc
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x1800200bc
dec dword [rax + 0x3b4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x18018db98], r14
mov dword [0x18018db94], esi
mov r10d, dword [0x18018db90]
jmp 0x1800200df
mov r14, qword [0x18018db98]
movsxd rax, r10d
lea rcx, [rbp + 8]
mov qword [r14 + rax*8], rcx
mov r10d, dword [0x18018db90]
inc r10d
mov dword [0x18018db90], r10d
movsd xmm0, qword [str.sfzvrj]
movsd qword [rbp - 0x58], xmm0
mov eax, dword [0x1800f6318]
mov dword [rbp - 0x50], eax
movzx eax, word [0x1800f631c]
mov word [rbp - 0x4c], ax
cmp byte [0x1800f631d], 0
je 0x180020280
mov r8d, ebx
cmp r15d, 2
jl 0x180020238
movdqa xmm4, xmmword [0x1800ff5e0]
movd xmm6, r12d
movd xmm5, r13d
movdqa xmm2, xmmword [0x1800ff470]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
mov eax, dword [str.1111111111111111]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.sfzvrj]
xorps xmm2, xmm0
movd dword [rbp - 0x58], xmm2
movdqa xmm3, xmmword [0x1800ff4b0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x54]
xorps xmm2, xmm1
movd dword [rbp - 0x54], xmm2
mov r8d, edi
movsxd rax, r8d
lea r9, [rbp - 0x58]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xe
jl 0x180020250
mov ecx, dword [0x18018db94]
cmp r10d, ecx
jne 0x180020328
lea esi, [r10 + 1]
test ecx, ecx
je 0x1800202a2
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1800202a4
mov eax, edi
cmp eax, esi
cmovg esi, eax
cmp esi, ecx
jle 0x180020328
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x1800202bf
inc dword [rax + 0x3b4]
movsxd rcx, esi
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov rdx, qword [0x18018db98]
test rdx, rdx
je 0x180020312
movsxd r8, dword [0x18018db90]
shl r8, 3
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x18018db98]
test rcx, rcx
je 0x18002030c
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18002030c
dec dword [rax + 0x3b4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x18018db98], r14
mov dword [0x18018db94], esi
mov r10d, dword [0x18018db90]
jmp 0x18002032f
mov r14, qword [0x18018db98]
movsxd rax, r10d
lea rcx, [rbp - 0x58]
mov qword [r14 + rax*8], rcx
mov r10d, dword [0x18018db90]
inc r10d
mov dword [0x18018db90], r10d
movups xmm0, xmmword [str.cwwbxwx]
movups xmmword [rbp - 0x20], xmm0
movzx eax, word [0x1800fd5c8]
mov word [rbp - 0x10], ax
cmp byte [0x1800fd5c9], 0
je 0x180020500
mov r8d, ebx
cmp r15d, 2
jl 0x1800204c2
movdqa xmm5, xmmword [0x1800ff470]
movdqa xmm4, xmmword [0x1800ff5e0]
movd xmm6, r12d
movdqa xmm7, xmmword [0x1800ff4c0]
movd xmm8, r13d
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp - 0x1c]
mov edx, dword [rsp + 0x20]
nop dword [rax]
nop word [rax + rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, edi
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x1800203c0
cmp r8d, 0x12
jge 0x180020500
movsxd rax, r8d
lea r9, [rbp - 0x20]
add r9, rax
nop dword [rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x12
jl 0x1800204d0
mov ecx, dword [0x18018db94]
cmp r10d, ecx
jne 0x1800205a8
lea esi, [r10 + 1]
test ecx, ecx
je 0x180020522
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180020524
mov eax, edi
cmp eax, esi
cmovg esi, eax
cmp esi, ecx
jle 0x1800205a8
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18002053f
inc dword [rax + 0x3b4]
movsxd rcx, esi
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov rdx, qword [0x18018db98]
test rdx, rdx
je 0x180020592
movsxd r8, dword [0x18018db90]
shl r8, 3
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x18018db98]
test rcx, rcx
je 0x18002058c
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x18002058c
dec dword [rax + 0x3b4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x18018db98], r14
mov dword [0x18018db94], esi
mov r10d, dword [0x18018db90]
jmp 0x1800205af
mov r14, qword [0x18018db98]
movsxd rax, r10d
lea rcx, [rbp - 0x20]
mov qword [r14 + rax*8], rcx
mov r10d, dword [0x18018db90]
inc r10d
mov dword [0x18018db90], r10d
movups xmm0, xmmword [0x1800fbea0]
movups xmmword [rbp - 0x38], xmm0
movzx eax, word [0x1800fbeb0]
mov word [rbp - 0x28], ax
movzx eax, byte [0x1800fbeb2]
mov byte [rbp - 0x26], al
mov r8d, ebx
cmp r15d, 2
jl 0x180020732
movdqa xmm5, xmmword [0x1800ff470]
movdqa xmm4, xmmword [0x1800ff5e0]
movd xmm6, r12d
movdqa xmm7, xmmword [0x1800ff4c0]
movd xmm8, r13d
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp - 0x34]
mov edx, dword [rsp + 0x20]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add r8d, edi
lea rcx, [rcx + 8]
cmp r8d, 0x10
jl 0x180020630
cmp r8d, 0x13
jge 0x180020770
movsxd rax, r8d
lea r9, [rbp - 0x38]
add r9, rax
nop dword [rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x13
jl 0x180020740
mov ecx, dword [0x18018db94]
cmp r10d, ecx
jne 0x180020818
lea esi, [r10 + 1]
test ecx, ecx
je 0x180020792
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x180020794
mov eax, edi
cmp eax, esi
cmovg esi, eax
cmp esi, ecx
jle 0x180020818
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x1800207af
inc dword [rax + 0x3b4]
movsxd rcx, esi
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov rdx, qword [0x18018db98]
test rdx, rdx
je 0x180020802
movsxd r8, dword [0x18018db90]
shl r8, 3
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x18018db98]
test rcx, rcx
je 0x1800207fc
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x1800207fc
dec dword [rax + 0x3b4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x18018db98], r14
mov dword [0x18018db94], esi
mov r10d, dword [0x18018db90]
jmp 0x18002081f
mov r14, qword [0x18018db98]
movsxd rax, r10d
lea rcx, [rbp - 0x38]
mov qword [r14 + rax*8], rcx
mov r10d, dword [0x18018db90]
inc r10d
mov dword [0x18018db90], r10d
movsd xmm0, qword [str.u_dywn]
movsd qword [rbp - 0x48], xmm0
mov eax, dword [str.iotn_]
mov dword [rbp - 0x40], eax
movzx eax, word [0x1800fc95c]
mov word [rbp - 0x3c], ax
cmp byte [0x1800fc95d], 0
je 0x1800209c0
mov r8d, ebx
cmp r15d, 2
jl 0x180020978
movdqa xmm4, xmmword [0x1800ff5e0]
movd xmm6, r12d
movd xmm5, r13d
movdqa xmm2, xmmword [0x1800ff470]
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
mov eax, dword [str.1111111111111111]
movd xmm0, eax
paddb xmm2, xmm0
movd xmm0, dword [str.u_dywn]
xorps xmm2, xmm0
movd dword [rbp - 0x48], xmm2
movdqa xmm3, xmmword [0x1800ff4b0]
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm5
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x1800ff4c0]
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
movd xmm0, eax
paddb xmm2, xmm0
movd xmm1, dword [rbp - 0x44]
xorps xmm2, xmm1
movd dword [rbp - 0x44], xmm2
mov r8d, edi
movsxd rax, r8d
lea r9, [rbp - 0x48]
add r9, rax
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0xe
jl 0x180020990
mov ecx, dword [0x18018db94]
cmp r10d, ecx
jne 0x180020a68
lea esi, [r10 + 1]
test ecx, ecx
je 0x1800209e2
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x1800209e4
mov eax, edi
cmp eax, esi
cmovg esi, eax
cmp esi, ecx
jle 0x180020a68
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x1800209ff
inc dword [rax + 0x3b4]
movsxd rcx, esi
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r14, rax
mov rdx, qword [0x18018db98]
test rdx, rdx
je 0x180020a52
movsxd r8, dword [0x18018db90]
shl r8, 3
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x18018db98]
test rcx, rcx
je 0x180020a4c
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x180020a4c
dec dword [rax + 0x3b4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x18018db98], r14
mov dword [0x18018db94], esi
mov r10d, dword [0x18018db90]
jmp 0x180020a6f
mov r14, qword [0x18018db98]
movsxd rax, r10d
lea rcx, [rbp - 0x48]
mov qword [r14 + rax*8], rcx
mov r10d, dword [0x18018db90]
inc r10d
mov dword [0x18018db90], r10d
movups xmm0, xmmword [str.xgqrdl_]
movups xmmword [rbp - 8], xmm0
psrldq xmm0, 0xf
movd eax, xmm0
test al, al
je 0x180020c30
cmp r15d, 2
jl 0x180020bec
movdqa xmm5, xmmword [0x1800ff470]
mov edx, ebx
movdqa xmm4, xmmword [0x1800ff5e0]
movd xmm6, r12d
movdqa xmm7, xmmword [0x1800ff4c0]
movd xmm8, r13d
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp - 4]
mov r8d, dword [rsp + 0x20]
nop dword [rax]
movd xmm2, edx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rdx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
movd xmm0, r8d
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add edx, edi
lea rcx, [rcx + 8]
cmp edx, 0x10
jl 0x180020af0
jmp 0x180020c30
lea r9, [rbp - 8]
mov r8d, ebx
nop dword [rax]
nop word [rax + rax]
mov eax, 0x4ec4ec4f
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx eax, r8b
sub al, cl
add al, 0x31
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x10
jl 0x180020c00
mov ecx, dword [0x18018db94]
cmp r10d, ecx
jne 0x180020cd5
lea esi, [r10 + 1]
test ecx, ecx
je 0x180020c51
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea edi, [rcx + rax]
cmp edi, esi
cmovg esi, edi
cmp esi, ecx
jle 0x180020cd5
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x180020c6c
inc dword [rax + 0x3b4]
movsxd rcx, esi
shl rcx, 3
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rdi, rax
mov rdx, qword [0x18018db98]
test rdx, rdx
je 0x180020cbf
movsxd r8, dword [0x18018db90]
shl r8, 3
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rcx, qword [0x18018db98]
test rcx, rcx
je 0x180020cb9
mov rax, qword [0x18018d8e8]
test rax, rax
je 0x180020cb9
dec dword [rax + 0x3b4]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [0x18018db98], rdi
mov dword [0x18018db94], esi
mov r10d, dword [0x18018db90]
jmp 0x180020cdc
mov rdi, qword [0x18018db98]
movsxd rax, r10d
lea rcx, [rbp - 8]
mov qword [rdi + rax*8], rcx
inc dword [0x18018db90]
mov word [0x18018dcd0], 1
movups xmm0, xmmword [0x1800fc550]
movups xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [0x1800fc560]
movups xmmword [rbp + 0x30], xmm1
movups xmm0, xmmword [0x1800fc570]
movups xmmword [rbp + 0x40], xmm0
mov eax, dword [str._r_aBd]
mov dword [rbp + 0x50], eax
cmp r15d, 2
jl 0x180020e62
movdqa xmm5, xmmword [0x1800ff470]
movdqa xmm4, xmmword [0x1800ff5e0]
movd xmm6, r12d
movdqa xmm7, xmmword [0x1800ff4c0]
movd xmm8, r13d
movdqa xmm0, xmmword [str.1111111111111111]
movdqa xmmword [rsp + 0x20], xmm0
lea rcx, [rbp + 0x24]
mov edx, dword [rsp + 0x20]
movd xmm2, ebx
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
xorps xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [rbx + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
andps xmm2, xmmword [0x1800ff500]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
xorps xmm2, xmm0
movd dword [rcx], xmm2
add ebx, 8
mov eax, ebx
lea rcx, [rcx + 8]
cmp ebx, 0x30
jl 0x180020d62
cmp eax, 0x34
jge 0x180020e9d
movsxd rax, ebx
lea r8, [rbp + 0x20]
add r8, rax
nop dword [rax]
mov eax, 0x4ec4ec4f
imul ebx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x34
movzx edx, bl
sub dl, cl
add dl, 0x31
xor byte [r8], dl
inc ebx
lea r8, [r8 + 1]
cmp ebx, 0x34
jl 0x180020e70
lea rdx, [rbp + 0x20]
lea rcx, [0x18018da80]
call fcn.180021110
nop
lea rax, [0x18018da80]
mov rcx, qword [rbp + 0x58]
xor rcx, rsp
call fcn.1800d0db0
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret