Function at 0x1803c5780
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov rcx, rsi
call fcn.1804538a0
mov eax, dword [0x1807932d0]
sub eax, dword [0x1807932d4]
sub eax, 0x64a3836e
or eax, 0x13ccd4e3
xor eax, 0x5c6417d1
cmp eax, 0xefebfa76
je 0x1803c5f05
mov eax, dword [0x1807932d8]
or eax, dword [0x1807932dc]
imul eax, eax, 0xf6912838
xor eax, 0xc234c5f2
imul edx, eax, 0x7fec9048
mov r14, rsi
add r14, 0x18
mov rcx, qword [rsi + 0x18]
cmp rcx, 0xffffffffffffffff
sete al
cmp edx, 0x2092723
jb 0x1803c5f05
jmp 0x1803c57f9
test al, 1
jne 0x1803c5a74
jmp 0x1803c5803
mov r15, rsi
add r15, 0x20
mov rbx, qword [rsi + 0x20]
cmp rbx, 0
sete al
test al, 1
jne 0x1803c5a6e
jmp 0x1803c581f
mov eax, dword [0x1807932e0]
add eax, dword [0x1807932e4]
xor eax, 0xc3478a8b
imul eax, eax, 0x452bedd
or eax, 0xb2f673a3
cmp eax, 0x424db1aa
jb 0x1803c5f16
mov eax, dword [0x1807932e8]
add eax, dword [0x1807932ec]
add eax, 0xa7e4e55c
sub eax, 0xa55bc5d9
and eax, 0x2c82550a
cmp eax, 0x6ca35feb
jae 0x1803c5f16
jmp 0x1803c586e
mov rcx, rbx
call fcn.1806595d0
mov rax, qword [rbx]
lock dec qword [rax]
sete al
test al, 1
jne 0x1803c5886
jmp 0x1803c5890
mov rcx, rbx
call fcn.1804b9d30
jmp 0x1803c5890
mov rdi, rbx
add rdi, 8
mov rax, qword [rbx + 8]
mov rcx, 0xffffffffffffffff
lock xadd qword [rax], rcx
mov eax, dword [0x1807932f0]
add eax, dword [0x1807932f4]
sub eax, 0x1d5ad08d
xor eax, 0x736ec337
mov r8d, 0x9b0cfaf6
xor edx, edx
div r8d
cmp eax, 0x94a46118
je 0x1803c5f27
mov eax, dword [0x1807932f8]
xor edx, edx
div dword [0x1807932fc]
imul edx, eax, 0x662677f5
or edx, 0x3d3cf8ff
xor edx, 0x9c66900b
cmp rcx, 1
sete al
cmp edx, 0xa8d968c6
ja 0x1803c5f27
jmp 0x1803c5908
test al, 1
jne 0x1803c5911
jmp 0x1803c59b9
mov eax, dword [0x180793300]
and eax, dword [0x180793304]
add eax, 0x53193e63
xor eax, 0xc58e488f
or eax, 0x6fc855dd
cmp eax, 0xa6152faa
ja 0x1803c5f38
jmp 0x1803c5939
mov eax, dword [0x180793308]
imul eax, dword [0x18079330c]
and eax, 0x2831038
imul ebx, eax, 0xc017b862
sub ebx, 0x312ade96
mov rcx, rdi
call fcn.1804c6740
cmp ebx, 0x62600cb5
je 0x1803c5939
jmp 0x1803c5969
mov eax, dword [0x180793310]
sub eax, dword [0x180793314]
imul eax, eax, 0x5ab2e3d5
imul eax, eax, 0xddf47e27
and eax, 0x3f6c077d
cmp eax, 0xa3bcd06e
ja 0x1803c5f51
mov eax, dword [0x180793318]
and eax, dword [0x18079331c]
add eax, 0x48bbb8b9
sub eax, 0x50494b7
and eax, 0x7e87e3cf
cmp eax, 0x318cd714
jb 0x1803c5f51
jmp 0x1803c59b9
mov eax, dword [0x180793320]
or eax, dword [0x180793324]
imul eax, eax, 0x94efc3c0
or eax, 0xd96bb117
xor eax, 0x50525eb2
cmp eax, 0x88e95a0d
jb 0x1803c5f5e
mov eax, dword [0x180793328]
xor eax, dword [0x18079332c]
imul eax, eax, 0xb5a3e99f
or eax, 0x80c808ba
imul eax, eax, 0x7866acd
mov rcx, qword [r15]
cmp eax, 0xd8a68570
jae 0x1803c5f5e
jmp 0x1803c5a0d
mov edx, 0x20
mov r8d, 8
call fcn.1804cafa0
mov rcx, qword [r14]
mov eax, dword [0x180793330]
sub eax, dword [0x180793334]
xor eax, 0xd3968a30
add eax, 0xfa51d656
and eax, 0x121fc2b7
cmp eax, 0x829959b8
ja 0x1803c5f6b
mov eax, dword [0x180793338]
sub eax, dword [0x18079333c]
or eax, 0xe53b4901
and eax, 0x4b8ff362
or eax, 0xeb525ff9
cmp eax, 0xbf78da76
je 0x1803c5f6b
jmp 0x1803c5a6e
call qword [sym.imp.ws2_32.dll_closesocket]
mov rcx, rsi
call fcn.18063b100
mov rax, qword [rsi]
test rax, rax
je 0x1803c5c0e
jmp 0x1803c5a8a
sub rax, 1
je 0x1803c5ccf
jmp 0x1803c5a96
mov eax, dword [0x180793340]
imul eax, dword [0x180793344]
mov ecx, 0x80dd9a7
xor edx, edx
div ecx
mov ecx, 0xfba39a9a
xor edx, edx
div ecx
imul eax, eax, 0xf73ddfe8
cmp eax, 0x35c4fbd6
ja 0x1803c5f78
jmp 0x1803c5ac8
mov eax, dword [0x180793348]
xor edx, edx
div dword [0x18079334c]
imul eax, eax, 0x5bcd4812
mov ecx, 0xf3993eb6
xor edx, edx
div ecx
and eax, 0x3d690bb2
mov rcx, rsi
add rcx, 8
cmp eax, 0x90701c36
jae 0x1803c5ac8
jmp 0x1803c5afa
mov eax, dword [str.a__t_nG]
xor edx, edx
div dword [0x180793354]
and eax, 0x957c0dba
imul eax, eax, 0x632b4945
and eax, 0xa5ee368a
cmp eax, 0x6debadff
je 0x1803c5f89
jmp 0x1803c5b25
mov edx, dword [0x180793358]
add edx, dword [0x18079335c]
or edx, 0x6c69621d
and edx, 0x14cb1985
and edx, 0xd3e217ee
mov rax, qword [rcx]
cmp edx, 0x41058b8a
jae 0x1803c5b25
jmp 0x1803c5b50
lock dec qword [rax]
sete al
test al, 1
je 0x1803c5ddc
mov eax, dword [0x180793360]
add eax, dword [0x180793364]
xor eax, 0xf55d2657
and eax, 0x29a2bc41
add eax, 0x38b224c5
cmp eax, 0x7407af75
jae 0x1803c5f9a
mov eax, dword [0x180793368]
mov edx, dword [0x18079336c]
imul eax, edx
shr eax, 1
imul rax, rax, 0x4cf66c1
shr rax, 0x39
or eax, 0x9a9d3522
cmp eax, 0x913859c1
jbe 0x1803c5f9a
jmp 0x1803c5bb3
call fcn.1804be730
mov eax, dword [0x180793370]
imul eax, dword [0x180793374]
xor eax, 0xfc1a7ed9
mov ecx, 0x1866ae3c
xor edx, edx
div ecx
and eax, 0xb6a926a
cmp eax, 0x242a6947
jae 0x1803c5fa7
jmp 0x1803c5be5
mov eax, dword [0x180793378]
or eax, dword [0x18079337c]
xor eax, 0xd426ae95
imul eax, eax, 0xf64de288
imul eax, eax, 0x57e18c0a
cmp eax, 0x83cab0fe
ja 0x1803c5be5
jmp 0x1803c5ddc
mov eax, dword [0x180793380]
sub eax, dword [0x180793384]
imul eax, eax, 0xb81a30f0
sub eax, 0xe60f2055
sub eax, 0x519c175c
cmp eax, 0x7a734849
jb 0x1803c5fb8
mov eax, dword [0x180793388]
xor eax, dword [0x18079338c]
and eax, 0x5d13c6d5
imul eax, eax, 0xfe329fad
imul eax, eax, 0xeb65996e
mov rcx, rsi
add rcx, 8
cmp eax, 0xb9e807a4
jb 0x1803c5fb8
jmp 0x1803c5c66
mov rax, qword [rcx]
lock dec qword [rax]
sete al
test al, 1
je 0x1803c5ddc
call fcn.1804bab90
mov eax, dword [0x180793390]
imul eax, dword [0x180793394]
add eax, 0xee3099f4
and eax, 0xd5a447d5
or eax, 0x3cc597fa
cmp eax, 0xb04e96df
ja 0x1803c5fc5
mov eax, dword [0x180793398]
xor eax, dword [0x18079339c]
xor eax, 0xe31cfe4e
xor eax, 0xd154448c
add eax, 0xcdc0ec81
cmp eax, 0x6a69b4ec
jae 0x1803c5fc5
jmp 0x1803c5ddc
mov eax, dword [0x1807933a0]
imul eax, dword [0x1807933a4]
and eax, 0x71fee3f6
and eax, 0x9efa38e8
or eax, 0x70aa3996
cmp eax, 0x65d684b5
je 0x1803c5fd6
jmp 0x1803c5cf8
mov eax, dword [0x1807933a8]
add eax, dword [0x1807933ac]
sub eax, 0x9f6dbf39
and eax, 0x59e2444a
xor eax, 0xf4adee86
mov rcx, rsi
add rcx, 8
cmp eax, 0x81ce6a7d
je 0x1803c5cf8
jmp 0x1803c5d23
mov eax, dword [0x1807933b0]
add eax, dword [0x1807933b4]
or eax, 0xdcded48b
sub eax, 0x85b44ba3
sub eax, 0xbe788f58
cmp eax, 0x664df8ff
je 0x1803c5fe7
jmp 0x1803c5d4b
mov eax, dword [0x1807933b8]
xor edx, edx
div dword [0x1807933bc]
and eax, 0x547b5082
and eax, 0xcbdca59d
imul eax, eax, 0xfa575774
mov r8, qword [rcx]
cmp eax, 0xe651de20
ja 0x1803c5d4b
jmp 0x1803c5d75
mov eax, dword [0x1807933c0]
or eax, dword [0x1807933c4]
or eax, 0xea4da078
xor eax, 0x70eadc6a
imul eax, eax, 0x837fc2a9
cmp eax, 0x4bce5842
jae 0x1803c5ff8
jmp 0x1803c5d9e
mov eax, dword [0x1807933c8]
and eax, dword [0x1807933cc]
xor eax, 0x52d77e3d
mov r9d, 0xe4a8cadd
xor edx, edx
div r9d
imul edx, eax, 0x5363fd1d
lock dec qword [r8]
sete al
cmp edx, 0xe05a92c4
je 0x1803c5d9e
test al, 1
jne 0x1803c5dd5
jmp 0x1803c5ddc
call fcn.1804b80b0
jmp 0x1803c5ddc
add rsi, 0x10
mov eax, dword [0x1807933d0]
xor eax, dword [0x1807933d4]
mov ecx, 0x2ad05a7a
xor edx, edx
div ecx
and eax, 0xad1f0b90
sub eax, 0x53552e50
cmp eax, 0x65d3af73
jb 0x1803c600c
mov eax, dword [0x1807933d8]
add eax, dword [0x1807933dc]
imul eax, eax, 0xed6980b
mov ecx, 0x147f1176
xor edx, edx
div ecx
xor eax, 0x3146eeca
mov rcx, qword [rsi]
lock dec qword [rcx]
sete cl
cmp eax, 0x161927b2
jbe 0x1803c600c
jmp 0x1803c5e41
test cl, 1
jne 0x1803c5e48
jmp 0x1803c5ea9
mov eax, dword [0x1807933e0]
or eax, dword [0x1807933e4]
sub eax, 0x20b6d598
mov ecx, 0x507a133f
xor edx, edx
div ecx
imul eax, eax, 0x8dae324f
cmp eax, 0xcd59e343
je 0x1803c6023
mov edi, dword [0x1807933e8]
xor edi, dword [0x1807933ec]
xor edi, 0x8c1cdceb
sub edi, 0xb15aaac4
xor edi, 0xe3fb6e1e
mov rcx, rsi
call fcn.1804c2000
cmp edi, 0x5defd0cc
jbe 0x1803c6023
jmp 0x1803c5ea7
jmp 0x1803c5ea9
mov eax, dword [0x1807933f0]
sub eax, dword [0x1807933f4]
or eax, 0xf2040fd9
or eax, 0x41ab71e6
mov ecx, 0xc1c93475
xor edx, edx
div ecx
cmp eax, 0x646b38c7
je 0x1803c603c
mov eax, dword [0x1807933f8]
xor eax, dword [0x1807933fc]
add eax, 0x4f4fe7ab
and eax, 0xd4e4761b
xor eax, 0xd7f3ba3a
cmp eax, 0x67bfc27e
jb 0x1803c603c
sbb esi, dword [rsi - 0x1c]
invalid
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
out 0x98, al
cld
setp byte [rbx + 0x7c6edb3b]
invalid
push 0xffffffffffffffb0
push rsi
ja 0x1803c5ee5
invalid
lahf
add eax, 0x3dfefdbc
jnp 0x1803c5f5e
or ecx, dword [rcx - 0x64166d48]
stc
invalid
mov ebp, 0xd4d1b6b9
mov dl, 0x4d
ret 0x79f3
invalid
invalid
stc
and ch, bl
in eax, 0xc2
movabs eax, dword [0x64fffffa33e9f613]
mov ss, esp
mov ss, esp
mov gs, word [rdx - 0x168eb490]
jo 0x1803c5fb0
jno 0x1803c5f50
jne 0x1803c5f63
invalid
loopne 0x1803c5f3d
movsd dword [rdi], dword [rsi]
adc edx, dword [rcx - 0x16b308ab]
invalid
sub byte [rax], ah
ja 0x1803c5fe3
mov gs, ebp
iretd
invalid
ror byte [rax - 0x66227bf0], 0x74
pop rdi
jmp 0x1803c5b85
adc dh, byte [rbx + rsi*8 - 0x4928c61a]
mov ch, 0x71
stosb byte [rdi], al
cmp ecx, esp
jmp 0x1803c5be3
xchg byte [rsi - 0x1a], cl
xchg byte [0x1698b2d9d], ch
jo 0x1803c5fbf
jmp 0x1803c5c35
invalid
int 0xbf
mov dl, 0x1f
adc ah, byte [rbx - 0x58]
movabs al, byte [0xfffccee9b6dc40e3]
call [rdi - 0x29f44a25]
adc eax, 0x57c98209
xchg edx, eax
movabs eax, dword [0x3878c6fffffd0fe9]
lahf
invalid
paddw mm7, mm7
inc esi
js 0x1803c6022
invalid
push 0x4c
movabs dword [0x51e9f0c9afaac716], eax
std
invalid
invalid
movabs eax, dword fs:[0x8b48c4b87ff66e1c]
invalid
inc ebp
xchg edx, eax
sbb eax, 0x76086f56
xor eax, 0x483b16d4
mov ecx, esi
call fcn.1804c2000
jmp 0x1803c5e73
invalid
invalid