Function at 0x18038b650
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov r8, rsi
add r8, 0x40
mov eax, dword [0x18078de60]
and eax, dword [0x18078de64]
imul eax, eax, 0x76af4d93
add eax, 0xeb347ed3
or eax, 0xf3f73552
cmp eax, 0x6f6e496b
jb 0x18038ba3f
mov eax, dword [0x18078de68]
or eax, dword [0x18078de6c]
or eax, 0xaded2f4c
mov ecx, 0x70bc8e87
xor edx, edx
div ecx
add eax, 0x4c96b8c1
movzx ecx, byte [r8]
cmp eax, 0xcf48935
jbe 0x18038ba3f
jmp 0x18038b6b8
mov eax, dword [0x18078de70]
sub eax, dword [0x18078de74]
xor eax, 0xfda82186
add eax, 0xf36f649d
sub eax, 0xf701842f
cmp eax, 0xa7032824
jb 0x18038ba4c
mov eax, dword [0x18078de78]
imul eax, dword [0x18078de7c]
or eax, 0x27290c67
imul eax, eax, 0xe72aeb13
sub eax, 0x6789293f
cmp eax, 0x8e145f2e
je 0x18038ba4c
test ecx, ecx
je 0x18038b770
jmp 0x18038b70c
sub ecx, 3
je 0x18038b9d8
jmp 0x18038b717
mov eax, dword [0x18078de80]
xor eax, dword [0x18078de84]
or eax, 0xe49a77ef
imul eax, eax, 0x9dc5ec07
or eax, 0xb1f7b928
cmp eax, 0xc34b1c7f
jbe 0x18038ba5d
mov eax, dword [0x18078de88]
and eax, dword [0x18078de8c]
mov ecx, 0xb23c7a6f
xor edx, edx
div ecx
add eax, 0x88c4e332
or eax, 0x25ac55b1
cmp eax, 0xebdbcec8
ja 0x18038ba5d
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
mov rbx, rsi
add rbx, 8
mov eax, dword [0x18078de90]
sub eax, dword [0x18078de94]
and eax, 0x5200eb58
mov ecx, 0xd834721d
xor edx, edx
div ecx
or eax, 0x7d355f81
cmp eax, 0xffc144ac
ja 0x18038ba6a
mov eax, dword [str.8_DM]
imul eax, dword [0x18078de9c]
imul eax, eax, 0x1661d953
add eax, 0xceb3110c
sub eax, 0x3caab282
mov rdi, qword [rbx]
cmp rdi, 0
sete cl
cmp eax, 0xeaccae89
je 0x18038ba6a
jmp 0x18038b7d5
mov eax, dword [0x18078dea0]
sub eax, dword [0x18078dea4]
and eax, 0x11f0e72a
mov r8d, 0x404321b1
xor edx, edx
div r8d
and eax, 0x6e9624d9
cmp eax, 0x34c459ec
jae 0x18038ba7b
mov eax, dword [0x18078dea8]
and eax, dword [0x18078deac]
imul eax, eax, 0x6f7fca51
xor eax, 0x525017e4
and eax, 0x81fcb078
cmp eax, 0x7097f534
jbe 0x18038ba7b
test cl, 1
jne 0x18038b971
jmp 0x18038b833
mov rcx, rdi
call fcn.1806595d0
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
je 0x18038b8ec
mov eax, dword [0x18078deb0]
sub eax, dword [0x18078deb4]
and eax, 0xa8a3b909
sub eax, 0x2c551e7f
sub eax, 0x36b18e8
cmp eax, 0xe7d04b76
ja 0x18038ba88
mov eax, dword [0x18078deb8]
mov ecx, dword [0x18078debc]
lea eax, [rax + rcx - 0x1b9a6ca1]
cmp eax, 0xa1fe7c8f
jbe 0x18038ba88
jmp 0x18038b893
mov rcx, rdi
call fcn.1804b9d30
mov eax, dword [0x18078dec0]
sub eax, dword [0x18078dec4]
imul eax, eax, 0x5236c4f5
xor eax, 0xd383dce
or eax, 0x65fe9ab4
cmp eax, 0x2d4e4dce
jb 0x18038ba95
jmp 0x18038b8c4
mov eax, dword [0x18078dec8]
sub eax, dword [0x18078decc]
sub eax, 0x3fcecdfa
mov ecx, 0xf7f69fc6
xor edx, edx
div ecx
add eax, 0xbabc2976
cmp eax, 0xa9238622
jb 0x18038b8c4
jmp 0x18038b8ec
add rdi, 8
mov rax, qword [rdi]
lock dec qword [rax]
sete al
mov ecx, dword [0x18078ded0]
add ecx, dword [0x18078ded4]
imul ecx, ecx, 0xffd38d3e
add ecx, 0x6814c3a2
imul ecx, ecx, 0x622c81ed
cmp ecx, 0xf1a6655a
je 0x18038baa6
jmp 0x18038b926
mov ecx, dword [str.C0]
xor ecx, dword [0x18078dedc]
add ecx, 0x57cc9539
xor ecx, 0x796fe436
imul ecx, ecx, 0x1eeb6c15
cmp ecx, 0xb4ea8282
ja 0x18038b926
test al, 1
jne 0x18038b952
jmp 0x18038b95c
mov rcx, rdi
call fcn.1804c6740
jmp 0x18038b95c
mov rcx, qword [rbx]
mov edx, 0x20
mov r8d, 8
call fcn.1804cafa0
jmp 0x18038b971
mov rsi, qword [rsi]
mov eax, dword [0x18078dee0]
xor eax, dword [0x18078dee4]
imul eax, eax, 0x937a75bd
imul eax, eax, 0xcb03941
and eax, 0xa7c42e41
cmp eax, 0x29babdab
je 0x18038bab3
mov eax, dword [0x18078dee8]
xor edx, edx
div dword [0x18078deec]
imul eax, eax, 0x897594a7
imul edi, eax, 0x78db7a11
sub edi, 0xdfcfee00
mov rcx, rsi
call qword [sym.imp.ws2_32.dll_closesocket]
cmp edi, 0x8e116ba2
jb 0x18038bab3
jmp 0x18038b9d3
jmp 0x18038b717
add rsi, 0x10
mov rcx, rsi
call fcn.1803879c0
mov eax, dword [0x18078def0]
xor edx, edx
div dword [0x18078def4]
mov ecx, 0x5fd43210
xor edx, edx
div ecx
imul eax, eax, 0x4eca0d53
imul eax, eax, 0xb5c10435
cmp eax, 0x6149a989
jae 0x18038bac9
jmp 0x18038ba14
mov eax, dword [0x18078def8]
xor eax, dword [0x18078defc]
add eax, 0x4024dc
xor eax, 0xa23c9283
sub eax, 0xd69de508
mov ecx, 0xfeccbe01
xor edx, edx
div ecx
cmp eax, 0x4fa5bc72
je 0x18038ba14
jmp 0x18038b717
fldcw word [rdx + rcx*8 - 0x3b4f0362]
invalid
invalid
ja 0x18038ba1b
mov edi, 0xd8ac4e2b
push 0xffffffffffffffe9
invalid
or byte [rsi - 0x77], dl
fcomp qword [rdi]
pop rbx
std
cld
idiv byte [rdi - 0x17]
std
invalid
out dx, eax
iretd
or byte [rcx - 0x65], ah
insb byte [rdi], dx
invalid
movsb byte [rdi], byte [rsi]
invalid
invalid
cmpsb byte [rsi], byte [rdi]
invalid
invalid