Function at 0x14007c900
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x198]
sub rsp, 0x270
mov qword [rbp - 0x80], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140526598]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov r14, rcx
mov qword [rsp + 0x68], rcx
lea rbx, [0x1405272c8]
mov esi, 1
lea r15d, [rsi + 7]
mov r10d, 0x4c
mov r11d, 0xffff0000
movabs rdi, 0x112e0be826d694b3
xor ecx, ecx
mov rax, qword [0x1405272c8]
test rax, rax
je 0x14007cff6
movzx eax, byte [0x14052cdd8]
test al, al
je 0x14007ca65
mov qword [rsp + 0x48], socket
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x48], socket
mov qword [rsp + 0x48], 0x1312d00
nop
call fcn.14034176c
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x48], rax
imul rcx, rax, 0x64
mov qword [rsp + 0x48], rcx
add rcx, 0x1312d00
mov rax, rdi
imul rcx
sar rdx, 0x1a
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x70], rdx
imul rax, rdx, 0x3b9aca00
mov qword [rsp + 0x48], rax
sub rcx, rax
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x78], ecx
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rbp + 0xd0], xmm0
movdqa xmmword [rbp + 0xd0], xmm0
lea rcx, [rbp + 0xd0]
call fcn.140341e78
movzx eax, byte [0x14052cdd8]
test al, al
je 0x14007ca41
mov rax, qword [0x1405272c8]
test rax, rax
jne 0x14007c9b0
mov rax, qword [0x1405272c8]
test rax, rax
je 0x14007cff6
mov rcx, r14
call fcn.14007d430
mov r10d, 0x4c
mov r11d, 0xffff0000
mov r12b, 1
mov byte [rsp + 0x50], r12b
xor eax, eax
mov qword [rbp + 0xe0], rax
mov qword [rbp + 0xe8], rax
mov qword [rbp + 0xf0], rax
mov qword [rbp + 0xf8], rax
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x108], rax
mov qword [rbp + 0x110], rax
mov qword [rbp + 0x118], rax
nop word [rax + rax]
mov rcx, qword [r14 + 0x890]
mov rax, qword [0x1405272c8]
cmp rax, rcx
jne 0x14007cfe4
lea rdi, [r14 + 0x78]
movzx eax, byte [rdi + 0x820]
imul rcx, rax, 0x268
lea r13, [rdi + 0x330]
add r13, rcx
mov qword [rsp + 0x48], r13
movzx ecx, byte [r14 + 0x4a]
mov rdx, rsi
shl rdx, cl
movzx ecx, byte [r13 + 2]
mov rax, rsi
shl rax, cl
cmp rax, rdx
jne 0x14007cfe4
movzx r8d, byte [rdi + 0x820]
imul rcx, r8, 0x268
mov edx, dword [rcx + rdi + 0x330]
mov eax, edx
and eax, 0xff000000
mov ecx, 0xff000000
cmp eax, 0x63000000
cmove ecx, r11d
and ecx, edx
cmp ecx, 0x6b000000
jne 0x14007cb43
mov edx, 0x20
jmp 0x14007cb52
mov edx, 0x27
cmp ecx, 0x6c000000
cmove rdx, r10
movzx eax, r8b
imul rcx, rax, 0x198
add rcx, rdx
mov ebx, dword [rcx + rdi]
mov dword [rsp + 0x60], ebx
mov eax, dword [r14 + 0x8c8]
test eax, eax
je 0x14007cb9e
cmp ebx, eax
jae 0x14007cff1
cmp qword [r14 + 0x60], 1
jne 0x14007cb9e
movzx eax, byte [rdi + 0x820]
imul rcx, rax, 0x198
mov rax, qword [0x14053aae0]
xor qword [rcx + rdi], rax
mov ebx, dword [rsp + 0x60]
mov byte [rsp + 0x51], 1
movzx eax, byte [rdi + 0x820]
imul rcx, rax, 0x268
mov edx, dword [rcx + rdi + 0x330]
mov eax, edx
and eax, 0xff000000
mov ecx, 0xff000000
cmp eax, 0x63000000
cmove ecx, r11d
and ecx, edx
cmp ecx, 0x6b000000
jne 0x14007cbdf
mov r9d, 0x20
jmp 0x14007cbef
mov r9d, 0x27
cmp ecx, 0x6c000000
cmove r9, r10
movzx eax, byte [rdi + 0x820]
imul rcx, rax, 0x268
mov edx, dword [rcx + rdi + 0x330]
mov eax, edx
and eax, 0xff000000
mov r8d, 0xff000000
cmp eax, 0x63000000
cmove r8d, r11d
and r8d, edx
mov ecx, 4
cmp r8d, 0x6b000000
cmove rcx, r15
movzx eax, byte [rdi + 0x820]
imul r15, rax, 0x198
lea rax, [r9 + rcx]
add r15, rax
add r15, rdi
mov edx, dword [r13]
mov eax, edx
and eax, 0xff000000
mov ecx, 0xff000000
cmp eax, 0x63000000
cmove ecx, r11d
and ecx, edx
cmp ecx, 0x72000000
jne 0x14007ce2f
test r12b, r12b
je 0x14007cce3
mov byte [rsp + 0x50], 0
cmp byte [r13 + 0x261], 0
je 0x14007cca0
movzx eax, byte [rdi + 0x820]
imul rdx, rax, 0x198
add rdx, rdi
mov r9, r15
mov r8, qword [r13 + 0x20]
mov rcx, r13
call fcn.14003cdc0
mov rsi, qword [r14 + 0x8a0]
movzx eax, byte [rdi + 0x820]
imul r8, rax, 0x198
add r8, rdi
mov r9, qword [r13 + 0x20]
mov edx, 0x40
lea rcx, [rbp + 0xe0]
call qword [0x1405272e8]
mov rax, qword [rsi]
lea rdx, [rbp + 0xe0]
mov rcx, rsi
call qword [rax + 0x30]
mov esi, 1
mov edx, 0x8000
cmp dword [r14 + 0x8c8], 0
cmovne edx, esi
mov r8d, esi
mov rcx, rdi
call fcn.14007be70
test al, al
je 0x14007cfb9
cmp byte [r13 + 0x261], 0
je 0x14007cd5f
movups xmm0, xmmword [r15]
movaps xmmword [rbp + 0x120], xmm0
movups xmm1, xmmword [r15 + 0x10]
movaps xmmword [rbp + 0x130], xmm1
movups xmm0, xmmword [r15 + 0x20]
movaps xmmword [rbp + 0x140], xmm0
movups xmm1, xmmword [r15 + 0x30]
movaps xmmword [rbp + 0x150], xmm1
movzx eax, byte [rdi + 0x820]
imul rdx, rax, 0x198
add rdx, rdi
mov r9, r15
mov r8, qword [r13 + 0x20]
mov rcx, r13
call fcn.14003cdc0
mov rax, qword [r13 + 0x20]
mov qword [rsp + 0x48], rax
movzx eax, byte [rdi + 0x820]
mov byte [rsp + 0x40], al
mov rsi, qword [r14 + 0x8a0]
mov dword [rsp + 0x58], 0x9fc0
ldmxcsr dword [rsp + 0x58]
xor eax, eax
mov r15d, eax
cmp dword [0x14053b624], 1
je 0x14007cddb
lea r12, [rsi + 0x980]
nop dword [rax]
mov rax, qword [rsi]
lea rdx, [rbp + 0xe0]
mov rcx, rsi
call qword [rax + gethostname]
mov r9d, 0x100
mov r8, r12
mov edx, 0x40
lea rcx, [rbp + 0xe0]
call qword [0x1405272e8]
inc r15d
mov eax, dword [0x14053b624]
dec eax
cmp r15d, eax
jb 0x14007cda0
mov rax, qword [rsi]
lea rdx, [rbp + 0xe0]
mov rcx, rsi
call qword [rax + gethostname]
movzx eax, byte [rsp + 0x40]
imul r8, rax, 0x198
add r8, rdi
mov r9, qword [rsp + 0x48]
mov edx, 0x40
lea rcx, [rbp + 0xe0]
call qword [0x1405272e8]
mov rax, qword [rsi]
lea rdx, [r14 + 0x28]
lea r8, [rbp + 0xe0]
mov rcx, rsi
call qword [rax + 0x18]
mov esi, 1
jmp 0x14007cecb
mov eax, edx
and eax, 0xff000000
mov ecx, 0xff000000
cmp eax, 0x63000000
cmove ecx, r11d
and ecx, edx
cmp ecx, 0x6c000000
je 0x14007cea3
mov r12, qword [r13 + 0x78]
mov r13, qword [r13 + 0x20]
movzx eax, byte [rdi + 0x820]
imul r15, rax, 0x198
add r15, rdi
mov rax, qword [rsp + 0x68]
mov r8d, dword [rax + 0x4c]
mov edx, dword [rax + 0x54]
mov rcx, qword [rsp + 0x48]
call fcn.1400cd160
mov qword [rsp + 0x20], r12
lea r9, [r14 + 0x68]
lea r8, [r14 + 0x28]
mov rdx, r13
mov rcx, r15
call rax
mov r14, qword [rsp + 0x68]
mov r13, qword [rsp + 0x48]
mov esi, 1
jmp 0x14007cea8
mov byte [rsp + 0x51], 0
mov edx, 0x8000
cmp dword [r14 + 0x8c8], 0
cmovne edx, esi
mov r8d, esi
mov rcx, rdi
call fcn.14007be70
test al, al
je 0x14007cfb9
cmp byte [rsp + 0x51], 0
je 0x14007cf76
mov rdx, qword [r14 + 0x40]
mov eax, dword [r14 + 0x8c8]
test eax, eax
je 0x14007cf13
cmp ebx, eax
jae 0x14007cf72
prefetchw byte [0x14053aae0]
mov rax, qword [0x14053aae0]
nop dword [rax + rax]
mov rcx, rax
xor rcx, rdx
lock cmpxchg qword [0x14053aae0], rcx
jne 0x14007cf00
jmp 0x14007cf72
cmp rdx, qword [r13 + 0x80]
jae 0x14007cf72
lea rax, [rbp + 0x120]
cmp byte [r13 + 0x261], 0
mov ecx, 0
cmove rax, rcx
lea r9, [r14 + 0x28]
mov r8d, ebx
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rcx
mov rdx, r13
lea rcx, [rbp - 0x20]
call fcn.1400b6f50
nop
mov rcx, rax
call fcn.1400b81f0
nop
mov rcx, qword [rbp - 8]
call fcn.140343460
mov rcx, qword [rbp - 0x18]
call fcn.140343460
inc qword [r14 + 8]
cmp byte [r14 + 0x51], 0
movzx r12d, byte [rsp + 0x50]
lea rbx, [0x1405272c8]
mov r10d, 0x4c
mov r11d, 0xffff0000
lea r15d, [r10 - 0x44]
je 0x14007cab0
call sub.KERNEL32.dll_SwitchToThread
lea rbx, [0x1405272c8]
lea r10d, [r15 + 0x44]
mov r11d, 0xffff0000
jmp 0x14007cab0
movzx eax, byte [r14 + 0x898]
imul rcx, rax, 0x268
add rcx, 0x3a8
add rcx, r14
call fcn.1400b80d0
mov r15d, 8
lea rbx, [0x1405272c8]
mov rcx, r14
call fcn.14007d430
jmp 0x14007c957
call fcn.140075ca0
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.140343400
lea r11, [rsp + 0x270]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret