Function at 0x180222ed0
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rsi, rcx
mov rax, rsi
add rax, 0x40
mov cl, byte [rax]
movzx eax, cl
test cl, cl
je 0x180222f52
jmp 0x180222eef
sub eax, 3
je 0x180223184
jmp 0x180222efa
mov eax, dword [0x18051d0c8]
xor edx, edx
div dword [0x18051d0cc]
or eax, 0x6c20e28
xor eax, 0xb76b6c58
and eax, 0xccad8339
cmp eax, 0x341b6326
jbe 0x180223195
jmp 0x180222f24
mov eax, dword [0x18051d0d0]
and eax, dword [0x18051d0d4]
sub eax, 0x5bc6e670
imul eax, eax, 0x22e6643f
add eax, 0x9a818f1b
cmp eax, 0x71f4244
je 0x180222f24
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
mov eax, dword [0x18051d0d8]
imul eax, dword [0x18051d0dc]
add eax, 0x1bb21a2f
add eax, 0x474b57ad
sub eax, 0xc1cff6c1
cmp eax, 0x564977e8
ja 0x1802231a2
mov eax, dword [0x18051d0e0]
xor eax, dword [0x18051d0e4]
mov ecx, 0xcad1eaa2
xor edx, edx
div ecx
add eax, 0x9793d147
mov ecx, 0xa0e95529
xor edx, edx
div ecx
cmp eax, 0x52da9eae
jae 0x1802231a2
jmp 0x180222fa9
mov rbx, rsi
add rbx, 8
mov rdi, qword [rsi + 8]
cmp rdi, 0
je 0x180223176
mov eax, dword [0x18051d0e8]
sub eax, dword [0x18051d0ec]
xor eax, 0x26981d52
xor eax, 0x5934f5a7
sub eax, 0x68928adc
cmp eax, 0xb6b1d2b1
ja 0x1802231b3
mov r14d, dword [0x18051d0f0]
mov eax, dword [0x18051d0f4]
imul r14d, eax
xor r14d, 0xf6fdfdea
add r14d, 0xf9da9a5a
mov eax, 0xc07aaf4d
imul r14, rax
shr r14, 0x3f
mov rcx, rdi
call fcn.18041b8c0
mov rax, qword [rdi]
mov rcx, 0xffffffffffffffff
lock xadd qword [rax], rcx
cmp r14d, 0x3794a5db
ja 0x1802231b3
jmp 0x180223036
mov eax, dword [0x18051d0f8]
add eax, dword [0x18051d0fc]
and eax, 0xa257ec7e
or eax, 0x5ef93da5
add eax, 0x1580d608
cmp eax, 0x8b956027
je 0x1802231cf
mov eax, dword [0x18051d100]
sub eax, dword [0x18051d104]
add eax, 0xe4c83512
mov r8d, 0x33d4ab65
xor edx, edx
div r8d
imul edx, eax, 0xfb721f10
cmp rcx, 1
sete al
cmp edx, 0x199eb24e
jae 0x1802231cf
test al, 1
jne 0x180223097
jmp 0x1802230f0
mov eax, dword [0x18051d108]
imul eax, dword [0x18051d10c]
add eax, 0xa9d06429
add eax, 0xe1d9d626
and eax, 0x4d71ec2a
cmp eax, 0x6d032731
jae 0x1802231dc
jmp 0x1802230c0
mov eax, dword [0x18051d110]
xor eax, dword [0x18051d114]
and eax, 0xc9d86a21
sub eax, 0x7377d86a
imul ebp, eax, 0x57c07deb
mov rcx, rdi
call fcn.180279160
cmp ebp, 0xf5afdb1d
ja 0x1802230c0
jmp 0x1802230ee
jmp 0x1802230f0
add rdi, 8
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
jne 0x180223104
jmp 0x18022310e
mov rcx, rdi
call fcn.180272d20
jmp 0x18022310e
mov rdi, qword [rbx]
mov eax, dword [0x18051d118]
xor edx, edx
div dword [0x18051d11c]
add eax, 0x445a1190
sub eax, 0xafcb0f70
add eax, 0xc434a3e9
cmp eax, 0x72c28612
je 0x1802231f1
jmp 0x1bde665d2
mov ebx, dword [0x18051d120]
or ebx, dword [0x18051d124]
or ebx, 0x14403f0e
xor ebx, 0xbeb15f10
add ebx, 0xa1da904d
mov rcx, rdi
mov edx, 0x20
mov r8d, 8
call fcn.1802cbf20
cmp ebx, 0xe38075e5
je 0x1802231f1
jmp 0x180223174
jmp 0x180223176
mov rcx, qword [rsi]
call qword [sym.imp.ws2_32.dll_closesocket]
jmp 0x180222efa
add rsi, 0x10
mov rcx, rsi
call fcn.180220cb0
jmp 0x180222efa
jae 0x18022312a
jmp 0x1d63ca904
iretd
xor dword [rsp + rdx*4], ecx
jg 0x1802231d5
xor dh, byte [rdi - 0x676b795]
call fcn.18041b8c0
mov rax, qword [rdi]
lock dec qword [rax]
jmp 0x180222fe4
out dx, eax
add dl, dl
hlt
pop rbp
push 0xfffffffffffe80e9
push qword [rdi + 0x4a]
ja 0x180223228
retf
xchg edi, eax
sub dword [rdx - 0x48ab57e9], ecx
test eax, 0xc855421f
mov rcx, rdi
mov edx, 0x20
mov r8d, 8
call fcn.1802cbf20
jmp 0x180223139
int3