Function at 0x180352950
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rsi, rcx
mov rcx, rsi
call fcn.1804538a0
mov rbx, rsi
add rbx, 0x18
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x180352c7d
mov r14, rsi
add r14, 0x20
mov eax, dword [0x180788370]
sub eax, dword [0x180788374]
and eax, 0x687fb537
add eax, 0x34b89ca0
and eax, 0x6882291d
cmp eax, 0x6c9554af
ja 0x180352ecb
mov eax, dword [0x180788378]
and eax, dword [0x18078837c]
xor eax, 0x70960594
xor eax, 0x99577706
mov r8d, 0x4e40c1a2
xor edx, edx
div r8d
mov rdi, qword [r14]
cmp rdi, 0
sete dl
cmp eax, 0x689e5f3b
ja 0x180352ecb
jmp 0x1803529de
mov eax, dword [0x180788380]
and eax, dword [0x180788384]
imul eax, eax, 0x4b4e66dd
imul eax, eax, 0x2a99f9
add eax, 0x114b73bb
cmp eax, 0x41b9f011
jae 0x180352ed8
jmp 0x180352a08
mov eax, dword [0x180788388]
imul eax, dword [0x18078838c]
imul eax, eax, 0x411e8fee
add eax, 0x2af0d868
add eax, 0x8d2929ef
cmp eax, 0x6bf62f34
jbe 0x180352a08
test dl, 1
jne 0x180352c77
jmp 0x180352a37
mov rcx, rdi
call fcn.1806595d0
mov eax, dword [0x180788390]
add eax, dword [0x180788394]
add eax, 0x9c39d60a
imul eax, eax, 0xce56cb4e
xor eax, 0xe07cf1b5
cmp eax, 0x70edc792
je 0x180352ee5
mov eax, dword [0x180788398]
imul eax, dword [0x18078839c]
sub eax, 0xbe02dcbb
sub eax, 0xcc3a6b01
xor eax, 0x9c692c43
cmp eax, 0x58187c71
je 0x180352ee5
jmp 0x180352a8f
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
je 0x180352b48
mov eax, dword [0x1807883a0]
xor eax, dword [0x1807883a4]
imul eax, eax, 0x7a4ced3
xor eax, 0xe8671605
and eax, 0x43658883
cmp eax, 0xd6067a0
je 0x180352ef2
jmp 0x180352aca
mov eax, dword [0x1807883a8]
xor eax, dword [0x1807883ac]
imul eax, eax, 0x5a226370
imul ebp, eax, 0x4a585fe5
sub ebp, 0x682157f5
mov rcx, rdi
call fcn.1804b9d30
cmp ebp, 0x568854e8
je 0x180352aca
jmp 0x180352afa
mov eax, dword [0x1807883b0]
sub eax, dword [0x1807883b4]
or eax, 0xe6c316f1
sub eax, 0xd117b631
and eax, 0x5d1f6c44
cmp eax, 0xe091b2f6
je 0x180352f0b
mov eax, dword [0x1807883b8]
add eax, dword [0x1807883bc]
or eax, 0x4c397980
add eax, 0x5cb7d2ae
xor eax, 0x4919ffc9
cmp eax, 0x8165352
je 0x180352f0b
jmp 0x180352b48
add rdi, 8
mov eax, dword [0x1807883c0]
xor edx, edx
div dword [0x1807883c4]
mov ecx, 0x648608fc
xor edx, edx
div ecx
or eax, 0xdc4da19a
add eax, 0x240f7549
cmp eax, 0xbdc1d3ab
jae 0x180352f18
mov eax, dword [0x1807883c8]
and eax, dword [0x1807883cc]
sub eax, 0xb343f423
sub eax, 0x6f491089
imul ecx, eax, 0x14b75fb3
mov rax, qword [rdi]
lock dec qword [rax]
sete al
cmp ecx, 0xb71cf916
je 0x180352f18
test al, 1
jne 0x180352bb0
jmp 0x180352c0d
mov eax, dword [0x1807883d0]
and eax, dword [0x1807883d4]
or eax, 0x76b3ec5f
imul eax, eax, 0xa346a87f
add eax, 0x33b425c
cmp eax, 0xda5c5a10
je 0x180352f2f
jmp 0x180352bd9
mov eax, dword [0x1807883d8]
xor eax, dword [0x1807883dc]
mov ecx, 0x17db3030
xor edx, edx
div ecx
xor eax, 0x10d26cd9
imul ebp, eax, 0x41a01a7a
mov rcx, rdi
call fcn.1804c6740
cmp ebp, 0x1e96c420
ja 0x180352bd9
jmp 0x180352c0b
jmp 0x180352c0d
mov rcx, qword [r14]
mov edx, 0x20
mov r8d, 8
call fcn.1804cafa0
mov eax, dword [0x1807883e0]
xor edx, edx
div dword [0x1807883e4]
and eax, 0x9e0caea5
add eax, 0x62389004
or eax, 0x5a1bf11d
cmp eax, 0x4cb6bc53
je 0x180352f48
mov eax, dword [0x1807883e8]
xor edx, edx
div dword [0x1807883ec]
sub eax, 0xbc14e60d
xor eax, 0xb7bada9b
sub eax, 0x39866984
mov rcx, qword [rbx]
cmp eax, 0x22a9a693
je 0x180352f48
jmp 0x180352c75
jmp 0x180352c77
call qword [sym.imp.ws2_32.dll_closesocket]
mov rcx, rsi
call fcn.18063b100
mov eax, dword [0x1807883f0]
sub eax, dword [0x1807883f4]
imul eax, eax, 0x240abb84
or eax, 0xb9f41192
imul eax, eax, 0x776f2c52
cmp eax, 0x9316754d
je 0x180352f59
jmp 0x180352caf
mov eax, dword [0x1807883f8]
imul eax, dword [0x1807883fc]
mov ecx, 0x75161dbe
xor edx, edx
div ecx
add eax, 0x28c320af
imul ecx, eax, 0x92e7c942
mov rax, qword [rsi]
cmp ecx, 0x2904ca6f
jae 0x180352caf
jmp 0x180352cdd
test rax, rax
je 0x180352d10
jmp 0x180352ce4
sub rax, 1
je 0x180352d34
jmp 0x180352cec
mov rcx, rsi
add rcx, 8
mov rax, qword [rcx]
lock dec qword [rax]
sete al
test al, 1
jne 0x180352d06
jmp 0x180352dfb
call fcn.1804be730
jmp 0x180352dfb
mov rcx, rsi
add rcx, 8
mov rax, qword [rcx]
lock dec qword [rax]
sete al
test al, 1
jne 0x180352d2a
jmp 0x180352dfb
call fcn.1804bab90
jmp 0x180352dfb
mov rdi, rsi
add rdi, 8
mov eax, dword [0x180788400]
xor eax, dword [0x180788404]
imul eax, eax, 0xb63f7911
or eax, 0x994e44dd
add eax, 0x5f596f1f
cmp eax, 0x1331c494
jb 0x180352f6a
jmp 0x180352d64
mov eax, dword [0x180788408]
xor eax, dword [0x18078840c]
xor eax, 0x880382ec
and eax, 0xdf863e13
xor eax, 0x529cf73f
cmp eax, 0x5a18858e
je 0x180352d64
jmp 0x180352d88
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
je 0x180352dfb
mov eax, dword [0x180788410]
xor eax, dword [0x180788414]
add eax, 0xc928e198
sub eax, 0xcf9a4ba5
imul eax, eax, 0x687dc0dd
cmp eax, 0x25935d96
jb 0x180352f7b
mov eax, dword [0x180788418]
imul eax, dword [0x18078841c]
and eax, 0xb49ecf45
mov ecx, 0xdc078362
xor edx, edx
div ecx
mov ecx, 0xd65f708b
xor edx, edx
div ecx
mov ebx, eax
mov rcx, rdi
call fcn.1804b80b0
cmp ebx, 0xa93ede66
ja 0x180352f7b
jmp 0x180352df9
jmp 0x180352dfb
mov eax, dword [0x180788420]
or eax, dword [0x180788424]
imul eax, eax, 0x83753cd8
sub eax, 0xc1c7eb89
xor eax, 0x21a54365
cmp eax, 0x93d51cbe
jae 0x180352f90
jmp 0x180352e24
mov eax, dword [0x180788428]
xor eax, dword [0x18078842c]
mov ecx, 0x70df6083
xor edx, edx
div ecx
add eax, 0x2efd46db
xor eax, 0x6b6f105e
mov rdi, rsi
add rdi, 0x10
cmp eax, 0x493688e4
je 0x180352e24
jmp 0x180352e53
mov rax, qword [rdi]
lock dec qword [rax]
sete al
test al, 1
jne 0x180352e63
jmp 0x180352ec0
mov eax, dword [0x180788430]
add eax, dword [0x180788434]
imul eax, eax, 0x1242bc73
and eax, 0x3ee58365
sub eax, 0x865331fc
cmp eax, 0xb397bee6
ja 0x180352fa1
mov eax, dword [0x180788438]
and eax, dword [0x18078843c]
imul eax, eax, 0x8e7ab64b
imul esi, eax, 0xac078f94
sub esi, 0xb2e49a9
mov rcx, rdi
call fcn.1804c2000
cmp esi, 0x8a9025db
je 0x180352fa1
jmp 0x180352ebe
jmp 0x180352ec0
add byte [rax - 0x7d], cl
invalid
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
scasb al, byte [rdi]
cmp eax, 0x5986bb4d
fsub st(1), st(0)
invalid
hlt
int3
invalid
retf 0x7e30
sub al, 0xe7
or eax, 0xcc7273a2
test dword [rax - 0x75], 0xff48f007
or byte [rdi], cl
xchg esp, eax
shr cl, 0x49
cld
invalid
jo 0x180352ebf
cmp al, 0x5d
jge 0x180352f6c
sal byte [0x1c877d15d], 0x89
stc
call fcn.1804c6740
jmp 0x180352bd7
outsb dx, byte [rsi]
or eax, 0x89e7884b
sar dword [rcx + 0x6f], cl
test ah, 0xe9
out dx, eax
cld
invalid
xchg ecx, eax
xor dword [rbx + 7], edi
insb byte [rdi], dx
and eax, 0x4543f799
invalid
popfq
push rsp
lahf
mov ebx, 0xf6588f6c
jle 0x180352f31
scasd eax, dword [rdi]
sbb ecx, ebp
out 0xfd, eax
invalid
out 0x47, eax
invalid
mov esi, 0x8bc5105
or byte [rcx + 0x2734cafd], bl
iretd
push rbp
pop rax
cmp dword [rdx + rcx*4], 0x6e5d7651
stc
mov cl, 0xc3
mov rcx, rdi
call fcn.1804c2000
jmp 0x180352e8a