Function at 0x18001c680
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x48]
sub rsp, 0x148
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov rax, qword [0x180067008]
xor rax, rsp
mov qword [rbp + 0x38], rax
mov rsi, r9
mov r13, r8
mov r12, rdx
mov r15, rcx
mov qword [r9 + 0x10], 0
cmp qword [r9 + 0x18], 0x10
jb 0x18001c6d0
mov rax, qword [r9]
jmp 0x18001c6d3
mov rax, rsi
mov byte [rax], 0
xor r14d, r14d
mov rdi, qword [rcx + 0x10]
test rdi, rdi
je 0x18001cd0b
cmp rdi, 1
jb 0x18001cd0b
cmp qword [rcx + 0x18], 0x10
jb 0x18001c6fc
mov rbx, qword [rcx]
jmp 0x18001c700
mov rbx, r15
nop
test rdi, rdi
je 0x18001cd0b
mov r8, rdi
mov edx, 0x5b
mov rcx, rbx
call fcn.180036b38
test rax, rax
je 0x18001cd0b
cmp byte [rax], 0x5b
je 0x18001c736
sub rbx, rax
dec rbx
add rdi, rbx
lea rbx, [rax + 1]
jmp 0x18001c700
cmp qword [r15 + 0x18], 0x10
jb 0x18001c742
mov rcx, qword [r15]
jmp 0x18001c745
mov rcx, r15
sub rax, rcx
cmp rax, 0xffffffffffffffff
je 0x18001cd0b
movsd xmm0, qword [0x180058fb8]
movsd qword [rbp + 0x10], xmm0
mov eax, dword [0x180058fc0]
mov dword [rbp + 0x18], eax
movzx eax, word [0x180058fc4]
mov word [rbp + 0x1c], ax
lea r8, [rbp + 0x1b]
mov r9d, 2
nop dword [rax]
movzx ecx, byte [r8]
xor byte [r8 + 1], cl
movzx eax, byte [r8 - 1]
xor al, cl
mov byte [r8], al
movzx eax, byte [r8 - 2]
xor byte [r8 - 1], al
movzx eax, byte [r8 - 3]
xor byte [r8 - 2], al
movzx eax, byte [r8 - 4]
xor byte [r8 - 3], al
movzx eax, byte [r8 - 5]
xor byte [r8 - 4], al
lea r8, [r8 - 6]
sub r9, 1
jne 0x18001c780
xor byte [rbp + 0x10], 0xae
mov qword [rbp - 0x38], reloc.WS2_32.dll_ntohs
mov rbx, r14
mov qword [rbp - 0x40], rbx
mov byte [rbp - 0x50], bl
jne 0x18001c7dd
mov r8, rbx
jmp 0x18001c7ee
lea rax, [rbp + 0x10]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], bl
jne 0x18001c7e5
lea rdx, [rbp + 0x10]
lea rcx, [rbp - 0x50]
call fcn.1800020b0
nop
lea r8, [rbp - 0x50]
mov rdx, r15
lea rcx, [rbp - 0x70]
call fcn.18001d2b0
mov rdx, rax
mov rcx, rsi
call fcn.1800091e0
mov rax, qword [rbp - 0x58]
cmp rax, 0x10
jb 0x18001c86d
inc rax
mov rcx, qword [rbp - 0x70]
cmp rax, 0x1000
jb 0x18001c868
test cl, 0x1f
je 0x18001c83b
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001c84a
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001c859
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x18001c865
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
mov qword [rbp - 0x58], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x60], rbx
mov byte [rbp - 0x70], 0
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x18001c8e0
inc rax
mov rcx, qword [rbp - 0x50]
cmp rax, 0x1000
jb 0x18001c8ce
test cl, 0x1f
je 0x18001c8a1
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001c8b0
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001c8bf
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x18001c8cb
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
nop dword [rax]
nop word [rax + rax]
mov r9d, 9
mov r8, r14
lea rdx, str._name_:__
mov rcx, r15
call fcn.18000de20
mov rdx, rax
cmp rax, 0xffffffffffffffff
je 0x18001cd04
mov rsi, qword [r15 + 0x10]
cmp rsi, 1
jb 0x18001c964
lea rcx, [rsi - 1]
cmp rax, rcx
cmovb rcx, rax
mov r8, qword [r15 + 0x18]
cmp r8, 0x10
jb 0x18001c929
mov rax, qword [r15]
jmp 0x18001c92c
mov rax, r15
lea rbx, [rcx + rax]
cmp byte [rbx], 0x7b
sete al
test al, al
je 0x18001c93f
cmp byte [rbx], 0x7b
je 0x18001c951
mov rcx, r15
call fcn.180001ff0
cmp rbx, rax
je 0x18001c964
dec rbx
jmp 0x18001c930
cmp r8, 0x10
jb 0x18001c95c
mov rax, qword [r15]
jmp 0x18001c95f
mov rax, r15
sub rbx, rax
jmp 0x18001c968
or rbx, 0xffffffffffffffff
cmp rdx, rsi
jae 0x18001c9d5
sub rsi, rdx
cmp rsi, 1
jb 0x18001c9d5
cmp qword [r15 + 0x18], 0x10
jb 0x18001c982
mov rax, qword [r15]
jmp 0x18001c985
mov rax, r15
lea rdi, [rax + rdx]
nop dword [rax]
test rsi, rsi
je 0x18001c9d5
mov r8, rsi
mov edx, 0x7d
mov rcx, rdi
call fcn.180036b38
mov r14, rax
test rax, rax
je 0x18001c9d5
cmp byte [rax], 0x7d
je 0x18001c9c1
sub rdi, rax
dec rdi
add rsi, rdi
lea rdi, [rax + 1]
jmp 0x18001c990
cmp qword [r15 + 0x18], 0x10
jb 0x18001c9cd
mov rax, qword [r15]
jmp 0x18001c9d0
mov rax, r15
sub r14, rax
jmp 0x18001c9d9
or r14, 0xffffffffffffffff
cmp rbx, 0xffffffffffffffff
je 0x18001cd04
cmp r14, 0xffffffffffffffff
je 0x18001cd04
mov r9, r14
sub r9, rbx
mov r8, rbx
lea rdx, [rbp - 0x10]
mov rcx, r15
call fcn.18000be20
nop
mov qword [rbp - 0x58], reloc.WS2_32.dll_ntohs
xor ebx, ebx
mov qword [rbp - 0x60], rbx
mov byte [rbp - 0x70], bl
mov qword [rbp - 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x20], rbx
mov byte [rbp - 0x30], bl
mov qword [rbp - 0x38], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x40], rbx
mov byte [rbp - 0x50], bl
lea r9, [rbp - 0x30]
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x50]
lea rcx, [rbp - 0x10]
call fcn.18001cd30
movups xmm0, xmmword [str._1U]
movups xmmword [rbp + 0x20], xmm0
mov eax, dword [0x180058fe8]
mov dword [rbp + 0x30], eax
movzx eax, word [0x180058fec]
mov word [rbp + 0x34], ax
movzx eax, byte [0x180058fee]
mov byte [rbp + 0x36], al
lea rax, [rbp + 0x34]
lea r9d, [rbx + 7]
nop dword [rax + rax]
movzx r8d, byte [rax]
xor byte [rax + 1], r8b
movzx ecx, byte [rax - 1]
xor cl, r8b
mov byte [rax], cl
movzx ecx, byte [rax - 2]
xor byte [rax - 1], cl
lea rax, [rax - 3]
sub r9, 1
jne 0x18001ca80
xor byte [rbp + 0x20], 0x29
jne 0x18001caad
mov r9, rbx
jmp 0x18001cabf
lea rax, [rbp + 0x20]
or r9, 0xffffffffffffffff
inc r9
cmp byte [rax + r9], 0
jne 0x18001cab5
xor r8d, r8d
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x50]
call fcn.18000de20
lea r8, [rbp - 0x70]
lea rdx, [rbp - 0x30]
lea rcx, [rsp + 0x40]
cmp rax, 0xffffffffffffffff
je 0x18001cb0b
call fcn.18000c2c0
nop
mov rdx, rax
mov rcx, r13
call fcn.18000c4d0
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
lea rdx, [rbp + 0x10]
mov rcx, r13
call fcn.18000c550
nop
jmp 0x18001cb32
call fcn.18000c2c0
nop
mov rdx, rax
mov rcx, r12
call fcn.18000c4d0
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
lea rdx, [rbp - 0x80]
mov rcx, r12
call fcn.18000c550
nop
lea rcx, [rsp + 0x60]
call fcn.180001e50
lea rcx, [rsp + 0x40]
call fcn.180001e50
nop
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x18001cb95
inc rax
mov rcx, qword [rbp - 0x50]
cmp rax, 0x1000
jb 0x18001cb90
test cl, 0x1f
jne 0x18001ccb6
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x18001ccb0
sub rcx, rax
cmp rcx, 8
jb 0x18001ccaa
cmp rcx, 0x27
ja 0x18001cca4
mov rcx, rax
call fcn.180033ed0
mov qword [rbp - 0x38], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x40], rbx
mov byte [rbp - 0x50], 0
mov rax, qword [rbp - 0x18]
cmp rax, 0x10
jb 0x18001cbf3
inc rax
mov rcx, qword [rbp - 0x30]
cmp rax, 0x1000
jb 0x18001cbee
test cl, 0x1f
jne 0x18001ccce
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x18001ccc8
sub rcx, rax
cmp rcx, 8
jb 0x18001ccc2
cmp rcx, 0x27
ja 0x18001ccbc
mov rcx, rax
call fcn.180033ed0
mov qword [rbp - 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x20], rbx
mov byte [rbp - 0x30], 0
mov rax, qword [rbp - 0x58]
cmp rax, 0x10
jb 0x18001cc51
inc rax
mov rcx, qword [rbp - 0x70]
cmp rax, 0x1000
jb 0x18001cc4c
test cl, 0x1f
jne 0x18001cce6
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x18001cce0
sub rcx, rax
cmp rcx, 8
jb 0x18001ccda
cmp rcx, 0x27
ja 0x18001ccd4
mov rcx, rax
call fcn.180033ed0
mov qword [rbp - 0x58], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x60], rbx
mov byte [rbp - 0x70], 0
mov rax, qword [rbp + 8]
cmp rax, 0x10
jb 0x18001c8e0
mov rcx, qword [rbp - 0x10]
inc rax
cmp rax, 0x1000
jb 0x18001c8ce
test cl, 0x1f
jne 0x18001ccfe
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x18001ccf8
sub rcx, rax
cmp rcx, 8
jb 0x18001ccf2
cmp rcx, 0x27
ja 0x18001ccec
jmp 0x18001c8cb
call fcn.18003835c
int3
call fcn.18003835c
int3
call fcn.18003835c
int3
call fcn.18003835c
nop
call fcn.18003835c
int3
call fcn.18003835c
int3
call fcn.18003835c
int3
call fcn.18003835c
nop
call fcn.18003835c
int3
call fcn.18003835c
int3
call fcn.18003835c
int3
call fcn.18003835c
nop
call fcn.18003835c
int3
call fcn.18003835c
int3
call fcn.18003835c
int3
call fcn.18003835c
int3
mov eax, 1
jmp 0x18001cd0d
xor eax, eax
mov rcx, qword [rbp + 0x38]
xor rcx, rsp
call fcn.180033e70
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret