Function at 0x1804b6c60
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rcx
mov rcx, rsi
call fcn.1804538a0
mov r14, rsi
add r14, 0x18
mov rbx, qword [r14]
cmp rbx, 0xffffffffffffffff
je 0x1804b6f0b
mov r15, rsi
add r15, 0x20
mov rdi, qword [r15]
cmp rdi, 0
je 0x1804b6ea7
mov rcx, rdi
call fcn.1806595d0
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
jne 0x1804b6cb7
jmp 0x1804b6d1a
mov eax, dword [str.Fx_vH_r]
imul eax, dword [0x1807ac3fc]
add eax, 0x85ff1b56
sub eax, 0xfd193a70
add eax, 0x37ba5f1b
cmp eax, 0x548abda0
je 0x1804b7350
mov eax, dword [0x1807ac400]
xor edx, edx
div dword [0x1807ac404]
or eax, 0xe7ac394f
mov ecx, 0x6d276faf
xor edx, edx
div ecx
mov ebx, eax
xor ebx, 0x2582b0f9
mov rcx, rdi
call fcn.1804b9d30
cmp ebx, 0xb2103cd0
jae 0x1804b7350
jmp 0x1804b6d18
jmp 0x1804b6d1a
add rdi, 8
mov eax, dword [0x1807ac408]
and eax, dword [0x1807ac40c]
mov ecx, 0xc6130a2
xor edx, edx
div ecx
mov ecx, 0x3539345e
xor edx, edx
div ecx
and eax, 0xa67ad0ce
cmp eax, 0x70d1c611
ja 0x1804b7365
jmp 0x1804b6d4e
mov eax, dword [0x1807ac410]
imul eax, dword [0x1807ac414]
xor eax, 0x2e9a8350
add eax, 0x3b2ae7f
imul ecx, eax, 0x94389c59
mov rax, qword [rdi]
lock dec qword [rax]
sete al
cmp ecx, 0x71d2eb0e
je 0x1804b6d4e
jmp 0x1804b6d7f
mov ecx, dword [0x1807ac418]
and ecx, dword [0x1807ac41c]
imul ecx, ecx, 0x39e75a7e
sub ecx, 0x4f8bb2a6
or ecx, 0xfdc08df6
cmp ecx, 0x63141c57
jb 0x1804b737c
jmp 0x1804b6dab
mov ecx, dword [0x1807ac420]
and ecx, dword [0x1807ac424]
sub ecx, 0x41a063c5
xor ecx, 0xdff7b3bb
or ecx, 0xee6b8f9b
cmp ecx, 0x11871dae
je 0x1804b6dab
test al, 1
jne 0x1804b6dd7
jmp 0x1804b6de1
mov rcx, rdi
call fcn.1804c6740
jmp 0x1804b6de1
mov rdi, qword [r15]
mov eax, dword [0x1807ac428]
xor edx, edx
div dword [0x1807ac42c]
imul eax, eax, 0x6d7095ba
xor eax, 0xf847d82
imul eax, eax, 0xcdba630f
cmp eax, 0xb4a7cdf1
jae 0x1804b738d
mov eax, dword [0x1807ac430]
xor edx, edx
div dword [0x1807ac434]
mov ecx, 0x1454678e
xor edx, edx
div ecx
mov ebp, eax
sub ebp, 0x45d3b05f
add ebp, 0x8778bdd8
mov rcx, rdi
mov edx, 0x20
mov r8d, 8
call fcn.1804cafa0
mov rbx, qword [r14]
cmp ebp, 0x6b3e8f3
jbe 0x1804b738d
jmp 0x1804b6e57
mov eax, dword [0x1807ac438]
xor eax, dword [0x1807ac43c]
or eax, 0x7bcb0922
imul eax, eax, 0x66cb9767
sub eax, 0xa14ec1bd
cmp eax, 0x2169fea2
jb 0x1804b73ad
mov eax, dword [0x1807ac440]
or eax, dword [0x1807ac444]
sub eax, 0xed6434d7
and eax, 0xd361ab6e
imul eax, eax, 0x93ee8523
cmp eax, 0x97b7c949
jb 0x1804b73ad
jmp 0x1804b6ea7
mov eax, dword [0x1807ac448]
xor edx, edx
div dword [0x1807ac44c]
sub eax, 0xd88e1072
sub eax, 0xa2880999
mov ecx, 0x8334ef22
xor edx, edx
div ecx
cmp eax, 0xa47dbed7
ja 0x1804b73be
mov eax, dword [0x1807ac450]
and eax, dword [0x1807ac454]
sub eax, 0xb9174a0e
or eax, 0x19a145b5
mov ecx, 0xa59e9849
xor edx, edx
div ecx
mov edi, eax
mov rcx, rbx
call qword [sym.imp.ws2_32.dll_closesocket]
cmp edi, 0x40d55cae
ja 0x1804b73be
jmp 0x1804b6f0b
mov rcx, rsi
call fcn.18063b100
mov rax, qword [rsi]
test rax, rax
je 0x1804b6ff8
jmp 0x1804b6f21
sub rax, 1
je 0x1804b70cc
jmp 0x1804b6f2d
mov rdi, rsi
add rdi, 8
mov eax, dword [0x1807ac458]
imul eax, dword [0x1807ac45c]
mov ecx, 0x63ccb04b
xor edx, edx
div ecx
and eax, 0xfc754103
add eax, 0x8ed18b9b
cmp eax, 0xe46e78de
je 0x1804b73d8
jmp 0x1804b6f61
mov eax, dword [0x1807ac460]
or eax, dword [0x1807ac464]
xor eax, 0x8d69cd26
imul eax, eax, 0x7ae5f325
imul ecx, eax, 0xa89e9e71
mov rax, qword [rdi]
lock dec qword [rax]
sete al
cmp ecx, 0x8ada5af
je 0x1804b6f61
jmp 0x1804b6f92
test al, 1
jne 0x1804b6f9b
jmp 0x1804b722a
mov eax, dword [str._7_b]
xor edx, edx
div dword [0x1807ac46c]
and eax, 0x20328368
sub eax, 0xe3ac8c03
xor eax, 0xff0b3ff0
cmp eax, 0x9d8f5d7e
jb 0x1804b73f0
jmp 0x1804b6fc5
mov eax, dword [0x1807ac470]
sub eax, dword [0x1807ac474]
sub eax, 0x13d5c8de
xor eax, 0xa4fd5459
imul ebx, eax, 0x59f1a7cf
mov rcx, rdi
call fcn.1804be730
cmp ebx, 0x2489fad0
jb 0x1804b6fc5
jmp 0x1804b6ff3
jmp 0x1804b722a
mov rcx, rsi
add rcx, 8
mov rax, qword [rsi + 8]
lock dec qword [rax]
sete al
test al, 1
jne 0x1804b7013
jmp 0x1804b722a
mov eax, dword [0x1807ac478]
xor eax, dword [0x1807ac47c]
add eax, 0x6e924f65
add eax, 0xd044bf84
mov r8d, 0xde2b8b68
xor edx, edx
div r8d
cmp eax, 0x82a27ed8
je 0x1804b7409
mov eax, dword [0x1807ac480]
mov edx, dword [0x1807ac484]
lea eax, [rax + rdx + 0x7b2d77b1]
shr eax, 2
imul rax, rax, 0x4a23b737
shr rax, 0x3c
cmp eax, 0x6e505e05
ja 0x1804b7409
jmp 0x1804b706d
call fcn.1804bab90
mov eax, dword [0x1807ac488]
add eax, dword [0x1807ac48c]
mov ecx, 0xbb7db029
xor edx, edx
div ecx
imul eax, eax, 0x8b4e1613
mov ecx, 0x94b68879
xor edx, edx
div ecx
cmp eax, 0xaa9a1511
je 0x1804b7416
mov eax, dword [0x1807ac490]
and eax, dword [0x1807ac494]
sub eax, 0x377d2269
or eax, 0x5955b900
xor eax, 0x863d3a35
cmp eax, 0x2976df3
je 0x1804b7416
jmp 0x1804b722a
mov eax, dword [0x1807ac498]
or eax, dword [0x1807ac49c]
and eax, 0x12904261
mov ecx, 0x43b115e2
xor edx, edx
div ecx
add eax, 0x81f8c1fa
cmp eax, 0xc24af109
je 0x1804b7427
jmp 0x1804b70f8
mov eax, dword [0x1807ac4a0]
imul eax, dword [0x1807ac4a4]
xor eax, 0x7c02d117
and eax, 0x2ac4af2
and eax, 0x3faf67eb
mov rdi, rsi
add rdi, 8
cmp eax, 0x2fc239ce
jae 0x1804b70f8
jmp 0x1804b7124
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
je 0x1804b722a
mov eax, dword [0x1807ac4a8]
xor eax, dword [0x1807ac4ac]
or eax, 0x3a3eba5c
and eax, 0xbf33e39c
add eax, 0xc3b8cd86
cmp eax, 0x24d0788e
je 0x1804b7434
jmp 0x1804b715e
mov eax, dword [0x1807ac4b0]
mov ecx, dword [0x1807ac4b4]
xor eax, ecx
add eax, 0xe4e46f75
or eax, 0x8eabf984
add eax, 0xd84ea97
cmp eax, 0x4282af78
jb 0x1804b715e
jmp 0x1804b7184
mov eax, dword [0x1807ac4b8]
or eax, dword [0x1807ac4bc]
and eax, 0x635ec87e
xor eax, 0xae8848ef
or eax, 0xda016ed1
cmp eax, 0xaca05ece
jb 0x1804b7445
jmp 0x1804b71ac
mov ebx, dword [0x1807ac4c0]
or ebx, dword [0x1807ac4c4]
add ebx, 0x5fa57b77
add ebx, 0x4fd2d892
add ebx, 0xfc4d4ba5
mov rcx, rdi
call fcn.1804b80b0
cmp ebx, 0x8d12a58e
jbe 0x1804b71ac
jmp 0x1804b71dc
mov eax, dword [0x1807ac4c8]
and eax, dword [0x1807ac4cc]
imul eax, eax, 0xf203584a
imul eax, eax, 0x8ba03609
or eax, 0xca62b023
cmp eax, 0x40706d37
jbe 0x1804b745e
jmp 0x1804b7206
mov eax, dword [0x1807ac4d0]
and eax, dword [0x1807ac4d4]
add eax, 0xb53defa5
and eax, 0xb54f0392
xor eax, 0xb170b168
cmp eax, 0x5da751d1
ja 0x1804b7206
jmp 0x1804b722a
mov eax, dword [0x1807ac4d8]
add eax, dword [0x1807ac4dc]
mov ecx, 0xbef8d308
xor edx, edx
div ecx
or eax, 0x301b0282
sub eax, 0x471c8ea3
cmp eax, 0x2ec9f146
jbe 0x1804b746b
jmp 0x1804b7256
mov eax, dword [0x1807ac4e0]
and eax, dword [0x1807ac4e4]
or eax, 0xcd808a78
mov ecx, 0x2be21f37
xor edx, edx
div ecx
mov ecx, 0x8d751d13
xor edx, edx
div ecx
mov rcx, rsi
add rcx, 0x10
cmp eax, 0xbb0ae70c
ja 0x1804b7256
jmp 0x1804b7289
mov rax, qword [rcx]
lock dec qword [rax]
sete al
test al, 1
jne 0x1804b7299
jmp 0x1804b72f1
mov eax, dword [0x1807ac4e8]
xor edx, edx
div dword [0x1807ac4ec]
or eax, 0x39ecc07e
mov r8d, 0xd3769014
xor edx, edx
div r8d
and eax, 0x336cb5d4
cmp eax, 0x54998867
ja 0x1804b747c
jmp 0x1804b72c9
mov eax, dword [0x1807ac4f0]
mov edx, dword [0x1807ac4f4]
xor eax, edx
xor eax, 0x4400e000
and eax, 0x4400e081
cmp eax, 0x374c6612
je 0x1804b72c9
jmp 0x1804b72ea
call fcn.1804c2000
jmp 0x1804b72f1
mov eax, dword [0x1807ac4f8]
add eax, dword [0x1807ac4fc]
mov ecx, 0x53e7d43e
xor edx, edx
div ecx
sub eax, 0xb650593c
imul eax, eax, 0xab141391
cmp eax, 0x9e47da4f
jae 0x1804b748d
mov eax, dword [0x1807ac500]
xor eax, dword [0x1807ac504]
imul eax, eax, 0x4356f960
add eax, 0x62c272d0
or eax, 0x70de86e0
cmp eax, 0x10175e9b
jbe 0x1804b748d
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
invalid
retf 0xffc5
sub dword [rcx + 0x6a], ebp
cwde
out dx, al
insb byte [rdi], dx
loope 0x1804b73db
clc
jge 0x1804b7349
and ch, cl
sbb al, 0xfa
invalid
pop rbx
mov esi, 0x5c042636
imul esp, eax, 0xbaf98948
and byte [rax], al
add byte [rax], al
mov r8d, 8
call fcn.1804cafa0
jmp 0x1804b6e0e
in al, 0xf6
adc eax, dword [rsi + 0x5c2f7cba]
invalid
invalid
test byte [rcx + rcx*4 + 0x2021babd], cl
outsb dx, byte [rsi]
mov ebp, 0x6e2021ba
invalid
invalid
stc
call fcn.1804be730
jmp 0x1804b6fc3
mov bh, 0xc3
or cl, byte [rbp + 0xe]
jo 0x1804b73fe
cmp ch, cl
sub esp, edi
invalid
stosb byte [rdi], al
xor dword [rdx], esi
insb byte [rdi], dx
shl dword [rdi - 0x23], 0xd5
out dx, eax
sti
sub al, 0x75
jmp 0x1804b70a1
add dword [rcx], eax
pop rax
out 0x7e, al
mov edi, 0xc2e95574
cld
invalid
sub ebp, edx
push rdx
shl dword [rbx + rdi*4], 1
or al, 0x2b
xchg byte [rdi + rbx*2 - 0x2e81680], cl
invalid
push rcx
xor byte [rdx - 0x10], al
test eax, 0x5f1e6968
wait
jnp 0x1804b749d
mov rcx, rdi
call fcn.1804b80b0
jmp 0x1804b71aa
invalid
in eax, 0x8a
add dword [rdi - 0x14], ecx
invalid
fst st(3)
push rbx
jns 0x1804b7491
push 0x59
sub dl, bl
xlatb
invalid
invalid
push 0x438f8fbe
mov ch, 0xf6
mov r13b, 0xf6
jg 0x1804b745f
jmp 0x1804b731c
dec esp
int3