Function at 0x14010e6a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x300
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1a0], r9
mov qword [rbp + 0x178], r8
mov qword [rbp + 0x1a8], rdx
mov qword [rbp + 0x180], rcx
mov rax, qword [rbp + 0x2b0]
mov qword [rbp + 0x190], rax
mov eax, 0x10
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x188], rax
sub rsp, 0x20
call fcn.14010c6d1
mov rcx, qword [rbp + 0x190]
add rsp, 0x20
mov qword [rbp + 0x198], rax
movabs rdx, 0xdb0a3c3ca860d86b
movabs rax, 0xdb0a3c3ca860d84b
xor rdx, rax
sub rsp, 0x20
call fcn.14010c82f
add rsp, 0x20
mov ecx, 0x18
mov edx, 8
sub rsp, 0x20
call fcn.1400133d1
mov r9, qword [rbp + 0x1a0]
mov rdx, qword [rbp + 0x1a8]
add rsp, 0x20
mov qword [rbp + 0x1b0], rax
lea rcx, [0x1401dc120]
mov qword [rax], rcx
mov rcx, rax
add rcx, 0x10
mov qword [rbp + 0x1b8], rcx
mov qword [rax + 0x10], r9
xor eax, eax
test rdx, rdx
cmovg rax, rdx
mov qword [rbp + 0x1c0], rax
xor eax, eax
mov rcx, rax
mov qword [rbp + 0x1c8], rcx
mov rcx, rax
mov qword [rbp + 0x1d0], rcx
mov qword [rbp + 0x1d8], rax
mov rcx, qword [rbp + 0x1c0]
mov rax, qword [rbp + 0x1c8]
mov rdx, qword [rbp + 0x1d0]
mov r8, qword [rbp + 0x1d8]
mov qword [rbp + 0x160], r8
mov qword [rbp + 0x168], rdx
mov qword [rbp + 0x170], rax
cmp rax, rcx
je 0x14010e852
mov rdx, qword [rbp + 0x170]
mov rax, qword [rbp + 0x160]
mov rcx, qword [rbp + 0x168]
mov r8, qword [rbp + 0x180]
mov r8d, dword [r8 + rdx*4]
cmp r8d, 0
setne r9b
and r9b, 1
movzx r9d, r9b
add rcx, r9
cmp r8d, 0
cmovne rax, rdx
movabs r8, 0x2f6d72e427a6dc2
sub rdx, r8
add rdx, 1
movabs r8, 0x2f6d72e427a6dc2
add rdx, r8
mov qword [rbp + 0x1c8], rdx
mov qword [rbp + 0x1d0], rcx
mov qword [rbp + 0x1d8], rax
jmp 0x14010e7a5
mov eax, dword [0x1401dc2e8]
mov ecx, dword [0x1401dc2ec]
mov edx, 0x1e82970e
xor edx, 0x235081bc
xor ecx, edx
xor eax, ecx
and eax, 0x3e424721
mov ecx, 0x5baa0137
xor edx, edx
div ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xa4e001e6
mov edx, 0xe70e9bdf
xor edx, 0x43ee9a39
mov r8d, 0x20a36c08
xor r8d, 0xdf5c93f7
xor edx, r8d
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0xdf798080
ja 0x14010fb5b
mov rcx, qword [rbp + 0x188]
mov eax, dword [0x1401dc2f0]
or eax, dword [0x1401dc2f4]
mov r8d, 0x7e8e29d5
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x178]
mov r8d, eax
mov rax, qword [rbp + 0x160]
mov r9d, 0xca5433cb
xor r9d, 0xd25be24f
add r8d, r9d
mov r9d, 0xa732de4d
xor r9d, 0x1cb21a94
and r8d, r9d
mov dword [rbp + 0x14c], r8d
mov r8d, 0xad7eb03e
xor r8d, 0xa53e743b
mov dword [rbp + 0x148], r8d
mov r8, rax
sub r8, rdx
cmovg rdx, rax
add rdx, 1
mov qword [rbp + 0x130], rdx
sub rsp, 0x20
call fcn.140025b26
mov rax, qword [rbp + 0x188]
mov rdx, qword [rbp + 0x130]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x138], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x140], rax
lea rcx, [rbp + 0x240]
sub rsp, 0x20
call fcn.140026403
mov ecx, dword [rbp + 0x148]
mov eax, dword [rbp + 0x14c]
add rsp, 0x20
mov rdx, qword [rbp + 0x240]
mov qword [rbp + 0x150], rdx
mov rdx, qword [rbp + 0x248]
mov qword [rbp + 0x158], rdx
cmp eax, ecx
je 0x14010fb5b
mov rax, qword [rbp + 0x168]
xor ecx, ecx
mov qword [rbp + 0x128], rcx
test rax, rax
je 0x14010e9f0
jmp 0x14010e9cc
mov rax, qword [rbp + 0x128]
mov rcx, qword [rbp + 0x168]
sub rcx, 1
mov qword [rbp + 0x120], rax
je 0x14010ea08
jmp 0x14010eb40
mov rax, qword [rbp + 0x158]
mov byte [rax + 8], 1
mov cl, 0x54
xor cl, 0x55
mov byte [rax + 9], cl
jmp 0x14010f8bb
mov rcx, qword [rbp + 0x1c0]
mov rax, qword [rbp + 0x120]
mov qword [rbp + 0x118], rax
cmp rax, rcx
je 0x14010f8bb
mov rax, qword [rbp + 0x180]
mov rcx, qword [rbp + 0x118]
cmp dword [rax + rcx*4], 0
je 0x14010eb1a
mov rax, qword [rbp + 0x118]
mov rcx, qword [rbp + 0x158]
mov dl, 0x39
xor dl, 0x38
mov byte [rcx + rax + 8], dl
movabs rcx, 0xd42081187d7a0beb
movabs rdx, 0xd42081187d7a0beb
xor rcx, rdx
cmp rax, rcx
jne 0x14010eb0a
mov eax, dword [0x1401dc2f8]
mov ecx, dword [0x1401dc2fc]
xor ecx, 0x5a94f222
xor eax, ecx
mov ecx, 0x92032e25
xor edx, edx
div ecx
imul eax, eax, 0x8e525179
mov ecx, 0xca7eabab
xor ecx, 0xb0094c92
xor eax, ecx
mov ecx, 0xe8a43c1c
xor ecx, 0xf3351030
cmp eax, ecx
jbe 0x14010fb64
mov rdx, qword [rbp + 0x158]
mov eax, dword [0x1401dc300]
xor eax, 0x26a31f44
imul eax, dword [str.R_odQ]
imul eax, eax, 0x8701f12c
add eax, 0x25e30289
mov ecx, eax
and ecx, 0xb5a87c8e
shl ecx, 1
xor eax, 0xb5a87c8e
add eax, ecx
mov ecx, 0x4d0b25eb
xor ecx, 0x991aba15
mov byte [rdx + 9], 1
cmp eax, ecx
jbe 0x14010fb64
jmp 0x14010f8bb
mov rax, qword [rbp + 0x158]
mov byte [rax + 8], 1
jmp 0x14010f8bb
mov rax, qword [rbp + 0x118]
xor ecx, ecx
sub rcx, rax
xor eax, eax
sub rax, 1
add rcx, rax
xor eax, eax
sub rax, rcx
mov qword [rbp + 0x120], rax
jmp 0x14010ea08
mov ecx, dword [0x1401dc308]
xor ecx, 0xe3d5b07b
add ecx, dword [0x1401dc30c]
mov eax, 0x61935d55
xor eax, 0x9e6ca2aa
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0xf383e5df
mov eax, 0xf9d227d7
xor eax, 0xc7671cc8
mov r8d, 0x562419f3
xor r8d, 0xa9dbe60c
xor eax, r8d
or ecx, edx
or eax, 0x3eb53b1f
xor ecx, 0xffffffff
and ecx, eax
mov edx, 0xefff800d
xor edx, 0x9328bbc8
mov eax, ecx
and eax, edx
mov edx, 0xf62a81ca
xor edx, 0x9d57e35
xor eax, edx
and ecx, 0x7cd73bc5
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x8fcaaf84
xor edx, 0x8bda6c0d
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x410c389
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x25b4e02
xor r8d, 0x64b8d8b
mov edx, eax
and edx, r8d
or eax, 0x410c389
imul eax, edx
add eax, ecx
cmp eax, 0xb7eae76e
ja 0x14010fb6d
mov eax, dword [0x1401dc310]
mov edx, dword [0x1401dc314]
xor ecx, ecx
sub ecx, edx
sub eax, ecx
mov r8d, 0x5cbbf3a7
xor r8d, 0xb59eea9
mov ecx, 0x949da567
xor ecx, 0x6b625a98
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x57e21d0e
mov r8d, 0x6b62874c
xor r8d, 0x3c809a42
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x4fa931e5
xor ecx, 0xeb07e428
and eax, ecx
xor eax, 0x96dc355b
movabs rcx, 0xc8c69c9b88ce7063
movabs rdx, 0xc8c69c9b88ce7063
xor rcx, rdx
mov qword [rbp + 0x230], rcx
lea rcx, [rbp + 0x230]
add rcx, 8
mov qword [rbp + 0x110], rcx
mov qword [rbp + 0x238], 0
cmp eax, 0xcf062f31
je 0x14010fb6d
xor eax, eax
mov qword [rbp + 0x108], rax
jmp 0x14010ecc7
mov rax, qword [rbp + 0x108]
mov qword [rbp + 0x100], rax
mov eax, dword [0x1401dc318]
xor eax, 0x7fcccfb3
mov edx, dword [0x1401dc31c]
xor eax, 0xffffffff
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xb5a23ae3
or eax, edx
or ecx, 0xb5a23ae3
mov edx, 0xccbb81ed
xor edx, 0x33447e12
xor eax, edx
and eax, ecx
xor eax, 0xaab0bb07
mov ecx, eax
and ecx, 0x3f127509
xor ecx, 0xffffffff
add eax, 0x3f127509
mov edx, 0x8c26b8d0
xor edx, 0x8c26b8d1
add eax, edx
add eax, ecx
and eax, 0x5a3f053e
cmp eax, 0x1dd297d
jb 0x14010fb76
mov rcx, qword [rbp + 0x100]
mov rdx, qword [rbp + 0x1c0]
mov r8d, dword [0x1401dc320]
xor r8d, 0x223fad39
mov r9d, dword [0x1401dc324]
mov eax, r8d
xor eax, 0xffffffff
xor r8d, 0xffffffff
or eax, r8d
mov r8d, r9d
xor r8d, 0xffffffff
xor r9d, 0xffffffff
or r8d, r9d
mov r9d, 0x707e5a13
xor r9d, 0x8f81a5ec
xor eax, r9d
xor r8d, 0xffffffff
or eax, r8d
sub eax, 0xcd767008
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x9aad482
mov r9d, 0xffffffff
xor r9d, 0x9aad482
and eax, r9d
sub eax, r8d
sub eax, 0x97447c17
cmp rcx, rdx
sete cl
mov byte [rbp + 0xff], cl
cmp eax, 0x36a997a4
jbe 0x14010fb76
mov al, byte [rbp + 0xff]
test al, 1
jne 0x14010f02b
jmp 0x14010edec
mov eax, dword [0x1401dc328]
mov edx, dword [0x1401dc32c]
mov r8d, eax
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
mov r8d, 0x3be75f3e
xor r8d, 0xc418a0c1
xor edx, r8d
and eax, edx
or ecx, eax
mov eax, 0x6867e1a6
xor eax, 0x2d645424
sub ecx, eax
add ecx, 0xa93f6a43
mov eax, 0x7be850ee
xor eax, 0x3eebe56c
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0x4df30956
mov r8d, 0xffffffff
xor r8d, 0x4df30956
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, 0x4df30956
mov edx, 0x5886e3b6
xor edx, 0xa7791c49
xor ecx, edx
xor eax, 0xffffffff
mov edx, 0x33c1237f
xor edx, 0xcc3edc80
xor ecx, edx
and eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x2230f14
mov r8d, 0xffffffff
xor r8d, 0x2230f14
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x2230f14
mov r8d, 0xc7324865
xor r8d, 0xc5114771
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xcfc1061f
xor ecx, 0xf0cfbd3e
cmp eax, ecx
je 0x14010fb7f
mov r8, qword [rbp + 0x100]
mov eax, dword [0x1401dc330]
xor eax, dword [0x1401dc334]
mov ecx, 0xd8d3aeea
xor ecx, 0x494d8182
xor edx, edx
div ecx
mov ecx, 0xca9d3efc
xor ecx, 0x3562c103
mov edx, eax
xor edx, ecx
and edx, 0xa91fce68
mov r9d, 0xf68e143c
xor r9d, 0x5f91da54
mov ecx, 0x60ff52b4
xor ecx, 0x9f00ad4b
xor r9d, ecx
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, 0xa91fce68
or eax, 0xa91fce68
imul eax, edx
add eax, ecx
mov ecx, 0x4cf1aa42
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x180]
mov ecx, 0x626742ae
xor ecx, 0x365c15ff
mov edx, dword [rdx + r8*4]
mov dword [rbp + 0xf8], edx
cmp edx, 0
sete dl
mov byte [rbp + 0xfe], dl
cmp eax, ecx
ja 0x14010eeda
mov al, byte [rbp + 0xfe]
test al, 1
jne 0x14010effa
jmp 0x14010ef92
movabs rcx, 0x277df8b29b624bfd
movabs rax, 0x277df8b29b624bdd
xor rcx, rax
movabs rdx, 0x1255bffb25789118
movabs rax, 0x1255bffb25789110
xor rdx, rax
sub rsp, 0x20
call fcn.1400133d1
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0xf8]
mov qword [rdx], rcx
mov eax, eax
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x230]
sub rsp, 0x20
call fcn.140026430
add rsp, 0x20
mov rax, qword [rbp + 0x100]
movabs rcx, 0xab54f89535d19c15
add rax, rcx
add rax, 1
movabs rcx, 0xab54f89535d19c15
sub rax, rcx
mov qword [rbp + 0x108], rax
jmp 0x14010ecc7
lea rcx, [rbp + 0x220]
mov edx, 0x10
sub rsp, 0x20
call fcn.14010c82f
mov rdx, qword [rbp + 0x1b0]
add rsp, 0x20
mov rax, qword [rbp + 0x230]
mov qword [rbp + 0x210], rax
mov rax, qword [rbp + 0x238]
mov qword [rbp + 0x218], rax
lea rcx, [rbp + 0x210]
sub rsp, 0x20
call fcn.14010daf0
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x198]
mov byte [rbp + 0xf6], cl
mov cl, byte [rax]
mov dl, 0x4c
xor dl, 0x4c
mov al, 1
cmp cl, dl
mov byte [rbp + 0xf7], al
jne 0x14010f84b
mov al, byte [rbp + 0xf6]
test al, 1
jne 0x14010f0b4
jmp 0x14010f7d5
mov rax, qword [rbp + 0x110]
mov rcx, qword [rbp + 0x230]
mov rax, qword [rax]
mov qword [rbp + 0xd0], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0xd8], rax
xor eax, eax
mov rcx, rax
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rax
mov rcx, qword [rbp + 0xd8]
mov rdx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0xc0], rax
mov qword [rbp + 0xc8], rdx
cmp rax, rcx
je 0x14010f16e
mov rax, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0xd0]
mov rcx, qword [rcx + rax*8 + 8]
mov rcx, qword [rcx + 8]
mov r8, rdx
sub r8, rcx
cmovg rcx, rdx
mov rdx, 0xffffffffffffffff
xor rdx, 1
xor r8d, r8d
sub r8, 1
sub rdx, r8
sub rax, rdx
mov qword [rbp + 0xe0], rcx
mov qword [rbp + 0xe8], rax
jmp 0x14010f0ef
mov ecx, dword [0x1401dc338]
or ecx, dword [0x1401dc33c]
mov edx, 0xffffffff
xor edx, 0xc85231e3
mov eax, ecx
xor eax, edx
and eax, ecx
xor ecx, ecx
sub ecx, 0xa4650048
sub eax, ecx
mov ecx, 0xc332a394
xor edx, edx
div ecx
mov ecx, 0x84e22be8
xor ecx, 0x74e73cb8
cmp eax, ecx
jae 0x14010fb88
mov rdx, qword [rbp + 0xc8]
mov eax, dword [0x1401dc340]
mov ecx, dword [0x1401dc344]
sub eax, 0x3e65ae4e
sub eax, ecx
mov ecx, 0x973557bf
xor ecx, 0xa950f9f1
add eax, ecx
imul eax, eax, 0xdda97144
mov ecx, 0xb1134c00
xor ecx, 0x2a6de281
xor eax, ecx
or eax, 0xf3dfcde4
mov dword [rbp + 0x9c], eax
movabs rax, 0x1eba63bbb8ba77fd
movabs rcx, 0x1eba63bbb8ba77fc
xor rax, rcx
add rdx, rax
lea rcx, [rbp + 0x200]
sub rsp, 0x20
call fcn.140026f57
mov rcx, qword [rbp + 0x110]
mov eax, dword [rbp + 0x9c]
add rsp, 0x20
mov rdx, qword [rbp + 0x200]
mov qword [rbp + 0xa0], rdx
mov rdx, qword [rbp + 0x208]
mov qword [rbp + 0xa8], rdx
mov rdx, qword [rbp + 0x230]
mov rcx, qword [rcx]
mov qword [rbp + 0xb0], rcx
xor ecx, ecx
test rdx, rdx
cmovg rcx, rdx
mov qword [rbp + 0xb8], rcx
cmp eax, 0xc1d7ed06
je 0x14010fb88
xor eax, eax
mov qword [rbp + 0x90], rax
jmp 0x14010f287
mov rax, qword [rbp + 0xc8]
mov rdx, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0x90]
mov qword [rbp + 0x80], rcx
cmp rcx, rdx
mov qword [rbp + 0x88], rax
je 0x14010f4ec
mov rcx, qword [rbp + 0x80]
mov rax, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xb0]
mov rdx, qword [rdx + rcx*8 + 8]
mov rdx, qword [rdx + 8]
mov r8, qword [rax + rdx*8 + 8]
movabs r9, 0xa1cc32f21d339f92
movabs r10, 0xa1cc32f21d339f92
xor r9, r10
sub r9, r8
movabs r8, 0x94d85adf7650c7f9
movabs r10, 0x94d85adf7650c7f9
xor r8, r10
movabs r10, 0xa1d449518615ec02
movabs r11, 0xa1d449518615ec03
xor r10, r11
sub r8, r10
add r9, r8
xor r8d, r8d
sub r8, r9
mov qword [rax + rdx*8 + 8], r8
movabs rdx, 0x1f05cab81afd48de
movabs rax, 0x1f05cab81afd48df
xor rdx, rax
mov rax, rcx
and rax, rdx
or rcx, 1
add rax, rcx
mov qword [rbp + 0x90], rax
jmp 0x14010f287
mov eax, dword [0x1401dc348]
xor edx, edx
div dword [0x1401dc34c]
mov ecx, eax
mov eax, 0x88de982d
xor eax, 0x5487531f
xor ecx, eax
mov eax, ecx
and eax, 0xe6d52fbb
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xe6d52fbb
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x8ff6a2ce
xor ecx, 0x80d9f2ac
xor eax, ecx
cmp eax, 0x3095136e
jbe 0x14010fb91
mov rcx, qword [rbp + 0x1b8]
mov rdx, qword [rbp + 0x70]
mov r8d, dword [0x1401dc350]
mov r9d, dword [0x1401dc354]
mov eax, r8d
or eax, r9d
mov r10d, 0x9b4d8c9b
xor r10d, 0x64b27364
xor eax, r10d
xor r8d, 0xffffffff
xor r9d, 0xffffffff
and r8d, r9d
or eax, r8d
mov r8d, 0x3746557a
xor r8d, 0xc8b9aa85
xor eax, r8d
mov r8d, 0xe0545ec9
xor r8d, 0xdaeb3b9a
add eax, r8d
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0x8a906e6e
mov r9d, 0xffffffff
xor r9d, 0x8a906e6e
and eax, r9d
sub eax, r8d
mov r10d, 0xffffffff
xor r10d, 0x108f2f7f
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
mov r10d, 0x471f4b7
xor r10d, 0xfb8e0b48
xor r8d, r10d
imul r8d, r9d
mov r10d, 0x2aa84a23
xor r10d, 0x3a27655c
mov r9d, eax
and r9d, r10d
or eax, 0x108f2f7f
imul eax, r9d
add eax, r8d
cmp qword [rcx], rdx
setl cl
mov byte [rbp + 0x7f], cl
cmp eax, 0x43d1e09a
je 0x14010fb91
mov al, byte [rbp + 0x7f]
test al, 1
jne 0x14010f4a0
jmp 0x14010f622
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x50]
mov rcx, qword [rcx]
mov qword [rbp + 0x60], rcx
cmp rcx, 0
mov qword [rbp + 0x68], rax
jne 0x14010f552
mov rcx, qword [rbp + 0x70]
movabs rdx, 0xbb1eb36da0d5f191
movabs rax, 0x44e14c925f2a0e6e
xor rdx, rax
mov rax, rcx
and rax, rdx
or rcx, 0xffffffffffffffff
add rax, rcx
mov qword [rbp + 0x88], rax
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x88]
mov qword [rbp + 0x70], rcx
mov rdx, rax
add rdx, 8
mov r8, rcx
shl r8, 3
add rdx, r8
mov qword [rbp + 0x50], rdx
mov rdx, rcx
and rdx, 0xfffffffffffffffe
shl rdx, 1
mov r8, rcx
xor r8, 0xfffffffffffffffe
add r8, rdx
mov qword [rbp + 0x58], r8
mov rdx, r8
sar rdx, 0x3f
and rdx, r8
mov qword [rbp + 0x40], rdx
add rcx, 0xffffffffffffffff
add rax, 8
shl rcx, 3
add rax, rcx
mov qword [rbp + 0x48], rax
jmp 0x14010f35f
mov rax, qword [rbp + 0x40]
mov rcx, qword [rbp + 0x68]
mov qword [rbp + 0x30], rcx
cmp rcx, 0
mov qword [rbp + 0x38], rax
jle 0x14010f5d2
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp + 0xa8]
mov rdx, qword [rcx + rax*8 + 8]
movabs r8, 0x5ce83210f6e70c80
movabs rcx, 0xe16339f0097a993
xor r8, rcx
mov rcx, rax
sub rcx, r8
movabs r8, 0x675cc5c7543bf453
movabs r9, 0x98a33a38abc40bac
xor r8, r9
add rcx, r8
movabs r8, 0x52fe018ff670a513
add rcx, r8
cmp rdx, 0
mov qword [rbp + 0x68], rcx
mov qword [rbp + 0x38], rax
je 0x14010f552
mov rax, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0x48]
mov r8, qword [rbp + 0x50]
mov r9, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x38]
add r9, 0xfffffffffffffffe
mov qword [r8], r9
mov r8, qword [rdx]
inc r8
mov qword [rdx], r8
movups xmm0, xmmword [rax + rcx*8 + 8]
movaps xmm2, xmmword [0x1401ea6a0]
movaps xmm1, xmm0
paddq xmm1, xmm2
movaps xmm1, xmmword [0x1401ea6b0]
paddq xmm0, xmm1
movdqu xmmword [rax + rcx*8 + 8], xmm0
jmp 0x14010f35f
mov r8, qword [rbp + 0x230]
movabs rax, 0x85c645ed291a046b
sub r8, rax
movabs rax, 0x66bfce273fae0dff
movabs rcx, 0x994031d8c051f200
xor rax, rcx
add r8, rax
movabs rax, 0x85c645ed291a046b
add r8, rax
lea rcx, [rbp + 0x230]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.14010dfd0
mov rax, qword [rbp + 0x198]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x1b
xor cl, 0x1b
cmp al, cl
jne 0x14010f78d
mov rax, qword [rbp + 0x110]
mov rcx, qword [rbp + 0x230]
mov rax, qword [rax]
mov qword [rbp + 0x10], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x18], rax
mov ecx, 1
xor eax, eax
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rax
mov rdx, qword [rbp + 0x18]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x28]
mov qword [rbp], rcx
cmp rcx, rdx
mov qword [rbp + 8], rax
je 0x14010f78d
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0xa8]
mov qword [rbp - 8], rax
mov rcx, qword [rcx + rax*8 + 8]
add rax, 1
cmp rcx, 0
mov qword [rbp + 8], rax
je 0x14010f6d9
mov rcx, qword [rbp - 8]
mov rax, qword [rbp]
mov rdx, qword [rbp + 0xa8]
mov r8, qword [rbp + 0x10]
mov r8, qword [r8 + rax*8 + 8]
mov qword [r8 + 8], rcx
mov r8, qword [rdx + rcx*8 + 8]
movabs r9, 0x4efd9e3ca1e2623a
movabs r10, 0xb10261c35e1d9dc5
xor r9, r10
add r8, r9
mov qword [rdx + rcx*8 + 8], r8
movabs rdx, 0x53ead75dc049e1e3
movabs r8, 0x99d35f00c8e0bc87
xor rdx, r8
add rax, rdx
movabs rdx, 0x8fce17c85ade4cda
movabs r8, 0x8fce17c85ade4cdb
xor rdx, r8
add rax, rdx
movabs rdx, 0xca39885d08a95d64
sub rax, rdx
mov qword [rbp + 0x20], rcx
mov qword [rbp + 0x28], rax
jmp 0x14010f6bc
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0xa0]
mov qword [rbp + 0x1f0], rcx
mov qword [rbp + 0x1f8], rax
lea rcx, [rbp + 0x1f0]
sub rsp, 0x20
call fcn.14005e6f4
mov rcx, qword [rbp + 0x198]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xf7], al
jne 0x14010f84b
mov rcx, qword [rbp + 0x230]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x18], rax
xor eax, eax
mov qword [rbp - 0x10], rax
mov rcx, qword [rbp - 0x18]
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x20], rax
cmp rax, rcx
je 0x14010f83c
mov rax, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x158]
mov rdx, qword [rbp + 0x110]
mov rdx, qword [rdx]
mov rdx, qword [rdx + rax*8 + 8]
mov r8, qword [rdx + 8]
mov rdx, qword [rdx]
mov byte [rcx + rdx + 8], r8b
xor ecx, ecx
sub rcx, 1
sub rax, rcx
mov qword [rbp - 0x10], rax
jmp 0x14010f7ef
mov rax, qword [rbp + 0x198]
mov al, byte [rax]
mov byte [rbp + 0xf7], al
mov rax, qword [rbp + 0x198]
mov cl, byte [rbp + 0xf7]
mov byte [rbp - 0x21], cl
mov cl, 0x97
xor cl, 0x97
mov byte [rax], cl
mov rax, qword [rbp + 0x230]
mov qword [rbp + 0x1e0], rax
mov rax, qword [rbp + 0x238]
mov qword [rbp + 0x1e8], rax
lea rcx, [rbp + 0x1e0]
sub rsp, 0x20
call fcn.14010b980
mov rax, qword [rbp + 0x198]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14010f8b6
mov al, byte [rbp - 0x21]
mov rcx, qword [rbp + 0x198]
mov byte [rcx], al
cmp al, 0
je 0x14010f8bb
jmp 0x14010fb41
movabs rdx, 0x53a7210207aa9888
movabs rax, 0x53a7210207aa9898
xor rdx, rax
lea rcx, [rbp + 0x270]
sub rsp, 0x20
call fcn.14010c82f
mov rcx, qword [rbp + 0x150]
add rsp, 0x20
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x38], rax
xor eax, eax
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp - 0x38]
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x40], rax
cmp rax, rcx
je 0x14010f980
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp + 0x158]
movzx ecx, byte [rcx + rax + 8]
mov dl, byte [rbp + rcx + 0x270]
add dl, 1
mov byte [rbp + rcx + 0x270], dl
movabs rcx, 0xc1ad7c4e1cff9fc0
movabs rdx, 0xb7639ff33e6a3456
xor rcx, rdx
add rax, rcx
movabs rcx, 0x4a1ba57c1d58c308
movabs rdx, 0x4a1ba57c1d58c309
xor rcx, rdx
add rax, rcx
movabs rcx, 0x76cee3bd2295ab96
sub rax, rcx
mov qword [rbp - 0x30], rax
jmp 0x14010f900
mov byte [rbp + 0x270], 0
lea rcx, [rbp + 0x250]
mov edx, 0x20
sub rsp, 0x20
call fcn.14010c82f
add rsp, 0x20
mov eax, 1
mov qword [rbp - 0x48], rax
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x50], rax
movabs rcx, 0x163de5b53f558c0d
movabs rdx, 0x163de5b53f558c1d
xor rcx, rdx
cmp rax, rcx
jne 0x14010f9f0
mov rcx, qword [rbp + 0x138]
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp - 0x60], rax
xor eax, eax
mov qword [rbp - 0x58], rax
jmp 0x14010fa3b
mov rax, qword [rbp - 0x50]
mov cx, word [rbp + rax*2 + 0x24e]
movzx edx, byte [rbp + rax + 0x26f]
mov r8w, dx
xor edx, edx
sub dx, cx
mov cx, 0x6738
xor cx, 0x6738
sub cx, r8w
add dx, cx
xor ecx, ecx
sub cx, dx
shl cx, 1
mov word [rbp + rax*2 + 0x250], cx
add rax, 1
mov qword [rbp - 0x48], rax
jmp 0x14010f9a9
mov rcx, qword [rbp - 0x60]
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x68], rax
cmp rax, rcx
je 0x14010fb0f
mov rax, qword [rbp + 0x158]
mov rcx, qword [rbp - 0x68]
mov rdx, rax
add rdx, 8
add rdx, rcx
mov qword [rbp - 0x78], rdx
mov al, byte [rax + rcx + 8]
mov byte [rbp - 0x69], al
cmp al, 0
je 0x14010faf9
mov al, byte [rbp - 0x69]
movzx eax, al
mov cx, word [rbp + rax*2 + 0x250]
sub rsp, 0x20
call fcn.1400359b7
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x198]
mov word [rbp - 0x7a], cx
cmp byte [rax], 0
jne 0x14010fb41
mov rax, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x68]
mov cx, word [rbp - 0x7a]
movzx r8d, cx
mov r9b, byte [rax]
mov cl, 0x71
xor cl, 0x61
sub cl, r9b
movzx ecx, cl
shr r8d, cl
mov rcx, qword [rbp + 0x140]
mov word [rcx + rdx*2 + 8], r8w
movzx eax, byte [rax]
mov dx, word [rbp + rax*2 + 0x250]
mov cx, dx
and cx, 1
or dx, 1
add cx, dx
mov word [rbp + rax*2 + 0x250], cx
mov rax, qword [rbp - 0x68]
xor ecx, ecx
sub rcx, 1
sub rax, rcx
mov qword [rbp - 0x58], rax
jmp 0x14010fa3b
mov rax, qword [rbp + 0x190]
mov rcx, qword [rbp + 0x158]
mov rdx, qword [rbp + 0x150]
mov r8, qword [rbp + 0x140]
mov r9, qword [rbp + 0x138]
mov qword [rax], r9
mov qword [rax + 8], r8
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], rcx
mov rcx, qword [rbp + 0x1b0]
sub rsp, 0x20
call fcn.14010e670
nop
lea rsp, [rbp + 0x280]
pop rbp
ret
jns 0x14010fb72
invalid
pop rsp
scasd eax, dword [rdi]
mul byte [rbp - 0x17]
out dx, eax
invalid
invalid
xchg ecx, eax
invalid
invalid
lea edx, [rax + 0x52e9dab8]
invalid
and al, 0xf2
jmp 0x14010f1b1
cmp bpl, byte [rdi - 0x7e7169b]
invalid