Function at 0x180256930
Capabilities:
Check for software breakpoints
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x90]
sub rsp, 0x190
movaps xmmword [rsp + 0x180], xmm6
mov rax, qword [0x180428208]
xor rax, rsp
mov qword [rbp + 0x70], rax
mov rdi, r9
mov qword [rsp + 0x68], r9
mov r14, r8
mov qword [rsp + 0x78], r8
mov qword [rbp - 0x80], rdx
mov rbx, rcx
xor esi, esi
mov dword [rsp + 0x60], esi
mov rcx, qword [r9]
mov rax, qword [rcx]
call qword [rax]
mov qword [rbp - 0x70], rax
lea rdx, [r14 + 7]
shr rdx, 3
mov r8, qword [rbx + 8]
mov rcx, r8
sub rcx, qword [rbx]
cmp rcx, rdx
jne 0x18025742d
lea r12d, [rsi + 1]
cmp byte [r8 - 1], 0xbc
jne 0x1802569be
mov qword [rsp + 0x70], r12
jmp 0x180256a40
mov rcx, qword [rdi]
mov rax, qword [rcx]
lea rdx, [rbp + 0x50]
call qword [rax + 0x30]
nop
mov rcx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1802569d9
mov rcx, qword [rax]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
lea rcx, [rsp + 0x50]
call fcn.180280330
movzx edi, al
lea rcx, [rbp + 0x50]
call fcn.180002e58
mov r9, qword [rbx + 8]
mov r8, qword [rbx]
mov rcx, r9
sub rcx, r8
movzx edx, byte [rcx + r8 - 2]
test dl, dl
je 0x18025742d
cmp dl, dil
jne 0x18025742d
cmp byte [r9 - 1], 0xcc
jne 0x18025742d
mov qword [rsp + 0x70], 2
mov rdx, rbx
lea rcx, [rbp + 0x38]
call fcn.180114eb0
nop
mov rdi, qword [rbp + 0x40]
mov r13, rdi
mov r15, qword [rbp + 0x38]
sub r13, r15
mov r14, r13
sub r14, qword [rsp + 0x70]
sub r14, qword [rbp - 0x70]
lea rdx, [r15 + r14]
mov qword [rsp + 0x20], r14
mov r9, r15
mov r8, qword [rbp - 0x70]
mov rcx, qword [rsp + 0x68]
mov rcx, qword [rcx]
call fcn.18027e460
and byte [r15], 0x7f
mov r8b, 0xff
xor bl, bl
mov r10, rsi
test r14, r14
je 0x180256af4
nop word [rax + rax]
movzx r9d, byte [r15 + r10]
lea edx, [r9 - 1]
shr dl, 7
movzx eax, r9b
not al
shr al, 7
and dl, al
neg dl
xor r9b, 1
lea ecx, [r9 - 1]
shr cl, 7
not r9b
shr r9b, 7
and cl, r9b
neg cl
movzx eax, dl
and al, r8b
or cl, dl
not cl
and cl, r8b
or bl, cl
movzx ecx, al
and ecx, 1
add r12, rcx
movzx r8d, al
inc r10
cmp r10, r14
jb 0x180256aa0
mov r9, qword [rsp + 0x70]
lea rcx, [r12 + r9]
add rcx, qword [rbp - 0x70]
add rcx, qword [rbp + 0xf0]
mov rdx, r13
sub rdx, rcx
shr rdx, 0x3f
mov rax, r13
shr rax, 0x3f
xor dl, al
shr rcx, 0x3f
mov rax, r13
shr rax, 0x3f
xor cl, al
or dl, cl
shr r13, 0x3f
xor dl, r13b
neg dl
or dl, r8b
or bl, dl
movzx eax, bl
lea r13, [rax - 1]
shr r13, 0x3f
not rax
shr rax, 0x3f
and r13, rax
neg r13
and r13, r12
sub rdi, r9
sub rdi, qword [rbp - 0x70]
add r13, r15
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x10], xmm0
mov qword [rbp], rsi
mov r14, rdi
sub r14, r13
sub r14, qword [rbp + 0xf0]
movabs rcx, 0x7fffffffffffffff
je 0x180256bf6
cmp r14, rcx
ja 0x180257464
cmp r14, 0x1000
jb 0x180256bbe
lea rcx, [r14 + 0x27]
cmp rcx, r14
jbe 0x18025746a
call fcn.1800a5868
test rax, rax
je 0x1802574dc
lea r12, [rax + 0x27]
and r12, 0xffffffffffffffe0
mov qword [r12 - 8], rax
jmp 0x180256bc9
mov rcx, r14
call fcn.1800a5868
mov r12, rax
mov qword [rbp - 0x10], r12
lea r15, [r12 + r14]
mov qword [rbp], r15
mov r8, r14
mov rdx, r13
mov rcx, r12
call fcn.180282cf0
mov rax, r15
mov qword [rbp - 8], rax
movabs rcx, 0x7fffffffffffffff
jmp 0x180256bfe
mov rax, qword [rbp - 8]
mov r12, qword [rbp - 0x10]
sub rax, r12
mov qword [rsp + 0x50], rax
lea r15, [rax + r13]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], rsi
sub rdi, r15
je 0x180256c85
cmp rdi, rcx
ja 0x180257470
cmp rdi, 0x1000
jb 0x180256c56
lea rcx, [rdi + 0x27]
cmp rcx, rdi
jbe 0x180257476
call fcn.1800a5868
test rax, rax
je 0x1802574d6
lea r13, [rax + 0x27]
and r13, 0xffffffffffffffe0
mov qword [r13 - 8], rax
jmp 0x180256c61
mov rcx, rdi
call fcn.1800a5868
mov r13, rax
mov qword [rbp - 0x28], r13
lea r14, [rdi + r13]
mov qword [rbp - 0x18], r14
mov r8, rdi
mov rdx, r15
mov rcx, r13
call fcn.180282cf0
mov qword [rbp - 0x78], r14
mov qword [rbp - 0x20], r14
jmp 0x180256c91
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x78], rax
mov r13, qword [rbp - 0x28]
mov rdi, qword [rsp + 0x78]
add rdi, 5
shr rdi, 3
sub rdi, qword [rsp + 0x70]
sub rdi, qword [rbp - 0x70]
sub rdi, qword [rbp + 0xf0]
dec rdi
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x40], xmm0
mov rcx, rsi
mov qword [rbp - 0x68], rcx
mov qword [rbp - 0x30], rcx
movdqu xmmword [rbp - 0x58], xmm0
mov qword [rsp + 0x78], rcx
mov qword [rbp - 0x48], rcx
mov r15, qword [rbp - 0x80]
mov rdx, qword [r15]
mov rax, qword [r15 + 8]
sub rax, rdx
cmp rax, rdi
jbe 0x180256e27
lea r8, [rdx + rdi]
lea r9, [rsp + 0x40]
lea rcx, [rbp + 0x50]
call fcn.18009d9a0
lea rcx, [rbp - 0x40]
cmp rcx, rax
je 0x180256d2c
mov r14, qword [rax]
mov qword [rbp - 0x40], r14
mov rcx, qword [rax + 8]
mov qword [rbp - 0x38], rcx
mov rcx, qword [rax + 0x10]
mov qword [rbp - 0x68], rcx
mov qword [rbp - 0x30], rcx
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rsi
jmp 0x180256d30
mov r14, qword [rbp - 0x40]
mov qword [rbp - 0x80], r14
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x180256d6e
mov rdx, qword [rbp + 0x60]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180256d69
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18025747c
call fcn.1800a58b8
mov r8, qword [r15 + 8]
mov rdx, qword [r15]
add rdx, rdi
lea r9, [rsp + 0x40]
lea rcx, [rbp + 0x50]
call fcn.18009d9a0
lea rcx, [rbp - 0x58]
cmp rcx, rax
je 0x180256db8
mov rdi, qword [rax]
mov qword [rbp - 0x58], rdi
mov r14, qword [rax + 8]
mov qword [rbp - 0x50], r14
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x78], rcx
mov qword [rbp - 0x48], rcx
mov qword [rax], rsi
mov qword [rax + 8], rsi
mov qword [rax + 0x10], rsi
jmp 0x180256dc0
mov r14, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x58]
mov rcx, qword [rbp + 0x50]
test rcx, rcx
je 0x180256dfa
mov rdx, qword [rbp + 0x60]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180256df5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180257482
call fcn.1800a58b8
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
sub r14, rdi
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], r14
mov rax, qword [rcx]
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
call qword [rax + reloc.WS2_32.dll_recv]
jmp 0x180256e47
mov rdx, r15
lea rcx, [rbp - 0x40]
call fcn.1801a5c90
mov rcx, qword [rbp - 0x30]
mov qword [rbp - 0x68], rcx
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x80], rax
mov rdi, qword [rbp - 0x58]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
mov qword [rbp - 0x60], rcx
mov rax, qword [rcx]
call qword [rax]
mov r15, rax
xorps xmm6, xmm6
movdqu xmmword [rbp + 0x50], xmm6
mov qword [rbp + 0x60], rsi
test rax, rax
je 0x180256eea
movabs rax, 0x7fffffffffffffff
cmp r15, rax
ja 0x180257488
cmp r15, 0x1000
jb 0x180256eb1
lea rcx, [r15 + 0x27]
cmp rcx, r15
jbe 0x18025748e
call fcn.1800a5868
test rax, rax
je 0x180257494
lea r14, [rax + 0x27]
and r14, 0xffffffffffffffe0
mov qword [r14 - 8], rax
jmp 0x180256ebc
mov rcx, r15
call fcn.1800a5868
mov r14, rax
mov qword [rbp + 0x50], r14
lea rax, [r14 + r15]
mov qword [rsp + 0x70], rax
mov qword [rbp + 0x60], rax
mov r8, r15
xor edx, edx
mov rcx, r14
call fcn.180283390
mov rcx, qword [rsp + 0x70]
mov qword [rbp + 0x58], rcx
movdqu xmm6, xmmword [rbp + 0x50]
jmp 0x180256efc
xorps xmm0, xmm0
psrldq xmm0, 8
movq rcx, xmm0
movq r14, xmm6
mov dword [rsp + 0x60], 8
mov r8, qword [rbp - 0x60]
mov rax, qword [r8]
sub rcx, r14
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x38], rcx
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
mov rcx, r8
call qword [rax + 0x18]
nop
mov dword [rsp + 0x60], 4
test rdi, rdi
je 0x180256f79
mov rcx, qword [rsp + 0x78]
sub rcx, rdi
mov rax, rdi
cmp rcx, 0x1000
jb 0x180256f6e
add rcx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1802574c4
mov rdx, rcx
mov rcx, rdi
call fcn.1800a58b8
movups xmmword [rbp - 0x58], xmm6
movsd xmm0, qword [rbp + 0x60]
movsd qword [rbp - 0x48], xmm0
mov rdi, qword [rbp - 0x38]
mov r15, qword [rbp - 0x80]
sub rdi, r15
lea rdx, [rdi*8]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
call fcn.180270800
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], rdi
mov rax, qword [rcx]
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
call qword [rax + reloc.WS2_32.dll_recv]
mov rdi, qword [rsp + 0x68]
mov rcx, qword [rdi]
mov qword [rsp + 0x30], r14
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x38], rax
mov rax, qword [rcx]
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rdi]
mov rax, qword [rbp - 0x78]
sub rax, r13
mov qword [rbp - 0x78], rax
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], rax
mov rax, qword [rcx]
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rdi]
mov qword [rsp + 0x30], rcx
mov rax, qword [rcx]
call qword [rax]
mov qword [rbp - 0x60], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x20], xmm0
mov rdi, rsi
mov qword [rsp + 0x78], rsi
mov qword [rbp + 0x30], rsi
test rax, rax
je 0x1802570c8
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
ja 0x18025749a
cmp rax, 0x1000
jb 0x180257098
lea rcx, [rax + 0x27]
cmp rcx, rax
jbe 0x1802574a0
call fcn.1800a5868
test rax, rax
je 0x1802574a6
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x1802570a3
mov rcx, rax
call fcn.1800a5868
mov r15, rax
mov qword [rbp + 0x20], r15
mov r8, qword [rbp - 0x60]
lea rdi, [r15 + r8]
mov qword [rsp + 0x78], rdi
mov qword [rbp + 0x30], rdi
xor edx, edx
mov rcx, r15
call fcn.180283390
mov qword [rbp + 0x28], rdi
jmp 0x1802570cc
mov r15, qword [rbp + 0x20]
mov dword [rsp + 0x60], 0x24
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx]
sub rdi, r15
mov qword [rsp + 0x30], r15
mov qword [rsp + 0x38], rdi
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
lea rdx, [rsp + 0x30]
call qword [rax + 0x18]
nop
mov dword [rsp + 0x60], shutdown
mov rdi, qword [rsp + 0x50]
lea rdx, [rdi*8]
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
call fcn.180270800
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], rdi
mov rax, qword [rcx]
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x50]
call qword [rax + reloc.WS2_32.dll_recv]
mov rdi, qword [rsp + 0x68]
mov rcx, qword [rdi]
mov qword [rsp + 0x50], r14
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x58], rax
mov rax, qword [rcx]
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x50]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rdi]
mov qword [rsp + 0x50], r13
mov rax, qword [rbp - 0x78]
mov qword [rsp + 0x58], rax
mov rax, qword [rcx]
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x50]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [rdi]
mov qword [rsp + 0x30], rcx
mov rax, qword [rcx]
call qword [rax]
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 8], xmm0
mov qword [rbp + 0x18], rsi
test rax, rax
je 0x180257231
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
ja 0x1802574ac
cmp rax, 0x1000
jb 0x180257202
lea rcx, [rax + 0x27]
cmp rcx, rax
jbe 0x1802574b2
call fcn.1800a5868
test rax, rax
je 0x1802574b8
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x18025720d
mov rcx, rax
call fcn.1800a5868
mov rdi, rax
mov qword [rbp + 8], rdi
mov r8, qword [rsp + 0x50]
lea rsi, [rdi + r8]
mov qword [rbp + 0x18], rsi
xor edx, edx
mov rcx, rdi
call fcn.180283390
mov rcx, rsi
mov qword [rbp + 0x10], rcx
jmp 0x180257239
mov rcx, qword [rbp + 0x10]
mov rdi, qword [rbp + 8]
mov dword [rsp + 0x60], reloc.WS2_32.dll_shutdown
mov r8, qword [rsp + 0x30]
mov rax, qword [r8]
sub rcx, rdi
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x58], rcx
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
lea rdx, [rsp + 0x50]
mov rcx, r8
call qword [rax + 0x18]
nop
mov r8, qword [rbp - 0x70]
mov rdx, rdi
mov rcx, r15
call fcn.18009df80
lea ecx, [rax - 1]
shr cl, 7
not al
shr al, 7
and cl, al
neg cl
or bl, cl
sete bl
test rdi, rdi
je 0x1802572c9
sub rsi, rdi
mov rax, rdi
cmp rsi, 0x1000
jb 0x1802572bd
add rsi, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1802574be
mov rdx, rsi
mov rcx, rdi
call fcn.1800a58b8
nop
test r15, r15
je 0x180257307
mov rcx, qword [rsp + 0x78]
sub rcx, r15
mov rax, r15
cmp rcx, 0x1000
jb 0x1802572fb
add rcx, 0x27
mov r15, qword [r15 - 8]
sub rax, r15
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1802574c4
mov rdx, rcx
mov rcx, r15
call fcn.1800a58b8
nop
test r14, r14
je 0x180257341
mov rdx, qword [rbp - 0x48]
sub rdx, r14
mov rax, r14
cmp rdx, 0x1000
jb 0x180257338
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1802574ca
mov rcx, r14
call fcn.1800a58b8
nop
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x18025737c
mov rdx, qword [rbp - 0x68]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180257376
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1802574d0
call fcn.1800a58b8
nop
test r13, r13
je 0x1802573b9
mov rcx, qword [rbp - 0x18]
sub rcx, r13
mov rax, r13
cmp rcx, 0x1000
jb 0x1802573ad
add rcx, 0x27
mov r13, qword [r13 - 8]
sub rax, r13
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1802574d6
mov rdx, rcx
mov rcx, r13
call fcn.1800a58b8
nop
test r12, r12
je 0x1802573f7
mov rcx, qword [rbp]
sub rcx, r12
mov rax, r12
cmp rcx, 0x1000
jb 0x1802573eb
add rcx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1802574dc
mov rdx, rcx
mov rcx, r12
call fcn.1800a58b8
nop
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x38]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x180257423
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18025745e
call fcn.1800a58b8
movzx eax, bl
jmp 0x18025742f
xor al, al
mov rcx, qword [rbp + 0x70]
xor rcx, rsp
call fcn.1800a5910
mov rbx, qword [rsp + 0x1e0]
movaps xmm6, xmmword [rsp + 0x180]
add rsp, 0x190
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1802986cc
nop
call fcn.1800030ee
nop
call fcn.180002ef8
nop
call fcn.1800030ee
int3
call fcn.180002ef8
nop
call fcn.1802986cc
int3
call fcn.1802986cc
nop
call fcn.1800030ee
int3
call fcn.180002ef8
int3
call fcn.1802986cc
nop
call fcn.1800030ee
int3
call fcn.180002ef8
int3
call fcn.1802986cc
nop
call fcn.1800030ee
int3
call fcn.180002ef8
int3
call fcn.1802986cc
nop
call fcn.1802986cc
nop
call fcn.1802986cc
nop
call fcn.1802986cc
nop
call fcn.1802986cc
nop
call fcn.1802986cc
nop
call fcn.1802986cc
int3