Function at 0x14029e760
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x78
mov rax, qword [0x1404dd9c8]
xor rax, rsp
mov qword [rsp + 0x70], rax
mov r11, qword [0x1404c2648]
movsxd rax, dword [r11]
mov qword [rsp + 0x30], rax
mov al, 1
jmp 0x14029e7a7
mov r8d, dword [0x1403d4210]
test al, al
je 0x14029e7a0
mov r8d, dword [0x1403d4210]
test al, al
je 0x14029e7a0
mov dword [rsp + 0x28], r8d
mov rax, qword [rdx]
mov r8, qword [rdx + 0x10]
mov rdi, qword [r8]
mov esi, dword [r8 + 0x14]
movabs r8, 0x23d00000000
mov qword [rcx + 0x149c], r8
xor ebx, ebx
mov r13d, 0xffffffff
xor r9d, r9d
test esi, esi
jg 0x14029e800
jmp 0x14029e86d
mov word [rax + r9*4 + 2], 0
inc r9
cmp rsi, r9
je 0x14029e830
cmp word [rax + r9*4], 0
je 0x14029e7f0
movsxd r8, dword [rcx + 0x149c]
lea r10, [r8 + 1]
mov dword [rcx + 0x149c], r10d
mov dword [rcx + r8*4 + 0xbac], r9d
mov byte [rcx + r9 + 0x14a4], 0
mov r13d, r9d
jmp 0x14029e7f8
mov r9d, dword [rcx + 0x149c]
cmp r9d, 1
jle 0x14029e86d
mov dword [rdx + 8], r13d
mov edi, dword [rcx + 0x149c]
cmp edi, 2
jl 0x14029e9f3
shr rdi, 1
jmp 0x14029e8ff
mov r9d, dword [rcx + 0x149c]
cmp r9d, 2
jge 0x14029e83d
lea r8d, [r13 + 1]
cmp r13d, 2
cmovl r13d, r8d
cmovge r8d, ebx
lea r10d, [r9 + 1]
mov dword [rcx + 0x149c], r10d
movsxd r9, r9d
mov dword [rcx + r9*4 + 0xbac], r8d
movsxd r8, r8d
mov word [rax + r8*4], 1
mov byte [rcx + r8 + 0x14a4], 0
mov r9d, dword [rcx + 0x16fc]
mov r10d, r9d
not r10d
lea r9d, [r10 + r9*2]
mov dword [rcx + 0x16fc], r9d
test rdi, rdi
je 0x14029e860
movzx r8d, word [rdi + r8*4 + 2]
sub dword [rcx + 0x1700], r8d
jmp 0x14029e860
mov r15d, ebp
movsxd r8, r15d
mov dword [rcx + r8*4 + 0xba8], r9d
lea r8, [rdi - 1]
cmp rdi, 1
mov rdi, r8
jle 0x14029e9f3
mov r9d, dword [rcx + rdi*4 + 0xba8]
lea r14d, [rdi + rdi]
mov r8d, dword [rcx + 0x149c]
mov r15d, edi
cmp r14d, r8d
jg 0x14029e8e3
movsxd rbx, r9d
mov ebp, edi
jmp 0x14029e94e
movsxd r10, ebp
mov dword [rcx + r10*4 + 0xba8], r8d
lea r14d, [r15 + r15]
mov r8d, dword [rcx + 0x149c]
mov ebp, r15d
cmp r14d, r8d
jg 0x14029e8e3
cmp r14d, r8d
jge 0x14029e9b0
mov r8d, r14d
or r8d, 1
movsxd r10, r8d
movsxd r15, dword [rcx + r10*4 + 0xba8]
movsxd r10, r14d
movsxd r10, dword [rcx + r10*4 + 0xba8]
movzx r12d, word [rax + r10*4]
cmp word [rax + r15*4], r12w
jae 0x14029e990
mov r15d, r8d
jmp 0x14029e9b3
jne 0x14029e9b0
movzx r12d, byte [rcx + r15 + 0x14a4]
mov r15d, r14d
cmp r12b, byte [rcx + r10 + 0x14a4]
jbe 0x14029e97c
jmp 0x14029e9b3
mov r15d, r14d
movsxd r8, r15d
mov r8d, dword [rcx + r8*4 + 0xba8]
movsxd r10, r8d
movzx r14d, word [rax + r10*4]
cmp word [rax + rbx*4], r14w
jb 0x14029e8e0
jne 0x14029e930
movzx r14d, byte [rcx + rbx + 0x14a4]
cmp r14b, byte [rcx + r10 + 0x14a4]
ja 0x14029e930
jmp 0x14029e8e0
add qword [rsp + 0x30], r11
movsxd r11, esi
mov r8d, dword [rcx + 0x149c]
jmp 0x14029ea32
mov esi, r9d
movsxd r8, esi
mov dword [rcx + r8*4 + 0xba8], r11d
inc r11
mov r8d, dword [rcx + 0x149c]
cmp r8d, 1
jle 0x14029ecd2
mov edi, dword [rcx + 0xbac]
lea r12d, [r8 - 1]
mov dword [rcx + 0x149c], r12d
movsxd r8, r8d
mov ebx, dword [rcx + r8*4 + 0xba8]
mov dword [rcx + 0xbac], ebx
mov esi, 1
mov r14d, 1
cmp r8d, 3
jl 0x14029eb46
movsxd r9, ebx
mov ebp, 1
mov r15d, 2
jmp 0x14029eaa2
movsxd r10, ebp
mov dword [rcx + r10*4 + 0xba8], r8d
lea r15d, [r14 + r14]
mov r12d, dword [rcx + 0x149c]
mov ebp, r14d
cmp r15d, r12d
jg 0x14029eb46
cmp r15d, r12d
jge 0x14029eb00
mov r8d, r15d
or r8d, 1
movsxd r10, r8d
movsxd r14, dword [rcx + r10*4 + 0xba8]
movsxd r10, r15d
movsxd r10, dword [rcx + r10*4 + 0xba8]
movzx r12d, word [rax + r10*4]
cmp word [rax + r14*4], r12w
jae 0x14029eae0
mov r14d, r8d
jmp 0x14029eb03
jne 0x14029eb00
movzx r12d, byte [rcx + r14 + 0x14a4]
mov r14d, r15d
cmp r12b, byte [rcx + r10 + 0x14a4]
jbe 0x14029ead0
jmp 0x14029eb03
mov r14d, r15d
cmp byte [0x1404ee6c0], 0
jne 0x14029eb43
movsxd r8, r14d
mov r8d, dword [rcx + r8*4 + 0xba8]
movsxd r10, r8d
movzx r15d, word [rax + r10*4]
cmp word [rax + r9*4], r15w
jb 0x14029eb43
jne 0x14029ea80
movzx r15d, byte [rcx + r9 + 0x14a4]
cmp r15b, byte [rcx + r10 + 0x14a4]
ja 0x14029ea80
mov r14d, ebp
movsxd r9, edi
movsxd r8, r14d
mov dword [rcx + r8*4 + 0xba8], ebx
movsxd rdi, dword [rcx + 0xbac]
movsxd r8, dword [rcx + 0x14a0]
lea r10, [r8 - 1]
mov dword [rcx + 0x14a0], r10d
mov dword [rcx + r8*4 + 0xba4], r9d
movsxd r8, dword [rcx + 0x14a0]
lea r10, [r8 - 1]
mov dword [rcx + 0x14a0], r10d
mov dword [rcx + r8*4 + 0xba4], edi
movzx r8d, word [rax + rdi*4]
add r8w, word [rax + r9*4]
mov word [rax + r11*4], r8w
movzx r8d, byte [rcx + r9 + 0x14a4]
movzx r10d, byte [rcx + rdi + 0x14a4]
cmp r8b, r10b
cmova r10d, r8d
mov r8d, r10d
xor r8b, 1
and r10b, 1
add r10b, r10b
add r10b, r8b
mov byte [rcx + r11 + 0x14a4], r10b
mov word [rax + rdi*4 + 2], r11w
mov word [rax + r9*4 + 2], r11w
mov dword [rcx + 0xbac], r11d
mov r8d, dword [rcx + 0x149c]
cmp r8d, 2
jl 0x14029ea13
mov r9d, 1
mov edi, 2
jmp 0x14029ec31
movsxd r9, r9d
mov dword [rcx + r9*4 + 0xba8], r8d
lea edi, [rsi + rsi]
mov r8d, dword [rcx + 0x149c]
mov r9d, esi
cmp edi, r8d
jg 0x14029ea13
cmp edi, r8d
jge 0x14029ec90
mov r8d, edi
or r8d, 1
movsxd r10, r8d
movsxd rsi, dword [rcx + r10*4 + 0xba8]
movsxd r10, edi
movsxd r10, dword [rcx + r10*4 + 0xba8]
movzx ebx, word [rax + r10*4]
cmp word [rax + rsi*4], bx
jae 0x14029ec70
mov esi, r8d
jmp 0x14029ec92
jne 0x14029ec90
movzx ebx, byte [rcx + rsi + 0x14a4]
mov esi, edi
cmp bl, byte [rcx + r10 + 0x14a4]
jbe 0x14029ec5e
jmp 0x14029ec92
mov esi, edi
movsxd r8, esi
mov r8d, dword [rcx + r8*4 + 0xba8]
movsxd r10, r8d
movzx edi, word [rax + r10*4]
cmp word [rax + r11*4], di
jb 0x14029ea10
jne 0x14029ec10
movzx ebx, byte [rcx + r11 + 0x14a4]
cmp bl, byte [rcx + r10 + 0x14a4]
ja 0x14029ec10
jmp 0x14029ea10
mov r8d, dword [rcx + 0xbac]
movsxd r9, dword [rcx + 0x14a0]
lea r10, [r9 - 1]
mov dword [rcx + 0x14a0], r10d
mov dword [rcx + r9*4 + 0xba4], r8d
mov r11, qword [rdx]
mov esi, dword [rdx + 8]
mov rdx, qword [rdx + 0x10]
mov r9, qword [rdx]
mov r10, qword [rdx + 8]
mov edi, dword [rdx + 0x10]
movsxd rdx, dword [rdx + 0x18]
xorps xmm0, xmm0
movups xmmword [rcx + 0xb98], xmm0
movups xmmword [rcx + 0xb88], xmm0
movsxd r8, dword [rcx + 0x14a0]
movsxd r8, dword [rcx + r8*4 + 0xba8]
mov word [r11 + r8*4 + 2], 0
movsxd r12, dword [rcx + 0x14a0]
cmp r12, 0x23b
jg 0x14029f021
mov dword [rsp + 0x2c], edi
mov qword [rsp + 0x48], r10
mov qword [rsp + 0x40], r9
mov r8d, dword [0x1404c2640]
lea edi, [r8 + 1]
mov dword [0x1404c2640], edi
mov r9d, r8d
not r9d
xor r8d, edi
not edi
and edi, r9d
or edi, r8d
not edi
mov r8b, 1
nop dword [rax]
test r8b, r8b
je 0x14029ed80
test r8b, r8b
je 0x14029ed80
test edi, edi
mov qword [rsp + 0x38], r13
je 0x14029ed98
xor r15d, r15d
jmp 0x14029eda9
xor r8d, r8d
test r8b, r8b
jne 0x14029f27d
jmp 0x14029f275
xor r8d, r8d
test r8b, r8b
jne 0x14029edb9
mov r8b, 1
test r8b, r8b
jne 0x14029edc7
mov r8b, 1
nop dword [rax]
test r8b, r8b
je 0x14029edc0
jmp 0x14029edb1
lea r9d, [r12 + 1]
xor r10d, r10d
jmp 0x14029ee03
mov bpl, r14b
add r10d, ebp
inc r9d
mov rbx, qword [rsp + 0x30]
mov r8, rbx
inc r8
cmp ebx, 0x23b
mov r12, r8
je 0x14029eea0
mov qword [rsp + 0x30], r12
movsxd r13, dword [rcx + r12*4 + 0xbac]
movzx r8d, word [r11 + r13*4 + 2]
movzx r8d, word [r11 + r8*4 + 2]
xor ebp, ebp
mov ebx, edx
cmp edx, r8d
setle r14b
jle 0x14029ee2f
inc r8d
mov ebx, r8d
mov word [r11 + r13*4 + 2], bx
cmp r13d, esi
jg 0x14029ede0
movsxd r8, ebx
inc word [rcx + r8*2 + 0xb88]
xor r8d, r8d
cmp r13d, dword [rsp + 0x2c]
jl 0x14029ee64
mov r8d, r13d
sub r8d, dword [rsp + 0x2c]
movsxd r8, r8d
mov r12, qword [rsp + 0x48]
mov r8d, dword [r12 + r8*4]
movzx r12d, word [r11 + r13*4]
add ebx, r8d
imul ebx, r12d
add dword [rcx + 0x16fc], ebx
cmp qword [rsp + 0x40], 0
je 0x14029ede0
mov rbx, qword [rsp + 0x40]
movzx ebx, word [rbx + r13*4 + 2]
add r8d, ebx
imul r8d, r12d
add dword [rcx + 0x1700], r8d
jmp 0x14029ede0
test r10d, r10d
mov r13, qword [rsp + 0x38]
je 0x14029f021
mov bl, 1
xor ebp, ebp
jmp 0x14029eef2
dec r8d
mov word [rcx + r12*2 + 0xb88], r8w
movsxd r8, r14d
add word [rcx + r8*2 + 0xb88], 2
dec word [rcx + rdx*2 + 0xb88]
lea r8d, [r10 - 2]
cmp r10d, 2
mov r10d, r8d
jle 0x14029efa7
mov r12, rdx
jmp 0x14029ef0f
movzx r8d, word [rcx + r12*2 + 0xb88]
test r8w, r8w
jne 0x14029eec0
mov r14, r12
dec r12
nop word cs:[rax + rax]
test bl, bl
je 0x14029ef20
test bl, bl
je 0x14029ef20
movzx r8d, word [0x1403d4208]
cmp edi, 1
mov r13d, 0
sbb r13d, r13d
sub r8d, r15d
and r8d, r13d
nop word cs:[rax + rax]
test bpl, bpl
jne 0x14029ef62
test r8w, r8w
setne r13b
test bpl, bpl
je 0x14029ef70
test bl, bl
je 0x14029ef50
jmp 0x14029ef55
or r13b, byte [0x1404ee6c0]
test bpl, bpl
jne 0x14029ef97
nop dword [rax]
mov r8d, r13d
and r8b, 1
mov byte [0x1404ee6c0], r8b
test bpl, bpl
je 0x14029ef00
mov r8d, r13d
and r8b, 1
mov byte [0x1404ee6c0], r8b
jmp 0x14029ef80
test edx, edx
mov r13, qword [rsp + 0x38]
je 0x14029f021
lea r10, [rcx + 0xba4]
jmp 0x14029efc7
dec rdx
test edx, edx
je 0x14029f021
movzx edi, word [rcx + rdx*2 + 0xb88]
test edi, edi
jne 0x14029efe4
jmp 0x14029efc0
dec edi
je 0x14029efc0
movsxd r8, r9d
lea rbx, [r10 + r8*4]
nop dword [rax + rax]
movsxd r8, dword [rbx]
dec r9d
add rbx, 0xfffffffffffffffc
cmp r8d, esi
jg 0x14029eff0
movzx ebp, word [r11 + r8*4 + 2]
mov ebx, edx
sub ebx, ebp
je 0x14029efe0
movzx ebp, word [r11 + r8*4]
imul ebx, ebp
add dword [rcx + 0x16fc], ebx
mov word [r11 + r8*4 + 2], dx
jmp 0x14029efe0
movzx edx, word [rcx + 0xb88]
lea r8d, [rdx + rdx]
mov word [rsp + 0x52], r8w
movzx r8d, word [rcx + 0xb8a]
lea edx, [r8 + rdx*2]
lea r8d, [rdx + rdx]
mov word [rsp + 0x54], r8w
movzx r8d, word [rcx + 0xb8c]
lea edx, [r8 + rdx*2]
lea r8d, [rdx + rdx]
mov word [rsp + 0x56], r8w
movzx r8d, word [rcx + 0xb8e]
lea edx, [r8 + rdx*2]
lea r8d, [rdx + rdx]
mov word [rsp + 0x58], r8w
movzx r8d, word [rcx + 0xb90]
lea edx, [r8 + rdx*2]
lea r8d, [rdx + rdx]
mov word [rsp + 0x5a], r8w
movzx r8d, word [rcx + 0xb92]
lea edx, [r8 + rdx*2]
lea r8d, [rdx + rdx]
mov word [rsp + 0x5c], r8w
movzx r8d, word [rcx + 0xb94]
lea edx, [r8 + rdx*2]
lea r8d, [rdx + rdx]
mov word [rsp + 0x5e], r8w
movzx r8d, word [rcx + 0xb96]
lea edx, [r8 + rdx*2]
lea r8d, [rdx + rdx]
mov word [rsp + 0x60], r8w
movzx r8d, word [rcx + 0xb98]
lea edx, [r8 + rdx*2]
lea r8d, [rdx + rdx]
mov word [rsp + 0x62], r8w
movzx r8d, word [rcx + 0xb9a]
lea edx, [r8 + rdx*2]
lea r8d, [rdx + rdx]
mov word [rsp + 0x64], r8w
movzx r8d, word [rcx + 0xb9c]
lea edx, [r8 + rdx*2]
lea r8d, [rdx + rdx]
mov word [rsp + 0x66], r8w
movzx r8d, word [rcx + 0xb9e]
lea edx, [r8 + rdx*2]
lea r8d, [rdx + rdx]
mov word [rsp + 0x68], r8w
movzx r8d, word [rcx + 0xba0]
lea edx, [r8 + rdx*2]
add edx, edx
mov word [rsp + 0x6a], dx
add dx, word [rcx + 0xba2]
add edx, edx
mov word [rsp + 0x6c], dx
add dx, word [rcx + 0xba4]
add edx, edx
mov word [rsp + 0x6e], dx
test r13d, r13d
js 0x14029f256
inc r13d
xor ecx, ecx
jmp 0x14029f180
mov word [rax + rcx*4], si
inc rcx
cmp rcx, r13
je 0x14029f256
movzx esi, word [rax + rcx*4 + 2]
test esi, esi
je 0x14029f174
movzx edx, word [rsp + rsi*2 + 0x50]
lea r8d, [rdx + 1]
mov word [rsp + rsi*2 + 0x50], r8w
mov r9d, esi
and r9d, 3
xor r10d, r10d
cmp si, 4
jae 0x14029f1b0
jmp 0x14029f220
mov r11d, esi
not r11d
xor esi, 0xfffc
and r11d, 0xffff0003
or r11d, esi
inc r11d
xor r10d, r10d
nop dword [rax]
mov r8d, edx
and r8d, 1
or r8d, r10d
shl r8d, 2
mov r10d, edx
not r10d
mov esi, edx
xor esi, 2
and r10d, 0x7ffffffd
or r10d, esi
not r10d
mov esi, edx
shr esi, 2
and esi, 1
or esi, r8d
or esi, r10d
mov r8d, edx
shr r8d, 3
and r8d, 1
lea esi, [r8 + rsi*2]
shr edx, 4
lea r10d, [rsi + rsi]
add r11d, 4
jne 0x14029f1d0
test r9d, r9d
je 0x14029f170
nop dword [rax]
mov esi, edx
not esi
mov r8d, edx
xor r8d, 1
and esi, 0xfffffffe
or esi, r8d
not esi
or esi, r10d
shr edx, 1
lea r10d, [rsi + rsi]
dec r9d
jne 0x14029f230
jmp 0x14029f170
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.1403763e0
nop
add rsp, 0x78
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r8b, 1
test r8b, r8b
jne 0x14029f287
mov r8b, 1
test r8b, r8b
je 0x14029f280
jmp 0x14029f275
xor r13d, r13d
mov r15d, 0
cmp dword [rsp + 0x28], 0
jle 0x14029eda9
mov r9b, 1
xor r14d, r14d
xor ebp, ebp
jmp 0x14029f2c5
and ebp, ebx
or r15d, ebp
add r14d, 2
mov ebp, r15d
cmp r14d, r8d
jge 0x14029eda9
test r13b, r13b
jne 0x14029f320
nop word [rax + rax]
test r9b, r9b
je 0x14029f320
nop word cs:[rax + rax]
test r13b, r13b
jne 0x14029f2e0
movsxd r8, r14d
add r8, qword [rsp + 0x30]
movzx r10d, word [r8]
mov r15d, ebp
not r15d
nop word [rax + rax]
test r9b, r9b
je 0x14029f300
test r9b, r9b
je 0x14029f300
mov ebx, r10d
not ebx
and r15d, r10d
test r13b, r13b
mov r8d, dword [rsp + 0x28]
jne 0x14029f340
jmp 0x14029f330
test r9b, r9b
je 0x14029f320
jmp 0x14029f2d0
test r9b, r9b
jne 0x14029f2b0
nop dword [rax]
test r9b, r9b
je 0x14029f340
jmp 0x14029f330