Function at 0x180059610
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd10]
sub rsp, 0xe10
mov rax, qword [0x18007cf38]
xor rax, rsp
mov qword [rbp + 0xd08], rax
mov r10d, r8d
mov dword [rbp - 0x68], r8d
mov r14d, dword [rbp - 0x68]
xor r11d, r11d
mov edi, dword [rbp - 0x68]
mov r13, r9
mov r8, rdx
mov qword [rbp - 0x30], rdx
lea eax, [r10 + 0xab8]
mov qword [rbp], rcx
mov dword [rsp + 0x78], eax
mov esi, r10d
mov dword [rbp - 0x64], r14d
mov dword [rbp - 0x58], edi
cmp r10d, eax
jae 0x180059c5a
mov ecx, dword [rbp - 0x68]
mov edx, dword [rbp - 0x68]
mov ebx, dword [rbp - 0x5c]
mov r15, qword [rbp]
mov r12d, dword [rbp - 0x5c]
mov dword [rbp - 0x54], ecx
mov ecx, dword [rbp - 0x68]
mov dword [rbp - 0x40], ecx
mov dword [rsp + 0x70], edx
nop dword [rax + rax]
cmp esi, 0x35b
ja 0x180059a94
je 0x180059a8c
cmp esi, 0x10f
ja 0x1800598b3
je 0x180059846
mov eax, esi
sub eax, 0x4b
je 0x18005980a
sub eax, 0x7b
je 0x1800596f9
mov r9d, dword [rsp + 0x70]
cmp eax, 0x23
jne 0x1800596f0
cmp dword [r13], 0
mov eax, r11d
setne al
mov dword [r8 + 0x88], eax
mov eax, dword [rsp + 0x78]
jmp 0x1800597f4
lea r9, [r8 + 0x160]
mov qword [rbp + 0xce0], 0
mov rax, qword [r9]
lea r14, [r8 + 0x168]
mov qword [rbp + 0xce8], r11
mov qword [rbp + 0xcf0], r11
mov qword [rbp + 0xcf8], r11
mov qword [rbp + 0xd00], r11
cmp qword [r14], rax
jne 0x180059759
add r8, 0x158
mov edx, 0x44
mov rcx, r14
call fcn.180060df0
test eax, eax
je 0x180059c49
mov r8, qword [rbp - 0x30]
xor r11d, r11d
mov rax, qword [r14]
movups xmm0, xmmword [rbp + 0xce0]
movups xmm1, xmmword [rbp + 0xcf0]
movups xmmword [rax], xmm0
movsd xmm0, qword [rbp + 0xd00]
movups xmmword [rax + 0x10], xmm1
movsd qword [rax + 0x20], xmm0
add qword [r14], 0x28
cmp dword [r8 + 0x100], 0x7fffffff
jne 0x1800597e7
mov ecx, reloc.SHELL32.dll_SHTestTokenMembership
mov eax, ecx
sub eax, 0xf5
je 0x1800597ce
cmp eax, 0x28
jne 0x1800597dc
mov eax, edi
mov rcx, qword [rbp + 0xd08]
xor rcx, rsp
call fcn.180065820
mov rbx, qword [rsp + 0xe60]
add rsp, 0xe10
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov dword [r8], 1
mov edi, r11d
mov dword [rbp - 0x58], r11d
add ecx, 0x28
cmp ecx, 0x145
jb 0x180059794
mov r14d, dword [rbp - 0x64]
mov eax, dword [rsp + 0x78]
mov r9d, dword [rsp + 0x70]
add esi, 0xc4
cmp esi, eax
jae 0x180059c73
xor r11d, r11d
jmp 0x1800596a0
mov rax, qword [r8]
xorps xmm0, xmm0
mov r12d, dword [rax]
movups xmmword [0x180080e20], xmm0
movups xmmword [0x180080e30], xmm0
movups xmmword [0x180080e40], xmm0
movups xmmword [0x180080e50], xmm0
movups xmmword [0x180080e60], xmm0
movups xmmword [0x180080e70], xmm0
movups xmmword [0x180080e80], xmm0
jmp 0x1800597eb
xorps xmm0, xmm0
xorps xmm1, xmm1
movups xmmword [0x180080e90], xmm0
movups xmmword [0x180080ea0], xmm0
movups xmmword [0x180080eb0], xmm0
movups xmmword [0x180080ec0], xmm0
movups xmmword [0x180080ed0], xmm0
movups xmmword [0x180080ee0], xmm0
movups xmmword [0x180080ef0], xmm0
movups xmmword [0x180080f00], xmm1
movups xmmword [0x180080f10], xmm1
movups xmmword [0x180080f20], xmm1
movups xmmword [0x180080f30], xmm1
movups xmmword [0x180080f40], xmm1
movups xmmword [0x180080f50], xmm1
movups xmmword [0x180080f60], xmm1
jmp 0x1800597ef
mov eax, esi
sub eax, 0x18a
je 0x180059a54
sub eax, 0x49
je 0x1800599b7
cmp eax, 0xc4
jne 0x1800597eb
xorps xmm0, xmm0
lea rcx, [rbp + 0x120]
xor edx, edx
movups xmmword [0x180081070], xmm0
mov r8d, 0x1c0
movups xmmword [0x180081080], xmm0
movups xmmword [0x180081090], xmm0
movups xmmword [0x1800810a0], xmm0
movups xmmword [0x1800810b0], xmm0
movups xmmword [0x1800810c0], xmm0
movups xmmword [0x1800810d0], xmm0
call sub.VCRUNTIME140.dll_memset
lea rax, [0x1800810e0]
mov edx, 3
lea rcx, [rbp + 0x120]
nop
lea rax, [rax + 0x80]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
movups xmmword [rax - 0x80], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rax - 0x70], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rax - 0x60], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rax - 0x50], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rax - 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rax - 0x30], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rax - 0x20], xmm0
movups xmmword [rax - 0x10], xmm1
sub rdx, 1
jne 0x180059930
movups xmm0, xmmword [rcx]
mov r8, qword [rbp - 0x30]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rax], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rax + 0x10], xmm1
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rax + 0x20], xmm0
movdqa xmm0, xmmword [0x18006dc30]
movdqa xmmword [rbp + 0x10], xmm0
movups xmmword [rax + 0x30], xmm1
jmp 0x1800597eb
xorps xmm0, xmm0
xorps xmm1, xmm1
xor eax, eax
movups xmmword [0x180080f70], xmm0
movups xmmword [0x180080f80], xmm0
movups xmmword [0x180080f90], xmm0
movups xmmword [0x180080fa0], xmm0
movups xmmword [0x180080fb0], xmm0
movups xmmword [0x180080fc0], xmm0
movups xmmword [0x180080fd0], xmm0
mov qword [rbp + 0x90], rax
movsd xmm0, qword [rbp + 0x90]
movsd qword [0x180080fe0], xmm0
mov qword [rbp + 0x110], rax
movsd xmm0, qword [rbp + 0x110]
movsd qword [0x180081060], xmm0
movups xmmword [0x180080ff0], xmm1
movups xmmword [0x180081000], xmm1
movups xmmword [0x180081010], xmm1
movups xmmword [0x180081020], xmm1
movups xmmword [0x180081030], xmm1
movups xmmword [0x180081040], xmm1
movups xmmword [0x180081050], xmm1
jmp 0x1800597eb
mov ecx, 0x8c
nop dword [rax]
mov eax, ecx
sub eax, 0x8b
je 0x1800597a2
cmp eax, 1
jne 0x180059a7e
inc dword [r8 + 0x100]
mov edi, eax
mov dword [rbp - 0x58], eax
dec ecx
cmp ecx, 0x8a
ja 0x180059a60
mov eax, dword [rsp + 0x78]
mov ebx, r11d
jmp 0x1800597ef
cmp esi, 0x66b
ja 0x180059ba5
je 0x180059ae9
cmp esi, 0x41f
je 0x180059ae0
cmp esi, 0x4e3
je 0x180059acf
mov r9d, dword [rsp + 0x70]
cmp esi, 0x5a7
jne 0x1800597f4
mov r15, qword [r8]
add r15, 0x40
jmp 0x1800597f4
mov r9d, r11d
mov dword [rsp + 0x70], r11d
mov dword [rbp - 0x40], r11d
jmp 0x1800597f4
mov dword [rbp - 0x54], r11d
jmp 0x1800597ef
mov r14d, 0x140
lea rcx, [r13 + 0x10]
mov dword [rbp - 0x64], r14d
mov rax, r11
nop word [rax + rax]
movq xmm0, qword [rcx - 0x10]
movq xmm1, qword [rcx - 8]
lea rcx, [rcx + 0x20]
punpcklwd xmm1, xmm1
psrad xmm1, 0x10
punpcklwd xmm0, xmm0
psrad xmm0, 0x10
cvtdq2ps xmm0, xmm0
movups xmmword [rbp + rax*4 + 0x2e0], xmm0
cvtdq2ps xmm0, xmm1
movq xmm1, qword [rcx - 0x20]
movups xmmword [rbp + rax*4 + 0x2f0], xmm0
punpcklwd xmm1, xmm1
psrad xmm1, 0x10
cvtdq2ps xmm0, xmm1
movq xmm1, qword [rcx - 0x18]
movups xmmword [rbp + rax*4 + 0x300], xmm0
punpcklwd xmm1, xmm1
psrad xmm1, 0x10
cvtdq2ps xmm0, xmm1
movups xmmword [rbp + rax*4 + 0x310], xmm0
add rax, 0x10
cmp rax, r14
jl 0x180059b00
lea rax, [rbp + 0x7e0]
mov dword [rbp - 0x70], r14d
mov r9, r15
mov qword [rsp + 0x20], rax
mov r8d, StrCmpCW
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x2e0]
call fcn.18003b070
mov r8, qword [rbp - 0x30]
mov ebx, eax
jmp 0x1800597eb
cmp esi, 0x72f
je 0x180059bc8
cmp esi, 0x7f3
jne 0x1800597ef
test ebx, ebx
je 0x1800597ef
mov eax, ebx
jmp 0x1800597a4
test ebx, ebx
jne 0x180059bc1
lea rax, [rbp - 0x20]
mov dword [rbp - 0x48], r12d
mov qword [rsp + 0x60], rax
lea r9, [rbp - 4]
mov dword [rsp + 0x58], 0x74
lea rax, [rbp - 0x70]
mov qword [rsp + 0x50], rax
lea r8, [rbp - 0xc]
lea rax, [rbp - 0x48]
mov dword [rbp - 0x70], 1
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x7c]
lea rax, [rbp - 8]
mov qword [rsp + 0x40], rax
lea rcx, [rbp - 0x60]
lea rax, [rbp - 0x80]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x5c]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x50]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x1c]
mov qword [rsp + 0x20], rax
call fcn.180047480
mov r8, qword [rbp - 0x30]
mov rbx, rax
jmp 0x1800597eb
mov rcx, qword [rbp - 0x30]
xor eax, eax
mov dword [rcx], 1
jmp 0x1800597a4
mov r15d, dword [rbp - 0x68]
mov r9d, dword [rbp - 0x68]
mov eax, dword [rbp - 0x68]
mov dword [rbp - 0x54], r15d
mov dword [rsp + 0x70], r9d
mov dword [rbp - 0x40], eax
jmp 0x180059c7b
mov r15d, dword [rbp - 0x54]
mov r10d, dword [rbp - 0x68]
imul ecx, r10d, 0x188
mov eax, r10d
mov dword [rbp - 0x48], eax
mov dword [rbp - 0x5c], ecx
cmp r10d, ecx
ja 0x1800597a2
mov r11d, dword [rbp - 0x80]
mov edx, 0x10
mov ecx, dword [rsp + 0x7c]
sub edx, r11d
mov esi, dword [rbp - 0x5c]
movzx r13d, word [rsp + 0x70]
mov ebx, dword [rbp - 0x5c]
mov r12d, dword [rbp - 0x5c]
mov dword [rsp + 0x78], edx
mov r10d, dword [rbp - 0x50]
cmp eax, 0x39b7
ja 0x18005a56a
je 0x18005a55b
cmp eax, 0x18e7
ja 0x180059fa4
je 0x180059f70
cmp eax, 0x4b
je 0x180059f24
cmp eax, 0x87f
je 0x180059d86
cmp eax, 0x10b3
jne 0x180059f04
mov eax, dword [rbp - 0x10]
lea r9, [0x1800810e0]
mov dword [rbp - 0x78], eax
lea r8, [rsp + 0x70]
mov eax, dword [rbp - 4]
lea rdx, [0x180080e90]
mov dword [rsp + 0x70], eax
mov ecx, 0x3b
mov eax, dword [rbp - 0x60]
mov dword [rbp - 0x70], eax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x48], rax
lea rax, [0x180080f00]
mov qword [rsp + 0x40], rax
lea rax, [0x180081070]
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x30], rax
lea rax, [0x180080e20]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x7e0]
mov qword [rsp + 0x20], rax
call fcn.18004da40
mov edx, dword [rsp + 0x78]
mov esi, edx
mov dword [rbp - 0x1c], eax
xor eax, eax
mov r9d, eax
mov dword [rsp + 0x70], eax
jmp 0x180059efc
mov r15d, dword [rbp - 0x60]
lea r9, [rbp - 0x70]
mov eax, r10d
mov dword [rbp - 0x70], r15d
sub eax, dword [rbp - 0x40]
lea r8, [rbp - 0x78]
sub eax, r11d
lea rdx, [0x180080e90]
sub eax, dword [rbp - 0x20]
sub eax, ecx
mov ecx, 1
mov dword [rbp - 0x10], eax
mov dword [rbp - 0x78], eax
lea rax, [0x180080e20]
mov qword [rsp + 0x28], rax
lea rax, [0x180080f00]
mov qword [rsp + 0x20], rax
call fcn.18002f1b0
xor r8d, r8d
mov edx, r8d
mov r14d, r8d
test r15d, r15d
jle 0x180059eef
cmp r15d, 0x10
jb 0x180059eab
mov ecx, r15d
and ecx, 0x8000000f
jge 0x180059e01
dec ecx
or ecx, 0xfffffff0
inc ecx
movdqa xmm2, xmmword [0x18006dc10]
lea r8, [0x180080e20]
mov eax, r15d
xorps xmm3, xmm3
sub eax, ecx
movsxd rcx, eax
lea rax, [0x180081070]
nop dword [rax]
nop word [rax + rax]
movdqu xmm0, xmmword [r8 + r14*4]
add edx, 0x10
movdqu xmmword [rax + r14*4], xmm3
movdqu xmmword [rax + r14*4 + 0x10], xmm3
movdqu xmmword [rax + r14*4 + 0x20], xmm3
movdqa xmm1, xmm2
paddd xmm1, xmm0
movdqu xmmword [r8 + r14*4], xmm1
movdqu xmm0, xmmword [r8 + r14*4 + 0x10]
movdqa xmm1, xmm2
paddd xmm1, xmm0
movdqu xmmword [r8 + r14*4 + 0x10], xmm1
movdqu xmm0, xmmword [r8 + r14*4 + 0x20]
movdqa xmm1, xmm2
paddd xmm0, xmm2
movdqu xmmword [r8 + r14*4 + 0x20], xmm0
movdqu xmm0, xmmword [r8 + r14*4 + 0x30]
movdqu xmmword [rax + r14*4 + 0x30], xmm3
paddd xmm1, xmm0
movdqu xmmword [r8 + r14*4 + 0x30], xmm1
add r14, 0x10
cmp r14, rcx
jl 0x180059e30
jmp 0x180059eb2
lea rax, [0x180081070]
cmp edx, r15d
jge 0x180059eef
lea r14, [r14*4]
lea rcx, [r14 + rax]
mov eax, r15d
sub eax, edx
xor edx, edx
mov r8d, eax
shl r8, 2
mov r15d, eax
call sub.VCRUNTIME140.dll_memset
lea rax, [0x180080e20]
add dword [r14 + rax], 0x18
lea r14, [r14 + 4]
sub r15, 1
jne 0x180059ee0
mov r14d, dword [rbp - 0x64]
mov edx, dword [rsp + 0x78]
mov r9d, dword [rsp + 0x70]
mov ecx, dword [rsp + 0x7c]
mov r11d, dword [rbp - 0x80]
imul eax, dword [rbp - 0x68], 0x1c
add dword [rbp - 0x48], eax
mov eax, dword [rbp - 0x48]
cmp eax, dword [rbp - 0x5c]
ja 0x1800597a2
mov r15d, dword [rbp - 0x54]
mov r8, qword [rbp - 0x30]
jmp 0x180059cb8
mov eax, dword [rbp - 0xc]
lea r9, [0x180080f70]
mov dword [rbp - 0x78], eax
lea r8, [rbp - 0x70]
mov eax, dword [rbp - 0x60]
lea rdx, [rbp + 0x7e0]
mov dword [rbp - 0x70], eax
lea rcx, [rbp - 0x78]
lea rax, [0x180080ff0]
mov qword [rsp + 0x30], rax
lea rax, [0x180080e20]
mov dword [rsp + 0x28], 0x7b
mov qword [rsp + 0x20], rax
call fcn.18005ea20
mov dword [rbp - 0x40], eax
jmp 0x180059ef3
movsxd rax, dword [rbp - 0x60]
lea r8, [0x180080f70]
movzx r13d, word [rbp - 8]
mov ecx, edx
shl r13w, cl
mov ecx, dword [rbp - 0x20]
mov dword [r8 + rax*4], ecx
lea r8, [0x180080ff0]
mov ecx, dword [rbp - 0x1c]
mov dword [r8 + rax*4], ecx
mov ecx, dword [rsp + 0x7c]
jmp 0x180059f04
movsxd r11, r9d
cmp eax, 0x211b
je 0x18005a487
cmp eax, 0x294f
je 0x18005a27a
cmp eax, 0x3183
jne 0x180059f00
mov eax, r9d
shl eax, 4
cmp eax, r10d
jge 0x18005a03e
nop dword [rax]
nop word [rax + rax]
mov r8d, 0xfc
cmp r8d, 0xfc
jne 0x18005a01a
mov ecx, 0x10
mov edx, 0xffff
sub ecx, esi
inc r9d
sar edx, cl
mov esi, 0x10
add dx, r13w
mov word [rbp + r11*2 + 0xce0], dx
inc r11
xor eax, eax
mov r13d, eax
add r8d, 0x3528
cmp r8d, 0x3528
jbe 0x180059fe6
mov eax, r9d
mov dword [rsp + 0x70], r9d
shl eax, 4
cmp eax, r10d
jl 0x180059fe0
mov ecx, dword [rsp + 0x7c]
test ecx, ecx
jle 0x18005a1ac
mov edi, dword [rbp - 0x3c]
mov r14d, 0xaa
mov dword [rbp - 0x78], r14d
movsxd r10, r9d
nop word [rax + rax]
mov eax, r14d
sub eax, 0xaa
je 0x18005a17d
sub eax, 1
je 0x18005a10d
cmp eax, 1
jne 0x18005a195
xor eax, eax
lea r9, [rbp + 0x10]
mov r8d, eax
lea r11d, [rax + 4]
lea r14d, [rax + 8]
mov edx, StrCmpCW
cmp edx, 0x9a
je 0x18005a0b4
cmp edx, 0x14e
jne 0x18005a0d0
mov eax, r15d
add r8d, r8d
and eax, 1
or r8d, eax
jmp 0x18005a0d0
mov r15d, dword [r9]
mov ecx, r14d
and r15d, edi
nop dword [rax]
mov eax, r15d
sar eax, cl
xor r15d, eax
shr ecx, 1
jne 0x18005a0c0
mov dword [rbp - 0x54], r15d
add edx, 0xb4
cmp edx, 0x202
jb 0x18005a096
add r9, 4
sub r11, 1
jne 0x18005a091
mov ecx, dword [rsp + 0x7c]
mov eax, 1
mov r14d, dword [rbp - 0x78]
shl ax, cl
dec ax
and ax, r8w
or word [rbp + r10*2 + 0xcde], ax
jmp 0x18005a195
mov r15d, dword [rbp - 0x3c]
xor eax, eax
mov r9d, eax
mov r10d, eax
mov r8d, eax
nop dword [rax]
mov ecx, r9d
mov eax, 0x88888889
imul r9d
add r8d, 0x10
add edx, r9d
inc r9d
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xf
sub ecx, eax
movzx eax, word [rbp + r10*2 + 0xce0]
shl eax, cl
inc r10
xor r15d, eax
cmp r8d, dword [rbp - 0x50]
jl 0x18005a120
mov ecx, dword [rsp + 0x7c]
mov edi, r15d
mov eax, r15d
shr edi, 0xf
mov r15d, dword [rbp - 0x54]
and eax, 0x7fff
xor edi, eax
mov dword [rsp + 0x70], r9d
mov dword [rbp - 0x3c], edi
jmp 0x18005a195
mov eax, 0xffffffff
shl ax, cl
and word [rbp + r10*2 + 0xcde], ax
xor eax, eax
mov edi, eax
mov dword [rbp - 0x3c], eax
inc r14d
mov dword [rbp - 0x78], r14d
cmp r14d, 0xad
jb 0x18005a060
mov edi, dword [rbp - 0x58]
mov r10, qword [rbp]
lea rcx, [rbp + 0xd06]
xor eax, eax
mov r14d, eax
mov r8d, eax
lea rax, [r10 + 0x26]
cmp r10, rcx
ja 0x18005a1d4
lea rcx, [rbp + 0xce0]
cmp rax, rcx
jae 0x18005a228
movdqa xmm3, xmmword [0x18006dc40]
lea rdx, [rbp + 0xce0]
mov eax, 8
mov r14d, 0x10
sub rdx, r10
mov ecx, 2
mov r8d, r14d
movd xmm2, eax
mov rax, r10
movdqu xmm0, xmmword [rdx + rax]
lea rax, [rax + 0x10]
movdqa xmm1, xmm0
psraw xmm1, xmm2
psllw xmm0, xmm2
pand xmm1, xmm3
por xmm1, xmm0
movdqu xmmword [rax - 0x10], xmm1
sub rcx, 1
jne 0x18005a200
lea rdx, [r10 + r8*2]
mov eax, 0x14
sub eax, r14d
lea r9, [rbp + 0xce0]
sub r9, r10
mov r8d, eax
add r14d, eax
mov r10d, 0xff
mov dword [rbp - 0x64], r14d
nop
movzx eax, word [rdx + r9]
lea rdx, [rdx + 2]
movzx ecx, ax
shl ax, 8
sar cx, 8
and cx, r10w
or cx, ax
mov word [rdx - 2], cx
sub r8, 1
jne 0x18005a250
jmp 0x180059ef3
xor r8d, r8d
mov dword [rbp - 0x70], r8d
cmp dword [rbp - 0x60], r8d
jle 0x180059f00
mov r15d, dword [rsp + 0x70]
lea rax, [0x1800810e0]
mov edx, r8d
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x18], rdx
mov r8, rax
nop word [rax + rax]
mov eax, r15d
shl eax, 4
cmp eax, r10d
jge 0x180059ef3
mov ecx, 0x8a
movsxd r9, r14d
mov dword [rbp - 0x78], ecx
lea edi, [rcx - 0x6a]
nop dword [rax]
cmp ecx, 0x8a
je 0x18005a471
cmp ecx, 0x12de
je 0x18005a463
cmp ecx, 0x2532
jne 0x18005a41d
mov r10d, dword [rbp - 0x38]
test r10d, r10d
jle 0x18005a41d
mov eax, r15d
shl eax, 4
cmp eax, dword [rbp - 0x50]
jge 0x18005a412
cmp ebx, esi
jge 0x18005a357
mov r8d, 0x121
nop word [rax + rax]
mov eax, r8d
sub eax, 0x120
je 0x18005a333
cmp eax, 1
jne 0x18005a349
sub esi, ebx
jmp 0x18005a349
mov ecx, edi
mov edx, r12d
sub ecx, ebx
shr edx, cl
mov ecx, esi
shl dx, cl
add r13w, dx
xor eax, eax
mov ebx, eax
dec r8d
cmp r8d, 0x11f
ja 0x18005a320
jmp 0x18005a3b8
mov r8d, 0x49
xor r10d, r10d
mov eax, r8d
sub eax, 0x49
je 0x18005a386
sub eax, 0x67
je 0x18005a378
cmp eax, 0x67
jne 0x18005a3a2
movzx r13d, r10w
jmp 0x18005a3a2
sub ebx, esi
mov ecx, esi
shl r12d, cl
mov esi, 0x10
jmp 0x18005a3a2
mov ecx, edi
mov edx, r12d
sub ecx, esi
inc r15d
shr edx, cl
add dx, r13w
mov word [rbp + r11*2 + 0xce0], dx
inc r11
add r8d, 0x67
cmp r8d, 0x17e
jb 0x18005a360
mov r10d, dword [rbp - 0x38]
mov dword [rsp + 0x70], r15d
test ebx, ebx
jne 0x18005a409
mov rax, qword [rbp - 0x18]
lea rdx, [0x1800810e0]
add rax, r9
mov ecx, 0xa0
lea rdx, [rdx + rax*4]
mov eax, ecx
sub eax, 0x9f
je 0x18005a3f6
cmp eax, 1
jne 0x18005a3fb
mov r12d, dword [rdx]
sub r10d, edi
inc r14d
inc r9
add rdx, 4
mov ebx, r10d
jmp 0x18005a3fb
cmp ebx, edi
cmovg ebx, edi
dec ecx
cmp ecx, 0x9e
ja 0x18005a3d3
mov dword [rbp - 0x38], r10d
test r10d, r10d
jg 0x18005a301
mov r8, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x18]
mov ecx, dword [rbp - 0x78]
add ecx, 0x1254
mov dword [rbp - 0x78], ecx
cmp ecx, 0x36fc
jbe 0x18005a2d0
mov ecx, dword [rbp - 0x70]
add r8, 0x10
mov edi, dword [rbp - 0x58]
inc ecx
mov r10d, dword [rbp - 0x50]
add rdx, 4
mov dword [rbp - 0x64], r14d
mov dword [rbp - 0x70], ecx
mov qword [rbp - 0x28], r8
mov qword [rbp - 0x18], rdx
cmp ecx, dword [rbp - 0x60]
jl 0x18005a2b0
jmp 0x180059ef3
mov r12d, dword [r8]
mov r14d, 1
mov r9d, r14d
jmp 0x18005a41d
lea rax, [0x180081070]
mov eax, dword [rdx + rax]
cmp eax, edi
mov ebx, eax
mov dword [rbp - 0x38], eax
cmovg ebx, edi
jmp 0x18005a41d
mov r15d, dword [rbp - 0x60]
test r15d, r15d
js 0x180059f00
xor eax, eax
lea r10d, [r15 + 1]
mov r8d, eax
mov qword [rbp - 0x28], r10
lea rax, [0x180080f70]
mov r9d, dword [r8 + rax]
mov r14d, r9d
sub r14d, esi
mov dword [rbp - 0x64], r14d
jns 0x18005a4d5
mov ecx, r14d
lea rax, [0x180080ff0]
movzx eax, word [r8 + rax]
neg ecx
shl ax, cl
add r13w, ax
sub esi, r9d
jmp 0x18005a544
mov r10d, dword [rsp + 0x70]
mov edx, 0x55
nop
mov eax, edx
sub eax, 0x53
je 0x18005a522
sub eax, 1
je 0x18005a516
cmp eax, 1
jne 0x18005a534
lea rax, [0x180080ff0]
mov ecx, r14d
mov eax, dword [r8 + rax]
inc r10d
sar eax, cl
add ax, r13w
mov word [rbp + r11*2 + 0xce0], ax
inc r11
jmp 0x18005a534
mov eax, 0x10
sub eax, r9d
add esi, eax
jmp 0x18005a534
lea rax, [0x180080ff0]
mov ecx, esi
movzx r13d, word [r8 + rax]
shl r13w, cl
dec edx
cmp edx, 0x52
ja 0x18005a4e0
mov dword [rsp + 0x70], r10d
mov r10, qword [rbp - 0x28]
add r8, 4
sub r10, 1
mov qword [rbp - 0x28], r10
jne 0x18005a4a1
jmp 0x180059ef3
mov rax, qword [r8]
add dword [rax + 0x34], 0x140
jmp 0x180059f04
cmp eax, 0x5a87
ja 0x18005a5ac
je 0x180059f04
cmp eax, 0x41eb
je 0x180059f04
cmp eax, 0x4a1f
je 0x18005a5a0
cmp eax, 0x5253
jne 0x180059f04
mov rax, qword [r8]
add dword [rax + 8], 0x28
jmp 0x180059f04
mov rax, qword [r8]
add dword [rax + 0x3c], 0x28
jmp 0x180059f04
cmp eax, 0x62bb
je 0x18005a5c3
cmp eax, 0x6aef
je 0x1800597a2
jmp 0x180059f04
xor eax, eax
mov edi, eax
mov dword [rbp - 0x58], eax
jmp 0x180059f04