Function at 0x140002820
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x98
mov r11d, dword [0x140067ec0]
mov rsi, rcx
mov rbp, qword [rsp + 0x128]
inc r11d
mov r10, qword [0x140067ec8]
movzx edi, r8w
mov r15, qword [rsp + 0x138]
mov rbx, r9
movsxd r8, dword [0x140067e94]
mov r14d, 0xf9b
mov dword [0x140067ec0], r11d
movsxd rcx, dword [r9 - 4]
movzx r12d, word [rsi + 0x19bc]
movsxd rax, r11d
mov qword [rsp + 0x58], r8
movzx esi, word [r15 + rcx*2]
mov eax, dword [rdx + rax*4]
mov dword [rsp + 0xe8], eax
mov rax, qword [0x140067e50]
mov rax, qword [r10 + rax*8]
mov qword [rsp + 0x48], rax
movzx eax, word [r15 + 0x3ad8]
mov qword [rsp + 0x40], rax
movsxd rax, dword [r9]
movsxd r13, dword [rdx + rax*4]
mov eax, 0xffff
movzx edx, word [rbp + rcx*4]
add di, ax
mov rax, qword [0x140067e68]
mov ecx, 0x1eb4
mov qword [rsp + 0x70], r13
movsxd r10, dword [rax + 0xd14]
movzx eax, r11w
imul edx, eax
mov eax, 0x4e0
xor r12w, ax
mov qword [rsp + 0x68], r10
movzx eax, word [0x140067ed0]
inc ax
mov word [rsp + 0xf0], r12w
mov word [0x140067ed0], ax
movzx eax, ax
mov dword [rsp + 0x30], edx
movsxd rdx, dword [rbp + rax*4]
movzx eax, byte [0x140067e5c]
add al, 0xff
movzx ebp, r12w
mov byte [0x140067e5c], al
movzx eax, al
sub ecx, eax
mov dword [rsp + 0xf8], ebp
movsxd rax, ecx
movsxd rcx, dword [r9 - 4]
mov qword [rsp + 0x78], rax
mov rax, qword [0x140067eb8]
movsxd r9, dword [rax + rcx*4]
mov eax, dword [rbx]
add eax, 6
cdqe
movzx ecx, word [r13 + rax*2]
cmp ebp, ecx
ja 0x140002c7c
mov rax, r9
mov qword [rsp + 0x80], rdx
mov r8, rdx
movzx r9d, di
mov qword [rsp + 0x88], r9
lea rdx, [rax*8]
lea rax, [rax*4]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x48]
lea r13, [rax + rbp*4]
mov qword [rsp + 0x60], r13
nop dword [rax + rax]
mov rdx, qword [rsp + 0x58]
movzx eax, r12w
lea rdi, [rax*8]
movsxd rax, r11d
movzx ecx, word [rdi + r10]
mov edx, dword [rdx + rax*4]
xor edx, ecx
mov rcx, r9
add dword [r13], edx
mov rdx, r8
call fcn.140013140
mov rdx, qword [rsp + 0x50]
mov ecx, eax
mov rax, qword [0x140067eb8]
add qword [rsp + 0x38], 8
mov dword [rdx + rax], ecx
add rdx, 4
movzx ecx, word [0x140067ed0]
mov rax, qword [0x140067e88]
mov r9d, dword [0x140067e64]
mov qword [rsp + 0x50], rdx
mov r8d, dword [rax + rcx*4]
cmp r8d, r9d
jg 0x140002ad9
mov ecx, dword [rsp + 0x110]
mov eax, 0x891ac73b
movzx r11d, word [rsp + 0x30]
mov r15, qword [rsp + 0x40]
mov r12, qword [rsp + 0x120]
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
imul eax, edx, 0xef
sub ecx, eax
movsxd r10, ecx
nop word [rax + rax]
movsxd rcx, dword [0x140067ec0]
inc r8d
mov rax, qword [0x140067eb8]
lea rdx, [rax + rcx*4]
movsxd rax, dword [rbx]
add rbx, 4
mov ecx, dword [r12 + rax*4]
mov rax, r10
xor ecx, r9d
and dword [rdx], ecx
xor edx, edx
mov dword [0x140067e70], 0x803
div qword [rdi + 0x110c]
mov eax, ebp
mov qword [rdi + 0x110c], rdx
xor edx, edx
xor eax, dword [0x140067e70]
mov r9d, dword [0x140067e64]
add eax, r11d
cdqe
div r15
mov r15, rax
cmp r8d, r9d
jle 0x140002a60
mov r15, qword [rsp + 0x138]
movzx r12d, word [rsp + 0xf0]
mov qword [rsp + 0x40], rax
mov rdx, qword [0x140067e78]
mov rcx, qword [0x140067eb0]
inc rdx
mov qword [0x140067e78], rdx
movzx r10d, word [rcx + rdx*4]
movzx ecx, word [0x140067ec4]
cmp r10d, ecx
jae 0x140002ba2
mov r11, qword [rsp + 0x68]
mov r9d, r10d
add r9, qword [rsp + 0x118]
mov ebp, 0x1d7
mov r13, qword [rsp + 0x48]
mov r12, qword [rsp + 0x78]
nop word [rax + rax]
movsxd rdx, dword [rbx]
lea r9, [r9 + 1]
inc r10d
lea eax, [rdx + rdx]
mov edx, dword [r13 + rdx*4]
add edx, dword [0x140067e94]
movsxd rcx, eax
movzx eax, word [0x140067ed0]
lea r8, [r12 + rcx*4]
movzx ecx, word [r11 + rax*4]
movzx eax, si
sub ax, bp
or edx, ecx
sub edx, dword [r8]
or r14w, ax
mov dword [r8], edx
inc esi
dec dword [0x140067e94]
movsxd rax, dword [rbx]
movzx ecx, byte [r15 + rax*2]
xor byte [r9 - 1], cl
movzx eax, word [0x140067ec4]
cmp r10d, eax
jl 0x140002b30
mov ebp, dword [rsp + 0xf8]
movzx r12d, word [rsp + 0xf0]
mov r13, qword [rsp + 0x60]
mov rax, qword [0x140067e88]
inc r12w
mov r8, qword [rsp + 0x70]
movzx ecx, r12w
mov word [rsp + 0xf0], r12w
movzx edx, word [r8]
mov ecx, dword [rax + rcx*8]
mov rax, qword [rsp + 0x58]
cmp dword [rax + rdx*4], ecx
jge 0x140002be5
movsxd r11, dword [0x140067ec0]
movzx ecx, word [r15 + r11*2]
cmp dword [rsp + 0xe8], ecx
jl 0x140002c35
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0xe0]
movzx ecx, word [rcx + rax*4]
xor word [0x140067e90], cx
movzx eax, word [0x140067ed0]
lea rdx, [rbx + rax*4]
movsxd rax, dword [rbx]
movzx ecx, word [r8 + rax*2]
add dword [rdx], ecx
mov eax, dword [rsp + 0xe8]
sub eax, dword [0x140067ec0]
mov rcx, qword [rsp + 0x38]
add rcx, qword [0x140067eb8]
imul eax, ebp
and dword [rcx], eax
mov r11d, dword [0x140067ec0]
mov eax, dword [rbx]
inc ebp
mov r10, qword [rsp + 0x68]
add eax, 6
mov r9, qword [rsp + 0x88]
add r13, 4
cdqe
mov dword [rsp + 0xf8], ebp
mov qword [rsp + 0x60], r13
movzx ecx, word [r8 + rax*2]
mov r8, qword [rsp + 0x80]
cmp ebp, ecx
jle 0x1400029b0
mov r8d, dword [0x140067e94]
mov r13, qword [rsp + 0x70]
movzx ecx, word [0x140067ed0]
mov rax, qword [rsp + 0x108]
movsxd r9, esi
lea rdx, [rax + rcx*4]
mov eax, dword [rax + rcx*4]
imul eax, r8d
mov dword [rdx], eax
movsxd rax, dword [0x140067e58]
mov rdx, qword [rsp + 0x40]
mov rcx, qword [0x140067e78]
imul rcx, rax
mov qword [0x140067e78], rcx
mov eax, dword [rbx]
movsxd rcx, dword [rsp + 0x110]
add eax, 5
cdqe
movzx r10d, byte [rax + rcx]
mov rax, qword [rsp + 0x78]
xor r10, rcx
mov qword [rsp + 0x28], r10
movsxd rcx, dword [rax + rdx*4]
movsxd rax, dword [rsp + 0xe8]
mov qword [rsp + 0x20], rcx
mov ecx, 0x4b2
movzx r8d, word [r13 + rax*2]
add r8, rdx
movzx edx, r14w
call fcn.140005ab0
movsxd rax, dword [rbx]
mov rcx, qword [rsp + 0x128]
lea rcx, [rcx + rax*4]
mov rax, qword [rsp + 0x118]
movzx eax, byte [rax + 0x1efc]
cdq
idiv dword [0x140067e94]
cdq
idiv dword [rcx]
mov dword [rcx], eax
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 0x3fb0]
mov eax, 0xa9a5216d
imul ecx
add edx, ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
add rsp, 0x98
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret