Function at 0x180086980
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x190
mov rbx, rdx
mov r13, rcx
mov qword [rcx + 0x40], r8
lea rcx, [rdx + 0x10]
lea rdx, [rsp + 0x20]
call fcn.180008938
nop
mov al, byte [0x18010a364]
xor r14d, r14d
test al, al
je 0x180086a4a
lea rsi, [rsp + 0x20]
cmp qword [rsp + 0x38], 0x10
cmovae rsi, qword [rsp + 0x20]
lea rdi, [rbx + 0x70]
cmp qword [rbx + 0x88], 0x10
jb 0x1800869eb
mov rdi, qword [rdi]
lea rcx, [rsp + 0x1c8]
call fcn.18007fe68
movabs r12, 0xd993efbb19cfe32d
cmp byte [rax + 0x1b], r14b
je 0x180086a2b
mov r8, r14
mov cl, r8b
and cl, 7
shl cl, 3
mov rdx, r12
shr rdx, cl
xor byte [r8 + rax], dl
inc r8
cmp r8, 0x1b
jb 0x180086a0b
mov byte [rax + 0x1b], r14b
mov r9, rsi
mov r8, rdi
mov rdx, rax
mov r15d, 4
mov ecx, r15d
call fcn.18006a848
mov al, byte [0x18010a364]
jmp 0x180086a5a
movabs r12, 0xd993efbb19cfe32d
mov r15d, 4
cmp dword [rbx + 0x90], 0x7041fb
jne 0x180086af6
test al, al
je 0x180086ab0
lea rcx, [rsp + 0x1c0]
call fcn.1800804f4
cmp byte [rax + 0x2c], r14b
je 0x180086aa4
mov r9, r14
mov cl, r9b
and cl, 7
shl cl, 3
mov r8, r12
shr r8, cl
xor byte [r9 + rax], r8b
inc r9
cmp r9, 0x2c
jb 0x180086a84
mov byte [rax + 0x2c], r14b
mov rdx, rax
mov ecx, r15d
call fcn.18006a848
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x180086aef
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
mov r15d, 0x1000
cmp rdx, r15
jb 0x180086aea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008759b
call fcn.18009d1f4
xor al, al
jmp 0x180087548
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0xe0]
call fcn.18001d910
nop
mov rax, qword [r13 + 0x40]
mov qword [rsp + 0x140], rax
lea rdx, [rbx + 0x70]
lea rcx, [rsp + 0x120]
call fcn.18000604c
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0xe0]
call fcn.18001df90
nop
cmp byte [0x18010a364], r14b
je 0x180086b9a
lea rbx, [rsp + 0x68]
cmp qword [rsp + 0x80], 0x10
cmovae rbx, qword [rsp + 0x68]
lea rcx, [rsp + 0x1c8]
call fcn.18007dbd8
cmp byte [rax + 0x1b], r14b
je 0x180086b8c
mov r10, r14
mov cl, r10b
and cl, 7
shl cl, 3
mov r9, r12
shr r9, cl
xor byte [r10 + rax], r9b
inc r10
cmp r10, 0x1b
jb 0x180086b6c
mov byte [rax + 0x1b], r14b
mov r8, rbx
mov rdx, rax
mov ecx, r15d
call fcn.18006a848
mov r8, qword [rsp + 0x78]
cmp r8, r15
jb 0x180086dc4
add r8, 0xfffffffffffffffc
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x40], r14b
or r9, 0xffffffffffffffff
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0x40]
call fcn.18000764c
nop
lea rcx, [rsp + 0x40]
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
cmp rdi, 0x10
cmovae rcx, rbx
cmp qword [rsp + 0x50], r15
jne 0x180086c09
mov r8, r15
lea rdx, str.NNNN
call fcn.18009fb20
test eax, eax
je 0x180086c38
lea rcx, [rsp + 0x40]
cmp rdi, 0x10
cmovae rcx, rbx
cmp qword [rsp + 0x50], r15
jne 0x180086d89
mov r8, r15
lea rdx, str.LLLL
call fcn.18009fb20
test eax, eax
jne 0x180086d89
cmp byte [0x18010a364], r14b
je 0x180086c9c
lea rsi, [rsp + 0x40]
cmp rdi, 0x10
cmovae rsi, rbx
lea rcx, [rsp + 0x1c0]
call fcn.18007d124
cmp byte [rax + 0x37], r14b
je 0x180086c84
mov r10, r14
mov cl, r10b
and cl, 7
shl cl, 3
mov r9, r12
shr r9, cl
xor byte [r10 + rax], r9b
inc r10
cmp r10, 0x37
jb 0x180086c64
mov byte [rax + 0x37], r14b
mov r8, rsi
mov rdx, rax
mov ecx, r15d
call fcn.18006a848
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x40]
mov r15d, 0x1000
cmp rdi, 0x10
jb 0x180086cd5
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, r15
jb 0x180086ccd
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180087571
mov rcx, rbx
call fcn.18009d1f4
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x40], r14b
mov rdx, qword [rsp + 0x80]
cmp rdx, 0x10
jb 0x180086d24
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, r15
jb 0x180086d1f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180087565
call fcn.18009d1f4
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x68], r14b
lea rcx, [rsp + 0xe0]
call fcn.18001e740
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x180086aef
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, r15
jb 0x180086aea
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008756b
jmp 0x180086aea
mov r15d, 0x1000
cmp rdi, 0x10
jb 0x180086dca
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, r15
jb 0x180086dba
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180087571
mov rcx, rbx
call fcn.18009d1f4
jmp 0x180086dca
mov r15d, 0x1000
mov qword [rsp + 0x58], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x50], inet_ntoa
movsd xmm0, qword [str.OSSMemRoute]
movsd qword [rsp + 0x40], xmm0
movzx eax, word [0x1800ead80]
mov word [rsp + 0x48], ax
mov al, byte [0x1800ead82]
mov byte [rsp + 0x4a], al
mov byte [rsp + 0x4b], r14b
lea r8, [rsp + 0x40]
xor edx, edx
lea rcx, [0x18010ced8]
call fcn.1800196f8
nop
mov rdx, qword [rsp + 0x58]
cmp rdx, 0x10
jb 0x180086e52
inc rdx
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, r15
jb 0x180086e4d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180087577
call fcn.18009d1f4
lea rdx, [rsp + 0xe0]
mov rcx, r13
call fcn.18007a5a0
lea rdi, [rsp + 0x20]
cmp qword [rsp + 0x38], 0x10
cmovae rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x30]
cmp rsi, 0xd
jb 0x180086ed7
lea r12, [rsi + rdi]
lea r8, [r12 - 0xc]
sub r8, rdi
mov rcx, rdi
jmp 0x180086eb6
mov r8d, recv
lea rdx, str.companion.exe
mov rcx, rbx
call fcn.18009fb20
test eax, eax
je 0x180086eca
inc rbx
lea r8, [r12 - 0xc]
sub r8, rbx
mov rcx, rbx
mov edx, 0x63
call fcn.1800a06d0
test rax, rax
mov rbx, rax
jne 0x180086e8f
jmp 0x180086ed7
sub rbx, rdi
cmp rbx, 0xffffffffffffffff
jne 0x18008745b
lea rdi, [rsp + 0x20]
cmp qword [rsp + 0x38], 0x10
cmovae rdi, qword [rsp + 0x20]
mov r12d, 0x77
cmp rsi, 0xb
jb 0x180086f49
lea r13, [rsi + rdi]
lea r8, [r13 - 0xa]
sub r8, rdi
mov rcx, rdi
jmp 0x180086f2a
mov r8d, inet_ntoa
lea rdx, str.wcs2000.exe
mov rcx, rbx
call fcn.18009fb20
test eax, eax
je 0x180086f3c
inc rbx
lea r8, [r13 - 0xa]
sub r8, rbx
mov rcx, rbx
mov edx, r12d
call fcn.1800a06d0
test rax, rax
mov rbx, rax
jne 0x180086f04
jmp 0x180086f49
sub rbx, rdi
cmp rbx, 0xffffffffffffffff
jne 0x1800870b2
lea rdi, [rsp + 0x20]
cmp qword [rsp + 0x38], 0x10
cmovae rdi, qword [rsp + 0x20]
cmp rsi, 7
jb 0x180086fb5
lea r13, [rsi + rdi]
lea r8, [r13 - 6]
sub r8, rdi
mov rcx, rdi
jmp 0x180086f96
mov r8d, 7
lea rdx, str.wwm.exe
mov rcx, rbx
call fcn.18009fb20
test eax, eax
je 0x180086fa8
inc rbx
lea r8, [r13 - 6]
sub r8, rbx
mov rcx, rbx
mov edx, r12d
call fcn.1800a06d0
test rax, rax
mov rbx, rax
jne 0x180086f70
jmp 0x180086fb5
sub rbx, rdi
cmp rbx, 0xffffffffffffffff
jne 0x1800870b2
lea rdi, [rsp + 0x20]
cmp qword [rsp + 0x38], 0x10
cmovae rdi, qword [rsp + 0x20]
mov r12d, 0x61
cmp rsi, 7
jb 0x180087027
lea r13, [rsi + rdi]
lea r8, [r13 - 6]
sub r8, rdi
mov rcx, rdi
jmp 0x180087008
mov r8d, 7
lea rdx, [0x1800d67b8]
mov rcx, rbx
call fcn.18009fb20
test eax, eax
je 0x18008701a
inc rbx
lea r8, [r13 - 6]
sub r8, rbx
mov rcx, rbx
mov edx, r12d
call fcn.1800a06d0
test rax, rax
mov rbx, rax
jne 0x180086fe2
jmp 0x180087027
sub rbx, rdi
cmp rbx, 0xffffffffffffffff
jne 0x1800870b2
lea rdi, [rsp + 0x20]
cmp qword [rsp + 0x38], 0x10
cmovae rdi, qword [rsp + 0x20]
cmp rsi, 8
jb 0x180087091
lea r8, [rsi - 7]
add r8, rdi
sub r8, rdi
mov rcx, rdi
jmp 0x180087076
mov r8d, 8
lea rdx, str.acsd.exe
mov rcx, rbx
call fcn.18009fb20
test eax, eax
je 0x180087088
inc rbx
lea r8, [rsi - 7]
add r8, rdi
sub r8, rbx
mov rcx, rbx
mov edx, r12d
call fcn.1800a06d0
test rax, rax
mov rbx, rax
jne 0x18008704d
jmp 0x180087091
sub rbx, rdi
cmp rbx, 0xffffffffffffffff
jne 0x1800870b2
lea rdx, [rsp + 0x20]
cmp qword [rsp + 0x38], 0x10
cmovae rdx, qword [rsp + 0x20]
lea rcx, str._aol.exe
call fcn.180004158
test al, al
je 0x1800870cc
lea rdx, [rsp + 0xe0]
mov rdi, qword [rsp + 0x1c0]
mov rcx, rdi
call fcn.18007a510
jmp 0x1800870d4
mov rdi, qword [rsp + 0x1c0]
mov dword [rsp + 0x1c8], 1
lea rcx, [rsp + 0x88]
call fcn.18001002c
nop
lea rdx, str.ConfigOSSProxySettings
lea rcx, [rsp + 0x88]
call fcn.18000d480
mov r8d, 0x200
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x88]
call fcn.18000d88c
nop
mov r9b, 1
lea r8, str.DataRoute
lea rdx, [rsp + 0x40]
mov rcx, rax
call fcn.18000e1c4
nop
mov rcx, rax
call fcn.18000de78
mov ebx, eax
mov dword [rsp + 0x1c8], eax
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x18008717f
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, r15
jb 0x18008717a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008757d
call fcn.18009d1f4
movdqa xmm0, xmmword [0x1800ebed0]
movdqu xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x48], r14b
lea rcx, [rsp + 0xb0]
call fcn.18000e078
nop
mov rdx, qword [rsp + 0xa8]
cmp rdx, 0x10
jb 0x1800871e0
inc rdx
mov rcx, qword [rsp + 0x90]
mov rax, rcx
cmp rdx, r15
jb 0x1800871da
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180087583
call fcn.18009d1f4
nop
jmp 0x1800871fa
movabs rsi, 0xd993efbb19cfe32d
test bl, 2
je 0x18008726c
call fcn.180049c04
mov rcx, rax
call fcn.18007717c
test al, al
jne 0x18008726c
cmp byte [0x18010a364], r14b
je 0x180087266
lea rcx, [rsp + 0x1c8]
call fcn.18007f478
cmp byte [rax + 0x51], r14b
je 0x180087259
mov r9, r14
mov cl, r9b
and cl, 7
shl cl, 3
mov r8, rsi
shr r8, cl
xor byte [r9 + rax], r8b
inc r9
cmp r9, 0x51
jb 0x180087239
mov byte [rax + 0x51], r14b
mov rdx, rax
mov ecx, 4
call fcn.18006a848
xor ebx, 2
or ebx, 1
test bl, 1
je 0x1800872cd
cmp byte [0x18010a364], r14b
je 0x1800872bd
lea rcx, [rsp + 0x1c8]
call fcn.18007ef34
cmp byte [rax + 0x2b], r14b
je 0x1800872b0
mov r9, r14
mov cl, r9b
and cl, 7
shl cl, 3
mov r8, rsi
shr r8, cl
xor byte [r9 + rax], r8b
inc r9
cmp r9, 0x2b
jb 0x180087290
mov byte [rax + 0x2b], r14b
mov rdx, rax
mov ecx, 4
call fcn.18006a848
lea rdx, [rsp + 0xe0]
mov rcx, rdi
call fcn.18007a7e8
test bl, 2
je 0x180087433
cmp byte [0x18010a364], r14b
je 0x180087323
lea rcx, [rsp + 0x1c8]
call fcn.18007f2b8
cmp byte [rax + 0x2d], r14b
je 0x180087315
mov r9, r14
mov cl, r9b
and cl, 7
shl cl, 3
mov r8, rsi
shr r8, cl
xor byte [r9 + rax], r8b
inc r9
cmp r9, 0x2d
jb 0x1800872f5
mov byte [rax + 0x2d], r14b
mov rdx, rax
mov ecx, 4
call fcn.18006a848
nop
lea rcx, [rsp + 0x40]
call fcn.18001002c
nop
lea rdx, str.ConfigOSSProxySettings
lea rcx, [rsp + 0x40]
call fcn.18000d480
mov r8d, 0x200
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x40]
call fcn.18000d88c
nop
mov r9b, 1
lea r8, str.DataRouteSize
lea rdx, [rsp + 0x88]
mov rcx, rax
call fcn.18000e1c4
nop
mov rcx, rax
call fcn.18000de78
mov dword [0x180102ae0], eax
mov rdx, qword [rsp + 0xa8]
cmp rdx, 0x10
jb 0x1800873c0
inc rdx
mov rcx, qword [rsp + 0x90]
mov rax, rcx
cmp rdx, r15
jb 0x1800873bb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180087589
call fcn.18009d1f4
movdqa xmm0, xmmword [0x1800ebed0]
movdqu xmmword [rsp + 0xa0], xmm0
mov byte [rsp + 0x90], r14b
lea rcx, [rsp + 0xb0]
call fcn.18000e078
nop
mov rdx, qword [rsp + 0x60]
cmp rdx, 0x10
jb 0x180087421
inc rdx
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, r15
jb 0x18008741b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008758f
call fcn.18009d1f4
nop
jmp 0x18008742c
mov byte [0x18010ad92], 1
lea rdx, [rsp + 0xe0]
mov r13, qword [rsp + 0x1c0]
mov rcx, r13
call fcn.18007a638
lea rdx, [rsp + 0xe0]
mov rcx, r13
call fcn.18007a6c8
lea rdx, [rsp + 0xe0]
mov rcx, r13
call fcn.18007a758
call fcn.180049c04
mov rcx, rax
call fcn.180077be8
test al, al
je 0x1800874b1
mov rax, qword [r13 + 0x48]
mov rcx, qword [rax + 8]
mov rsi, qword [rcx + 0x10]
call fcn.180049c04
mov rdi, qword [rax + 0x10]
call fcn.180049c04
mov rbx, qword [rax + 8]
call fcn.180049c04
mov r9, rdi
mov r8, rbx
mov rdx, qword [rax]
mov rcx, rsi
call fcn.18001a9a0
nop
mov rdx, qword [rsp + 0x80]
cmp rdx, 0x10
jb 0x1800874ed
inc rdx
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, r15
jb 0x1800874e8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180087595
call fcn.18009d1f4
mov qword [rsp + 0x78], r14
mov qword [rsp + 0x80], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x68], r14b
lea rcx, [rsp + 0xe0]
call fcn.18001e740
nop
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x180087546
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, r15
jb 0x180087541
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18008759b
call fcn.18009d1f4
mov al, 1
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
call fcn.1800a45b8
nop
call fcn.1800a45b8
nop
call fcn.1800a45b8
int3
call fcn.1800a45b8
nop
call fcn.1800a45b8
nop
call fcn.1800a45b8
nop
call fcn.1800a45b8
nop
call fcn.1800a45b8
nop
call fcn.1800a45b8
nop
call fcn.1800a45b8
int3