Function at 0x180007f30
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
lea eax, [r9 + 0xd]
mov r12, r8
mov dword [rsp + 0x20], eax
mov r15, rdx
mov r8, rcx
cmp r9d, eax
jae 0x1800080d9
mov r13d, dword [rsp + 0xb8]
lea edx, [r9 - 0x4a]
mov esi, dword [rsp + 0xb8]
mov ecx, eax
mov edi, dword [rsp + 0xb8]
mov ebp, dword [rsp + 0xb8]
movzx r14d, word [rsp + 0xb8]
mov dword [rsp + 0x24], edx
lea r10, [0x180000000]
cmp edx, 0x29
ja case.default.0x180007fbc
movzx eax, byte [r10 + rdx + 0x8488]
mov ecx, dword [r10 + rax*4 + 0x8450]
add rcx, r10
jmp rcx
mov dword [rsp + 0x4c], 0
jmp case.0x180007fbc.13
mov rcx, qword [rsp + 0xc0]
mov eax, dword [rcx + 0xc]
mov r13d, dword [rcx + 0x1c]
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 0x10]
mov dword [rsp + 0x44], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x3c], eax
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x40], eax
jmp case.0x180007fbc.13
mov rax, qword [rsp + 0xc0]
mov dword [rax + 0x1c], r13d
jmp case.0x180007fbc.13
xor ebx, ebx
cmp qword [r8], rbx
jbe case.0x180007fbc.13
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [r12 + rbx*2]
lea r8, [rsp + 0xb8]
xor edx, edx
mov word [rsp + 0xb8], ax
mov ecx, 0xd6
call fcn.18001bf30
mov r8, qword [rsp + 0xa0]
mov dword [r15 + rbx*4], eax
inc rbx
cmp rbx, qword [r8]
jb 0x180008020
mov edx, dword [rsp + 0x24]
jmp case.0x180007fbc.13
xor r11d, r11d
test r12, r12
je 0x18000843a
mov r10d, dword [r8]
test r10d, r10d
jle 0x18000843a
mov ebx, dword [rsp + 0x4c]
xor r8d, r8d
mov r9, r12
movsx eax, word [r9]
lea r9, [r9 + 2]
cdq
mov ecx, ebx
xor eax, edx
mov r15d, r8d
sub eax, edx
cmp eax, ebx
cmovg ebx, eax
cmp eax, ecx
cmovle r15d, r11d
inc r8d
mov dword [rsp + 0x50], r15d
mov r11d, r15d
cmp r8d, r10d
jl 0x180008080
mov r15, qword [rsp + 0xa8]
mov edx, dword [rsp + 0x24]
mov r8, qword [rsp + 0xa0]
mov dword [rsp + 0x4c], ebx
jmp case.0x180007fbc.13
cmp byte [r12 + 0x118], 0
jne case.0x180007fbc.13
mov eax, dword [rsp + 0xb8]
mov rbx, qword [rsp + 0xb0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov rcx, qword [rsp + 0xc0]
mov eax, dword [rsp + 0x48]
mov dword [rcx], eax
mov eax, dword [rsp + 0x30]
mov dword [rcx + 4], eax
mov eax, dword [rsp + 0x34]
mov dword [rcx + 8], eax
jmp case.0x180007fbc.13
mov rcx, qword [rsp + 0xc0]
mov eax, dword [rcx + 4]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 8]
mov dword [rsp + 0x34], eax
jmp case.0x180007fbc.13
mov eax, dword [r8]
sar eax, 1
mov dword [rsp + 0xb8], eax
test eax, eax
jle case.0x180007fbc.13
nop dword [rax + rax]
mov r9d, 6
xor r15d, r15d
mov qword [rsp + 0x58], r9
nop
cmp r15d, 0xaa
ja case.0x180008181.6
movzx eax, byte [r10 + r15 + 0x84d0]
mov ecx, dword [r10 + rax*4 + 0x84b4]
add rcx, r10
jmp rcx
movzx eax, di
imul ecx, eax, 0x925f
mov eax, dword [rsp + 0x30]
sar edi, 0x10
imul esi, edi, 0x925f
mov dword [rsp + 0x30], ebp
shr ecx, 0x10
add eax, ecx
add esi, eax
mov edi, esi
sub edi, dword [rsp + 0x38]
movzx eax, di
imul ecx, eax, 0xeb5f
mov eax, edi
sar eax, 0x10
imul edx, eax, 0xeb5f
mov eax, dword [rsp + 0x34]
shr ecx, 0x10
add eax, ecx
add edx, eax
mov dword [rsp + 0x38], edx
jmp case.0x180008181.6
mov edi, ebp
sub edi, dword [rsp + 0x40]
movzx eax, di
imul ecx, eax, 0x5f79
mov eax, edi
sar eax, 0x10
imul esi, eax, 0x5f79
mov eax, dword [rsp + 0x3c]
shr ecx, 0x10
add eax, ecx
add esi, eax
jmp case.0x180008181.6
movsx r8d, word [r12]
add r12, 2
shl r8d, 0xa
mov edx, r8d
sub edx, dword [rsp + 0x30]
movzx eax, dx
imul ecx, eax, 0x2fa7
mov eax, dword [rsp + 0x48]
sar edx, 0x10
imul ebp, edx, 0x2fa7
mov dword [rsp + 0x48], r8d
shr ecx, 0x10
add eax, ecx
add ebp, eax
mov edi, ebp
sub edi, dword [rsp + 0x34]
jmp case.0x180008181.6
movsx edx, word [r12]
add r12, 2
shl edx, 0xa
mov edi, edx
mov dword [rsp + 0x34], esi
sub edi, dword [rsp + 0x3c]
movzx eax, di
imul ecx, eax, 0xcd4
mov eax, edi
sar eax, 0x10
imul ebp, eax, 0xcd4
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x44], edx
shr ecx, 0x10
add eax, ecx
add ebp, eax
jmp case.0x180008181.6
mov eax, dword [rsp + 0x38]
mov ebx, 0x1b
add eax, 0x400
mov dword [rsp + 0x40], esi
add eax, r13d
sar eax, 0xb
mov dword [rsp + 0x28], eax
mov eax, ebx
sub eax, 0x11
je 0x1800082e7
sub eax, 0xa
je 0x180008313
sub eax, 0x32
je 0x1800082c8
cmp eax, 0x3c
jne 0x180008306
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
lea rcx, [rsp + 0x28]
mov qword [rsp + 0x68], 0
jmp 0x180008300
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x30], 0
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov qword [rsp + 0x38], 0
jmp 0x180008306
mov rcx, qword [rsp + 0x28]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x28], 0
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
add ebx, 0x3c
cmp ebx, 0x10b
jb 0x180008297
jmp 0x18000833b
mov eax, dword [rsp + 0x28]
movzx r14d, word [rsp + 0x28]
cmp eax, 0x7fff
jle 0x18000832c
mov r14d, 0x7fff
jmp 0x18000833b
mov r11d, 0xffff8000
cmp eax, r11d
jge 0x18000833b
movzx r14d, r11w
mov rdx, qword [rsp + 0xa8]
lea r10, [0x180000000]
mov r9, qword [rsp + 0x58]
movzx eax, r14w
mov word [rdx], ax
add rdx, 2
mov qword [rsp + 0xa8], rdx
jmp case.0x180008181.6
mov edi, esi
mov dword [rsp + 0x3c], ebp
sub edi, r13d
movzx eax, di
imul ecx, eax, 0xc178
mov eax, edi
sar eax, 0x10
imul r13d, eax, 0xc178
mov eax, dword [rsp + 0x40]
shr ecx, 0x10
add eax, ecx
add r13d, eax
add r15d, 0x22
sub r9, 1
mov qword [rsp + 0x58], r9
jne 0x180008160
mov eax, dword [rsp + 0xb8]
dec eax
mov dword [rsp + 0xb8], eax
test eax, eax
jg 0x180008150
mov r15, qword [rsp + 0xa8]
mov edx, dword [rsp + 0x24]
mov r8, qword [rsp + 0xa0]
jmp case.0x180007fbc.13
mov rcx, qword [rsp + 0xc0]
mov eax, dword [rsp + 0x38]
mov dword [rcx + 0xc], eax
mov eax, dword [rsp + 0x44]
mov dword [rcx + 0x10], eax
mov eax, dword [rsp + 0x3c]
mov dword [rcx + 0x14], eax
mov eax, dword [rsp + 0x40]
mov dword [rcx + 0x18], eax
jmp case.0x180007fbc.13
lea rcx, [r12 + 0x48]
mov edx, 0x86
call fcn.18001b330
mov edx, dword [rsp + 0x24]
mov r8, qword [rsp + 0xa0]
jmp case.0x180007fbc.13
mov rax, qword [rsp + 0xc0]
mov eax, dword [rax]
mov dword [rsp + 0x48], eax
mov ecx, dword [rsp + 0x20]
inc edx
mov dword [rsp + 0x24], edx
lea eax, [rdx + 0x4a]
cmp eax, ecx
jae 0x1800080d9
jmp 0x180007f98
mov eax, 0xffffffff
jmp 0x1800080e0
mov eax, dword [rsp + 0x50]
jmp 0x1800080e0