Function at 0x18002a750
Capabilities:
Encode data using xor

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x70
mov rax, qword gs:[0x58]
mov edx, dword [0x1802848b4]
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x50], r14
mov r14, rcx
mov rsi, qword [rax + rdx*8]
mov ecx, 4
add rsi, rcx
mov qword [rsp + 0x48], r15
mov eax, dword [rsi]
cmp dword [0x18028aa10], eax
jle 0x18002a7c7
lea rcx, [0x18028aa10]
call fcn.180249e18
cmp dword [0x18028aa10], 0xffffffff
jne 0x18002a7c7
call fcn.180002cc0
lea rcx, [0x180269e90]
call fcn.18024a2cc
lea rcx, [0x18028aa10]
call fcn.180249db8
xor eax, eax
mov dword [rbp + 0x28], 0x4327e995
mov byte [rbp + 0x2c], al
movabs r15, 0xaaaaaaaaaaaaaaab
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x18]
nop word [rax + rax]
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x18]
movzx r8d, byte [rbp + rax + 0x29]
mov rax, r15
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x18]
shl dl, 3
sub cl, dl
mov edx, 0x4573489c
sar edx, cl
xor dl, r8b
mov byte [rbp + rax + 0x29], dl
mov rax, qword [rbp + 0x18]
inc rax
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x18]
cmp rax, 3
jb 0x18002a7f0
lea r8, [rbp + 0x29]
mov qword [rsp + 0x58], rdi
lea rdx, [rbp - 0x48]
mov byte [rbp + 0x2c], 0
lea rcx, [0x18028a930]
call fcn.180003fd0
mov rax, qword [rbp - 0x40]
cmp rax, qword [rbp - 0x48]
je 0x18002a896
mov qword [rbp + 0x20], 0
mov qword [rbp + 0x18], 0x10
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x20]
add rcx, rax
mov qword [rbp + 0x18], rcx
mov rcx, r14
mov r8, qword [rbp + 0x18]
mov rdx, qword [rbp - 0x48]
call fcn.18024af30
jmp 0x18002aa1a
mov dword [rbp + 0x20], 6
xor edi, edi
mov dword [rbp + 0x18], 0xa
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp + 0x20]
add ecx, eax
mov dword [rbp + 0x18], ecx
mov eax, dword [rbp + 0x18]
nop dword [rax]
nop dword [rax + rax]
mov dword [rbp + 0x20], 0x3e
mov dword [rbp + 0x18], 0xc1
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp + 0x20]
add ecx, eax
mov dword [rbp + 0x18], ecx
mov ebx, dword [rbp + 0x18]
inc ebx
call fcn.18000ab80
xor edx, edx
div ebx
mov eax, edx
xor edx, edx
div ebx
mov byte [rdi + r14], dl
inc edi
mov dword [rbp + 0x20], 6
mov dword [rbp + 0x18], 0xa
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp + 0x20]
add ecx, eax
mov dword [rbp + 0x18], ecx
mov eax, dword [rbp + 0x18]
cmp edi, eax
jb 0x18002a8c0
mov eax, dword [rsi]
cmp dword [0x18028aa10], eax
jle 0x18002a94f
lea rcx, [0x18028aa10]
call fcn.180249e18
cmp dword [0x18028aa10], 0xffffffff
jne 0x18002a94f
call fcn.180002cc0
lea rcx, [0x180269e90]
call fcn.18024a2cc
lea rcx, [0x18028aa10]
call fcn.180249db8
xor eax, eax
mov dword [rbp - 0x50], 0xb1c22317
mov byte [rbp - 0x4c], al
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x18]
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x18]
movzx r8d, byte [rbp + rax - 0x4f]
mov rax, r15
mul rcx
shr rdx, 4
movzx eax, dl
add al, al
add dl, al
mov rax, qword [rbp + 0x18]
shl dl, 3
sub cl, dl
mov edx, 0x2853f356
sar edx, cl
xor dl, r8b
mov byte [rbp + rax - 0x4f], dl
mov rax, qword [rbp + 0x18]
inc rax
mov qword [rbp + 0x18], rax
mov rax, qword [rbp + 0x18]
cmp rax, 3
jb 0x18002a970
mov r8, r14
mov byte [rbp - 0x4c], 0
lea rdx, [rbp - 0x4f]
lea rcx, [0x18028a930]
call fcn.180003d40
mov eax, dword [rsi]
cmp dword [0x18028aa10], eax
jle 0x18002aa0e
lea rcx, [0x18028aa10]
call fcn.180249e18
cmp dword [0x18028aa10], 0xffffffff
jne 0x18002aa0e
call fcn.180002cc0
lea rcx, [0x180269e90]
call fcn.18024a2cc
lea rcx, [0x18028aa10]
call fcn.180249db8
lea rcx, [0x18028a930]
call fcn.180003860
mov r15, qword [rsp + 0x48]
xor ebx, ebx
mov rsi, qword [rsp + 0x60]
mov byte [r14 + 0x10], 0
mov qword [rbp + 0x18], 1
mov qword [rbp + 0x20], 0xf
lea edi, [rbx + 0x37]
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x20]
add rcx, rax
mov qword [rbp + 0x18], rcx
xor edx, edx
mov rax, qword [rbp + 0x18]
mov dword [rbp + 0x18], 9
lea r8, [rbp + 0x10]
mov dword [rbp + 0x20], 7
mov ecx, dword [rbp + 0x18]
mov eax, dword [rbp + 0x20]
add ecx, eax
mov dword [rbp + 0x18], ecx
mov r9d, dword [rbp + 0x18]
movzx ecx, byte [rdx + r14]
nop dword [rax]
xor edx, edx
mov eax, ecx
div r9d
mov ecx, eax
cmp edx, 0xa
mov eax, 0x30
cmovge eax, edi
add al, dl
mov byte [r8], al
inc r8
test ecx, ecx
jg 0x18002aa80
lea rax, [rbp + 0x10]
mov byte [r8], 0
sub r8d, eax
mov r10d, 0
mov r11d, r8d
shr r11d, 1
je 0x18002aae8
lea r9, [rbp + 0x10]
nop dword [rax]
movzx edx, byte [r9]
lea rcx, [rbp + 0x10]
mov eax, r8d
lea r9, [r9 + 1]
sub eax, r10d
inc r10d
dec eax
add rcx, rax
movzx eax, byte [rcx]
mov byte [r9 - 1], al
mov byte [rcx], dl
cmp r10d, r11d
jb 0x18002aac0
xor ecx, ecx
cmp byte [r14 + 0x10], cl
je 0x18002aafa
inc ecx
cmp byte [rcx + r14 + 0x10], 0
jne 0x18002aaf0
mov eax, ecx
lea rdx, [rbp + 0x10]
add rax, 0x10
add rax, r14
sub rdx, rax
nop word [rax + rax]
movzx ecx, byte [rdx + rax]
mov byte [rax], cl
lea rax, [rax + 1]
test cl, cl
jne 0x18002ab10
mov qword [rbp + 0x18], 1
inc ebx
mov qword [rbp + 0x20], 0xf
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x20]
add rcx, rax
mov edx, ebx
mov qword [rbp + 0x18], rcx
mov rax, qword [rbp + 0x18]
cmp rdx, rax
jb 0x18002aa53
mov rcx, qword [rbp - 0x48]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov byte [r14 + 0x31], 1
mov r14, qword [rsp + 0x50]
test rcx, rcx
je 0x18002ab9d
mov rdx, qword [rbp - 0x38]
mov rax, rcx
sub rdx, rcx
cmp rdx, 0x1000
jb 0x18002ab93
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18002aba3
add rsp, 0x70
pop rbp
jmp fcn.180249cb8
add rsp, 0x70
pop rbp
ret
call fcn.1802514a4
int3