Function at 0x140004bf0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rbx
mov rbp, rsp
sub rsp, 0x78
mov rax, qword [0x140032010]
xor rax, rsp
mov qword [rbp - 0x10], rax
xor edx, edx
mov cl, 0x6e
call fcn.140001b40
mov edx, 1
mov byte [rbp - 0x58], al
mov cl, 0x74
call fcn.140001b40
mov edx, 2
mov byte [rbp - 0x57], al
mov cl, 0x64
call fcn.140001b40
mov edx, 3
mov byte [rbp - 0x56], al
mov cl, 0x6c
call fcn.140001b40
mov edx, 4
mov byte [rbp - 0x55], al
call fcn.140001b40
mov edx, 5
mov byte [rbp - 0x54], al
mov cl, 0x2e
call fcn.140001b40
mov edx, 6
mov byte [rbp - 0x53], al
mov cl, 0x64
call fcn.140001b40
mov edx, 7
mov byte [rbp - 0x52], al
mov cl, 0x6c
call fcn.140001b40
mov edx, 8
mov byte [rbp - 0x51], al
call fcn.140001b40
mov byte [rbp - 0x50], al
xor eax, eax
xor ebx, ebx
mov byte [rbp - 0x4f], al
mov edx, ebx
movsxd rax, edx
lea rcx, [rbp - 0x58]
add rcx, rax
lea eax, [rdx - 0x16]
inc edx
xor byte [rcx], al
cmp edx, 9
jb 0x140004c91
lea rcx, [rbp - 0x58]
mov byte [rbp - 0x4f], bl
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov r8, rax
test rax, rax
je 0x14000509f
mov qword [rsp + 0x98], rdi
xor edx, edx
mov qword [rsp + 0xa0], r12
mov cl, 0x44
mov qword [rsp + 0x70], r15
call fcn.140001b40
mov edx, 1
mov byte [rbp - 0x30], al
mov cl, 0x62
call fcn.140001b40
mov edx, 2
mov byte [rbp - 0x2f], al
mov cl, 0x67
call fcn.140001b40
mov edx, 3
mov byte [rbp - 0x2e], al
mov cl, 0x55
call fcn.140001b40
mov edx, 4
mov byte [rbp - 0x2d], al
mov cl, 0x69
call fcn.140001b40
mov edx, 5
mov byte [rbp - 0x2c], al
mov cl, 0x52
movzx r15d, al
call fcn.140001b40
mov edx, 6
mov byte [rbp - 0x2b], al
mov cl, 0x65
call fcn.140001b40
mov edx, 7
mov byte [rbp - 0x2a], al
mov cl, 0x6d
call fcn.140001b40
mov edx, 8
mov byte [rbp - 0x29], al
mov cl, 0x6f
call fcn.140001b40
mov edx, 9
mov byte [rbp - 0x28], al
mov cl, 0x74
call fcn.140001b40
mov edx, 0xa
mov byte [rbp - 0x27], al
mov cl, 0x65
call fcn.140001b40
mov edx, 0xb
mov byte [rbp - 0x26], al
mov cl, 0x42
call fcn.140001b40
mov edx, 0xc
mov byte [rbp - 0x25], al
mov cl, 0x72
call fcn.140001b40
mov edx, 0xd
mov byte [rbp - 0x24], al
mov cl, 0x65
call fcn.140001b40
mov edx, 0xe
mov byte [rbp - 0x23], al
mov cl, 0x61
movzx r12d, al
call fcn.140001b40
mov edx, 0xf
mov byte [rbp - 0x22], al
mov cl, 0x6b
call fcn.140001b40
mov edx, 0x10
mov byte [rbp - 0x21], al
mov cl, 0x69
call fcn.140001b40
mov edx, 0x11
mov byte [rbp - 0x20], al
mov cl, 0x6e
call fcn.140001b40
mov byte [rbp - 0x1f], al
mov edx, ebx
xor eax, eax
mov byte [rbp - 0x1e], al
nop
movsxd rax, edx
lea rcx, [rbp - 0x30]
add rcx, rax
lea eax, [rdx - 0x16]
inc edx
xor byte [rcx], al
cmp edx, 0x12
jb 0x140004df0
lea rdx, [rbp - 0x30]
mov byte [rbp - 0x1e], bl
mov rcx, r8
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
je 0x14000508a
mov qword [rsp + 0x90], rsi
xor edx, edx
mov cl, 0x6b
mov qword [rsp + 0xa8], r14
call fcn.140001b40
mov edx, 1
mov byte [rbp - 0x58], al
mov cl, 0x65
call fcn.140001b40
mov edx, 2
mov byte [rbp - 0x57], al
mov cl, 0x72
movzx esi, al
call fcn.140001b40
mov edx, 3
mov byte [rbp - 0x56], al
mov cl, 0x6e
movzx r14d, al
call fcn.140001b40
mov edx, 4
mov byte [rbp - 0x55], al
mov cl, 0x65
call fcn.140001b40
mov edx, 5
mov byte [rbp - 0x54], al
mov cl, 0x6c
call fcn.140001b40
mov edx, 6
mov byte [rbp - 0x53], al
mov cl, 0x33
call fcn.140001b40
mov edx, 7
mov byte [rbp - 0x52], al
mov cl, 0x32
call fcn.140001b40
mov edx, 8
mov byte [rbp - 0x51], al
mov cl, 0x2e
call fcn.140001b40
mov edx, 9
mov byte [rbp - 0x50], al
mov cl, 0x64
call fcn.140001b40
mov edx, 0xa
mov byte [rbp - 0x4f], al
mov cl, 0x6c
call fcn.140001b40
mov edx, 0xb
mov byte [rbp - 0x4e], al
call fcn.140001b40
mov byte [rbp - 0x4d], al
mov edx, ebx
xor eax, eax
mov byte [rbp - 0x4c], al
nop
movsxd rax, edx
lea rcx, [rbp - 0x58]
add rcx, rax
lea eax, [rdx - 0x16]
inc edx
xor byte [rcx], al
cmp edx, 0xc
jb 0x140004ef0
lea rcx, [rbp - 0x58]
mov byte [rbp - 0x4c], bl
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov r8, rax
test rax, rax
je 0x14000507a
xor edx, edx
mov cl, 0x54
call fcn.140001b40
mov edx, 3
mov byte [rbp - 0x48], al
mov cl, 0x6d
mov byte [rbp - 0x47], sil
mov byte [rbp - 0x46], r14b
call fcn.140001b40
mov edx, 5
mov byte [rbp - 0x45], al
mov cl, 0x6e
mov byte [rbp - 0x44], r15b
call fcn.140001b40
mov edx, 6
mov byte [rbp - 0x43], al
mov cl, 0x61
call fcn.140001b40
mov edx, 7
mov byte [rbp - 0x42], al
mov cl, 0x74
call fcn.140001b40
mov edx, 8
mov byte [rbp - 0x41], al
mov cl, 0x65
call fcn.140001b40
mov edx, 9
mov byte [rbp - 0x40], al
mov cl, 0x50
call fcn.140001b40
mov edx, 0xa
mov byte [rbp - 0x3f], al
mov cl, 0x72
call fcn.140001b40
mov edx, 0xb
mov byte [rbp - 0x3e], al
mov cl, 0x6f
call fcn.140001b40
mov edx, 0xc
mov byte [rbp - 0x3d], al
mov cl, 0x63
call fcn.140001b40
mov edx, 0xe
mov byte [rbp - 0x3c], al
mov cl, 0x73
mov byte [rbp - 0x3b], r12b
call fcn.140001b40
mov edx, 0xf
mov byte [rbp - 0x3a], al
call fcn.140001b40
mov byte [rbp - 0x39], al
xor eax, eax
mov byte [rbp - 0x38], al
nop dword [rax]
nop word [rax + rax]
movsxd rax, ebx
lea rcx, [rbp - 0x48]
add rcx, rax
lea eax, [rbx - 0x16]
inc ebx
xor byte [rcx], al
cmp ebx, 0x10
jb 0x140004ff0
lea rdx, [rbp - 0x48]
mov byte [rbp - 0x38], 0
mov rcx, r8
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test rax, rax
je 0x14000507a
mov eax, 0x6a
mov byte [rbp - 0x56], 0x68
lea r9, [rbp - 0x18]
mov word [rbp - 0x58], ax
mov rcx, rdi
mov dword [rbp - 0x55], 0xffffffff
mov byte [rbp - 0x51], 0xb8
mov esi, 0xd0ff
lea edx, [rax - 0x5c]
lea r8d, [rax - 0x66]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x14000507a
movsd xmm0, qword [rbp - 0x58]
lea r9, [rbp - 0x18]
movsd qword [rdi], xmm0
mov edx, 0xe
mov dword [rdi + 8], ebx
mov rcx, rdi
mov word [rdi + 0xc], si
mov r8d, dword [rbp - 0x18]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r14, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x98]
mov r12, qword [rsp + 0xa0]
mov r15, qword [rsp + 0x70]
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140027490
add rsp, 0x78
pop rbx
pop rbp
ret