Function at 0x1800273a0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rax - 0x68]
sub rsp, 0x140
mov qword [rbp - 0x38], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov qword [rax + 0x20], rsi
mov rax, qword [0x180067008]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov rdi, rdx
mov rsi, rcx
xor r15d, r15d
mov ebx, r15d
mov dword [rsp + 0x60], ebx
lea r12, [0x180069298]
mov qword [rbp - 0x10], r12
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x18], r15
call fcn.18000f420
mov qword [rbp - 0x20], rax
mov qword [rbp - 0x30], r15
mov qword [rbp - 0x28], r15
call fcn.18000f420
mov qword [rbp - 0x30], rax
xor eax, eax
mov qword [rbp], rax
mov dword [rbp], r15d
mov dword [rbp + 4], 0x400
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x400
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 8], rax
mov dword [rsp + 0x64], r15d
movdqa xmm0, xmmword [0x18005a0d0]
movdqu xmmword [rbp + 8], xmm0
movdqa xmm1, xmmword [0x18005a130]
movdqu xmmword [rbp + 0x18], xmm1
mov word [rbp + 0x28], 0x2e01
mov byte [rbp + 0x2a], 0x2e
lea rdx, [rbp + 0x29]
lea r8d, [r15 + 0x11]
nop dword [rax + rax]
movzx ecx, byte [rdx]
xor byte [rdx + 1], cl
movzx eax, byte [rdx - 1]
xor al, cl
mov byte [rdx], al
lea rdx, [rdx - 2]
sub r8, 1
jne 0x180027480
xor byte [rbp + 8], 0x29
mov rax, qword [rsi + 0x28]
sub rax, qword [rsi + 0x20]
sar rax, 5
test rax, rax
je 0x1800275a0
mov qword [rbp - 0x60], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x68], r15
mov byte [rbp - 0x78], r8b
lea rdx, [0x180057690]
lea rcx, [rbp - 0x78]
call fcn.1800020b0
nop
mov dword [rsp + 0x60], 1
mov qword [rbp - 0x80], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x78], r15
mov byte [rsp + 0x68], 0
mov r8d, 4
lea rdx, str.POST
lea rcx, [rsp + 0x68]
call fcn.1800020b0
nop
mov dword [rsp + 0x60], 3
mov qword [rbp - 0x40], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x48], r15
mov byte [rbp - 0x58], 0
cmp byte [rbp + 8], 0
jne 0x180027527
mov r8, r15
jmp 0x18002753a
lea rax, [rbp + 8]
or r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x180027530
lea rdx, [rbp + 8]
lea rcx, [rbp - 0x58]
call fcn.1800020b0
nop
mov ebx, 7
mov dword [rsp + 0x60], ebx
mov dword [rsp + 0x50], r15d
lea rax, [rbp - 8]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x64]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x68]
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x58]
call fcn.18000b4d0
test eax, eax
jne 0x1800275a0
mov r14b, 1
jmp 0x1800275a3
xor r14b, r14b
test bl, 4
je 0x180027611
and ebx, 0xfffffffb
mov rax, qword [rbp - 0x40]
cmp rax, 0x10
jb 0x180027601
inc rax
mov rcx, qword [rbp - 0x58]
cmp rax, 0x1000
jb 0x1800275fc
test cl, 0x1f
je 0x1800275cf
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1800275de
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x1800275ed
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x1800275f9
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
mov qword [rbp - 0x40], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x48], r15
mov byte [rbp - 0x58], 0
test bl, 2
je 0x180027682
and ebx, 0xfffffffd
mov rax, qword [rbp - 0x80]
cmp rax, 0x10
jb 0x180027670
inc rax
mov rcx, qword [rsp + 0x68]
cmp rax, 0x1000
jb 0x18002766b
test cl, 0x1f
je 0x18002763e
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18002764d
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18002765c
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x180027668
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
mov qword [rbp - 0x80], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x78], r15
mov byte [rsp + 0x68], 0
test bl, 1
je 0x1800276dd
mov rax, qword [rbp - 0x60]
cmp rax, 0x10
jb 0x1800276dd
inc rax
mov rcx, qword [rbp - 0x78]
cmp rax, 0x1000
jb 0x1800276d8
test cl, 0x1f
je 0x1800276ab
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x1800276ba
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x1800276c9
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x1800276d5
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
test r14b, r14b
je 0x180027890
mov rbx, qword [rsi + 0x20]
cmp rbx, qword [rsi + 0x28]
je 0x180027890
mov qword [rbp - 0x60], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x68], r15
mov byte [rbp - 0x78], 0
mov r8d, 4
lea rdx, str.POST
lea rcx, [rbp - 0x78]
call fcn.1800020b0
nop
mov qword [rbp - 0x80], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x78], r15
mov byte [rsp + 0x68], 0
cmp byte [rbp + 8], 0
jne 0x180027738
mov r8, r15
jmp 0x18002774a
lea rax, [rbp + 8]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x180027740
lea rdx, [rbp + 8]
lea rcx, [rsp + 0x68]
call fcn.1800020b0
nop
mov dword [rsp + 0x50], r15d
lea rax, [rbp - 8]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x64]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rbx
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x78]
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x68]
call fcn.18000b4d0
mov r14d, eax
mov rcx, qword [rbp - 0x80]
cmp rcx, 0x10
jb 0x1800277e9
inc rcx
mov rdx, qword [rsp + 0x68]
cmp rcx, 0x1000
jb 0x1800277e1
test dl, 0x1f
jne 0x180027859
mov rax, qword [rdx - 8]
cmp rax, rdx
jae 0x180027853
sub rdx, rax
cmp rdx, 8
jb 0x18002784d
cmp rdx, 0x27
ja 0x180027847
mov rdx, rax
mov rcx, rdx
call fcn.180033ed0
mov qword [rbp - 0x80], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x78], r15
mov byte [rsp + 0x68], 0
mov rax, qword [rbp - 0x60]
cmp rax, 0x10
jb 0x180027839
inc rax
mov rcx, qword [rbp - 0x78]
cmp rax, 0x1000
jb 0x180027834
test cl, 0x1f
jne 0x180027871
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x18002786b
sub rcx, rax
cmp rcx, 8
jb 0x180027865
cmp rcx, 0x27
ja 0x18002785f
mov rcx, rax
call fcn.180033ed0
test r14d, r14d
jne 0x180027877
add rbx, 0x20
jmp 0x1800276ea
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
cmp rsi, rbx
je 0x1800278a6
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rbx
mov rcx, rsi
call fcn.1800021e0
jmp 0x1800278a6
mov qword [rsi + 0x10], r15
cmp qword [rsi + 0x18], 0x10
jb 0x1800278a0
mov rax, qword [rsi]
jmp 0x1800278a3
mov rax, rsi
mov byte [rax], 0
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rdi + 0x10], r15
cmp qword [rdi + 0x18], 0x10
jb 0x1800278be
mov rax, qword [rdi]
jmp 0x1800278c1
mov rax, rdi
mov byte [rax], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rsi
mov rcx, rdi
call fcn.1800021e0
nop
mov rbx, qword [rbp - 8]
test rbx, rbx
je 0x1800278f5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, rbx
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop
mov r8, qword [rbp - 0x30]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x30]
call fcn.18000e170
mov rcx, qword [rbp - 0x30]
call fcn.180033ed0
nop
mov r8, qword [rbp - 0x20]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x20]
call fcn.18000e170
mov rcx, qword [rbp - 0x20]
call fcn.180033ed0
nop
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, rdi
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.180033e70
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret