Function at 0x14003f290
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rsp - 0x47]
sub rsp, 0xb0
mov rax, qword [0x14087b200]
xor rax, rsp
mov qword [rbp + 0x37], rax
cmp byte [0x14087f299], 0
jne 0x14003fd9a
lea rcx, [rbp - 0x39]
call fcn.14003e270
lea rdx, [rbp - 0x41]
mov rcx, rax
call fcn.14005daf0
mov ecx, dword [rax]
xor ecx, 0xcc
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
xor edi, edi
movabs rsi, 0x101010101010101
lea r14, [0x140000000]
movabs r15, 0x2aaaaaaaaaaaaaab
nop dword [rax + rax]
lea rcx, [rbp - 0x39]
call fcn.14003e270
lea rdx, [rbp - 0x41]
mov rcx, rax
call fcn.14005daf0
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
movzx edx, dx
add rax, rdx
movzx eax, ax
sub rax, rdx
inc rax
xor rax, 0x10
shl rax, 0xa
or rax, rsi
mov qword [rdi + r14 + 0x87f340], rax
lea rcx, [rbp - 0x21]
call fcn.14003e270
lea rdx, [rbp - 0x19]
mov rcx, rax
call fcn.14005daf0
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1ffff
add rax, rdx
and eax, 0x1ffff
sub rax, rdx
inc rax
xor rax, 0x20
shl rax, 0xb
or rax, rsi
mov qword [rdi + r14 + 0x87f3c0], rax
lea rcx, [rbp - 0x31]
call fcn.14003e270
lea rdx, [rbp - 0x29]
mov rcx, rax
call fcn.14005daf0
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rcx, rdx
mov rax, r15
imul rdx
sar rdx, 0xf
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rax, [rdx + rdx*2]
shl rax, 0x10
sub rcx, rax
inc rcx
xor rcx, 0x40
shl rcx, 0xc
or rcx, rsi
mov qword [rdi + r14 + 0x87f2b0], rcx
add rdi, 8
cmp rdi, 0x80
jb 0x14003f310
xor edi, edi
lea rbx, [0x14087f2ad]
lea rcx, [rbp - 0x39]
call fcn.14003e270
lea rdx, [rbp - 0x41]
mov rcx, rax
call fcn.14005daf0
mov rsi, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003f45c
dec eax
or eax, 0xfffffff0
inc eax
inc al
movzx ecx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rbx - 1], dl
lea rcx, [rbp - 0x39]
call fcn.14003e270
lea rdx, [rbp - 0x41]
mov rcx, rax
call fcn.14005daf0
mov rsi, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003f498
dec eax
or eax, 0xfffffff0
inc eax
inc al
movzx ecx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rbx], dl
lea rcx, [rbp - 0x39]
call fcn.14003e270
lea rdx, [rbp - 0x41]
mov rcx, rax
call fcn.14005daf0
mov rsi, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003f4d3
dec eax
or eax, 0xfffffff0
inc eax
inc al
movzx ecx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rbx + 1], dl
lea rcx, [rbp - 0x39]
call fcn.14003e270
lea rdx, [rbp - 0x41]
mov rcx, rax
call fcn.14005daf0
mov rsi, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003f50f
dec eax
or eax, 0xfffffff0
inc eax
inc al
movzx ecx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rbx + 2], dl
add edi, 4
add rbx, 4
cmp edi, 4
jb 0x14003f430
xor edi, edi
lea rbx, [0x14087f441]
nop dword [rax + rax]
lea rcx, [rbp - 0x41]
call fcn.14003e270
lea rdx, [rbp - 0x39]
mov rcx, rax
call fcn.14005daf0
mov rsi, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003f56c
dec eax
or eax, 0xfffffff0
inc eax
inc al
movzx ecx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rbx - 1], dl
lea rcx, [rbp - 0x41]
call fcn.14003e270
lea rdx, [rbp - 0x39]
mov rcx, rax
call fcn.14005daf0
mov rsi, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003f5a8
dec eax
or eax, 0xfffffff0
inc eax
inc al
movzx ecx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rbx], dl
lea rcx, [rbp - 0x41]
call fcn.14003e270
lea rdx, [rbp - 0x39]
mov rcx, rax
call fcn.14005daf0
mov rsi, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003f5e3
dec eax
or eax, 0xfffffff0
inc eax
inc al
movzx ecx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rbx + 1], dl
lea rcx, [rbp - 0x41]
call fcn.14003e270
lea rdx, [rbp - 0x39]
mov rcx, rax
call fcn.14005daf0
mov rsi, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003f61f
dec eax
or eax, 0xfffffff0
inc eax
inc al
movzx ecx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rbx + 2], dl
lea rcx, [rbp - 0x41]
call fcn.14003e270
lea rdx, [rbp - 0x39]
mov rcx, rax
call fcn.14005daf0
mov rsi, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003f65b
dec eax
or eax, 0xfffffff0
inc eax
inc al
movzx ecx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rbx + 3], dl
lea rcx, [rbp - 0x41]
call fcn.14003e270
lea rdx, [rbp - 0x39]
mov rcx, rax
call fcn.14005daf0
mov rsi, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003f697
dec eax
or eax, 0xfffffff0
inc eax
inc al
movzx ecx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rbx + 4], dl
lea rcx, [rbp - 0x41]
call fcn.14003e270
lea rdx, [rbp - 0x39]
mov rcx, rax
call fcn.14005daf0
mov rsi, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003f6d3
dec eax
or eax, 0xfffffff0
inc eax
inc al
movzx ecx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rbx + 5], dl
lea rcx, [rbp - 0x41]
call fcn.14003e270
lea rdx, [rbp - 0x39]
mov rcx, rax
call fcn.14005daf0
mov rsi, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003f70f
dec eax
or eax, 0xfffffff0
inc eax
inc al
movzx ecx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rbx + 6], dl
add edi, 8
add rbx, 8
cmp edi, 8
jb 0x14003f540
xor ebx, ebx
lea rdi, [0x14087f2a0]
nop dword [rax + rax]
lea rcx, [rbp - 0x29]
call fcn.14003e270
lea rdx, [rbp - 0x31]
mov rcx, rax
call fcn.14005daf0
mov rsi, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14003f76c
dec eax
or eax, 0xfffffff0
inc eax
inc al
movzx ecx, al
mov rax, rsi
cqo
idiv rcx
mov byte [rdi], dl
inc ebx
inc rdi
cmp ebx, 0xc
jb 0x14003f740
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xff
sub r8d, ecx
xor byte [0x14087b987], r8b
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xff
sub r8d, ecx
xor byte [reloc.WLDAP32.dll_Ordinal_50], r8b
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xff
sub r8d, ecx
xor byte [0x14087b99d], r8b
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xff
sub r8d, ecx
xor byte [reloc.WS2_32.dll_gethostname], r8b
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xff
sub r8d, ecx
xor byte [str.5391], r8b
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xff
sub r8d, ecx
xor byte [0x14087b99c], r8b
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xff
sub r8d, ecx
xor byte [0x14087b9ad], r8b
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xff
sub r8d, ecx
xor byte [0x14087b9d3], r8b
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
mov r8d, eax
mov eax, 0x80808081
imul r8d
add edx, r8d
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
imul ecx, edx, 0xff
sub r8d, ecx
xor byte [0x14087b9af], r8b
mov ecx, Ordinal_26
call fcn.1403a8780
mov rbx, rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
lea rcx, [rbp - 0x49]
call fcn.14005da40
mov r8, rax
xor edx, edx
mov rcx, rbx
call fcn.14005d9d0
mov qword [0x14087f330], rax
mov ecx, Ordinal_26
call fcn.1403a8780
mov rbx, rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], rax
lea rcx, [rbp - 0x49]
call fcn.14005da40
mov r8, rax
xor edx, edx
mov rcx, rbx
call fcn.14005da80
mov qword [0x14087f338], rax
cmp qword [0x14087f330], 0
je 0x14003fd9a
test rax, rax
je 0x14003fd9a
lea rcx, [rbp - 0x29]
call fcn.14003e270
lea rdx, [rbp - 0x31]
mov rcx, rax
call fcn.14005daf0
movzx ecx, byte [rax]
xor byte [0x14087b9d1], cl
lea rax, [fcn.14003e370]
mov qword [rbp - 0x11], rax
lea rax, [fcn.14003e4d0]
mov qword [rbp - 9], rax
lea rax, [fcn.14003e660]
mov qword [rbp - 1], rax
lea rax, [fcn.14003e7f0]
mov qword [rbp + 7], rax
lea rax, [fcn.14003e9a0]
mov qword [rbp + 0xf], rax
lea rax, [fcn.14003eb40]
mov qword [rbp + 0x17], rax
lea rax, [fcn.14003ed10]
mov qword [rbp + 0x1f], rax
lea rax, [fcn.14003eed0]
mov qword [rbp + 0x27], rax
lea rax, [0x14003f0b0]
mov qword [rbp + 0x2f], rax
xor r9d, r9d
lea r8, [0x14087b9d1]
mov r10, r8
nop dword [rax]
nop dword [rax + rax]
xor edx, edx
movzx ecx, byte [r10]
lea rax, [rbp - 0x10]
nop word [rax + rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x14003fa50
inc r9d
inc r10
cmp r9d, 1
jb 0x14003fa40
xor r9d, r9d
mov r10, r8
nop word [rax + rax]
xor edx, edx
movzx ecx, byte [r10]
lea rax, [rbp - 8]
nop word [rax + rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x14003faa0
inc r9d
inc r10
cmp r9d, 1
jb 0x14003fa90
xor r9d, r9d
mov r10, r8
nop word [rax + rax]
xor edx, edx
movzx ecx, byte [r10]
lea rax, [rbp]
nop word [rax + rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x14003faf0
inc r9d
inc r10
cmp r9d, 1
jb 0x14003fae0
xor r9d, r9d
mov r10, r8
nop word [rax + rax]
xor edx, edx
movzx ecx, byte [r10]
lea rax, [rbp + 8]
nop word [rax + rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x14003fb40
inc r9d
inc r10
cmp r9d, 1
jb 0x14003fb30
xor r9d, r9d
mov r10, r8
nop word [rax + rax]
xor edx, edx
movzx ecx, byte [r10]
lea rax, [rbp + 0x10]
nop word [rax + rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x14003fb90
inc r9d
inc r10
cmp r9d, 1
jb 0x14003fb80
xor r9d, r9d
mov r10, r8
nop word [rax + rax]
xor edx, edx
movzx ecx, byte [r10]
lea rax, [rbp + 0x18]
nop word [rax + rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x14003fbe0
inc r9d
inc r10
cmp r9d, 1
jb 0x14003fbd0
xor r9d, r9d
mov r10, r8
nop word [rax + rax]
xor edx, edx
movzx ecx, byte [r10]
lea rax, [rbp + 0x20]
nop word [rax + rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x14003fc30
inc r9d
inc r10
cmp r9d, 1
jb 0x14003fc20
xor r9d, r9d
mov r10, r8
nop word [rax + rax]
xor edx, edx
movzx ecx, byte [r10]
lea rax, [rbp + 0x28]
nop word [rax + rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x14003fc80
inc r9d
inc r10
cmp r9d, 1
jb 0x14003fc70
xor r9d, r9d
nop dword [rax]
nop word [rax + rax]
xor edx, edx
movzx ecx, byte [r8]
lea rax, [rbp + 0x30]
nop word [rax + rax]
xor byte [rax - 1], cl
xor byte [rax], cl
xor byte [rax + 1], cl
xor byte [rax + 2], cl
xor byte [rax + 3], cl
xor byte [rax + 4], cl
xor byte [rax + 5], cl
xor byte [rax + 6], cl
add edx, 8
lea rax, [rax + 8]
cmp edx, 8
jb 0x14003fcd0
inc r9d
inc r8
cmp r9d, 1
jb 0x14003fcc0
lea rdx, [rbp - 0x11]
mov rcx, qword [0x14087f338]
call fcn.14005d4c0
lea rdx, [rbp - 9]
mov rcx, qword [0x14087f338]
call fcn.14005d4c0
lea rdx, [rbp - 1]
mov rcx, qword [0x14087f338]
call fcn.14005d4c0
lea rdx, [rbp + 7]
mov rcx, qword [0x14087f338]
call fcn.14005d4c0
lea rdx, [rbp + 0xf]
mov rcx, qword [0x14087f338]
call fcn.14005d4c0
lea rdx, [rbp + 0x17]
mov rcx, qword [0x14087f338]
call fcn.14005d4c0
lea rdx, [rbp + 0x1f]
mov rcx, qword [0x14087f338]
call fcn.14005d4c0
lea rdx, [rbp + 0x27]
mov rcx, qword [0x14087f338]
call fcn.14005d4c0
lea rdx, [rbp + 0x2f]
mov rcx, qword [0x14087f338]
call fcn.14005d4c0
mov byte [0x14087f299], 1
mov al, 1
jmp 0x14003fd9c
xor al, al
mov rcx, qword [rbp + 0x37]
xor rcx, rsp
call fcn.1403a8760
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret