Function at 0x140002e6c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2078]
mov eax, 0x2178
call fcn.140005150
sub rsp, rax
mov r12d, ecx
mov dword [rsp + 0x20], 0xa1e0b5ce
mov dword [rsp + 0x24], 0x386e2be5
mov dword [rsp + 0x28], 0xcff6b6e4
mov rax, qword gs:[0x58]
mov rbx, qword [rax]
mov ecx, 0x5e4
mov eax, dword [rcx + rbx]
mov edi, 0x340
mov r15d, 1
test r15b, al
jne 0x140002f00
or eax, r15d
mov dword [rcx + rbx], eax
mov byte [rdi + rbx + 0xc], r15b
movsd xmm0, qword [rsp + 0x20]
movsd qword [rdi + rbx], xmm0
mov eax, dword [rsp + 0x28]
mov dword [rdi + rbx + 8], eax
lea rcx, [0x140006110]
call fcn.140004784
nop
lea r14, [rbx + rdi]
xor edi, edi
movabs r11, 0x5b0159b5cf85c581
cmp byte [r14 + 0xc], dil
je 0x140002f39
mov r8d, edi
mov cl, r8b
and cl, 7
shl cl, 3
mov rdx, r11
shr rdx, cl
xor byte [r14 + r8], dl
add r8, r15
cmp r8, 0xc
jb 0x140002f19
mov byte [r14 + 0xc], dil
mov dword [rsp + 0x20], 0xa1f7a0ea
mov dword [rsp + 0x24], 0x693235d0
mov ecx, 0x608
mov eax, dword [rcx + rbx]
mov esi, 0x4b0
test r15b, al
jne 0x140002f8a
or eax, r15d
mov dword [rcx + rbx], eax
mov word [rsi + rbx + 8], 0x181
movsd xmm0, qword [rsp + 0x20]
movsd qword [rsi + rbx], xmm0
lea rcx, [0x140006114]
call fcn.140004784
nop
movabs r11, 0x5b0159b5cf85c581
lea r10, [rbx + rsi]
cmp byte [r10 + 9], dil
je 0x140002fb7
mov r9, rdi
mov cl, r9b
and cl, 7
shl cl, 3
mov r8, r11
shr r8, cl
xor byte [r10 + r9], r8b
add r9, r15
cmp r9, 9
jb 0x140002f97
mov byte [r10 + 9], dil
mov rcx, r10
call qword [0x14000a1b0]
mov rdx, r14
mov rcx, rax
call qword [0x14000a1b8]
mov r13, rax
movdqa xmm0, xmmword [0x140007400]
mov word [rsp + 0x58], 0xb6e4
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov eax, 0x350
mov ecx, dword [rax + rsi]
mov ebx, 0x528
test r15b, cl
jne 0x140003051
or ecx, r15d
mov dword [rax + rsi], ecx
lea rcx, [rbx + rsi]
mov byte [rcx + 0x13], r15b
lea rax, [rcx + 0x12]
lea rdx, [rsp + 0x5a]
cmp rcx, rdx
ja 0x140003034
lea rdx, [rsp + 0x48]
cmp rax, rdx
jb 0x140003034
movups xmmword [rcx], xmm0
movzx eax, word [rsp + 0x58]
mov word [rcx + 0x10], ax
mov byte [rcx + 0x12], 0x85
jmp 0x140003044
movups xmmword [rcx], xmm0
movzx eax, word [rsp + 0x58]
mov word [rcx + 0x10], ax
mov byte [rcx + 0x12], 0x85
lea rcx, [0x140006108]
call fcn.140004784
nop
add rsi, rbx
cmp byte [rsi + 0x13], dil
je 0x140003087
mov r8, rdi
movabs r9, 0x5b0159b5cf85c581
mov cl, r8b
and cl, 7
shl cl, 3
mov rdx, r9
shr rdx, cl
xor byte [rsi + r8], dl
add r8, r15
cmp r8, 0x13
jb 0x140003067
mov byte [rsi + 0x13], dil
mov dword [rbp + 0x20d8], 0xbfe4b6f1
mov word [rbp + 0x20dc], 0x59dc
mov rax, qword gs:[0x58]
mov r14, qword [rax]
mov ecx, 0x520
mov eax, dword [rcx + r14]
mov ebx, 0x1c4
test r15b, al
jne 0x1400030e9
or eax, r15d
mov dword [rcx + r14], eax
mov byte [rbx + r14 + 6], r15b
mov eax, dword [rbp + 0x20d8]
mov dword [rbx + r14], eax
movzx eax, word [rbp + 0x20dc]
mov word [rbx + r14 + 4], ax
lea rcx, [0x14000610c]
call fcn.140004784
nop
lea rdx, [r14 + rbx]
cmp byte [rdx + 6], dil
je 0x140003127
mov r9, rdi
movabs r12, 0x5b0159b5cf85c581
mov cl, r9b
and cl, 7
shl cl, 3
mov r8, r12
shr r8, cl
xor byte [r9 + rdx], r8b
add r9, r15
cmp r9, 6
jb 0x140003100
mov byte [rdx + 6], dil
mov r12d, dword [rbp + 0x20c0]
mov rcx, rdx
call qword [0x14000a1b0]
mov rdx, rsi
mov rcx, rax
call qword [0x14000a1b8]
mov r15, rax
movdqa xmm0, xmmword [0x1400073f0]
mov dword [rsp + 0x40], 0x8efd80e4
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x4cc
mov eax, dword [rcx + rsi]
mov ebx, 0x228
test al, 1
jne 0x1400031bd
or eax, 1
mov dword [rcx + rsi], eax
lea rcx, [rbx + rsi]
mov byte [rcx + 0x15], 1
lea rax, [rcx + 0x14]
lea rdx, [rsp + 0x44]
cmp rcx, rdx
ja 0x1400031a2
lea rdx, [rsp + 0x30]
cmp rax, rdx
jb 0x1400031a2
movups xmmword [rcx], xmm0
mov eax, dword [rsp + 0x40]
mov dword [rcx + 0x10], eax
mov byte [rcx + 0x14], 0xb5
jmp 0x1400031b0
movups xmmword [rcx], xmm0
mov eax, dword [rsp + 0x40]
mov dword [rcx + 0x10], eax
mov byte [rcx + 0x14], 0xb5
lea rcx, [0x140006100]
call fcn.140004784
nop
lea r14, [rsi + rbx]
cmp byte [r14 + 0x15], dil
je 0x1400031fb
mov r8, rdi
movabs r12, 0x5b0159b5cf85c581
mov cl, r8b
and cl, 7
shl cl, 3
mov rdx, r12
shr rdx, cl
xor byte [r8 + r14], dl
inc r8
cmp r8, 0x15
jb 0x1400031d4
mov byte [r14 + 0x15], dil
mov r12d, dword [rbp + 0x20c0]
mov dword [rbp + 0x20d8], 0xbfe4b6f1
mov word [rbp + 0x20dc], 0x59dc
mov rax, qword gs:[0x58]
mov rsi, qword [rax]
mov ecx, 0x130
mov eax, dword [rcx + rsi]
mov ebx, 0x4d0
test al, 1
jne 0x140003258
or eax, 1
mov dword [rcx + rsi], eax
mov byte [rbx + rsi + 6], 1
mov eax, dword [rbp + 0x20d8]
mov dword [rbx + rsi], eax
movzx eax, word [rbp + 0x20dc]
mov word [rbx + rsi + 4], ax
lea rcx, [0x140006104]
call fcn.140004784
nop
lea r10, [rsi + rbx]
cmp byte [r10 + 6], dil
je 0x140003296
mov r9, rdi
movabs r12, 0x5b0159b5cf85c581
mov cl, r9b
and cl, 7
shl cl, 3
mov r8, r12
shr r8, cl
xor byte [r9 + r10], r8b
inc r9
cmp r9, 6
jb 0x14000326f
mov byte [r10 + 6], dil
mov r12d, dword [rbp + 0x20c0]
mov rcx, r10
call qword [0x14000a1b0]
mov rdx, r14
mov rcx, rax
call qword [0x14000a1b8]
mov r14, rax
mov qword [rbp + 0x20d8], rdi
mov r8d, r12d
xor edx, edx
mov ecx, 0x410
call r13
mov rbx, rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x20d8], rbx
mov qword [rsp + 0x20], rdi
lea rcx, [rsp + 0x20]
call fcn.140001490
test rbx, rbx
je 0x14000336f
lea r9, [rbp + 0x20d0]
mov r8d, 0x2000
lea rdx, [rbp + 0x70]
mov rcx, rbx
call r15
test eax, eax
je 0x14000336f
mov rsi, rdi
mov eax, dword [rbp + 0x20d0]
test rax, 0xfffffffffffffff8
jbe 0x14000336f
mov r15, qword [rbp + 0x20c8]
mov r9d, 0x104
lea r8, [rsp + 0x60]
mov rdx, qword [rbp + rsi*8 + 0x70]
mov rcx, rbx
call r14
test eax, eax
je 0x14000334b
mov rdx, r15
lea rcx, [rsp + 0x60]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
test eax, eax
je 0x14000335f
inc rsi
mov eax, dword [rbp + 0x20d0]
shr rax, 3
cmp rsi, rax
jb 0x14000331f
jmp 0x14000336f
mov rdx, qword [rbp + rsi*8 + 0x70]
mov ecx, r12d
call fcn.140002344
mov dil, 1
lea rcx, [rbp + 0x20d8]
call fcn.140001490
mov al, dil
add rsp, 0x2178
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret