Function at 0x1401baf90
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x5f]
sub rsp, 0xc0
mov qword [rbp + 0x4f], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov rbx, rdx
mov rdi, rcx
xor esi, esi
mov dword [rdx], esi
lea rcx, str.kernel32
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.IsWow64Process
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x1401bb492
mov rdx, rbx
mov rcx, rdi
call rax
test eax, eax
jne 0x1401bb492
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r9d, eax
mov dword [rbp - 0x49], 0x67
mov ecx, dword [rbp - 0x49]
xor cx, 0x5b
mov word [rbp - 0x45], cx
mov ecx, dword [rbp - 0x49]
lea r8d, [rsi + 1]
add cx, r8w
xor cx, 0x2e
mov word [rbp - 0x43], cx
mov ecx, dword [rbp - 0x49]
add cx, 2
xor cx, 0x5d
mov word [rbp - 0x41], cx
mov eax, dword [rbp - 0x49]
add ax, 3
mov di, 0x20
xor ax, di
mov word [rbp - 0x3f], ax
mov eax, dword [rbp - 0x49]
add ax, 4
xor ax, 0x43
mov word [rbp - 0x3d], ax
mov eax, dword [rbp - 0x49]
add ax, 5
mov bx, 0x6f
xor ax, bx
mov word [rbp - 0x3b], ax
mov eax, dword [rbp - 0x49]
add ax, 6
xor ax, 0x75
mov word [rbp - 0x39], ax
mov eax, dword [rbp - 0x49]
add ax, 7
xor ax, 0x6c
mov word [rbp - 0x37], ax
mov eax, dword [rbp - 0x49]
add ax, 8
xor ax, 0x64
mov word [rbp - 0x35], ax
mov eax, dword [rbp - 0x49]
add ax, 9
xor ax, 0x6e
mov word [rbp - 0x33], ax
mov eax, dword [rbp - 0x49]
add ax, 0xa
xor ax, 0x27
mov word [rbp - 0x31], ax
mov eax, dword [rbp - 0x49]
add ax, 0xb
mov r11w, 0x74
xor ax, r11w
mov word [rbp - 0x2f], ax
mov eax, dword [rbp - 0x49]
add ax, 0xc
xor ax, di
mov word [rbp - 0x2d], ax
mov eax, dword [rbp - 0x49]
add ax, 0xd
xor ax, r11w
mov word [rbp - 0x2b], ax
mov eax, dword [rbp - 0x49]
add ax, 0xe
mov dx, 0x65
xor ax, dx
mov word [rbp - 0x29], ax
mov eax, dword [rbp - 0x49]
add ax, 0xf
xor ax, 0x6c
mov word [rbp - 0x27], ax
mov eax, dword [rbp - 0x49]
add ax, 0x10
xor ax, 0x6c
mov word [rbp - 0x25], ax
mov eax, dword [rbp - 0x49]
add ax, 0x11
xor ax, di
mov word [rbp - 0x23], ax
mov eax, dword [rbp - 0x49]
add ax, 0x12
xor ax, 0x77
mov word [rbp - 0x21], ax
mov eax, dword [rbp - 0x49]
add ax, 0x13
xor ax, 0x68
mov word [rbp - 0x1f], ax
mov eax, dword [rbp - 0x49]
add ax, 0x14
xor ax, dx
mov word [rbp - 0x1d], ax
mov eax, dword [rbp - 0x49]
add ax, 0x15
xor ax, r11w
mov word [rbp - 0x1b], ax
mov eax, dword [rbp - 0x49]
add ax, 0x16
xor ax, 0x68
mov word [rbp - 0x19], ax
mov eax, dword [rbp - 0x49]
add ax, 0x17
xor ax, dx
mov word [rbp - 0x17], ax
mov eax, dword [rbp - 0x49]
add ax, 0x18
mov r10w, 0x72
xor ax, r10w
mov word [rbp - 0x15], ax
mov eax, dword [rbp - 0x49]
add ax, 0x19
xor ax, di
mov word [rbp - 0x13], ax
mov eax, dword [rbp - 0x49]
add ax, 0x1a
xor ax, r10w
mov word [rbp - 0x11], ax
mov eax, dword [rbp - 0x49]
add ax, 0x1b
xor ax, dx
mov word [rbp - 0xf], ax
mov eax, dword [rbp - 0x49]
add ax, 0x1c
xor ax, 0x6d
mov word [rbp - 0xd], ax
mov eax, dword [rbp - 0x49]
add ax, 0x1d
xor ax, bx
mov word [rbp - 0xb], ax
mov eax, dword [rbp - 0x49]
add ax, 0x1e
xor ax, r11w
mov word [rbp - 9], ax
mov eax, dword [rbp - 0x49]
add ax, 0x1f
xor ax, dx
mov word [rbp - 7], ax
mov eax, dword [rbp - 0x49]
add ax, di
xor ax, di
mov word [rbp - 5], ax
mov eax, dword [rbp - 0x49]
add ax, 0x21
xor ax, 0x70
mov word [rbp - 3], ax
mov eax, dword [rbp - 0x49]
add ax, 0x22
xor ax, r10w
mov word [rbp - 1], ax
mov eax, dword [rbp - 0x49]
add ax, 0x23
xor ax, bx
mov word [rbp + 1], ax
mov eax, dword [rbp - 0x49]
add ax, 0x24
xor ax, 0x63
mov word [rbp + 3], ax
mov eax, dword [rbp - 0x49]
add ax, 0x25
xor ax, dx
mov word [rbp + 5], ax
mov eax, dword [rbp - 0x49]
add ax, 0x26
mov cx, 0x73
xor ax, cx
mov word [rbp + 7], ax
mov eax, dword [rbp - 0x49]
add ax, 0x27
xor ax, cx
mov word [rbp + 9], ax
mov eax, dword [rbp - 0x49]
add ax, 0x28
xor ax, di
mov word [rbp + 0xb], ax
mov eax, dword [rbp - 0x49]
add ax, 0x29
xor ax, 0x69
mov word [rbp + 0xd], ax
mov eax, dword [rbp - 0x49]
add ax, 0x2a
xor ax, cx
mov word [rbp + 0xf], ax
mov eax, dword [rbp - 0x49]
add ax, 0x2b
xor ax, di
mov word [rbp + 0x11], ax
mov eax, dword [rbp - 0x49]
add ax, 0x2c
xor ax, 0x57
mov word [rbp + 0x13], ax
mov eax, dword [rbp - 0x49]
add ax, 0x2d
xor ax, bx
mov word [rbp + 0x15], ax
mov eax, dword [rbp - 0x49]
add ax, 0x2e
xor ax, 0x77
mov word [rbp + 0x17], ax
mov eax, dword [rbp - 0x49]
add ax, 0x2f
xor ax, 0x36
mov word [rbp + 0x19], ax
mov eax, dword [rbp - 0x49]
add ax, 0x30
xor ax, 0x34
mov word [rbp + 0x1b], ax
mov eax, dword [rbp - 0x49]
add ax, 0x31
xor ax, di
mov word [rbp + 0x1d], ax
mov eax, dword [rbp - 0x49]
add ax, 0x32
xor ax, 0x70
mov word [rbp + 0x1f], ax
mov eax, dword [rbp - 0x49]
add ax, 0x33
xor ax, r10w
mov word [rbp + 0x21], ax
mov eax, dword [rbp - 0x49]
add ax, 0x34
xor ax, bx
mov word [rbp + 0x23], ax
mov eax, dword [rbp - 0x49]
add ax, 0x35
xor ax, 0x63
mov word [rbp + 0x25], ax
mov eax, dword [rbp - 0x49]
add ax, 0x36
xor ax, dx
mov word [rbp + 0x27], ax
mov eax, dword [rbp - 0x49]
add ax, 0x37
xor ax, cx
mov word [rbp + 0x29], ax
mov eax, dword [rbp - 0x49]
add ax, 0x38
xor ax, cx
mov word [rbp + 0x2b], ax
mov eax, dword [rbp - 0x49]
add ax, 0x39
xor ax, di
mov word [rbp + 0x2d], ax
mov eax, dword [rbp - 0x49]
add ax, 0x3a
xor ax, bx
mov word [rbp + 0x2f], ax
mov eax, dword [rbp - 0x49]
add ax, 0x3b
xor ax, r10w
mov word [rbp + 0x31], ax
mov eax, dword [rbp - 0x49]
add ax, 0x3c
xor ax, di
mov word [rbp + 0x33], ax
mov eax, dword [rbp - 0x49]
add ax, 0x3d
xor ax, 0x6e
mov word [rbp + 0x35], ax
mov eax, dword [rbp - 0x49]
add ax, 0x3e
xor ax, bx
mov word [rbp + 0x37], ax
mov eax, dword [rbp - 0x49]
add ax, 0x3f
xor ax, r11w
mov word [rbp + 0x39], ax
mov eax, dword [rbp - 0x49]
add ax, 0x40
xor ax, 0x2e
mov word [rbp + 0x3b], ax
mov eax, dword [rbp - 0x49]
add ax, 0x41
xor ax, di
mov word [rbp + 0x3d], ax
mov eax, dword [rbp - 0x49]
add ax, 0x42
xor ax, 0x45
mov word [rbp + 0x3f], ax
mov eax, dword [rbp - 0x49]
add ax, 0x43
xor ax, r10w
mov word [rbp + 0x41], ax
mov eax, dword [rbp - 0x49]
add ax, 0x44
xor ax, r10w
mov word [rbp + 0x43], ax
mov eax, dword [rbp - 0x49]
add ax, 0x45
xor ax, bx
mov word [rbp + 0x45], ax
mov eax, dword [rbp - 0x49]
add ax, 0x46
xor ax, r10w
mov word [rbp + 0x47], ax
mov eax, dword [rbp - 0x49]
add ax, 0x47
xor ax, 0x3a
mov word [rbp + 0x49], ax
mov eax, dword [rbp - 0x49]
add ax, 0x48
xor ax, di
mov word [rbp + 0x4b], ax
xor eax, eax
mov word [rbp + 0x4d], ax
movzx eax, word [rbp - 0x45]
mov edx, esi
movzx eax, word [rbp + rdx*2 - 0x45]
mov ecx, dword [rbp - 0x49]
add cx, dx
xor cx, ax
mov word [rbp + rdx*2 - 0x45], cx
add rdx, r8
cmp rdx, 0x49
jb 0x1401bb44f
mov word [rbp + 0x4d], si
mov edx, r9d
lea rcx, [rbp - 0x45]
call fcn.14015cbdc
nop
xor edx, edx
mov r8d, 0x94
lea rcx, [rbp - 0x45]
call qword [sym.imp.VCRUNTIME140.dll_memset]
xor al, al
jmp 0x1401bb497
mov eax, 1
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov rsp, r11
pop rbp
ret