Function at 0x140253eb0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x108
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x80], 0xfffffffffffffffe
mov rsi, rcx
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x10], 0xf
mov byte [rbp - 0x28], 0
lea rax, [0x1403ca370]
mov qword [rbp - 0x30], rax
mov qword [rbp - 8], 0
mov qword [rbp + 0x18], 0
mov qword [rbp + 0x20], 0xf
mov byte [rbp + 8], 0
lea rax, [0x1403b9448]
mov qword [rbp], rax
mov qword [rbp - 0x40], 0
mov qword [rbp - 0x38], 0xf
mov byte [rbp - 0x50], 0
mov qword [rbp - 0x58], rax
cmp byte [rcx + 0x18], 0
je 0x140253f4c
add rsi, 0xd0
mov r13, rsi
jmp 0x140255077
mov rdi, r9
mov r15, r8
mov r12, rdx
lea r13, [rsi + 0xc8]
mov rax, qword [rsi + 0xc8]
test rax, rax
je 0x140253f75
cmp qword [rax + 0x20], 0x10
jb 0x140253fa3
mov rcx, qword [rax + 8]
jmp 0x140253fa7
mov ecx, 0x28
call fcn.14037638c
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0xf
mov byte [rax + 8], 0
lea rcx, [0x1403b9448]
mov qword [rax], rcx
mov qword [r13], rax
jmp 0x140253fb2
lea rcx, [rax + 8]
mov qword [rax + 0x18], 0
mov byte [rcx], 0
mov rdx, qword [rsi + 0x20]
cmp rdx, 0x3e8
je 0x140253fd5
cmp rdx, 0xfa0
je 0x140253fd5
cmp rdx, 0x7d0
jne 0x140254068
mov rax, qword [0x1404efbf0]
add rax, qword [rdi + 0x20]
cmp rax, 0x10
jb 0x140254003
mov rdi, qword [rdi + 8]
cmp qword [r15 + 0x20], 0x10
jae 0x14025400e
add r15, 8
cmp qword [r12 + 0x20], 0x10
jae 0x14025401a
add r12, 8
jmp 0x14025401f
add rdi, 8
cmp qword [r15 + 0x20], 0x10
jb 0x140253ff1
mov r15, qword [r15 + 8]
cmp qword [r12 + 0x20], 0x10
jb 0x140253ffd
mov r12, qword [r12 + 8]
lea rcx, [rbp - 0x30]
mov rdx, r12
mov r8, r15
mov r9, rdi
call fcn.14024ec10
xor r14d, r14d
mov rax, qword [rsi + 0x20]
cmp rax, 0x7cf
jg 0x140254050
lea rcx, [rbp - 0x58]
mov edx, 0xd803
call fcn.14024de70
jmp 0x1402540bd
cmp rax, 0xf9f
ja 0x1402540af
lea rcx, [rbp - 0x58]
mov edx, 0xd801
call fcn.14024de70
jmp 0x1402540bd
mov rcx, rbp
call fcn.14024de70
lea rbx, [rbp + 8]
test al, al
je 0x140254204
cmp qword [rdi + 0x20], 0x10
jb 0x140254302
mov rdi, qword [rdi + 8]
cmp qword [r15 + 0x20], 0x10
jae 0x140254311
add r15, 8
cmp qword [r12 + 0x20], 0x10
jae 0x140254321
add r12, 8
jmp 0x140254326
lea rcx, [rbp - 0x58]
mov edx, 0xd802
call fcn.14024de70
cmp qword [0x1404efca0], 0
je 0x1402540e9
mov rbx, qword [r13]
call fcn.14025b0a0
mov rcx, rax
call fcn.140258b50
mov r8, qword [rax + 0x18]
cmp qword [rax + 0x20], 0x10
jb 0x14025411c
mov rax, qword [rax + 8]
jmp 0x140254120
call fcn.140258ae0
test rax, rax
je 0x140254153
mov rbx, qword [r13]
call fcn.140258ae0
mov rcx, rax
call fcn.140258b50
mov r8, qword [rax + 0x18]
cmp qword [rax + 0x20], 0x10
jb 0x1402542a8
mov rax, qword [rax + 8]
jmp 0x1402542ac
add rax, 8
lea rdi, [rbx + 8]
mov rcx, qword [rbx + 0x18]
mov rdx, qword [rbx + 0x20]
mov r9, rdx
sub r9, rcx
cmp r9, r8
jae 0x1402542db
mov qword [rsp + 0x20], r8
mov rcx, rdi
mov rdx, r8
mov r9, rax
call fcn.1400729a0
jmp 0x140254937
lea rcx, [rbp + 0x78]
call fcn.140073e50
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x50]
call fcn.14025cd80
lea rcx, [rbp + 0x50]
lea rdx, [rbp + 0x28]
xor r8d, r8d
call fcn.140243d70
mov rdi, qword [rbp + 0x40]
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x1402541cf
mov rdx, qword [rbp + 0x30]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x1402541b7
mov rcx, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rcx
cmp rdx, 0x20
jae 0x1402551fe
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.140151170
mov rbx, qword [r13]
test rdi, rdi
je 0x140254350
lea rcx, [rbp + 0x50]
lea rdx, [rbp + 0x28]
xor r8d, r8d
call fcn.140243d70
mov r8, qword [rbp + 0x40]
cmp qword [rbp + 0x48], 0x10
jb 0x1402543db
mov r9, qword [rbp + 0x30]
jmp 0x1402543df
mov rcx, rbp
mov edx, 0xd800
call fcn.14024de70
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x70], 0xf
mov byte [rbp + 0x58], 0
lea rax, [0x1403b9448]
mov qword [rbp + 0x50], rax
mov edx, dword [rsi + 0x20]
lea rcx, [rbp + 0x50]
call fcn.14024e8e0
lea r14, [rbp + 0x58]
cmp qword [r12 + 0x18], 0
je 0x140254567
mov qword [rbp + 0x48], 0xf
mov qword [rbp + 0x40], 2
mov word [rbp + 0x30], 0x202c
mov byte [rbp + 0x32], 0
lea rax, [0x1403b9448]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x70]
mov rdx, rcx
sub rdx, rax
cmp rdx, 2
jae 0x140254475
lea r9, [rbp + 0x30]
mov qword [rsp + 0x20], 2
mov edx, 2
mov rcx, r14
call fcn.1400729a0
jmp 0x140254497
add rax, 8
lea rdi, [rbx + 8]
mov rcx, qword [rbx + 0x18]
mov rdx, qword [rbx + 0x20]
mov r9, rdx
sub r9, rcx
cmp r9, r8
jae 0x1402542db
mov qword [rsp + 0x20], r8
mov rcx, rdi
mov rdx, r8
mov r9, rax
call fcn.1400729a0
jmp 0x140254937
lea r15, [rcx + r8]
mov qword [rbx + 0x18], r15
cmp rdx, 0x10
jb 0x1402542ed
mov rdi, qword [rbx + 8]
add rcx, rdi
mov rdx, rax
call fcn.14039e2f0
mov byte [rdi + r15], 0
jmp 0x140254937
add rdi, 8
cmp qword [r15 + 0x20], 0x10
jb 0x140254096
mov r15, qword [r15 + 8]
cmp qword [r12 + 0x20], 0x10
jb 0x1402540a6
mov r12, qword [r12 + 8]
cmp qword [rbp + 0x20], 0x10
jb 0x140254331
mov rbx, qword [rbp + 8]
mov r14b, 1
mov qword [rsp + 0x20], rdi
lea rcx, [rbp - 0x30]
mov rdx, rbx
mov r8, r12
mov r9, r15
call fcn.14024ec10
jmp 0x140254034
lea rdi, [rbp + 0x30]
mov qword [rbp + 0x48], 0xf
mov qword [rbp + 0x40], 9
mov dword [rsp + 0x20], 0x20249e05
xor ecx, ecx
mov edx, 1
xor r8d, r8d
xor r9d, r9d
call fcn.140256380
movzx ecx, byte [rax + 8]
mov byte [rbp + 0x38], cl
mov rax, qword [rax]
mov qword [rbp + 0x30], rax
mov byte [rbp + 0x39], 0
lea rcx, [0x1403b9448]
mov qword [rbp + 0x28], rcx
cmp qword [rbp + 0x48], 0x10
lea rcx, [rbx + 8]
cmovae rdi, rax
mov rax, qword [rbx + 0x18]
mov rdx, qword [rbx + 0x20]
mov r8, rdx
sub r8, rax
cmp r8, 9
jae 0x140254862
mov qword [rsp + 0x20], 9
mov edx, 9
mov r9, rdi
call fcn.1400729a0
jmp 0x14025488a
lea r9, [rbp + 0x30]
lea rdi, [rbx + 8]
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x140254408
mov qword [rsp + 0x20], r8
mov rcx, rdi
mov rdx, r8
call fcn.1400729a0
jmp 0x14025442a
lea r15, [rcx + r8]
mov qword [rbx + 0x18], r15
cmp rax, 0x10
jb 0x14025441a
mov rdi, qword [rbx + 8]
add rcx, rdi
mov rdx, r9
call fcn.14039e2f0
mov byte [rdi + r15], 0
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x1402548dc
mov rdx, qword [rbp + 0x30]
mov rcx, rax
xor rcx, 1
mov r8d, eax
and r8d, 1
lea r9, [rcx + r8*2]
cmp r9, 0x1000
jb 0x1402548c4
mov rcx, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rcx
cmp rdx, 0x20
jb 0x1402548ba
call fcn.140356a3c
lea rdx, [rax + 2]
mov qword [rbp + 0x68], rdx
mov rdx, r14
cmp rcx, 0x10
jb 0x14025448a
mov rdx, qword [rbp + 0x58]
movzx ecx, word [rbp + 0x30]
mov word [rdx + rax], cx
mov byte [rdx + rax + 2], 0
mov r8, qword [r12 + 0x18]
cmp qword [r12 + 0x20], 0x10
jb 0x1402544ab
mov r12, qword [r12 + 8]
jmp 0x1402544af
add r12, 8
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp + 0x70]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x1402544d7
mov qword [rsp + 0x20], r8
mov rcx, r14
mov rdx, r8
mov r9, r12
call fcn.1400729a0
jmp 0x140254501
lea rbx, [rcx + r8]
mov qword [rbp + 0x68], rbx
cmp rax, 0x10
jb 0x1402544e9
mov r14, qword [rbp + 0x58]
add rcx, r14
mov rdx, r12
call fcn.14039e2f0
mov byte [r14 + rbx], 0
lea rbx, [rbp + 8]
lea r14, [rbp + 0x58]
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x140254567
mov rdx, qword [rbp + 0x30]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x14025454f
mov rcx, qword [rdx - 8]
mov r8, rdx
xor r8, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and r9, rdx
lea rdx, [r8 + r9*2]
sub rdx, rcx
cmp rdx, 0x20
jae 0x14025520d
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.140151170
cmp qword [r15 + 0x18], 0
je 0x1402546a4
mov qword [rbp + 0x48], 0xf
mov qword [rbp + 0x40], 2
mov word [rbp + 0x30], 0x202c
mov byte [rbp + 0x32], 0
lea rax, [0x1403b9448]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x70]
mov rdx, rcx
sub rdx, rax
cmp rdx, 2
jae 0x1402545c7
lea r9, [rbp + 0x30]
mov qword [rsp + 0x20], 2
mov edx, 2
mov rcx, r14
call fcn.1400729a0
jmp 0x1402545e9
lea rdx, [rax + 2]
mov qword [rbp + 0x68], rdx
mov rdx, r14
cmp rcx, 0x10
jb 0x1402545dc
mov rdx, qword [rbp + 0x58]
movzx ecx, word [rbp + 0x30]
mov word [rdx + rax], cx
mov byte [rdx + rax + 2], 0
mov r8, qword [r15 + 0x18]
cmp qword [r15 + 0x20], 0x10
jb 0x1402545fa
mov r15, qword [r15 + 8]
jmp 0x1402545fe
add r15, 8
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp + 0x70]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x140254626
mov qword [rsp + 0x20], r8
mov rcx, r14
mov rdx, r8
mov r9, r15
call fcn.1400729a0
jmp 0x140254652
lea rbx, [rcx + r8]
mov qword [rbp + 0x68], rbx
mov r12, r14
cmp rax, 0x10
jb 0x14025463b
mov r14, qword [rbp + 0x58]
add rcx, r14
mov rdx, r15
call fcn.14039e2f0
mov byte [r14 + rbx], 0
lea rbx, [rbp + 8]
mov r14, r12
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x1402546a4
mov rdx, qword [rbp + 0x30]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x14025468c
mov rcx, qword [rdx - 8]
sub rdx, rcx
add rdx, 0xfffffffffffffff8
cmp rdx, 0x20
jae 0x140255212
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.140151170
cmp qword [rdi + 0x18], 0
je 0x1402547e3
mov qword [rbp + 0x48], 0xf
mov qword [rbp + 0x40], 2
mov word [rbp + 0x30], 0x202c
mov byte [rbp + 0x32], 0
lea rax, [0x1403b9448]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x70]
mov rdx, rcx
sub rdx, rax
cmp rdx, 2
jae 0x140254704
lea r9, [rbp + 0x30]
mov qword [rsp + 0x20], 2
mov edx, 2
mov rcx, r14
call fcn.1400729a0
jmp 0x140254726
lea rdx, [rax + 2]
mov qword [rbp + 0x68], rdx
mov rdx, r14
cmp rcx, 0x10
jb 0x140254719
mov rdx, qword [rbp + 0x58]
movzx ecx, word [rbp + 0x30]
mov word [rdx + rax], cx
mov byte [rdx + rax + 2], 0
mov r8, qword [rdi + 0x18]
cmp qword [rdi + 0x20], 0x10
jb 0x140254737
mov rdi, qword [rdi + 8]
jmp 0x14025473b
add rdi, 8
mov rcx, qword [rbp + 0x68]
mov rax, qword [rbp + 0x70]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x140254763
mov qword [rsp + 0x20], r8
mov rcx, r14
mov rdx, r8
mov r9, rdi
call fcn.1400729a0
jmp 0x140254791
mov r15, rbx
lea rbx, [r8 + rcx]
mov qword [rbp + 0x68], rbx
mov r12, r14
cmp rax, 0x10
jb 0x14025477b
mov r14, qword [rbp + 0x58]
add rcx, r14
mov rdx, rdi
call fcn.14039e2f0
mov byte [r14 + rbx], 0
mov rbx, r15
mov r14, r12
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x1402547e3
mov rdx, qword [rbp + 0x30]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x1402547cb
mov rcx, qword [rdx - 8]
sub rdx, rcx
add rdx, 0xfffffffffffffff8
cmp rdx, 0x20
jae 0x140255217
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.140151170
cmp qword [rbp + 0x70], 0x10
jb 0x1402547ee
mov r14, qword [rbp + 0x58]
cmp qword [rbp + 0x20], 0x10
jb 0x1402547f9
mov rbx, qword [rbp + 8]
lea rcx, [rbp - 0x30]
mov rdx, rbx
mov r8, r14
call fcn.14024ec10
mov rax, qword [rbp + 0x70]
cmp rax, 0x10
jb 0x14025485a
mov rdx, qword [rbp + 0x58]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x140254842
mov rcx, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rcx
cmp rdx, 0x20
jae 0x140255208
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.140151170
mov r14b, 1
jmp 0x140254034
lea r8, [rax + 9]
mov qword [rbx + 0x18], r8
cmp rdx, 0x10
jb 0x140254874
mov rcx, qword [rbx + 8]
mov rdx, qword [rdi]
movzx r8d, byte [rdi + 8]
mov byte [rcx + rax + 8], r8b
mov qword [rcx + rax], rdx
mov byte [rcx + rax + 9], 0
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x1402548dc
mov rdx, qword [rbp + 0x30]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x1402548c4
mov rcx, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rcx
cmp rdx, 0x20
jae 0x14025521c
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.140151170
mov rax, qword [rbp + 0x70]
cmp rax, 0x10
jb 0x14025492e
mov rdx, qword [rbp + 0x58]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x140254916
mov rcx, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rcx
cmp rdx, 0x20
jae 0x140255203
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.140151170
lea rcx, [rbp + 0x78]
call fcn.14015c2f0
mov rdi, qword [rbp + 0xf0]
cmp qword [rdi + 0x18], 0
je 0x140254a99
mov r15, qword [r13]
lea r9, [rbp + 0x58]
mov qword [rbp + 0x70], 0xf
mov qword [rbp + 0x68], 2
mov word [rbp + 0x58], 0x202c
mov byte [rbp + 0x5a], 0
lea rax, [0x1403b9448]
mov qword [rbp + 0x50], rax
lea rbx, [r15 + 8]
mov rax, qword [r15 + 0x18]
mov rcx, qword [r15 + 0x20]
mov rdx, rcx
sub rdx, rax
cmp rdx, 2
jae 0x1402549a6
mov qword [rsp + 0x20], 2
mov edx, 2
mov rcx, rbx
call fcn.1400729a0
jmp 0x1402549c8
lea rdx, [rax + 2]
mov qword [r15 + 0x18], rdx
mov rdx, rbx
cmp rcx, 0x10
jb 0x1402549bb
mov rdx, qword [r15 + 8]
movzx ecx, word [r9]
mov word [rdx + rax], cx
mov byte [rdx + rax + 2], 0
mov r8, qword [rdi + 0x18]
cmp qword [rdi + 0x20], 0x10
jb 0x1402549d9
mov rdi, qword [rdi + 8]
jmp 0x1402549dd
add rdi, 8
mov rcx, qword [r15 + 0x18]
mov rax, qword [r15 + 0x20]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x140254a05
mov qword [rsp + 0x20], r8
mov rcx, rbx
mov rdx, r8
mov r9, rdi
call fcn.1400729a0
jmp 0x140254a33
mov rdx, rcx
xor rdx, r8
mov r9, rcx
and r9, r8
lea r12, [rdx + r9*2]
mov qword [r15 + 0x18], r12
cmp rax, 0x10
jb 0x140254a23
mov rbx, qword [r15 + 8]
add rcx, rbx
mov rdx, rdi
call fcn.14039e2f0
mov byte [rbx + r12], 0
mov rax, qword [rbp + 0x70]
cmp rax, 0x10
jb 0x140254a99
mov rdx, qword [rbp + 0x58]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x140254a81
mov rcx, qword [rdx - 8]
mov r8, rdx
xor r8, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and r9, rdx
lea rdx, [r8 + r9*2]
sub rdx, rcx
cmp rdx, 0x20
jae 0x1402551ef
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.140151170
mov r15, qword [r13]
lea rdi, [rbp + 0x58]
mov qword [rbp + 0x70], 0xf
mov qword [rbp + 0x68], 2
mov word [rbp + 0x58], 0x203a
mov byte [rbp + 0x5a], 0
lea rax, [0x1403b9448]
mov qword [rbp + 0x50], rax
lea rbx, [r15 + 8]
mov rax, qword [r15 + 0x18]
mov rcx, qword [r15 + 0x20]
mov rdx, rcx
sub rdx, rax
cmp rdx, 2
jae 0x140254af9
mov qword [rsp + 0x20], 2
mov edx, 2
mov rcx, rbx
mov r9, rdi
call fcn.1400729a0
jmp 0x140254b1a
lea rdx, [rax + 2]
mov qword [r15 + 0x18], rdx
mov rdx, rbx
cmp rcx, 0x10
jb 0x140254b0e
mov rdx, qword [r15 + 8]
movzx ecx, word [rdi]
mov word [rdx + rax], cx
mov byte [rdx + rax + 2], 0
mov r8, qword [rbp - 0x40]
cmp qword [rbp - 0x38], 0x10
jb 0x140254b2b
mov r9, qword [rbp - 0x50]
jmp 0x140254b2f
lea r9, [rbp - 0x50]
mov rcx, qword [r15 + 0x18]
mov rax, qword [r15 + 0x20]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x140254b54
mov qword [rsp + 0x20], r8
mov rcx, rbx
mov rdx, r8
call fcn.1400729a0
jmp 0x140254b76
lea r12, [rcx + r8]
mov qword [r15 + 0x18], r12
cmp rax, 0x10
jb 0x140254b66
mov rbx, qword [r15 + 8]
add rcx, rbx
mov rdx, r9
call fcn.14039e2f0
mov byte [rbx + r12], 0
mov rax, qword [rbp + 0x70]
cmp rax, 0x10
jb 0x140254bdc
mov rdx, qword [rbp + 0x58]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x140254bc4
mov rcx, qword [rdx - 8]
mov r8, rdx
xor r8, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and r9, rdx
lea rdx, [r8 + r9*2]
sub rdx, rcx
cmp rdx, 0x20
jae 0x1402551e0
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.140151170
test r14b, r14b
je 0x140254e55
mov rbx, qword [r13]
lea r9, [rbp + 0x58]
mov qword [rbp + 0x70], 0xf
mov qword [rbp + 0x68], 1
mov word [rbp + 0x58], 0x20
lea rax, [0x1403b9448]
mov qword [rbp + 0x50], rax
lea r14, [rbx + 8]
mov rax, qword [rbx + 0x18]
mov rdx, qword [rbx + 0x20]
cmp rdx, rax
jne 0x140254c37
mov qword [rsp + 0x20], 1
mov edx, 1
mov rcx, r14
call fcn.1400729a0
jmp 0x140254c5e
lea rcx, [rax + 1]
mov qword [rbx + 0x18], rcx
mov rcx, r14
cmp rdx, 0x10
jb 0x140254c4c
mov rcx, qword [rbx + 8]
movzx edx, byte [0x1404eed7c]
add dl, byte [r9]
mov byte [rcx + rax], dl
mov byte [rcx + rax + 1], 0
lea r15, [rbp + 0x30]
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x48], 0xf
mov byte [rbp + 0x30], 0
lea rcx, [0x1404efbc8]
mov edx, 0x8c5eed36
call fcn.1400856f0
mov r12, rax
cmp rax, 0xf
jbe 0x140254ca4
lea r9, [0x1404efbc8]
mov rcx, r15
mov rdx, r12
call fcn.140072260
jmp 0x140254cc0
mov qword [rbp + 0x40], r12
lea rdx, [0x1404efbc8]
mov rcx, r15
mov r8, r12
call fcn.14039e2f0
mov byte [rbp + r12 + 0x30], 0
lea rax, [0x1403b9448]
mov qword [rbp + 0x28], rax
mov r8, qword [rbp + 0x40]
cmp qword [rbp + 0x48], 0x10
jb 0x140254cda
mov r15, qword [rbp + 0x30]
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x140254d02
mov qword [rsp + 0x20], r8
mov rcx, r14
mov rdx, r8
mov r9, r15
call fcn.1400729a0
jmp 0x140254d24
lea r12, [rcx + r8]
mov qword [rbx + 0x18], r12
cmp rax, 0x10
jb 0x140254d14
mov r14, qword [rbx + 8]
add rcx, r14
mov rdx, r15
call fcn.14039e2f0
mov byte [r14 + r12], 0
mov edx, dword [rsi + 0x20]
mov rcx, rbx
call fcn.14024e8e0
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x140254d8f
mov rdx, qword [rbp + 0x30]
mov rcx, rax
xor rcx, 1
mov r8d, eax
and r8d, 1
lea r9, [rcx + r8*2]
cmp r9, 0x1000
jb 0x140254d77
mov rcx, qword [rdx - 8]
sub rdx, rcx
add rdx, 0xfffffffffffffff8
cmp rdx, 0x20
jae 0x1402551f4
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.140151170
mov r9, qword [0x1404b6af8]
movsxd r10, dword [r9]
mov edx, dword [0x1403ca078]
mov rax, qword [rbp + 0x70]
cmp rax, 0xf
jbe 0x140254e55
mov ecx, dword [0x1404b6af0]
lea r8d, [rcx + 1]
mov dword [0x1404b6af0], r8d
test ecx, r8d
jne 0x140254dd8
mov r11, r10
xor r11, r9
and r10, r9
lea r9, [r11 + r10*2]
test edx, edx
jg 0x1402551b6
xor r10d, r10d
mov rdx, qword [rbp + 0x58]
lea r9, [rax + 1]
cmp r9, 0xfff
jbe 0x140254e3d
mov r11, qword [rdx - 8]
sub rdx, r11
add rdx, 0xfffffffffffffff8
cmp rdx, 0x20
jae 0x1402551f9
movzx edx, byte [0x1403ca070]
test ecx, r8d
setne r8b
mov ecx, r8d
neg cl
dec r8b
sub dl, r10b
mov r9d, edx
not r9b
xor dl, r8b
and r9b, cl
or r9b, dl
not r9b
add byte [0x1404eed7c], r9b
add rax, 0x28
mov r9, rax
mov rdx, r11
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.140151170
mov rbx, qword [r13]
mov qword [rbp + 0x70], 0xf
mov qword [rbp + 0x68], 3
mov dword [rsp + 0x20], 0x957b39cc
xor ecx, ecx
mov edx, 1
mov r8d, 1
xor r9d, r9d
call fcn.140255ba0
movzx ecx, word [rax]
mov word [rbp + 0x58], cx
movzx eax, byte [rax + 2]
mov byte [rbp + 0x5a], al
mov byte [rbp + 0x5b], 0
lea rax, [0x1403b9448]
mov qword [rbp + 0x50], rax
cmp qword [rbp + 0x70], 0x10
jb 0x140254eae
mov rdi, qword [rbp + 0x58]
lea rsi, [rbx + 8]
mov rax, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x20]
mov rdx, rcx
sub rdx, rax
cmp rdx, 3
jae 0x140254ee1
mov qword [rsp + 0x20], 3
mov edx, 3
mov rcx, rsi
mov r9, rdi
call fcn.1400729a0
jmp 0x140254f0c
lea rdx, [rax + 3]
mov qword [rbx + 0x18], rdx
mov rdx, rsi
cmp rcx, 0x10
jb 0x140254ef6
mov rdx, qword [rbx + 8]
movzx ecx, word [rdi]
movzx r8d, byte [rdi + 2]
mov byte [rdx + rax + 2], r8b
mov word [rdx + rax], cx
mov byte [rdx + rax + 3], 0
mov r8, qword [rbp - 0x18]
cmp qword [rbp - 0x10], 0x10
jb 0x140254f1d
mov r9, qword [rbp - 0x28]
jmp 0x140254f21
lea r9, [rbp - 0x28]
mov rcx, qword [rbx + 0x18]
mov rax, qword [rbx + 0x20]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x140254f46
mov qword [rsp + 0x20], r8
mov rcx, rsi
mov rdx, r8
call fcn.1400729a0
jmp 0x140254f6b
lea rdi, [rcx + r8]
mov qword [rbx + 0x18], rdi
mov r14, rsi
cmp rax, 0x10
jb 0x140254f5b
mov r14, qword [rbx + 8]
add rcx, r14
mov rdx, r9
call fcn.14039e2f0
mov byte [r14 + rdi], 0
mov qword [rbp + 0x48], 0xf
mov qword [rbp + 0x40], 1
mov word [rbp + 0x30], 0x2e
lea rax, [0x1403b9448]
mov qword [rbp + 0x28], rax
mov rax, qword [rbx + 0x18]
mov rcx, qword [rbx + 0x20]
cmp rcx, rax
jne 0x140254fb5
lea r9, [rbp + 0x30]
mov qword [rsp + 0x20], 1
mov edx, 1
mov rcx, rsi
call fcn.1400729a0
jmp 0x140254fd3
lea rdx, [rax + 1]
mov qword [rbx + 0x18], rdx
cmp rcx, 0x10
jb 0x140254fc7
mov rsi, qword [rbx + 8]
movzx ecx, byte [rbp + 0x30]
mov byte [rsi + rax], cl
mov byte [rsi + rax + 1], 0
mov rax, qword [rbp + 0x48]
cmp rax, 0x10
jb 0x140255025
mov rdx, qword [rbp + 0x30]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x14025500d
mov rcx, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rcx
cmp rdx, 0x20
jae 0x1402551e5
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.140151170
mov rax, qword [rbp + 0x70]
cmp rax, 0x10
jb 0x140255077
mov rdx, qword [rbp + 0x58]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x14025505f
mov rcx, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rcx
cmp rdx, 0x20
jae 0x1402551ea
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.140151170
mov rsi, qword [r13]
mov rdi, qword [rsi + 8]
mov rbx, qword [rsi + 0x20]
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x1402550d5
mov rdx, qword [rbp - 0x50]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x1402550bd
mov rcx, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rcx
cmp rdx, 0x20
jae 0x1402551d1
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.140151170
mov rax, qword [rbp + 0x20]
cmp rax, 0x10
jb 0x140255127
mov rdx, qword [rbp + 8]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x14025510f
mov rcx, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rcx
cmp rdx, 0x20
jae 0x1402551d6
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.140151170
lea rax, [0x1403ca370]
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x140255145
mov edx, 0xbb6fb379
call fcn.140084c10
mov rax, qword [rbp - 0x10]
cmp rax, 0x10
jb 0x140255193
mov rdx, qword [rbp - 0x28]
lea r9, [rax + 1]
cmp r9, 0x1000
jb 0x14025517b
mov rcx, qword [rdx - 8]
add rdx, 0xfffffffffffffff8
sub rdx, rcx
cmp rdx, 0x20
jae 0x1402551db
add rax, 0x28
mov r9, rax
mov rdx, rcx
mov dword [rsp + 0x20], 0x40c0bd58
mov ecx, 1
mov r8d, 1
call fcn.140151170
add rsi, 8
cmp rbx, 0x10
cmovae rsi, rdi
mov rax, rsi
add rsp, 0x108
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xor r11d, r11d
xor r10d, r10d
nop dword [rax]
xor r10b, byte [r9 + r11]
inc r11
cmp r11d, edx
jl 0x1402551c0
jmp 0x140254ddb
call fcn.140356a3c
call fcn.140356a3c
call fcn.140356a3c
call fcn.140356a3c
call fcn.140356a3c
call fcn.140356a3c
call fcn.140356a3c
call fcn.140356a3c
call fcn.140356a3c
call fcn.140356a3c
call fcn.140356a3c
call fcn.140356a3c
call fcn.140356a3c
call fcn.140356a3c
call fcn.140356a3c
call fcn.140356a3c
int3