Function at 0x14045afd0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov ebx, r9d
mov rdi, r8
mov rsi, rdx
mov eax, r9d
and eax, 0x1f
cmp eax, 0xb
jae 0x14045b01c
cmp eax, 4
jbe case.default.0x14045b00a
add eax, 0xfffffffb
lea rdx, [0x14060e670]
movsxd rax, dword [rdx + rax*4]
add rax, rdx
jmp rax
mov rdx, rsi
call fcn.1404849c0
movzx eax, al
jmp 0x14045b5ae
cmp eax, 0x10
jae 0x14045b12b
cmp eax, 0xb
jne 0x14045b153
cmp qword [0x140792638], 0
je 0x14045b4e7
test ebx, 0x1000
jne 0x14045b58e
mov ecx, 0x9a752ae9
lea r8, [rcx + 1]
xor r10d, r10d
movabs r11, 0x8888888888888889
lea rax, [0x14060e650]
mov r14d, 0x9a752ae3
add r14, rax
lea r15, [0x140765d80]
jmp 0x14045b0b4
shr r9, 3
mov rax, r9
shl rax, 4
sub r9, rax
lea rax, [r14 + r9]
add rax, 7
movzx edx, byte [r10 + r15 + 1]
xor dl, byte [rax + r10]
xor dl, 0x93
mov byte [r10 + r15 + 1], dl
add r10, 2
add r8, 2
add rcx, 2
mov rax, r8
mul r11
mov r9, rdx
mov rax, rcx
mul r11
shr rdx, 3
mov rax, rdx
shl rax, 4
sub rdx, rax
add rdx, r14
movzx eax, byte [r10 + r15]
xor al, byte [r10 + rdx + 6]
xor al, 0x93
mov byte [r10 + r15], al
cmp r10, 0xe
jne 0x14045b080
mov al, 0xc7
xchg byte [0x140765d8f], al
test ebx, 0x800
jne 0x14045b2e8
jmp 0x14045b524
cmp eax, 1
jbe 0x14045b172
cmp eax, 2
je 0x14045b21a
cmp eax, 4
jne 0x14045b27b
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp 0x14047f460
cmp eax, 0x12
ja 0x14045b18d
cmp eax, 0x10
je 0x14045b22c
cmp eax, 0x12
jne 0x14045b28d
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp 0x14047f420
cmp eax, 0xd
jbe 0x14045b19f
cmp eax, 0xf
jne 0x14045b29a
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp 0x14047f540
test eax, eax
je 0x14045b209
mov rdx, rcx
mov rcx, rsi
call fcn.140483410
movzx eax, al
jmp 0x14045b5ae
cmp eax, 0x13
jne 0x14045b1b6
mov rcx, rdi
call fcn.140480d70
jmp 0x14045b329
jne 0x14045b2ab
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp 0x14047f500
cmp eax, 0x14
ja 0x14045b2bc
mov rdx, rcx
mov rcx, rsi
call fcn.14035d760
jmp 0x14045b329
mov rsi, rcx
mov rdx, rdi
call fcn.140295800
mov rax, rsi
jmp 0x14045b5ae
mov rdx, rcx
mov rcx, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp 0x140295630
mov rdx, rcx
mov rcx, rsi
call fcn.1405c50cc
jmp 0x14045b329
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp 0x14047f520
nop
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp 0x14047f560
mov ebx, 0x7ef0d2ca
mov rcx, rsi
mov rsi, rdi
mov edx, dword [0x140766758]
xor rdx, 0x7ce3913d
mov r8, rcx
mov r9d, 0x9c32ac55
call fcn.14045afd0
test rax, rax
je 0x14045b329
test bl, 0x40
je 0x14045b4f5
mov rcx, rax
mov rdx, rsi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp sub.KERNEL32.dll_GetProcAddress
nop
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp 0x14047f4e0
mov rcx, rdi
call fcn.140365bc0
jmp 0x14045b329
cmp qword [0x140792640], 0
je 0x14045b30e
xor ebp, ebp
jmp 0x14045b492
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp 0x14047f4a0
mov rcx, rdi
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rsi
mov rdx, rdi
call fcn.1405c502c
movzx eax, byte [0x140765d49]
cmp al, 0x54
jne 0x14045b309
movzx ecx, byte [0x140765d62]
mov bpl, 0x81
cmp cl, 0x81
je 0x14045b4a6
test ebx, 0x40000
je 0x14045b4dc
jmp 0x14045b35e
test bx, bx
js 0x14045b330
movzx eax, byte [0x140765d77]
cmp al, 0xa2
jne 0x14045b568
test ebx, 0x100
jne 0x14045b4dc
xor eax, eax
jmp 0x14045b5ae
mov cl, 0xc5
nop word cs:[rax + rax]
mov al, 0xcf
lock cmpxchg byte [0x140765d49], cl
je 0x14045b3a3
test ebx, 0x4000
je 0x14045b4f5
cmp al, 0x54
jne 0x14045b340
jmp 0x14045b2e8
mov dl, 0xe5
mov al, 0xb1
lock cmpxchg byte [0x140765d62], dl
mov ebp, ecx
je 0x14045b3ed
mov ebp, ecx
cmp al, 0x81
jne 0x14045b35e
jmp 0x14045b4a6
xor byte [0x140765d70], 0x6d
mov bpl, 0x34
test ebx, 0x400000
jne 0x14045b3ed
xor dword [0x140765d71], 0xb68a8b1e
xor byte [0x140765d75], 0x6d
xor byte [0x140765d76], 0x1e
test ebx, 0x80000
jne 0x14045b3b8
mov al, 0xa2
xchg byte [0x140765d77], al
jmp 0x14045b4dc
add byte [0x140765d40], 0xf7
test bl, 0x20
je 0x14045b57e
movq xmm0, qword [0x140765d41]
paddb xmm0, xmmword [0x14060e540]
movq qword [0x140765d41], xmm0
mov al, 0x54
xchg byte [0x140765d49], al
jmp 0x14045b0f2
lea r9, [0x14060e630]
lea r10, [r9 + 0x1c3ea240]
add r9, 0x1c3ea23f
mov ecx, 0x1c3ea240
mov r8d, 0x1c3ea23e
movabs r11, 0xe38e38e38e38e38f
lea r14, [0x140765d50]
nop
mov rax, rcx
mul r11
shr rdx, 3
and rdx, 0xfffffffffffffffe
lea r15, [rdx + rdx*8]
neg r15
mov rax, r8
mul r11
shr rdx, 3
and rdx, 0xfffffffffffffffe
lea rax, [rdx + rdx*8]
neg rax
movzx edx, byte [rcx + r14 - 0x1c3ea240]
xor dl, byte [r9 + rax]
movzx eax, byte [rcx + r14 - 0x1c3ea23f]
xor dl, 0xae
xor al, byte [r10 + r15]
mov byte [rcx + r14 - 0x1c3ea240], dl
xor al, 0xae
mov byte [rcx + r14 - 0x1c3ea23f], al
add r10, 2
add rcx, 2
add r9, 2
add r8, 2
cmp rcx, 0x1c3ea252
jne 0x14045b420
test ebx, 0x200000
je 0x14045b5a1
mov al, 0x81
xchg byte [0x140765d62], al
lea rdx, [0x140765d40]
lea r8, [0x140765d50]
mov r9d, 0x1c5bbdb0
call fcn.14045afd0
mov qword [0x140792638], rax
test ebx, 0x200
jne 0x14045b58e
cmp bpl, 0xa2
jne 0x14045b55c
movzx eax, byte [0x140765d8f]
cmp al, 0xc7
jne 0x14045b4f5
test ebx, 0x10000
jne 0x14045b2dd
jmp 0x14045b524
mov cl, 0x48
nop word [rax + rax]
mov al, 0xc
lock cmpxchg byte [0x140765d8f], cl
je 0x14045b048
test ebx, 0x2000
jne 0x14045b555
cmp al, 0xc7
jne 0x14045b500
test ebx, 0x20000
jne 0x14045b555
lea rdx, [0x140765d70]
lea r8, [0x140765d80]
mov r9d, 0xea347d0
call fcn.14045afd0
mov qword [0x140792640], rax
test ebx, 0x400
je 0x14045b5a1
xor eax, eax
xor ecx, ecx
jmp 0x14045b36e
xor ebp, ebp
jmp 0x14045b4a6
test ebx, 0x100000
jne 0x14045b3ed
mov cl, 0x9f
mov al, 0xe4
lock cmpxchg byte [0x140765d77], cl
jne 0x14045b580
test bl, bl
jns 0x14045b379
jmp 0x14045b5ae
mov ebp, eax
test ebx, 0x200
je 0x14045b4d2
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
jmp qword [0x140792638]
mov rcx, rsi
mov edx, edi
call qword [0x140792640]
mov eax, eax
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
sub rsp, 0x28
mov ecx, 0x4c4f636f
call fcn.14047f620
nop
add rsp, 0x28
ret
sub rsp, 0x28
mov ecx, 0x1276f630
call fcn.14047f620
nop
add rsp, 0x28
ret
sub rsp, 0x28
mov ecx, 0x9d2e74f2
call fcn.14047f620
nop
add rsp, 0x28
ret
sub rsp, 0x28
mov ecx, 0x480d32d
call fcn.14047f620
nop
add rsp, 0x28
ret
sub rsp, 0x28
mov ecx, 0x568f59f4
call fcn.14047f620
nop
add rsp, 0x28
ret
sub rsp, 0x28
mov ecx, 0xb4c28000
call fcn.14047f620
nop
add rsp, 0x28
ret