Function at 0x180060310
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xa8
mov r9, rcx
mov dword [rbp - 0x51], edx
mov ecx, edx
mov eax, edx
imul edx, edx, 0x27f
mov r11, r8
mov dword [rbp - 0x4d], edx
cmp ecx, edx
ja 0x1800603a7
mov r13, qword [rbp + 0x7f]
mov r15, qword [rbp + 0x7f]
mov r12, qword [rbp + 0x7f]
mov r8, qword [rbp - 0x59]
mov edi, dword [rbp + 0x7f]
mov r14, qword [rbp - 0x41]
xor r10d, r10d
mov qword [rbp - 1], r15
mov ebx, edi
mov rdi, r8
cmp ecx, 0xb2c
ja 0x18006053b
je 0x180060434
cmp ecx, 0x14
je 0x180060428
cmp ecx, 0x21
je 0x1800603e9
cmp ecx, 0x5a0
je 0x1800603bf
cmp ecx, 0x948
jne 0x180060930
mov rax, qword [rbp - 0x29]
add rsp, 0xa8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov edx, 0xb4
mov qword [rbp - 0x59], r10
xor ecx, ecx
mov dword [rbp + 0x7f], r10d
mov edi, r10d
call fcn.1800052d0
mov r11, qword [rbp + 0x77]
mov r8, qword [rbp - 0x59]
mov ecx, dword [rbp - 0x51]
mov edx, dword [rbp - 0x4d]
jmp 0x180060933
mov rax, qword [r11]
mov edx, r10d
cmp byte [rax], 0
je 0x18006041d
nop dword [rax]
nop dword [rax + rax]
mov rcx, qword [r11]
imul edx, edx, 0xf4243
movzx eax, byte [rcx]
xor edx, eax
lea rax, [rcx + 1]
mov qword [r11], rax
cmp byte [rax], 0
jne 0x180060400
mov ecx, dword [rbp - 0x51]
mov dword [rbp - 0x29], edx
mov edx, dword [rbp - 0x4d]
jmp 0x180060930
mov r13, 0xffffffffffffffff
jmp 0x180060930
mov rcx, qword [r11]
test byte [rcx + 0x360], 1
je 0x180060481
mov rax, qword [r9]
cmp rax, qword [0x1800718a8]
jb 0x180060481
mov qword [rbp - 0x49], rcx
lea r8, [rbp - 0x39]
mov ecx, 0x2c
mov qword [rbp - 0x39], rax
lea rdx, [rbp - 0x49]
call fcn.180057040
test rax, rax
jne 0x1800603ab
mov r11, qword [rbp + 0x77]
xor r10d, r10d
mov r8, qword [rbp - 0x59]
mov r9, qword [rbp + 0x67]
mov edx, dword [rbp - 0x4d]
cmp r13, 0xffffffffffffffff
jne 0x18006092d
mov rax, qword [0x1800718a0]
mov r8, rdi
mov qword [rbp - 0x59], rdi
mov dword [rbp + 0x7f], ebx
lea r14, [rax + 0x51]
add r14, qword [r9]
dec rax
not rax
and r14, rax
cmp r14, qword [r9]
jbe 0x180060926
mov qword [rsp + 0x28], r10
lea r8d, [r13 + 0x62]
xor r9d, r9d
mov qword [rsp + 0x20], r10
xor edx, edx
mov qword [rbp - 0x21], r14
lea rcx, [rbp - 0x21]
call fcn.180063b30
mov qword [rbp - 0x59], rdi
mov r8, rdi
mov dword [rbp + 0x7f], ebx
mov edi, ebx
cmp rax, r13
je 0x18006052c
mov ecx, 0xfc
nop dword [rax + rax]
cmp ecx, 0xfc
je 0x180060514
cmp ecx, 0x8dc
je 0x18006050f
cmp ecx, 0x10bc
jne 0x180060517
mov edi, 1
jmp 0x180060517
mov r8, r14
jmp 0x180060517
mov r13, rax
add ecx, 0x7e0
cmp ecx, 0x17a0
jbe 0x1800604f0
mov dword [rbp + 0x7f], edi
mov qword [rbp - 0x59], r8
mov r11, qword [rbp + 0x77]
mov ecx, dword [rbp - 0x51]
mov edx, dword [rbp - 0x4d]
jmp 0x180060933
cmp ecx, 0x10b8
je 0x180060930
cmp ecx, 0x1644
je 0x180060571
cmp ecx, 0x1bd0
je 0x180060568
cmp ecx, 0x215c
je 0x1800603a7
jmp 0x180060930
mov qword [rbp - 0x29], r10
jmp 0x180060930
cmp r13, 0xffffffffffffffff
je 0x180060930
mov rax, qword [r11]
mov r15, r14
mov qword [rbp - 0x41], r14
add qword [rax + 0x350], r8
mov rdx, qword [r11]
mov rcx, qword [rax + 0x350]
cmp rcx, qword [rdx + 0x358]
jbe 0x1800605b0
mov rax, qword [rdx + 0x350]
mov qword [rdx + 0x358], rax
mov rdx, qword [r11]
cmp qword [rdx + 0x28], 0
jne 0x1800606b1
mov edi, dword [rbp + 0x7f]
lea r14, [0x1800718c0]
mov ebx, 0xf4
nop word [rax + rax]
mov eax, ebx
sub eax, 0xf4
je 0x180060672
sub eax, 0x5d
je 0x180060645
cmp eax, 0x5d
jne 0x180060696
mov rdx, qword [r11]
lea r9, [rbp - 0x49]
mov qword [rbp - 0x49], rdx
cmp rdx, r14
jne 0x180060605
lea rax, [r8 - 0x48]
mov qword [rbp - 0x41], r13
jmp 0x180060625
mov rcx, qword [rdx - 8]
mov rax, r8
and rcx, 0xfffffffffffffffc
add rcx, 0xfffffffffffffff0
add rcx, rdx
sub rax, rcx
mov qword [rbp - 0x41], rcx
add rax, 0xffffffffffffffb8
add rax, r13
lea r8, [rbp - 0x41]
mov qword [rbp - 0x39], rax
mov edx, 0xcd
lea rcx, [rbp - 0x39]
call fcn.18004f870
mov r11, qword [rbp + 0x77]
mov r8, qword [rbp - 0x59]
jmp 0x180060696
mov rcx, qword [r11]
lea r8, [rbp - 0x49]
mov rax, qword [0x180071890]
xor edx, edx
mov qword [rcx + 0x38], rax
mov rax, qword [r11]
lea ecx, [rdx + 0x50]
mov qword [rbp - 0x49], rax
call fcn.1800515d0
mov r11, qword [rbp + 0x77]
mov r8, qword [rbp - 0x59]
jmp 0x180060696
mov rax, qword [r11]
mov qword [rax + 0x18], r13
mov rax, qword [r11]
mov qword [rax + 0x368], r13
mov rax, qword [r11]
mov qword [rax + 0x370], r8
mov rax, qword [r11]
mov dword [rax + 0x380], edi
add ebx, 0x5d
cmp ebx, 0x20b
jb 0x1800605d0
mov r14, r15
mov qword [rbp - 0x41], r15
jmp 0x180060891
mov r10, qword [r11]
lea rcx, [r10 + 0x368]
test rcx, rcx
je 0x1800606e1
mov r9, qword [rcx + 8]
mov rax, qword [rcx]
lea rdx, [rax + r9]
cmp r13, rdx
je 0x18006075d
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x1800606c0
mov r9, qword [rbp + 0x67]
mov edi, dword [rbp + 0x7f]
mov esi, 0x4f
mov qword [rbp - 0x41], r14
nop dword [rax]
cmp esi, 0x4f
je 0x180060863
cmp esi, 0x17c3
jne 0x180060870
mov rcx, qword [r11]
lea rbx, [rcx + 0x368]
test rbx, rbx
je 0x180060732
lea rax, [r8 + r13]
nop dword [rax + rax]
cmp qword [rbx], rax
je 0x1800607d3
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x180060720
mov qword [rbp - 0x31], r8
lea r9, [rbp - 0x31]
mov qword [rbp - 0x49], rcx
lea r8, [rbp - 0x39]
lea rcx, [rbp - 0x49]
mov dword [rbp - 0x39], edi
mov edx, reloc.SHELL32.dll_ILFindLastID
mov qword [rsp + 0x20], r13
call fcn.180057a80
jmp 0x180060870
mov r8d, dword [rcx + 0x18]
mov edi, dword [rbp + 0x7f]
test r8b, 8
jne 0x1800607c6
and r8d, 1
cmp r8d, edi
jne 0x1800607c6
mov r8, qword [r10 + 0x28]
cmp r8, rax
jb 0x1800607c6
cmp r8, rdx
mov r8, qword [rbp - 0x59]
jae 0x1800607ca
lea rax, [r9 + r8]
mov qword [rcx + 8], rax
lea r9, [rbp - 0x19]
mov rdx, qword [r11]
mov rcx, qword [rdx + 0x10]
add rcx, r8
lea r8, [rbp - 0x11]
mov qword [rbp - 9], rcx
lea rcx, [rbp - 9]
mov rax, qword [rdx + 0x28]
mov qword [rbp - 0x19], rdx
mov edx, 0xcd
mov qword [rbp - 0x11], rax
call fcn.18004f870
mov r11, qword [rbp + 0x77]
jmp 0x180060891
mov r8, qword [rbp - 0x59]
mov r9, qword [rbp + 0x67]
jmp 0x1800606e4
mov eax, dword [rbx + 0x18]
test al, 8
jne 0x180060732
and eax, 1
cmp eax, edi
jne 0x180060732
mov edi, 0x12d
nop
mov eax, edi
sub eax, 0x12a
je 0x1800603a7
sub eax, 1
je 0x18006081e
sub eax, 1
je 0x180060815
cmp eax, 1
jne 0x180060853
mov r15, qword [rbx]
mov qword [rbp - 0x41], r15
jmp 0x180060853
add qword [rbx + 8], r8
mov qword [rbx], r13
jmp 0x180060853
mov rax, qword [r9]
lea r8, [rbp - 0x49]
mov qword [rbp - 0x31], rax
lea r9, [rbp - 0x31]
mov rax, qword [r11]
mov rdx, r13
mov rcx, r15
mov qword [rbp - 0x49], rax
mov dword [rsp + 0x20], 0x102
call fcn.18001c890
mov r11, qword [rbp + 0x77]
mov r8, qword [rbp - 0x59]
mov qword [rbp - 0x29], rax
mov r9, qword [rbp + 0x67]
dec edi
cmp edi, 0x129
ja 0x1800607f0
jmp 0x180060870
mov rax, qword [r11]
cmp r13, qword [rax + 0x18]
jae 0x180060870
mov qword [rax + 0x18], r13
mov r11, qword [rbp + 0x77]
add esi, 0x1774
mov r8, qword [rbp - 0x59]
mov r9, qword [rbp + 0x67]
mov edi, dword [rbp + 0x7f]
cmp esi, 0x2ee8
jbe 0x1800606f0
mov rax, qword [r11]
mov r8, r12
mov r10, qword [rbp + 0x67]
mov r9, qword [rbp - 1]
mov r15, r9
mov rcx, qword [rax + 0x10]
cmp qword [r10], rcx
jae 0x18006091a
mov edx, 0xcf
mov eax, edx
sub eax, 0xcc
je 0x1800603a7
sub eax, 1
je 0x180060908
sub eax, 1
je 0x1800608e3
cmp eax, 1
jne 0x180060910
mov rcx, qword [r11]
mov rax, qword [r10]
sub qword [rcx + 0x10], rax
mov rax, qword [r11]
mov r12, qword [rcx + 0x10]
mov r15, qword [rax + 0x28]
jmp 0x180060910
mov rax, qword [r11]
mov rcx, qword [r10]
add rcx, r15
mov qword [rax + 0x28], rcx
mov rax, r12
or rax, 1
mov qword [rcx + 8], rax
mov rax, qword [r10]
or rax, 3
mov qword [r15 + 8], rax
jmp 0x180060910
lea rax, [r15 + 0x10]
mov qword [rbp - 0x29], rax
dec edx
cmp edx, 0xcb
ja 0x1800608b0
mov r8, qword [rbp - 0x59]
mov ecx, dword [rbp - 0x51]
mov edx, dword [rbp - 0x4d]
jmp 0x180060933
mov ecx, dword [rbp - 0x51]
mov edi, ebx
jmp 0x180060933
mov ecx, dword [rbp - 0x51]
mov edi, dword [rbp + 0x7f]
imul eax, dword [rbp + 0x6f], 0x47
add ecx, eax
mov dword [rbp - 0x51], ecx
cmp ecx, edx
ja 0x1800603a7
mov r9, qword [rbp + 0x67]
jmp 0x180060363