Function at 0x140086a31
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x328
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x1b8], rdx
mov qword [rbp + 0x210], rcx
mov qword [rbp + 0x1c0], rcx
mov eax, 0x10
mov qword [rbp + 0x1f8], rax
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x1f8]
mov rcx, rsp
mov qword [rbp + 0x218], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x1f8]
mov rcx, rsp
mov qword [rbp + 0x220], rcx
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x1c8], rax
mov eax, 0x30
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x1f8]
mov rcx, rsp
mov qword [rbp + 0x1d0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x1f8]
mov rcx, rsp
mov qword [rbp + 0x1d8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x1f8]
mov rcx, rsp
mov qword [rbp + 0x1e0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x1f8]
mov rcx, rsp
mov qword [rbp + 0x1e8], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x1f8]
mov rcx, rsp
mov qword [rbp + 0x1f0], rcx
call fcn.140195b60
sub rsp, rax
mov rax, qword [rbp + 0x1f8]
mov rcx, rsp
mov qword [rbp + 0x200], rcx
call fcn.140195b60
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x208], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov r8, qword [rbp + 0x210]
mov rdx, qword [rbp + 0x218]
mov rcx, qword [rbp + 0x220]
add rsp, 0x20
mov r9, rax
add r9, 0x60
mov qword [rbp + 0x228], r9
mov qword [r8], 0
mov r9, r8
add r9, 8
mov qword [rbp + 0x230], r9
mov qword [r8 + 8], 0
mov qword [rbp + 0x298], 0
lea r8, [rbp + 0x298]
add r8, 8
mov qword [rbp + 0x238], r8
mov qword [rbp + 0x2a0], 0
movabs r8, 0xe0267df87af21550
movabs r9, 0xe0267df87af21550
xor r8, r9
mov qword [rdx], r8
mov qword [rdx + 8], 0
mov qword [rcx], 0
mov rdx, rcx
add rdx, 8
mov qword [rbp + 0x240], rdx
mov qword [rcx + 8], 0
mov al, byte [rax + 0x60]
mov cl, 0x36
xor cl, 0x36
cmp al, cl
jne 0x140088c64
mov rax, qword [rbp + 0x1b8]
mov rax, qword [rax]
mov rax, qword [rax]
mov qword [rbp + 0x1b0], rax
mov rax, qword [rax + 0x10]
movabs rcx, 0xb69bbe27d794ddf8
movabs rdx, 0xb69bbe27d794ddf8
xor rcx, rdx
cmp rax, rcx
jle 0x140086e4a
mov rcx, qword [rbp + 0x1c8]
mov rax, qword [rbp + 0x1b0]
mov rax, qword [rax + 0x18]
lea rdx, [rbp + 0x288]
add rdx, 8
mov qword [rbp + 0x198], rdx
add rcx, 8
mov qword [rbp + 0x1a0], rcx
movabs rcx, 0xb0f21705a3ce0e14
movabs rdx, 0x4f0de8fa5c31f1eb
xor rcx, rdx
cmp rax, rcx
mov qword [rbp + 0x1a8], rax
jle 0x140086e4a
mov rcx, qword [rbp + 0x1b8]
mov rax, qword [rbp + 0x1a8]
mov qword [rbp + 0x180], rax
mov rcx, qword [rcx]
mov rcx, qword [rcx]
mov qword [rbp + 0x188], rcx
mov rcx, qword [rcx]
mov qword [rbp + 0x190], rcx
cmp rax, rcx
jl 0x140086d28
mov rcx, qword [rbp + 0x180]
mov rdx, qword [rbp + 0x190]
movabs rax, 0x48d60f55fcb602be
movabs r8, 0xb729f0aa0349fd41
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140019d55
add rsp, 0x20
jmp 0x140088c64
mov rax, qword [rbp + 0x228]
mov rcx, qword [rbp + 0x180]
mov rdx, qword [rbp + 0x188]
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x168], rdx
lea r8, [rcx + rcx*2]
shl r8, 4
mov rcx, qword [rdx + r8 + 8]
mov rdx, qword [rdx + r8 + 0x10]
mov qword [rbp + 0x170], rdx
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0x17f], al
or al, cl
test al, 1
jne 0x140086e09
mov rcx, qword [rbp + 0x180]
mov rax, qword [rbp + 0x168]
add rax, 8
imul rcx, rcx, 0x30
add rax, rcx
add rax, 0x10
mov rcx, qword [rax]
mov qword [rbp + 0x278], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x280], rax
lea rcx, [rbp + 0x288]
lea rdx, [rbp + 0x278]
sub rsp, 0x20
call fcn.140024b17
mov r8, qword [rbp + 0x198]
mov rax, qword [rbp + 0x1a0]
mov rcx, qword [rbp + 0x218]
mov rdx, qword [rbp + 0x1c8]
add rsp, 0x20
mov r9, qword [rbp + 0x288]
mov r8, qword [r8]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.140024105
add rsp, 0x20
jmp 0x140086e1c
mov al, byte [rbp + 0x17f]
test al, 1
jne 0x140088c64
jmp 0x140086e1c
mov rax, qword [rbp + 0x170]
movabs rcx, 0x22406fe18f936075
movabs rdx, 0xddbf901e706c9f8a
xor rcx, rdx
cmp rax, rcx
mov qword [rbp + 0x1a8], rax
jg 0x140086cb9
mov rcx, qword [rbp + 0x218]
mov rax, qword [rcx]
mov qword [rbp + 0x298], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x2a0], rax
sub rsp, 0x20
call fcn.14002ae7c
add rsp, 0x20
mov rax, qword [rbp + 0x298]
mov qword [rbp + 0x160], rax
movabs rcx, 0xecbde5c421188128
movabs rdx, 0xecbde5c421188128
xor rcx, rdx
cmp rax, rcx
jle 0x140087e6e
mov rax, qword [rbp + 0x160]
mov rcx, qword [rbp + 0x1d0]
mov rdx, qword [rbp + 0x1f0]
mov r8, qword [rbp + 0x1e0]
mov r9, qword [rbp + 0x1d8]
add r9, 8
mov qword [rbp + 0x100], r9
lea r9, [rbp + 0x268]
add r9, 8
mov qword [rbp + 0x108], r9
add r8, 8
mov qword [rbp + 0x110], r8
add rdx, 8
mov qword [rbp + 0x118], rdx
lea rdx, [rbp + 0x258]
add rdx, 8
mov qword [rbp + 0x120], rdx
mov rdx, rcx
add rdx, 8
mov qword [rbp + 0x128], rdx
mov rdx, rcx
add rdx, 0x10
mov qword [rbp + 0x130], rdx
mov rdx, rcx
add rdx, 0x18
mov qword [rbp + 0x138], rdx
mov rdx, rcx
add rdx, 0x20
mov qword [rbp + 0x140], rdx
mov rdx, rcx
add rdx, 0x28
mov qword [rbp + 0x148], rdx
add rcx, 0x2c
mov qword [rbp + 0x150], rcx
mov qword [rbp + 0x158], rax
mov rcx, qword [rbp + 0x238]
mov rax, qword [rbp + 0x158]
add rax, 0xffffffffffffffff
mov qword [rbp + 0xf0], rax
mov rcx, qword [rcx]
add rcx, 8
shl rax, 4
add rcx, rax
mov rax, qword [rcx]
mov qword [rbp + 0xf8], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0xe8], rax
sub rsp, 0x20
call fcn.1400143a4
mov rdx, qword [rbp + 0xf0]
add rsp, 0x20
lea rcx, [rbp + 0x298]
sub rsp, 0x20
call fcn.14001eb93
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
movabs rcx, 0x4c8d6d5e317e9ff2
movabs rdx, 0x4c8d6d5e317e9ff2
xor rcx, rdx
cmp rax, rcx
jne 0x1400870a0
movabs rcx, 0xc1d6675828e8af54
movabs rax, 0xc1d6675828e8af14
xor rcx, rax
movabs rdx, 0x49cab5f362ecb25
movabs rax, 0x49cab5f362ecb2d
xor rdx, rax
sub rsp, 0x20
call fcn.140019bef
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401a1578]
mov qword [rcx], rax
lea rax, [0x14019e8f0]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14019e940]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14019e948]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x533f1c6fc888718b
movabs rdx, 0x533f1c6f9db6ce9e
xor rax, rdx
lea rdx, [0x14019e8f0]
lea r8, [0x14019e938]
lea r9, [0x14019e903]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140019b17
add rsp, 0x30
jmp 0x140087dd6
mov rax, qword [rbp + 0xf8]
movabs rcx, 0x1a8fa8c839598e40
movabs rdx, 0x1a8fa8c839598e41
xor rcx, rdx
cmp rax, rcx
jge 0x140087125
mov rdx, qword [rbp + 0xf8]
movabs rax, 0x5aaa0d5bc0734050
movabs rcx, 0x81f074b77ba57af4
xor rax, rcx
add rdx, rax
movabs rax, 0xe679c21234ce960f
movabs rcx, 0x19863dedcb3169f0
xor rax, rcx
add rdx, rax
movabs rax, 0xdb5a79ecbbd63aa4
sub rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140019d55
add rsp, 0x20
jmp 0x140087dd6
mov rax, qword [rbp + 0xe8]
mov rcx, rax
add rcx, 8
mov qword [rbp + 0xe0], rcx
mov al, byte [rax + 8]
mov cl, 0x93
xor cl, 0xbc
cmp al, cl
jne 0x1400871c7
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140019bef
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401a1578]
mov qword [rcx], rax
lea rax, [0x14019e8f0]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14019e940]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14019e948]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14019e8f0]
lea r8, [0x14019e938]
lea r9, [0x14019e903]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x5751b610
call fcn.140019b17
add rsp, 0x30
jmp 0x140087de7
mov rax, qword [rbp + 0xf8]
movabs rcx, 0xb8acfed858df3d22
movabs rdx, 0xb8acfed858dfc2dd
xor rcx, rdx
cmp rax, rcx
jbe 0x14008728f
movabs rcx, 0x35e1172d876306ed
movabs rax, 0x35e1172d876306ad
xor rcx, rax
movabs rdx, 0x52b6403a71e099ed
movabs rax, 0x52b6403a71e099e5
xor rdx, rax
sub rsp, 0x20
call fcn.140019bef
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1401a1578]
mov qword [rcx], rax
lea rax, [0x14019e8f0]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14019e940]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14019e948]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x14019e8f0]
lea r8, [0x14019e938]
lea r9, [0x14019e903]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x6fefa635
call fcn.140019b17
add rsp, 0x30
jmp 0x140087de7
mov r8, qword [rbp + 0x1d8]
mov rax, qword [rbp + 0x108]
mov rdx, qword [rbp + 0xe8]
mov r9, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x1b8]
mov r10, qword [rbp + 0x100]
mov qword [r8], 0
mov qword [r10], 0
mov rcx, qword [rcx]
mov rcx, qword [rcx]
mov qword [rbp + 0x268], r9
mov qword [rax], rdx
lea rdx, [rbp + 0x268]
sub rsp, 0x20
call fcn.14005f861
add rsp, 0x20
mov rax, qword [rbp + 0x228]
mov r9b, byte [rax]
mov r10b, 0xf5
xor r10b, 0xf5
mov r8b, 1
xor eax, eax
xor edx, edx
xor ecx, ecx
cmp r9b, r10b
mov byte [rbp + 0xbf], r8b
mov r8, rax
mov qword [rbp + 0xc0], r8
mov dword [rbp + 0xc8], edx
mov word [rbp + 0xce], cx
mov rcx, rax
mov qword [rbp + 0xd0], rcx
mov qword [rbp + 0xd8], rax
jne 0x1400874b4
mov rcx, qword [rbp + 0x1d8]
mov rax, qword [rbp + 0x100]
mov rcx, qword [rcx]
mov qword [rbp + 0xb0], rcx
mov rax, qword [rax]
mov qword [rbp + 0xa8], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xb0]
add rsp, 0x20
add rcx, 8
test rdx, rdx
lea rax, [0x14019e980]
cmove rcx, rax
sub rsp, 0x20
call fcn.14007906b
mov rcx, qword [rbp + 0x228]
mov r8, qword [rbp + 0xb0]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x1d8]
mov dword [rbp + 0xb8], edx
mov r9b, byte [rcx]
test r9b, r9b
setne r10b
mov rax, qword [rax]
test rax, rax
sete al
or r10b, al
xor eax, eax
mov cx, ax
xor eax, eax
test r10b, 1
mov byte [rbp + 0xbf], r9b
mov qword [rbp + 0xc0], r8
mov dword [rbp + 0xc8], edx
mov word [rbp + 0xce], cx
mov rcx, rax
mov qword [rbp + 0xd0], rcx
mov qword [rbp + 0xd8], rax
jne 0x1400874b4
mov rcx, qword [rbp + 0x1e0]
mov rdx, qword [rbp + 0x1e8]
mov rax, qword [rbp + 0x1d8]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
mov r8d, 1
mov r9d, 1
sub rsp, 0x20
call fcn.1400850ed
mov rcx, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x110]
mov rdx, qword [rbp + 0x228]
mov r9, qword [rbp + 0xb0]
mov r8d, dword [rbp + 0xb8]
add rsp, 0x20
mov rcx, qword [rcx]
mov rax, qword [rax]
mov r10b, byte [rdx]
xor edx, edx
mov r11w, 8
cmp r10b, 0
cmove dx, r11w
mov byte [rbp + 0xbf], r10b
mov qword [rbp + 0xc0], r9
mov dword [rbp + 0xc8], r8d
mov word [rbp + 0xce], dx
mov qword [rbp + 0xd0], rcx
mov qword [rbp + 0xd8], rax
mov rcx, qword [rbp + 0x100]
mov al, byte [rbp + 0xbf]
mov rdx, qword [rbp + 0xc0]
mov r8d, dword [rbp + 0xc8]
mov r9w, word [rbp + 0xce]
mov r10, qword [rbp + 0xd0]
mov r11, qword [rbp + 0xd8]
mov qword [rbp + 0x70], r11
mov qword [rbp + 0x78], r10
mov word [rbp + 0x82], r9w
mov dword [rbp + 0x84], r8d
mov qword [rbp + 0x88], rdx
mov byte [rbp + 0x97], al
mov rcx, qword [rcx]
mov qword [rbp + 0x98], rcx
cmp rcx, 0
mov byte [rbp + 0xa7], al
je 0x1400875d0
mov al, byte [rbp + 0x97]
mov rcx, qword [rbp + 0x98]
mov rcx, qword [rcx]
movabs r8, 0x2fdfda5174b995aa
movabs rdx, 0x6fdfda5174b995aa
xor r8, rdx
mov rdx, rcx
xor rdx, r8
movabs r8, 0x92505d98e1e52f91
movabs r9, 0x6dafa2671e1ad06e
xor r8, r9
xor rdx, r8
movabs r8, 0xaf1fe8ec3453fe6
movabs r9, 0x4af1fe8ec3453fe6
xor r8, r9
or rcx, r8
and rcx, rdx
movabs rdx, 0xa0e2c3d04985d3a
movabs r8, 0xa0e2c3d04985d3a
xor rdx, r8
cmp rcx, rdx
mov byte [rbp + 0xa7], al
jne 0x1400875d0
mov rcx, qword [rbp + 0x98]
sub rsp, 0x20
call fcn.1400121d0
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp + 0xa7], al
mov al, byte [rbp + 0xa7]
mov cl, 0xa
xor cl, 0xa
cmp al, cl
jne 0x140087d9c
mov r15, qword [rbp + 0x210]
mov rsi, qword [rbp + 0x78]
mov rdi, qword [rbp + 0x138]
mov rbx, qword [rbp + 0x88]
mov r14, qword [rbp + 0x130]
mov r12, qword [rbp + 0x128]
mov r13, qword [rbp + 0x120]
mov rdx, qword [rbp + 0x1f0]
mov rax, qword [rbp + 0x118]
mov rcx, qword [rbp + 0xe8]
mov r8, qword [rbp + 0xf8]
mov qword [rdx], r8
mov qword [rax], rcx
lea rcx, [rbp + 0x258]
sub rsp, 0x20
call fcn.140024b17
mov r11, qword [rbp + 0x140]
mov r10w, word [rbp + 0x82]
mov r9, qword [rbp + 0x148]
mov r8d, dword [rbp + 0x84]
mov rcx, qword [rbp + 0x220]
mov rdx, qword [rbp + 0x1d0]
add rsp, 0x20
mov rax, qword [rbp + 0x258]
mov r13, qword [r13]
mov qword [rdx], rax
mov rax, qword [rbp + 0x150]
mov qword [r12], r13
mov r15, qword [r15]
mov qword [r14], r15
mov qword [rdi], rbx
mov qword [r11], rsi
mov word [r9], r10w
mov dword [rax], r8d
sub rsp, 0x20
call fcn.14002c23c
mov rcx, qword [rbp + 0x210]
add rsp, 0x20
mov edx, 0x4034b50
sub rsp, 0x20
call fcn.1400859f5
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x95
xor cl, 0x95
cmp al, cl
jne 0x140087d9c
mov rcx, qword [rbp + 0x210]
movabs rdx, 0xb50c9bc0796cb134
movabs rax, 0xb50c9bc0796cb119
xor rdx, rax
sub rsp, 0x20
call fcn.140085d90
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140087d9c
mov rcx, qword [rbp + 0x210]
mov dx, 0xd55e
xor dx, 0xdd5e
sub rsp, 0x20
call fcn.14008611d
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140087d9c
mov dx, word [rbp + 0x82]
mov rcx, qword [rbp + 0x210]
sub rsp, 0x20
call fcn.14008611d
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140087d9c
mov rcx, qword [rbp + 0x210]
mov dx, 0x29c4
xor dx, 0xb886
sub rsp, 0x20
call fcn.14008611d
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140087d9c
mov rcx, qword [rbp + 0x210]
mov dx, 0xc77b
xor dx, 0x909d
sub rsp, 0x20
call fcn.14008611d
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140087d9c
mov edx, dword [rbp + 0x84]
mov rcx, qword [rbp + 0x210]
sub rsp, 0x20
call fcn.1400859f5
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140087d9c
mov rcx, qword [rbp + 0x210]
mov edx, 0xb22fbc3e
xor edx, 0x4dd043c1
sub rsp, 0x20
call fcn.1400859f5
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140087d9c
mov rcx, qword [rbp + 0x210]
mov edx, 0xfe2066b
xor edx, 0xf01df994
sub rsp, 0x20
call fcn.1400859f5
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140087d9c
mov rcx, qword [rbp + 0x210]
mov rax, qword [rbp + 0xf8]
mov dx, ax
sub rsp, 0x20
call fcn.14008611d
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140087d9c
mov rcx, qword [rbp + 0x210]
mov edx, 0x14
sub rsp, 0x20
call fcn.140085d90
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140087d9c
mov rcx, qword [rbp + 0x210]
mov rdx, qword [rbp + 0xf8]
sub rsp, 0x20
call fcn.140022539
mov rax, qword [rbp + 0x230]
mov rcx, qword [rbp + 0x210]
add rsp, 0x20
mov rax, qword [rax]
add rax, 8
add rax, qword [rcx]
mov qword [rbp + 0x60], rax
xor eax, eax
mov qword [rbp + 0x68], rax
mov rcx, qword [rbp + 0x68]
mov rdx, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x60]
mov r8, qword [rbp + 0xe0]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
mov rax, rcx
add rax, 1
cmp rcx, rdx
mov qword [rbp + 0x68], rax
jne 0x1400878e3
mov r8, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x210]
mov rdx, qword [rax]
mov rcx, rdx
add rcx, r8
mov qword [rbp + 0x58], rcx
mov rax, rcx
xor rax, rdx
mov rdx, rcx
and rdx, r8
shl rdx, 1
add rcx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140087965
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x140087973
mov rax, qword [rbp + 0x210]
mov rcx, qword [rbp + 0x58]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x210]
mov dx, 0xff84
xor dx, 0xff85
sub rsp, 0x20
call fcn.14008611d
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x57
xor cl, 0x57
cmp al, cl
jne 0x140087d9c
mov rcx, qword [rbp + 0x210]
mov edx, 0x10
sub rsp, 0x20
call fcn.140085d90
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140087d9c
mov rdx, qword [rbp + 0x88]
mov rcx, qword [rbp + 0x210]
sub rsp, 0x20
call fcn.140086389
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x9f
xor cl, 0x9f
cmp al, cl
jne 0x140087d9c
mov rdx, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x210]
sub rsp, 0x20
call fcn.140086389
mov rax, qword [rbp + 0x228]
mov rcx, qword [rbp + 0x78]
add rsp, 0x20
mov al, byte [rax]
test al, al
setne al
test rcx, rcx
sete cl
or al, cl
test al, 1
jne 0x140087d9c
mov r8, qword [rbp + 0x78]
mov rax, qword [rbp + 0x210]
mov r9, qword [rax]
mov rcx, r9
and rcx, r8
mov rax, r9
or rax, r8
add rcx, rax
mov qword [rbp + 0x50], rcx
movabs rdx, 0x63083fd412f45b20
movabs rax, 0x9cf7c02bed0ba4df
xor rdx, rax
mov rax, rcx
xor rax, rdx
movabs r10, 0x4ec7a23ac602cd3a
movabs rdx, 0xb1385dc539fd32c5
xor r10, rdx
mov rdx, rcx
xor rdx, r10
and rax, rdx
movabs r10, 0x48ab4b820dc8e0db
movabs rdx, 0xb754b47df2371f24
xor r10, rdx
mov rdx, r9
xor rdx, r10
movabs r11, 0xaf208266a69aadfb
movabs r10, 0x50df7d9959655204
xor r11, r10
mov r10, r9
xor r10, r11
and rdx, r10
movabs r10, 0x8c21a89417f1cc7a
movabs r11, 0x73de576be80e3385
xor r10, r11
xor rax, r10
xor rdx, 0xffffffffffffffff
and rax, rdx
movabs r10, 0xe79b795236439d2d
movabs rdx, 0x186486adc9bc62d2
xor r10, rdx
mov rdx, rcx
xor rdx, r10
xor r9, 0xffffffffffffffff
and rdx, r9
or rax, rdx
movabs rdx, 0xec1c58d39d389590
movabs r9, 0x13e3a72c62c76a6f
xor rdx, r9
xor rax, rdx
mov r9, rcx
and r9, r8
movabs rdx, 0x5a274f2c1e24c72b
movabs r10, 0x5a274f2c1e24c729
xor rdx, r10
imul rdx, r9
add rcx, r8
sub rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140087b7d
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x140087d9c
mov rax, qword [rbp + 0x50]
cmp rax, 0
jge 0x140087bcf
mov rcx, qword [rbp + 0x50]
movabs rdx, 0xe39f56f915b0c551
movabs rax, 0xe39f56f915b0c551
xor rdx, rax
movabs r8, 0xb1db6a005fdaac50
movabs rax, 0xce2495ffa02553af
xor r8, rax
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x140087d9c
mov rcx, qword [rbp + 0x210]
mov rdx, qword [rbp + 0x50]
sub rsp, 0x20
call fcn.14001b50c
mov rax, qword [rbp + 0x210]
mov r8, qword [rbp + 0x78]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x40], rcx
mov r9, rcx
not r9
mov rax, r9
and rax, r8
not r8
and rcx, r8
sub rcx, rax
mov qword [rbp + 0x48], rcx
not rcx
mov rax, rcx
or rax, r9
not rax
mov rdx, rcx
and rdx, r9
or rax, rdx
not rax
mov rdx, rcx
or rdx, r8
and rcx, r8
not rcx
and rdx, rcx
mov rcx, rax
and rcx, rdx
test rax, rax
sets al
test rcx, rcx
setns cl
add al, cl
inc al
test al, 1
jne 0x140087c5c
jmp 0x140087c6e
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x140087d9c
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x40]
movabs rax, 0xe5d31d2b1820cc1f
movabs r8, 0x1a2ce2d4e7df33e0
xor rax, r8
cmp rcx, rax
setg al
cmp rcx, rdx
setl cl
xor al, 0xff
xor cl, 0xff
mov dl, 1
xor dl, 0
mov r8b, 1
xor r8b, 0
xor dl, r8b
or al, cl
mov cl, 1
xor cl, 0
or cl, dl
mov dl, 1
xor dl, 0
xor al, dl
and al, cl
test al, 1
jne 0x140087cfb
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x40]
movabs rax, 0x1cb14c674995b672
movabs r8, 0xe34eb398b66a498d
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140019d55
add rsp, 0x20
jmp 0x140087d9c
mov rax, qword [rbp + 0x78]
movabs rcx, 0xb75da1e4a30d9572
movabs rdx, 0xb75da1e4a30d9572
xor rcx, rdx
cmp rax, rcx
jge 0x140087d43
mov rcx, qword [rbp + 0x78]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x140087d9c
mov rax, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x230]
mov rcx, qword [rcx]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0x28], rcx
add rax, 8
mov qword [rbp + 0x30], rax
xor eax, eax
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x78]
mov rdx, qword [rbp + 0x28]
mov r8, qword [rbp + 0x30]
mov r8b, byte [r8 + rax]
mov byte [rdx + rax], r8b
add rax, 1
cmp rax, rcx
mov qword [rbp + 0x38], rax
je 0x140087daa
jmp 0x140087d6e
mov rax, qword [rbp + 0x70]
cmp rax, 0
je 0x140087de7
mov rcx, qword [rbp + 0x70]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140087dd6
mov rcx, qword [rbp + 0x70]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0xe8]
cmp rax, 0
je 0x140087e40
mov rax, qword [rbp + 0xe8]
mov rax, qword [rax]
movabs rdx, 0xde8ebab1d93e868d
movabs rcx, 0xde8ebab1d93e868c
xor rdx, rcx
mov rcx, rax
add rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
or rax, rdx
add rax, rcx
cmp rax, 0
jne 0x140087e40
mov rcx, qword [rbp + 0xe8]
sub rsp, 0x20
call fcn.1400121d0
add rsp, 0x20
mov rax, qword [rbp + 0x228]
mov al, byte [rax]
mov cl, 3
xor cl, 3
cmp al, cl
jne 0x140088c64
mov rax, qword [rbp + 0x298]
cmp rax, 0
mov qword [rbp + 0x158], rax
jg 0x140086f61
mov rcx, qword [rbp + 0x220]
mov rax, qword [rbp + 0x210]
mov rax, qword [rax]
mov qword [rbp + 8], rax
mov rdx, qword [rcx]
mov qword [rbp + 0x10], rdx
xor ecx, ecx
cmp rdx, 0
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rax
jle 0x14008876e
mov rax, qword [rbp + 0x18]
mov qword [rbp - 8], rax
mov rax, qword [0x1401a1928]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000a414
mov rcx, qword [rbp - 8]
add rsp, 0x20
mov rax, qword [rbp + 0x220]
mov rax, qword [rax]
cmp rcx, rax
mov qword [rbp], rax
jge 0x14008872c
mov rcx, qword [rbp + 0x210]
mov rdx, qword [rbp - 8]
mov rax, qword [rbp + 0x240]
mov rax, qword [rax]
add rax, 8
imul rdx, rdx, 0x30
add rax, rdx
add rax, 0x10
movdqu xmm0, xmmword [rax]
movaps xmmword [rbp - 0x30], xmm0
movdqu xmm0, xmmword [rax + 0x10]
movaps xmmword [rbp - 0x20], xmm0
mov edx, 0xa6c1783a
xor edx, 0xa4c0336a
sub rsp, 0x20
call fcn.1400859f5
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x20
xor cl, 0x20
cmp al, cl
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
movabs rdx, 0xafce7002505cfa40
movabs rax, 0xafce7002505cfa6d
xor rdx, rax
sub rsp, 0x20
call fcn.140085d90
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
mov edx, 0x2d
sub rsp, 0x20
call fcn.140085d90
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
mov edx, 0x800
sub rsp, 0x20
call fcn.14008611d
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
movaps xmm0, xmmword [rbp - 0x20]
pextrw eax, xmm0, 4
mov dx, ax
sub rsp, 0x20
call fcn.14008611d
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xc1
xor cl, 0xc1
cmp al, cl
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
mov edx, 0x9142
sub rsp, 0x20
call fcn.14008611d
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
mov edx, 0x57e6
sub rsp, 0x20
call fcn.14008611d
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xa1
xor cl, 0xa1
cmp al, cl
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
movaps xmm0, xmmword [rbp - 0x20]
pshufd xmm0, xmm0, 0xff
movd edx, xmm0
sub rsp, 0x20
call fcn.1400859f5
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x76
xor cl, 0x76
cmp al, cl
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
mov edx, 0xc1c238a0
xor edx, 0x3e3dc75f
sub rsp, 0x20
call fcn.1400859f5
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
mov edx, 0x350c3e38
xor edx, 0xcaf3c1c7
sub rsp, 0x20
call fcn.1400859f5
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp - 8]
mov rax, qword [rbp + 0x220]
mov rax, qword [rax]
cmp rcx, rax
mov qword [rbp], rax
jge 0x14008872c
mov rcx, qword [rbp + 0x210]
mov rdx, qword [rbp - 8]
mov rax, qword [rbp + 0x240]
mov rax, qword [rax]
add rax, 8
imul rdx, rdx, 0x30
add rax, rdx
mov rax, qword [rax]
mov dx, ax
sub rsp, 0x20
call fcn.14008611d
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
mov edx, 0x1c
sub rsp, 0x20
call fcn.140085d90
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x83
xor cl, 0x83
cmp al, cl
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
movabs rdx, 0x68f44a689c4c0d7a
movabs rax, 0x68f44a689c4c0d7a
xor rdx, rax
sub rsp, 0x20
call fcn.140085d90
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x44
xor cl, 0x44
cmp al, cl
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140085d90
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
movabs rdx, 0x604d479b797df9f2
movabs rax, 0x604d479b797df9f2
xor rdx, rax
sub rsp, 0x20
call fcn.140085d90
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x6d
xor cl, 0x6d
cmp al, cl
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.1400865e8
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
mov edx, 0x83cbc752
xor edx, 0x7c3438ad
sub rsp, 0x20
call fcn.1400859f5
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp - 8]
mov rax, qword [rbp + 0x220]
mov rax, qword [rax]
cmp rcx, rax
mov qword [rbp], rax
jge 0x14008872c
mov rdx, qword [rbp - 8]
mov rax, qword [rbp + 0x240]
mov rcx, qword [rbp + 0x210]
mov rax, qword [rax]
add rax, 8
imul rdx, rdx, 0x30
add rax, rdx
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.140022539
mov rcx, qword [rbp + 0x240]
mov rax, qword [rbp - 8]
add rsp, 0x20
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x30
add rcx, rax
mov rax, qword [rcx]
mov qword [rbp - 0x40], rax
mov rcx, qword [rcx + 8]
mov qword [rbp - 0x38], rcx
cmp rax, 0
jle 0x1400885f0
mov rdx, qword [rbp - 0x40]
mov rcx, rdx
and rcx, 1
movabs rax, 0x920e76e0b0950f39
movabs r8, 0x920e76e0b0950f3b
xor rax, r8
imul rcx, rax
mov rax, rdx
xor rax, 1
add rax, rcx
mov qword [rbp - 0x48], rax
movabs rcx, 0x753d765652799f86
movabs r8, 0x8ac289a9ad866079
xor rcx, r8
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
cmp rax, 0
jge 0x14008836f
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x1400885f0
mov rax, qword [rbp - 0x48]
movabs rcx, 0x2fbc798bbb5a3df5
movabs rdx, 0x2fbc798bbb5a3df5
xor rcx, rdx
cmp rax, rcx
jge 0x1400883b7
mov rcx, qword [rbp - 0x48]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140010917
add rsp, 0x20
jmp 0x1400885f0
mov rax, qword [rbp - 0x38]
mov rdx, qword [rbp + 0x210]
mov rcx, qword [rbp + 0x230]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rbp - 0x60], rcx
add rax, 8
mov qword [rbp - 0x58], rax
xor eax, eax
mov qword [rbp - 0x50], rax
mov rcx, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov r8, qword [rbp - 0x58]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0x5f771c34a5f5d349
movabs rax, 0x5f771c34a5f5d348
xor r8, rax
movabs rax, 0x9b6bbdfcff850746
movabs r9, 0x64944203007af8b9
xor rax, r9
xor r8, rax
movabs rax, 0x7a82969b6a2d95ac
movabs r9, 0x7a82969b6a2d95ac
xor rax, r9
movabs r9, 0xf32fd96fb3e2d7a1
movabs r10, 0xf32fd96fb3e2d7a0
xor r9, r10
sub rax, r9
sub r8, rax
mov rax, rcx
sub rax, r8
cmp rcx, rdx
mov qword [rbp - 0x50], rax
jne 0x1400883e5
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp + 0x210]
mov r9, qword [rcx]
mov rdx, r9
add rdx, rax
mov qword [rbp - 0x68], rdx
mov rcx, rdx
or rcx, rcx
movabs r8, 0xc7780f143d9909c6
movabs r10, 0x3887f0ebc266f639
xor r8, r10
xor rcx, r8
mov r8, r9
xor r8, 0xffffffffffffffff
movabs r11, 0x60ef34e2f7657179
movabs r10, 0x9f10cb1d089a8e86
xor r11, r10
mov r10, r9
xor r10, r11
and r8, r10
or rcx, r8
movabs r8, 0xc9a0469f28ec2369
movabs r10, 0x365fb960d713dc96
xor r8, r10
xor rcx, r8
mov r8, rdx
or r8, r9
movabs r9, 0x5dd5c91739e7b3f3
movabs r10, 0xa22a36e8c6184c0c
xor r9, r10
xor r8, r9
or rcx, r8
movabs r8, 0xd07905a7cc09a0e8
movabs r9, 0x2f86fa5833f65f17
xor r8, r9
xor rcx, r8
xor rdx, rax
mov rax, rcx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs r8, 0x4eccfde638feded3
movabs rcx, 0xb1330219c701212c
xor r8, rcx
mov rcx, rdx
xor rcx, r8
movabs r8, 0xe41a4b036e999c51
movabs r9, 0x1be5b4fc916663ae
xor r8, r9
xor rdx, r8
and rcx, rdx
movabs rdx, 0x7de6803cea85ee7e
movabs r8, 0x82197fc3157a1181
xor rdx, r8
xor rax, rdx
movabs rdx, 0xc1d79772ad809846
movabs r8, 0x3e28688d527f67b9
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0xef599806897b5ed6
movabs rdx, 0xef599806897b5ed6
xor rcx, rdx
cmp rax, rcx
jge 0x1400885e2
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x1400885f0
mov rax, qword [rbp + 0x210]
mov rcx, qword [rbp - 0x68]
mov qword [rax], rcx
mov rcx, qword [rbp + 0x210]
mov dx, 0x4485
xor dx, 0x4484
sub rsp, 0x20
call fcn.14008611d
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
movabs rdx, 0x1628df07dc4e0750
movabs rax, 0x1628df07dc4e0748
xor rdx, rax
sub rsp, 0x20
call fcn.140085d90
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xf9
xor cl, 0xf9
cmp al, cl
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
movaps xmm0, xmmword [rbp - 0x30]
pshufd xmm0, xmm0, 0xee
movq rdx, xmm0
sub rsp, 0x20
call fcn.140086389
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
movaps xmm0, xmmword [rbp - 0x20]
movq rdx, xmm0
sub rsp, 0x20
call fcn.140086389
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
movaps xmm0, xmmword [rbp - 0x30]
movq rdx, xmm0
sub rsp, 0x20
call fcn.140086389
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp - 8]
movabs rdx, 0xddb2e210c9f871cc
movabs r8, 0xddb2e210c9f871cc
xor rdx, r8
sub rdx, rax
xor eax, eax
sub rax, 1
add rdx, rax
xor eax, eax
sub rax, rdx
cmp rax, rcx
mov qword [rbp + 0x18], rax
je 0x140088760
jmp 0x140087e9e
mov rcx, qword [rbp - 8]
mov rdx, qword [rbp]
movabs rax, 0xe46a46ecfc2ad0b
movabs r8, 0xf1b95b91303d52f4
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140019d55
add rsp, 0x20
jmp 0x140088c64
mov rax, qword [rbp + 0x210]
mov rax, qword [rax]
mov qword [rbp + 0x20], rax
mov rcx, qword [rbp + 0x210]
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x70], rax
mov edx, 0x48a1a710
xor edx, 0x4ea7ec40
sub rsp, 0x20
call fcn.1400859f5
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
movabs rdx, 0x20105af79c6e26e5
movabs rax, 0x20105af79c6e26c9
xor rdx, rax
sub rsp, 0x20
call fcn.140086389
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x2b
xor cl, 0x2b
cmp al, cl
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
mov edx, 0x2d
sub rsp, 0x20
call fcn.140085d90
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xfb
xor cl, 0xfb
cmp al, cl
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
mov edx, 0x2d
sub rsp, 0x20
call fcn.140085d90
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xd4
xor cl, 0xd4
cmp al, cl
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
movabs rdx, 0x7af5b8467020f27f
movabs rax, 0x7af5b8467020f27f
xor rdx, rax
sub rsp, 0x20
call fcn.1400865e8
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
movabs rdx, 0x67a93be13dcedee9
movabs rax, 0x67a93be13dcedee9
xor rdx, rax
sub rsp, 0x20
call fcn.1400865e8
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xf7
xor cl, 0xf7
cmp al, cl
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
mov rax, qword [rbp + 0x220]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.140086389
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x4f
xor cl, 0x4f
cmp al, cl
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
mov rax, qword [rbp + 0x220]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.140086389
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov r8, qword [rbp + 8]
mov r9, qword [rbp - 0x70]
mov rax, r9
sub rax, r8
mov qword [rbp - 0x78], rax
mov rdx, rax
and rdx, r9
shl rdx, 1
mov rcx, rax
add rcx, r9
sub rcx, rdx
cmp rcx, 0
setl cl
mov r9, rax
xor r9, r8
movabs rdx, 0xf8c4cd78151dbaea
movabs r10, 0x73b3287eae24515
xor rdx, r10
xor r9, rdx
mov rdx, r8
and rdx, r9
shl rdx, 1
sub rdx, r8
sub rax, rdx
cmp rax, 0xffffffffffffffff
setg dl
mov al, cl
and al, dl
mov r8b, 1
xor r8b, 0
xor al, r8b
and cl, dl
xor edx, edx
xor dl, 1
xor cl, dl
mov dl, 1
xor dl, 0
xor al, dl
mov dl, 1
xor dl, 0
xor cl, dl
or al, cl
test al, 1
jne 0x1400889b9
jmp 0x1400889cb
sub rsp, 0x20
call fcn.14000a590
add rsp, 0x20
jmp 0x140088c64
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rbp + 0x210]
sub rsp, 0x20
call fcn.140086389
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp + 0x210]
sub rsp, 0x20
call fcn.140086389
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xaa
xor cl, 0xaa
cmp al, cl
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
mov edx, 0x7064b50
sub rsp, 0x20
call fcn.1400859f5
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
movabs rdx, 0x4cb5c946940b333a
movabs rax, 0x4cb5c946940b333a
xor rdx, rax
sub rsp, 0x20
call fcn.1400865e8
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x49
xor cl, 0x49
cmp al, cl
jne 0x140088c64
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rbp + 0x210]
sub rsp, 0x20
call fcn.140086389
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
movabs rdx, 0xd4422bc28ee0ee64
movabs rax, 0xd4422bc28ee0ee65
xor rdx, rax
sub rsp, 0x20
call fcn.1400865e8
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x87
xor cl, 0x87
cmp al, cl
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
mov edx, 0xe950e3d9
xor edx, 0xef55a889
sub rsp, 0x20
call fcn.1400859f5
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x5b
xor cl, 0x5b
cmp al, cl
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140085d90
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
movabs rdx, 0xe89248adcfc69959
movabs rax, 0xe89248adcfc69959
xor rdx, rax
sub rsp, 0x20
call fcn.140085d90
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
mov dx, 0xf0d6
xor dx, 0xf29
sub rsp, 0x20
call fcn.14008611d
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x3a
xor cl, 0x3a
cmp al, cl
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
mov edx, 0xffff
sub rsp, 0x20
call fcn.14008611d
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x66
xor cl, 0x66
cmp al, cl
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
mov edx, 0x2c19042f
xor edx, 0xd3e6fbd0
sub rsp, 0x20
call fcn.1400859f5
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x12
xor cl, 0x12
cmp al, cl
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
mov edx, 0xffffffff
sub rsp, 0x20
call fcn.1400859f5
mov rax, qword [rbp + 0x228]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140088c64
mov rcx, qword [rbp + 0x210]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140085d90
add rsp, 0x20
mov rcx, qword [rbp + 0x228]
mov rax, qword [rbp + 0x220]
mov dl, byte [rcx]
mov byte [rbp - 0x79], dl
mov byte [rcx], 0
mov rcx, qword [rax]
mov qword [rbp + 0x248], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x250], rax
lea rcx, [rbp + 0x248]
sub rsp, 0x20
call fcn.1400868c5
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x9c
xor cl, 0x9c
cmp al, cl
jne 0x140088d17
mov rcx, qword [rbp + 0x200]
mov rax, qword [rbp + 0x218]
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400208b6
mov rcx, qword [rbp + 0x208]
add rsp, 0x20
mov rax, qword [rbp + 0x298]
mov qword [rcx], rax
mov rax, qword [rbp + 0x2a0]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400208b6
mov cl, byte [rbp - 0x79]
mov rax, qword [rbp + 0x228]
add rsp, 0x20
mov byte [rax], cl
mov rax, qword [rbp + 0x1c0]
lea rsp, [rbp + 0x2a8]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret