Function at 0x1401019a0
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xe8
mov r13, qword [r9 + 0x18]
mov rbx, qword [r9 + 0x20]
cmp r13, rbx
jbe 0x1401019cc
mov qword [rcx], 0
jmp 0x140104158
mov r12, r9
mov rdi, r8
mov r14, rdx
mov qword [rsp + 0x38], rcx
mov edx, dword [r9]
mov rax, rdx
dec rax
cmp rax, 2
jb 0x140101a08
lea rax, [r14 + 0x58]
cmp byte [r14 + 0x68], 3
lea r15, [0x1402491c0]
cmovne r15, rax
cmp byte [r15 + 0x10], 2
jne 0x140101e34
cmp byte [r12 + 0x28], 0
je 0x140101d83
mov r15, qword [r14 + 0x178]
test r13, r13
je 0x140101ac4
lea rcx, [r13 - 1]
mov r8, qword [r12 + 8]
add r8, rcx
xor eax, eax
cmp qword [r12 + 0x10], rcx
cmova rax, r8
test rax, rax
je 0x140101ac4
movzx esi, byte [rax]
mov r8d, dword [r12 + 4]
mov rax, qword [r14 + 0x290]
or rax, qword [r14 + 0x2a0]
mov rcx, qword [r14 + 0x288]
or rcx, qword [r14 + 0x298]
or rcx, rax
je 0x140101ab1
lea rax, [r14 + 0x288]
mov r11d, esi
shr r11d, 7
shl r11, 4
mov r9d, 1
xor r10d, r10d
mov ecx, esi
shld r10, r9, cl
shl r9, cl
xor ecx, ecx
test sil, 0x40
cmovne r10, r9
cmovne r9, rcx
and r10, qword [rax + r11 + 8]
and r9, qword [rax + r11]
or r9, r10
jne 0x140101e2a
movzx eax, byte [r14 + rsi + 0x78]
movzx r9d, al
mov rax, r9
test edx, edx
jne 0x140101ad6
jmp 0x140101ae3
mov r8d, dword [r12 + 4]
mov al, 2
movzx r9d, al
mov rax, r9
test edx, edx
je 0x140101ae3
cmp edx, 1
jne 0x140101f7d
lea rax, [r9 + 6]
cmp rax, qword [rdi + 0x58]
jae 0x14010427b
mov rcx, qword [rdi + 0x48]
mov esi, dword [rcx + rax*4]
test esi, esi
js 0x140102b22
cmp qword [rdi], 1
jne 0x140101b21
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rdi + 0x158], rax
mov qword [rdi], 1
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
cmp r13, rbx
jae 0x140101f15
mov qword [rsp + 0x58], r15
mov r15, qword [r12 + 8]
mov r10, qword [r12 + 0x10]
lea r11, [rsp + 0x40]
jmp 0x140101b5f
mov r13, rbp
inc r13
cmp r13, rbx
jae 0x14010208d
cmp esi, 0x7ffffff
jbe 0x140101bd0
cmp qword [rdi], 0
je 0x14010427b
mov qword [rdi + 0x10], r13
cmp r13, r10
jae 0x14010427b
movzx r8d, byte [r15 + r13]
movzx ecx, byte [r14 + r8 + 0x188]
mov eax, esi
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdi + 0x40]
jae 0x14010427b
mov rcx, qword [rdi + 0x30]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x140101d01
mov rbp, r13
mov esi, eax
cmp esi, 0x8000000
jae 0x140101cec
jmp 0x140101b50
cmp r13, rbx
jae 0x140101b53
mov rax, qword [rdi + 0x30]
nop dword [rax]
movzx ecx, byte [r15 + r13]
movzx ecx, byte [r14 + rcx + 0x188]
mov edx, esi
add rdx, rcx
mov ecx, dword [rax + rdx*4]
lea rbp, [r13 + 3]
cmp rbp, rbx
jae 0x140101c88
cmp ecx, 0x8000000
jae 0x140101c88
movzx edx, byte [r15 + r13 + 1]
movzx edx, byte [r14 + rdx + 0x188]
add rdx, rcx
mov esi, dword [rax + rdx*4]
cmp rsi, 0x7ffffff
ja 0x140101c76
movzx ecx, byte [r15 + r13 + 2]
movzx ecx, byte [r14 + rcx + 0x188]
add rcx, rsi
mov ecx, dword [rax + rcx*4]
cmp rcx, 0x7ffffff
ja 0x140101c84
movzx edx, byte [r15 + r13 + 3]
movzx edx, byte [r14 + rdx + 0x188]
add rdx, rcx
mov esi, dword [rax + rdx*4]
cmp esi, 0x7ffffff
ja 0x140101c95
add r13, 4
cmp r13, rbx
jb 0x140101be0
jmp 0x140101b53
inc r13
mov edx, ecx
mov rbp, r13
test esi, esi
jns 0x140101ce0
jmp 0x140101c9b
add r13, 2
mov edx, esi
mov rbp, r13
mov esi, ecx
test esi, esi
jns 0x140101ce0
jmp 0x140101c9b
mov edx, ecx
test esi, esi
jns 0x140101ce0
cmp qword [rdi], 0
je 0x14010427b
mov qword [rdi + 0x10], rbp
cmp rbp, r10
jae 0x14010427b
movzx r8d, byte [r15 + rbp]
movzx r9d, byte [r14 + r8 + 0x188]
mov ecx, edx
add rcx, r9
cmp rcx, qword [rdi + 0x40]
jae 0x14010427b
mov esi, dword [rax + rcx*4]
test esi, esi
js 0x140101d53
nop word [rax + rax]
cmp esi, 0x8000000
jb 0x140101b50
mov eax, esi
mov ecx, eax
and ecx, 0x10000000
jne 0x140101b50
jmp 0x1401026b8
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x98], r10
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
mov r12, r11
mov rcx, r11
mov edx, esi
call fcn.1400cc830
test eax, eax
jne 0x1401040c2
mov esi, edx
mov rbp, r13
mov r10, qword [rsp + 0x98]
mov r11, r12
mov r12, qword [rsp + 0x68]
cmp esi, 0x8000000
jae 0x140101cec
jmp 0x140101b50
mov qword [rsp + 0x68], r12
mov r13, r10
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
mov r12, r11
mov rcx, r11
call fcn.1400cc830
test eax, eax
jne 0x140104116
mov esi, edx
mov r10, r13
jmp 0x140101d3e
mov r10, qword [r14 + 0x178]
test r13, r13
je 0x140101efa
lea rcx, [r13 - 1]
mov r8, qword [r12 + 8]
add r8, rcx
xor eax, eax
cmp qword [r12 + 0x10], rcx
cmova rax, r8
test rax, rax
je 0x140101efa
movzx esi, byte [rax]
mov r8d, dword [r12 + 4]
mov rax, qword [r14 + 0x290]
or rax, qword [r14 + 0x2a0]
mov rcx, qword [r14 + 0x288]
or rcx, qword [r14 + 0x298]
or rcx, rax
je 0x1401020ec
lea rax, [r14 + 0x288]
mov r11d, esi
shr r11d, 7
shl r11, 4
mov r9d, 1
mov r15, r10
xor r10d, r10d
mov ecx, esi
shld r10, r9, cl
shl r9, cl
xor ecx, ecx
test sil, 0x40
cmovne r10, r9
cmovne r9, rcx
and r10, qword [rax + r11 + 8]
and r9, qword [rax + r11]
or r9, r10
mov r10, r15
je 0x1401020ec
mov ebp, 4
jmp 0x1401025a4
cmp byte [r12 + 0x28], 0
mov qword [rsp + 0x58], rdx
je 0x140101fd3
mov rsi, qword [r14 + 0x178]
mov eax, dword [rsi + 0x17c]
mov dword [rsp + 0x68], eax
test r13, r13
je 0x140101fb8
lea rcx, [r13 - 1]
mov r8, qword [r12 + 8]
add r8, rcx
xor eax, eax
cmp qword [r12 + 0x10], rcx
cmova rax, r8
test rax, rax
je 0x140101fb8
movzx ebp, byte [rax]
mov r8d, dword [r12 + 4]
mov rax, qword [r14 + 0x290]
or rax, qword [r14 + 0x2a0]
mov rcx, qword [r14 + 0x288]
or rcx, qword [r14 + 0x298]
or rcx, rax
je 0x140102776
lea rax, [r14 + 0x288]
mov r10d, ebp
shr r10d, 7
shl r10, 4
mov r11d, 1
xor r9d, r9d
mov ecx, ebp
shld r9, r11, cl
shl r11, cl
xor ecx, ecx
test bpl, 0x40
cmovne r9, r11
cmovne r11, rcx
and r9, qword [rax + r10 + 8]
and r11, qword [rax + r10]
or r11, r9
je 0x140102776
mov ecx, 4
jmp 0x1401028e0
mov r8d, dword [r12 + 4]
mov al, 2
movzx r9d, al
mov rax, r9
test edx, edx
jne 0x1401020fd
jmp 0x14010210a
mov r10, qword [r12 + 0x10]
cmp rbx, r10
jae 0x14010209b
mov r13, r15
mov rax, qword [r12 + 8]
movzx r15d, byte [rax + rbx]
movzx ecx, byte [r14 + r15 + 0x188]
mov eax, esi
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdi + 0x40]
jae 0x14010427b
mov rcx, qword [rdi + 0x30]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x140102e0e
mov edx, edx
test edx, 0x8000000
jne 0x140102716
test edx, 0x20000000
jne 0x140102515
xor ecx, ecx
jmp 0x140103e14
test byte [r14 + 0x71], 1
mov esi, r8d
mov ebp, 2
je 0x1401025a4
cmp qword [r15 + 0x160], rsi
jbe 0x140102912
lea rax, [rsi + rsi*2]
lea rax, [r9 + rax*2]
add rax, 0xc
cmp rax, qword [rdi + 0x58]
jb 0x140101aed
jmp 0x14010427b
mov r8d, dword [r12 + 4]
mov al, 2
movzx r9d, al
mov rax, r9
test edx, edx
jne 0x140102787
jmp 0x140102794
mov rax, qword [r14 + 0x178]
mov qword [rsp + 0x60], rax
mov eax, dword [rax + 0x17c]
mov dword [rsp + 0x68], eax
test r13, r13
je 0x140102733
lea rcx, [r13 - 1]
mov r8, qword [r12 + 8]
add r8, rcx
xor eax, eax
cmp qword [r12 + 0x10], rcx
cmova rax, r8
test rax, rax
je 0x140102733
movzx esi, byte [rax]
mov ebp, dword [r12 + 4]
mov rax, qword [r14 + 0x290]
or rax, qword [r14 + 0x2a0]
mov rcx, qword [r14 + 0x288]
or rcx, qword [r14 + 0x298]
or rcx, rax
je 0x140102a47
lea rax, [r14 + 0x288]
mov r10d, esi
shr r10d, 7
shl r10, 4
mov r8d, 1
xor r9d, r9d
mov ecx, esi
shld r9, r8, cl
shl r8, cl
xor ecx, ecx
test sil, 0x40
cmovne r9, r8
cmovne r8, rcx
and r9, qword [rax + r10 + 8]
and r8, qword [rax + r10]
or r8, r9
je 0x140102a47
mov ecx, 4
jmp 0x140102a7c
mov r15, qword [rsp + 0x58]
cmp rbx, r10
jb 0x140101f23
movzx r8d, byte [r14 + 0x287]
shl r8d, 0x10
add r8d, 0x10001
mov ecx, r8d
shr ecx, 0x10
mov eax, esi
and eax, 0x7ffffff
add rax, rcx
cmp qword [rdi + 0x40], rax
jbe 0x14010427b
mov rcx, qword [rdi + 0x30]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x140102e38
xor eax, eax
test edx, 0x8000000
jne 0x140103dc6
xor ecx, ecx
jmp 0x140103e14
movzx eax, byte [r14 + rsi + 0x78]
movzx r9d, al
mov rax, r9
test edx, edx
je 0x14010210a
cmp edx, 1
jne 0x140102591
lea rax, [r9 + 6]
cmp rax, qword [rdi + 0x58]
jae 0x14010427b
mov rcx, qword [rdi + 0x48]
mov esi, dword [rcx + rax*4]
test esi, esi
js 0x140102d5f
cmp qword [rdi], 1
jne 0x140102148
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rdi + 0x158], rax
mov qword [rdi], 1
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
cmp r13, rbx
jae 0x1401024b3
mov r15, qword [r12 + 8]
mov rdx, qword [r12 + 0x10]
mov rax, qword [r14 + 0x180]
and eax, 0x3f
mov qword [rsp + 0x98], rax
xor r11d, r11d
mov qword [rsp + 0x58], rdx
jmp 0x1401021a2
mov rbp, r13
inc rbp
mov r13, rbp
cmp rbp, rbx
jae 0x1401024bb
cmp esi, 0x7ffffff
jbe 0x140102210
cmp qword [rdi], 0
je 0x14010427b
mov qword [rdi + 0x10], r13
cmp r13, rdx
jae 0x14010427b
movzx r8d, byte [r15 + r13]
movzx ecx, byte [r14 + r8 + 0x188]
mov eax, esi
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdi + 0x40]
jae 0x14010427b
mov rcx, qword [rdi + 0x30]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x140102354
mov rbp, r13
mov esi, eax
cmp esi, 0x8000000
jae 0x1401023b0
jmp 0x140102193
cmp r13, rbx
jae 0x140102190
mov rax, qword [rdi + 0x30]
nop dword [rax]
movzx ecx, byte [r15 + r13]
movzx ecx, byte [r14 + rcx + 0x188]
mov edx, esi
add rdx, rcx
mov ecx, dword [rax + rdx*4]
lea rbp, [r13 + 3]
cmp rbp, rbx
jae 0x1401022d4
cmp ecx, 0x8000000
jae 0x1401022d4
movzx edx, byte [r15 + r13 + 1]
movzx edx, byte [r14 + rdx + 0x188]
add rdx, rcx
mov esi, dword [rax + rdx*4]
cmp rsi, 0x7ffffff
ja 0x1401022c2
movzx ecx, byte [r15 + r13 + 2]
movzx ecx, byte [r14 + rcx + 0x188]
add rcx, rsi
mov ecx, dword [rax + rcx*4]
cmp rcx, 0x7ffffff
ja 0x1401022d0
movzx edx, byte [r15 + r13 + 3]
movzx edx, byte [r14 + rdx + 0x188]
add rdx, rcx
mov esi, dword [rax + rdx*4]
cmp esi, 0x7ffffff
ja 0x1401022f5
add r13, 4
cmp r13, rbx
jb 0x140102220
mov rbp, r13
mov rdx, qword [rsp + 0x58]
jmp 0x140102193
inc r13
mov edx, ecx
mov rbp, r13
test esi, esi
jns 0x1401022df
jmp 0x1401022fb
add r13, 2
mov edx, esi
mov rbp, r13
mov esi, ecx
test esi, esi
js 0x1401022fb
mov rdx, qword [rsp + 0x58]
cmp esi, 0x8000000
jae 0x1401023b0
jmp 0x140102193
mov edx, ecx
test esi, esi
jns 0x1401022df
cmp qword [rdi], 0
je 0x14010427b
mov qword [rdi + 0x10], rbp
cmp rbp, qword [rsp + 0x58]
jae 0x14010427b
mov r13d, r9d
movzx r8d, byte [r15 + rbp]
movzx r9d, byte [r14 + r8 + 0x188]
mov ecx, edx
add rcx, r9
cmp rcx, qword [rdi + 0x40]
jae 0x14010427b
mov esi, dword [rax + rcx*4]
test esi, esi
js 0x14010245e
mov r9d, r13d
mov rdx, qword [rsp + 0x58]
cmp esi, 0x8000000
jae 0x1401023b0
jmp 0x140102193
mov dword [rsp + 0x78], r9d
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x90], r10
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, esi
call fcn.1400cc830
test eax, eax
jne 0x1401040c2
mov esi, edx
mov rbp, r13
mov r10, qword [rsp + 0x90]
mov r11, qword [rsp + 0x60]
mov r9d, dword [rsp + 0x78]
mov rdx, qword [rsp + 0x58]
cmp esi, 0x8000000
jb 0x140102193
mov eax, esi
mov ecx, eax
and ecx, 0x10000000
jne 0x140102193
test eax, 0x8000000
je 0x1401029e5
mov r11d, 1
xor r9d, r9d
cmp qword [r10 + 0x160], 1
jne 0x1401023e8
mov qword [rsp + 0x68], rbp
jmp 0x140102193
mov eax, esi
and eax, 0x7ffffff
mov rcx, qword [rsp + 0x98]
shr rax, cl
cmp rax, qword [rdi + 0x70]
jae 0x14010427b
mov rdx, qword [rdi + 0x60]
shl rax, 4
mov rcx, qword [rdx + rax + 8]
test rcx, rcx
je 0x14010427b
mov rax, qword [rdx + rax]
test byte [rax + 0x10], 2
jne 0x140102433
mov qword [rsp + 0x68], rbp
mov rdx, qword [rsp + 0x58]
jmp 0x140102193
cmp rcx, 0xd
mov rdx, qword [rsp + 0x58]
jb 0x14010427b
add rcx, 0xfffffffffffffff3
cmp rcx, 3
jbe 0x14010427b
mov r9d, dword [rax + 0x1d]
mov qword [rsp + 0x68], rbp
jmp 0x140102193
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x90], r10
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
call fcn.1400cc830
test eax, eax
jne 0x140104116
mov esi, edx
mov r10, qword [rsp + 0x90]
mov r11, qword [rsp + 0x60]
mov r9d, r13d
mov rdx, qword [rsp + 0x58]
cmp esi, 0x8000000
jae 0x1401023b0
jmp 0x140102193
mov rdx, qword [r12 + 0x10]
xor r11d, r11d
cmp rbx, rdx
jae 0x140102525
mov rax, qword [r12 + 8]
movzx r15d, byte [rax + rbx]
movzx ecx, byte [r14 + r15 + 0x188]
mov eax, esi
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdi + 0x40]
jae 0x14010427b
mov rcx, qword [rdi + 0x30]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x1401034c6
mov edx, edx
test edx, 0x8000000
jne 0x14010350b
test edx, 0x20000000
mov r8, qword [rsp + 0x68]
je 0x140103566
mov ecx, r15d
mov rdx, rbx
call fcn.1400e5250
jmp 0x140104148
movzx r8d, byte [r14 + 0x287]
shl r8d, 0x10
add r8d, 0x10001
mov ecx, r8d
shr ecx, 0x10
mov eax, esi
and eax, 0x7ffffff
add rax, rcx
cmp qword [rdi + 0x40], rax
jbe 0x14010427b
mov r13, rdx
mov rcx, qword [rdi + 0x30]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x1401035a7
test edx, 0x8000000
mov r8, qword [rsp + 0x68]
je 0x140103566
cmp qword [r10 + 0x160], 1
jne 0x140102b0c
mov r11d, 1
xor r9d, r9d
jmp 0x140103563
test byte [r14 + 0x71], 1
mov esi, r8d
mov ebp, 2
jne 0x14010274e
lea ecx, [rbp - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
test eax, eax
je 0x14010261c
cmp eax, 1
jne 0x140102669
test r13, r13
je 0x14010427b
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x1401025f3
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14010427b
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x10
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14010427b
dec r13
mov byte [rax], 0
mov byte [rax + 1], sil
mov qword [rax + 8], r13
jmp 0x140104148
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140102647
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14010427b
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x10
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14010427b
mov byte [rax], 1
mov qword [rax + 8], r13
jmp 0x140104148
movzx eax, byte [0x1402d9160]
mov rcx, qword [0x1402d9150]
test rcx, rcx
jne 0x140102694
call sub.kernel32.dll_GetProcessHeap
test rax, rax
je 0x14010427b
mov rcx, rax
mov qword [0x1402d9150], rax
mov r8d, 0x10
xor edx, edx
call sub.kernel32.dll_HeapAlloc
test rax, rax
je 0x14010427b
mov byte [rax], 3
mov dword [rax + 4], ebp
mov dword [rax + 8], esi
jmp 0x140104148
test eax, 0x8000000
jne 0x140102939
test eax, 0x40000000
jne 0x140102b4e
test eax, 0x20000000
je 0x14010427b
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14010427b
mov rcx, rbp
sub rcx, rax
neg rcx
mov rdx, rbp
sub rdx, rax
cmovb rdx, rcx
add qword [rdi + 0x158], rdx
cmp rbp, r10
jb 0x140102a35
jmp 0x14010427b
cmp qword [r13 + 0x160], 1
jne 0x1401029c5
mov ecx, 1
xor eax, eax
mov r10, rbx
jmp 0x140103e14
mov ebp, dword [r12 + 4]
mov al, 2
movzx r9d, al
mov rax, r9
test edx, edx
jne 0x140102a5c
jmp 0x140102bb0
cmp qword [r10 + 0x160], rsi
jbe 0x140102ae5
lea rax, [rsi + rsi*2]
lea rax, [r9 + rax*2]
add rax, 0xc
cmp rax, qword [rdi + 0x58]
jb 0x140102114
jmp 0x14010427b
movzx eax, byte [r14 + rbp + 0x78]
movzx r9d, al
mov rax, r9
test edx, edx
je 0x140102794
cmp edx, 1
jne 0x1401028cd
lea rax, [r9 + 6]
cmp rax, qword [rdi + 0x58]
jae 0x14010427b
mov rcx, qword [rdi + 0x48]
mov ebp, dword [rcx + rax*4]
test ebp, ebp
js 0x1401033d6
mov dword [rsp + 0x78], r8d
mov qword [rsp + 0x60], rsi
mov rsi, qword [r12 + 8]
mov r9, qword [r12 + 0x10]
mov rax, qword [r15]
mov rcx, qword [r15 + 8]
mov rdx, qword [rcx + 0x10]
mov r10, qword [rcx + 0x40]
dec rdx
and rdx, 0xfffffffffffffff0
add rdx, rax
add rdx, 0x10
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x90], rdx
mov r8, rsi
mov r15, r9
mov qword [rsp + 0x98], r10
call r10
cmp qword [rsp + 0x40], 0
je 0x140102ce4
mov r13, qword [rsp + 0x48]
cmp dword [rsp + 0x68], 0
mov rdx, qword [rsp + 0x58]
mov r11, r15
je 0x140102ec6
cmp r11, rbx
jb 0x14010427b
lea rax, [rbx + 1]
cmp rax, r13
jb 0x14010427b
test r13, r13
je 0x1401029de
lea rax, [r13 - 1]
cmp r11, rax
jbe 0x1401029de
movzx ebp, byte [rsi + rax]
mov rax, qword [r14 + 0x290]
or rax, qword [r14 + 0x2a0]
mov rcx, qword [r14 + 0x288]
or rcx, qword [r14 + 0x298]
or rcx, rax
je 0x140102d9d
lea rax, [r14 + 0x288]
mov r10d, ebp
shr r10d, 7
shl r10, 4
mov r8d, 1
xor r9d, r9d
mov ecx, ebp
shld r9, r8, cl
shl r8, cl
xor ecx, ecx
test bpl, 0x40
cmovne r9, r8
cmovne r8, rcx
and r9, qword [rax + r10 + 8]
and r8, qword [rax + r10]
or r8, r9
je 0x140102d9d
mov ecx, 4
jmp 0x140102dd4
test byte [r14 + 0x71], 1
mov ebp, r8d
mov ecx, 2
jne 0x140102ab6
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
test eax, eax
je 0x1401040c2
cmp eax, 1
jne 0x140102b8b
test r13, r13
je 0x14010427b
dec r13
mov ecx, ebp
jmp 0x140102aa9
mov rcx, qword [r14 + 0x180]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x14010427b
mov esi, 1
shl rsi, cl
or esi, 0x40000000
jmp 0x140101afc
xor eax, eax
mov rcx, qword [rsp + 0x58]
cmp qword [rcx + 0x160], 1
je 0x14010297e
and esi, 0x7ffffff
movzx ecx, byte [r14 + 0x180]
shr rsi, cl
cmp rsi, qword [rdi + 0x70]
jae 0x14010427b
mov rax, qword [rdi + 0x60]
shl rsi, 4
mov rcx, qword [rax + rsi]
mov rdx, qword [rax + rsi + 8]
xor r8d, r8d
call fcn.1400f1ef0
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14010427b
mov rdx, rbp
sub rdx, rcx
neg rdx
mov r8, rbp
sub r8, rcx
cmovb r8, rdx
add qword [rdi + 0x158], r8
mov rcx, qword [rsp + 0x38]
mov qword [rcx], 1
mov qword [rcx + 8], rbp
mov dword [rcx + 0x10], eax
jmp 0x140104158
and edx, 0x7ffffff
movzx ecx, byte [r14 + 0x180]
shr rdx, cl
mov rsi, rbx
jmp 0x140103de9
mov al, 2
jmp 0x140102da3
test eax, 0x40000000
jne 0x140102cf2
test eax, 0x20000000
je 0x14010427b
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14010427b
mov rcx, rbp
sub rcx, rax
neg rcx
mov rdx, rbp
sub rdx, rax
cmovb rdx, rcx
add qword [rdi + 0x158], rdx
cmp rbp, qword [rsp + 0x58]
jae 0x14010427b
movzx ecx, byte [r15 + rbp]
mov rdx, rbp
call fcn.1400e5250
jmp 0x140104148
movzx eax, byte [r14 + rsi + 0x78]
movzx r9d, al
mov rax, r9
test edx, edx
je 0x140102bb0
cmp edx, 1
jne 0x140102a6a
lea rax, [r9 + 6]
jmp 0x140102bb0
test byte [r14 + 0x71], 1
mov esi, ebp
mov ecx, 2
jne 0x140102b92
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
test eax, eax
je 0x1401040c2
cmp eax, 1
jne 0x140102d91
test r13, r13
je 0x14010427b
dec r13
mov ecx, esi
mov rdx, r13
call fcn.1400e5250
jmp 0x140104148
cmp qword [rsi + 0x160], rbp
jbe 0x140102d38
lea rax, [rbp*2]
add rax, rbp
lea rax, [r9 + rax*2]
add rax, 0xc
cmp rax, qword [rdi + 0x58]
jb 0x14010279e
jmp 0x14010427b
mov rcx, qword [r14 + 0x180]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x14010427b
mov esi, 1
shl rsi, cl
or esi, 0x40000000
jmp 0x140102123
and edx, 0x7ffffff
movzx ecx, byte [r14 + 0x180]
shr rdx, cl
jmp 0x140103537
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
call fcn.1400cdb30
mov rbp, rax
mov rsi, rax
shr rsi, 0x20
cmp ebp, 5
je 0x140101afc
jmp 0x1401025a4
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14010427b
mov rcx, rbp
sub rcx, rax
neg rcx
sub rbp, rax
cmovb rbp, rcx
add qword [rdi + 0x158], rbp
mov rax, qword [rsp + 0x38]
mov qword [rax], 0
jmp 0x140104158
mov edx, ebp
jmp 0x140102d93
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x160], rsi
jbe 0x140102e61
lea rax, [rsi + rsi*2]
lea rax, [r9 + rax*2]
add rax, 0xc
cmp rax, qword [rdi + 0x58]
jae 0x14010427b
mov rcx, qword [rdi + 0x48]
mov esi, dword [rcx + rax*4]
test esi, esi
js 0x140103cca
mov dword [rsp + 0xa0], ebp
mov rbp, qword [r12 + 8]
mov r9, qword [r12 + 0x10]
mov rax, qword [r15]
mov rcx, qword [r15 + 8]
mov rdx, qword [rcx + 0x10]
mov r10, qword [rcx + 0x40]
dec rdx
and rdx, 0xfffffffffffffff0
add rdx, rax
add rdx, 0x10
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r13
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x90], rdx
mov r8, rbp
mov r15, r9
mov qword [rsp + 0x98], r10
call r10
cmp qword [rsp + 0x40], 0
je 0x140102ce4
mov r12, qword [rsp + 0x48]
cmp dword [rsp + 0x68], 0
mov rdx, qword [rsp + 0x58]
mov r11, r15
je 0x1401036a5
cmp r11, rbx
jb 0x14010427b
lea rax, [rbx + 1]
cmp rax, r12
jb 0x14010427b
test r12, r12
je 0x140102ceb
lea rax, [r12 - 1]
cmp r11, rax
jbe 0x140102ceb
movzx esi, byte [rbp + rax]
mov rax, qword [r14 + 0x290]
or rax, qword [r14 + 0x2a0]
mov rcx, qword [r14 + 0x288]
or rcx, qword [r14 + 0x298]
or rcx, rax
je 0x1401035ed
lea rax, [r14 + 0x288]
mov r10d, esi
shr r10d, 7
shl r10, 4
mov r8d, 1
xor r9d, r9d
mov ecx, esi
shld r9, r8, cl
shl r8, cl
xor ecx, ecx
test sil, 0x40
cmovne r9, r8
cmovne r8, rcx
and r9, qword [rax + r10 + 8]
and r8, qword [rax + r10]
or r8, r9
je 0x1401035ed
mov ecx, 4
jmp 0x140103620
xor eax, eax
jmp 0x140103eff
mov al, 2
jmp 0x1401035f3
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14010427b
mov rcx, rbp
sub rcx, rax
neg rcx
sub rbp, rax
cmovb rbp, rcx
add qword [rdi + 0x158], rbp
mov rax, qword [rsp + 0x38]
mov qword [rax], r11
mov rcx, qword [rsp + 0x68]
mov qword [rax + 8], rcx
mov dword [rax + 0x10], r9d
jmp 0x140104158
mov rcx, qword [r14 + 0x180]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x14010427b
mov ebp, 1
shl rbp, cl
or ebp, 0x40000000
jmp 0x1401027ad
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov rsi, r10
call fcn.1400cdb30
mov r10, rsi
mov rbp, rax
mov rsi, rax
shr rsi, 0x20
cmp ebp, 5
je 0x140102123
jmp 0x1401025a4
mov edx, esi
call fcn.1400e5310
jmp 0x140104148
movzx eax, byte [r14 + rbp + 0x78]
movzx r9d, al
mov rax, r9
test edx, edx
je 0x140102ead
cmp edx, 1
jne 0x140102dc0
lea rax, [r9 + 6]
jmp 0x140102ead
test byte [r14 + 0x71], 1
mov ebp, dword [rsp + 0x78]
mov ecx, 2
jne 0x140102e88
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
test eax, eax
je 0x14010365a
cmp eax, 1
jne 0x140103667
test r13, r13
je 0x14010427b
dec r13
mov ecx, ebp
mov rdx, r13
call fcn.1400e5250
jmp 0x140103ef1
mov r8d, r15d
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, esi
call fcn.1400cc830
test eax, eax
jne 0x140104140
jmp 0x140101f5c
mov r12, r10
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, esi
call fcn.1400cc830
test eax, eax
je 0x140103db5
mov rcx, r12
jmp 0x140104143
mov rcx, qword [r14 + 0x180]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x14010427b
mov esi, 1
shl rsi, cl
or esi, 0x40000000
jmp 0x140102bc9
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x160], rbp
jbe 0x140103cf9
lea rax, [rbp*2]
add rax, rbp
lea rax, [r9 + rax*2]
add rax, 0xc
cmp rax, qword [rdi + 0x58]
jae 0x14010427b
mov rcx, qword [rdi + 0x48]
mov ebp, dword [rcx + rax*4]
test ebp, ebp
js 0x140103f33
cmp qword [rdi], 1
jne 0x140102eeb
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rdi + 0x158], rax
mov qword [rdi], 1
mov qword [rdi + 8], r13
mov qword [rdi + 0x10], r13
cmp r13, rbx
jae 0x14010330c
lea rax, [rbx + 1]
mov qword [rsp + 0xd0], rax
lea rax, [r14 + 0x288]
mov qword [rsp + 0xa0], rax
movzx eax, byte [r14 + 0x71]
mov byte [rsp + 0x88], al
mov rcx, qword [r14 + 0x180]
and ecx, 0x3f
mov edx, 1
mov qword [rsp + 0xc8], rcx
shl rdx, cl
mov eax, dword [rsp + 0x78]
or edx, 0x40000000
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x70], rax
lea rax, [rax + rax*2]
lea rax, [rax*2 + 0xc]
mov qword [rsp + 0xc0], rax
jmp 0x140102f80
mov r13, r12
inc r13
cmp r13, rbx
jae 0x14010330c
cmp ebp, 0x7ffffff
jbe 0x1401030cb
cmp qword [rdi], 0
je 0x14010427b
mov qword [rdi + 0x10], r13
cmp r13, r11
jae 0x14010427b
movzx r8d, byte [rsi + r13]
movzx ecx, byte [r14 + r8 + 0x188]
mov eax, ebp
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdi + 0x40]
jae 0x14010427b
mov rcx, qword [rdi + 0x30]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x1401032c2
mov r12, r13
mov ebp, eax
cmp ebp, 0x7ffffff
jbe 0x140102f71
mov eax, ebp
test eax, 0x10000000
je 0x140103408
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
lea rcx, [rsp + 0x40]
mov rdx, qword [rsp + 0x90]
mov r8, rsi
mov r9, r11
call qword [rsp + 0x98]
cmp qword [rsp + 0x40], 0
je 0x140103473
mov r13, qword [rsp + 0x48]
cmp r13, r12
jbe 0x14010317a
cmp dword [rsp + 0x68], 0
mov rdx, qword [rsp + 0x58]
mov r11, r15
je 0x140102f77
cmp r11, rbx
jb 0x14010427b
cmp qword [rsp + 0xd0], r13
jb 0x14010427b
lea r12, [r13 - 1]
cmp r11, r12
mov r10, qword [rsp + 0xa0]
jbe 0x140103197
movzx ecx, byte [rsi + r12]
mov rax, qword [r10 + 8]
or rax, qword [r10 + 0x18]
mov r8, qword [r10]
or r8, qword [r10 + 0x10]
or r8, rax
je 0x1401030c0
xor eax, eax
mov r8d, 1
shld rax, r8, cl
mov r9d, ecx
shr r9d, 7
shl r8, cl
shl r9, 4
test cl, 0x40
cmovne rax, r8
mov ebp, 0
cmovne r8, rbp
and rax, qword [r10 + r9 + 8]
and r8, qword [r10 + r9]
or r8, rax
jne 0x140104196
movzx eax, byte [r14 + rcx + 0x78]
jmp 0x140103199
cmp r13, rbx
jae 0x140102f74
mov rax, qword [rdi + 0x30]
nop dword [rax + rax]
movzx ecx, byte [rsi + r13]
movzx ecx, byte [r14 + rcx + 0x188]
mov edx, ebp
add rdx, rcx
mov ecx, dword [rax + rdx*4]
lea r12, [r13 + 3]
cmp r12, rbx
jae 0x1401031be
cmp ecx, 0x8000000
jae 0x1401031be
movzx edx, byte [rsi + r13 + 1]
movzx edx, byte [r14 + rdx + 0x188]
add rdx, rcx
mov ebp, dword [rax + rdx*4]
cmp rbp, 0x7ffffff
ja 0x140103185
movzx ecx, byte [rsi + r13 + 2]
movzx ecx, byte [r14 + rcx + 0x188]
add rcx, rbp
mov ecx, dword [rax + rcx*4]
cmp rcx, 0x7ffffff
ja 0x1401031ba
movzx edx, byte [rsi + r13 + 3]
movzx edx, byte [r14 + rdx + 0x188]
add rdx, rcx
mov ebp, dword [rax + rdx*4]
cmp ebp, 0x7ffffff
ja 0x1401031cf
add r13, 4
cmp r13, rbx
jb 0x1401030e0
jmp 0x140102f74
mov r13, r12
mov r11, r15
jmp 0x140102f74
inc r13
mov edx, ecx
mov r12, r13
test ebp, ebp
jns 0x140102fd9
jmp 0x1401031d9
mov al, 2
movzx r9d, al
mov rax, r9
test edx, edx
je 0x14010326f
cmp edx, 1
jne 0x14010323f
lea rax, [r9 + 6]
jmp 0x14010326f
add r13, 2
mov edx, ebp
mov r12, r13
mov ebp, ecx
test ebp, ebp
jns 0x140102fd9
jmp 0x1401031d9
mov edx, ecx
test ebp, ebp
jns 0x140102fd9
cmp qword [rdi], 0
je 0x14010427b
mov qword [rdi + 0x10], r12
cmp r12, r11
jae 0x14010427b
movzx r8d, byte [rsi + r12]
movzx r9d, byte [r14 + r8 + 0x188]
mov ecx, edx
add rcx, r9
cmp rcx, qword [rdi + 0x40]
jae 0x14010427b
mov ebp, dword [rax + rcx*4]
test ebp, ebp
jns 0x140102fd9
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
call fcn.1400cc830
test eax, eax
jne 0x140102e59
mov ebp, edx
jmp 0x1401032e9
test byte [rsp + 0x88], 1
je 0x14010418f
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
cmp qword [rax + 0x160], rcx
jbe 0x1401032f1
mov rax, qword [rsp + 0xc0]
add rax, r9
cmp rax, qword [rdi + 0x58]
jae 0x14010427b
mov rcx, qword [rdi + 0x48]
mov ebp, dword [rcx + rax*4]
test ebp, ebp
jns 0x140102f77
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0xb8], rdi
lea rcx, [rsp + 0xb0]
mov r8d, dword [rsp + 0x78]
call fcn.1400cdb30
mov rbp, rax
shr rbp, 0x20
cmp eax, 5
jne 0x14010427f
mov r11, r15
jmp 0x140102f77
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, ebp
call fcn.1400cc830
test eax, eax
jne 0x1401040c2
mov ebp, edx
mov r12, r13
mov r11, r15
jmp 0x140102fd9
mov rbp, qword [rsp + 0x80]
cmp dword [rsp + 0xc8], 0x1b
jb 0x140102f77
jmp 0x14010427b
cmp rbx, r11
jae 0x14010335e
movzx esi, byte [rsi + rbx]
movzx ecx, byte [r14 + rsi + 0x188]
mov eax, ebp
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdi + 0x40]
jae 0x14010427b
mov rcx, qword [rdi + 0x30]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x140103fa1
mov edx, edx
test edx, 0x8000000
jne 0x1401033b4
test edx, 0x20000000
jne 0x1401034a6
xor ecx, ecx
jmp 0x140104045
movzx r8d, byte [r14 + 0x287]
shl r8d, 0x10
add r8d, 0x10001
mov ecx, r8d
shr ecx, 0x10
mov eax, ebp
and eax, 0x7ffffff
add rax, rcx
cmp qword [rdi + 0x40], rax
jbe 0x14010427b
mov rcx, qword [rdi + 0x30]
mov edx, dword [rcx + rax*4]
test edx, edx
mov rsi, qword [rsp + 0x60]
js 0x140103fcb
xor eax, eax
test edx, 0x8000000
jne 0x140103ffa
xor ecx, ecx
jmp 0x140104045
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x160], 1
jne 0x1401034ad
mov ecx, 1
xor eax, eax
mov r11, rbx
jmp 0x140104045
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov ebp, r8d
call fcn.1400cdb30
mov r8d, ebp
mov rcx, rax
mov rbp, rax
shr rbp, 0x20
cmp ecx, 5
je 0x1401027ad
jmp 0x1401028e0
test eax, 0x8000000
jne 0x140103e54
test eax, 0x40000000
jne 0x140103f70
test eax, 0x20000000
je 0x14010427b
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14010427b
mov rcx, r12
sub rcx, rax
neg rcx
mov rdx, r12
sub rdx, rax
cmovb rdx, rcx
add qword [rdi + 0x158], rdx
cmp r12, r11
jae 0x14010427b
movzx ecx, byte [rsi + r12]
mov rdx, r12
call fcn.1400e5250
jmp 0x140104148
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14010427b
mov rcx, rbx
sub rcx, rax
neg rcx
sub rbx, rax
cmovb rbx, rcx
add qword [rdi + 0x158], rbx
xor eax, eax
jmp 0x140103eff
mov ecx, esi
jmp 0x140102518
and edx, 0x7ffffff
movzx ecx, byte [r14 + 0x180]
shr rdx, cl
mov r15, rbx
jmp 0x14010401a
mov ebp, r9d
mov r13, r11
mov r12, r10
mov r8d, r15d
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, esi
call fcn.1400cc830
test eax, eax
jne 0x140104140
mov r10, r12
mov r11, r13
mov r9d, ebp
mov edx, edx
test edx, 0x8000000
je 0x140102504
cmp qword [r10 + 0x160], 1
jne 0x140103523
mov r11d, 1
xor r9d, r9d
mov r8, rbx
jmp 0x140103566
and edx, 0x7ffffff
movzx ecx, byte [r14 + 0x180]
shr rdx, cl
mov r13, rbx
cmp rdx, qword [rdi + 0x70]
jae 0x14010427b
mov rax, qword [rdi + 0x60]
shl rdx, 4
mov rcx, qword [rax + rdx]
mov rdx, qword [rax + rdx + 8]
xor r8d, r8d
call fcn.1400f1ef0
mov r9d, eax
mov r11d, 1
mov r8, r13
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14010427b
mov rcx, rbx
sub rcx, rax
neg rcx
sub rbx, rax
cmovb rbx, rcx
add qword [rdi + 0x158], rbx
mov rax, qword [rsp + 0x38]
mov qword [rax], r11
mov qword [rax + 8], r8
mov dword [rax + 0x10], r9d
jmp 0x140104158
mov ebp, r9d
mov r12, r11
mov r15, r10
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, esi
call fcn.1400cc830
test eax, eax
jne 0x1401040c2
mov r10, r15
mov r11, r12
mov r9d, ebp
test edx, 0x8000000
mov r8, qword [rsp + 0x68]
jne 0x140102575
jmp 0x140103566
movzx eax, byte [r14 + rsi + 0x78]
movzx r9d, al
mov rax, r9
test edx, edx
je 0x14010368c
cmp edx, 1
jne 0x14010360d
lea rax, [r9 + 6]
jmp 0x14010368c
test byte [r14 + 0x71], 1
mov esi, dword [rsp + 0xa0]
mov ecx, 2
jne 0x14010366e
lea edx, [rcx - 3]
cmp edx, 2
mov eax, 2
cmovb eax, edx
test eax, eax
je 0x140103ee0
cmp eax, 1
jne 0x140103eea
test r12, r12
je 0x14010427b
dec r12
mov ecx, esi
mov rdx, r12
call fcn.1400e5250
jmp 0x140103ef1
mov rcx, r13
call fcn.1400e52b0
jmp 0x140103ef1
mov edx, ebp
jmp 0x140103eec
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x160], rsi
jbe 0x140103f0c
lea rax, [rsi + rsi*2]
lea rax, [r9 + rax*2]
add rax, 0xc
cmp rax, qword [rdi + 0x58]
jae 0x14010427b
mov rcx, qword [rdi + 0x48]
mov esi, dword [rcx + rax*4]
test esi, esi
js 0x1401040c7
cmp qword [rdi], 1
jne 0x1401036ca
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rdi + 0x158], rax
mov qword [rdi], 1
mov qword [rdi + 8], r12
mov qword [rdi + 0x10], r12
cmp r12, rbx
jae 0x140103b6a
lea rax, [rbx + 1]
mov qword [rsp + 0x78], rax
lea rax, [r14 + 0x288]
mov qword [rsp + 0xd0], rax
movzx eax, byte [r14 + 0x71]
mov byte [rsp + 0xc8], al
mov rcx, qword [r14 + 0x180]
and ecx, 0x3f
mov eax, dword [rsp + 0xa0]
mov edx, 1
mov qword [rsp + 0xc0], rcx
shl rdx, cl
or edx, 0x40000000
mov qword [rsp + 0xe0], rdx
mov qword [rsp + 0x88], rax
lea rax, [rax + rax*2]
lea rax, [rax*2 + 0xc]
mov qword [rsp + 0xd8], rax
xor eax, eax
mov qword [rsp + 0x70], rax
mov r13, r12
jmp 0x14010377c
mov rsi, qword [rsp + 0xe0]
cmp dword [rsp + 0xc0], 0x1b
jae 0x14010427b
cmp r13, rbx
jae 0x140103b71
cmp esi, 0x7ffffff
jbe 0x1401037d7
cmp qword [rdi], 0
je 0x14010427b
mov qword [rdi + 0x10], r13
cmp r13, r11
jae 0x14010427b
movzx r8d, byte [rbp + r13]
movzx ecx, byte [r14 + r8 + 0x188]
mov eax, esi
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdi + 0x40]
jae 0x14010427b
mov rcx, qword [rdi + 0x30]
mov eax, dword [rcx + rax*4]
test eax, eax
js 0x14010391c
mov r12, r13
mov esi, eax
jmp 0x140103946
cmp r13, rbx
jae 0x140103ad4
mov rax, qword [rdi + 0x30]
nop word cs:[rax + rax]
movzx ecx, byte [rbp + r13]
movzx ecx, byte [r14 + rcx + 0x188]
mov edx, esi
add rdx, rcx
mov ecx, dword [rax + rdx*4]
lea r12, [r13 + 3]
cmp r12, rbx
jae 0x1401038a1
cmp ecx, 0x8000000
jae 0x1401038a1
movzx edx, byte [rbp + r13 + 1]
movzx edx, byte [r14 + rdx + 0x188]
add rdx, rcx
mov esi, dword [rax + rdx*4]
cmp rsi, 0x7ffffff
ja 0x14010388b
movzx ecx, byte [rbp + r13 + 2]
movzx ecx, byte [r14 + rcx + 0x188]
add rcx, rsi
mov ecx, dword [rax + rcx*4]
cmp rcx, 0x7ffffff
ja 0x14010389d
movzx edx, byte [rbp + r13 + 3]
movzx edx, byte [r14 + rdx + 0x188]
add rdx, rcx
mov esi, dword [rax + rdx*4]
cmp esi, 0x7ffffff
ja 0x1401038b2
add r13, 4
cmp r13, rbx
jb 0x1401037f0
jmp 0x140103ad4
inc r13
mov edx, ecx
mov r12, r13
test esi, esi
jns 0x140103946
jmp 0x1401038bc
add r13, 2
mov edx, esi
mov r12, r13
mov esi, ecx
test esi, esi
jns 0x140103946
jmp 0x1401038bc
mov edx, ecx
test esi, esi
jns 0x140103946
cmp qword [rdi], 0
je 0x14010427b
mov qword [rdi + 0x10], r12
cmp r12, r11
jae 0x14010427b
movzx r8d, byte [rbp + r12]
movzx r9d, byte [r14 + r8 + 0x188]
mov ecx, edx
add rcx, r9
cmp rcx, qword [rdi + 0x40]
jae 0x14010427b
mov esi, dword [rax + rcx*4]
test esi, esi
jns 0x140103946
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
call fcn.1400cc830
test eax, eax
jne 0x140102e59
mov esi, edx
jmp 0x140103943
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, esi
call fcn.1400cc830
test eax, eax
jne 0x1401040c2
mov esi, edx
mov r12, r13
mov r11, r15
cmp esi, 0x7ffffff
jbe 0x140103b5c
mov eax, esi
test eax, 0x10000000
je 0x140103adc
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
lea rcx, [rsp + 0x40]
mov rdx, qword [rsp + 0x90]
mov r8, rbp
mov r9, r11
call qword [rsp + 0x98]
cmp qword [rsp + 0x40], 0
je 0x140103c57
mov r13, qword [rsp + 0x48]
cmp r13, r12
jbe 0x140103b59
cmp dword [rsp + 0x68], 0
mov rdx, qword [rsp + 0x58]
mov r11, r15
je 0x140103773
cmp r11, rbx
jb 0x14010427b
cmp qword [rsp + 0x78], r13
jb 0x14010427b
lea r12, [r13 - 1]
cmp r11, r12
mov r10, qword [rsp + 0xd0]
jbe 0x140103a33
movzx ecx, byte [rbp + r12]
mov rax, qword [r10 + 8]
or rax, qword [r10 + 0x18]
mov r8, qword [r10]
or r8, qword [r10 + 0x10]
or r8, rax
je 0x140103a2b
xor eax, eax
mov r8d, 1
shld rax, r8, cl
mov r9d, ecx
shr r9d, 7
shl r8, cl
shl r9, 4
test cl, 0x40
cmovne rax, r8
mov esi, 0
cmovne r8, rsi
and rax, qword [r10 + r9 + 8]
and r8, qword [r10 + r9]
or r8, rax
jne 0x140104089
movzx eax, byte [r14 + rcx + 0x78]
jmp 0x140103a35
mov al, 2
movzx r9d, al
mov rax, r9
test edx, edx
je 0x140103a7e
cmp edx, 1
jne 0x140103a4b
lea rax, [r9 + 6]
jmp 0x140103a7e
test byte [rsp + 0xc8], 1
je 0x140104082
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x88]
cmp qword [rax + 0x160], rcx
jbe 0x14010375d
mov rax, qword [rsp + 0xd8]
add rax, r9
cmp rax, qword [rdi + 0x58]
jae 0x14010427b
mov rcx, qword [rdi + 0x48]
mov esi, dword [rcx + rax*4]
test esi, esi
jns 0x140103773
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0xb8], rdi
lea rcx, [rsp + 0xb0]
mov r8d, dword [rsp + 0xa0]
call fcn.1400cdb30
mov rsi, rax
shr rsi, 0x20
cmp eax, 5
jne 0x14010423e
mov r11, r15
jmp 0x140103773
mov r12, r13
jmp 0x140103b5c
test eax, 0x8000000
je 0x1401041f2
mov eax, 1
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x80], 0
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x160], 1
jne 0x140103b15
mov qword [rsp + 0xa8], r12
jmp 0x140103b5c
mov eax, esi
and eax, 0x7ffffff
mov rcx, qword [rsp + 0xc0]
shr rax, cl
cmp rax, qword [rdi + 0x70]
jae 0x14010427b
mov rdx, qword [rdi + 0x60]
shl rax, 4
mov rcx, qword [rdx + rax]
mov rdx, qword [rdx + rax + 8]
xor r8d, r8d
call fcn.1400f1ef0
mov dword [rsp + 0x80], eax
mov qword [rsp + 0xa8], r12
mov r11, r15
inc r12
cmp r12, rbx
jb 0x140103758
jmp 0x140103b71
xor eax, eax
mov qword [rsp + 0x70], rax
cmp rbx, r11
jae 0x140103bdb
movzx r15d, byte [rbp + rbx]
movzx ecx, byte [r14 + r15 + 0x188]
mov eax, esi
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rdi + 0x40]
mov ebp, dword [rsp + 0x80]
mov r12, qword [rsp + 0xa8]
jae 0x14010427b
mov rcx, qword [rdi + 0x30]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x14010411b
mov edx, edx
test edx, 0x8000000
jne 0x140103cab
test edx, 0x20000000
mov r8, qword [rsp + 0x70]
jne 0x140102515
jmp 0x140103d75
movzx r8d, byte [r14 + 0x287]
shl r8d, 0x10
add r8d, 0x10001
mov ecx, r8d
shr ecx, 0x10
mov eax, esi
and eax, 0x7ffffff
add rax, rcx
cmp qword [rdi + 0x40], rax
mov ebp, dword [rsp + 0x80]
mov r12, qword [rsp + 0xa8]
jbe 0x14010427b
mov rcx, qword [rdi + 0x30]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x14010416c
test edx, 0x8000000
mov r8, qword [rsp + 0x70]
je 0x140103d75
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x160], 1
jne 0x140103d20
mov r8d, 1
xor ebp, ebp
jmp 0x140103d72
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14010427b
mov rcx, rbx
sub rcx, rax
neg rcx
sub rbx, rax
cmovb rbx, rcx
add qword [rdi + 0x158], rbx
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x70]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0x80]
mov dword [rax + 0x10], ecx
jmp 0x140104158
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x160], 1
jne 0x140103d33
mov r8d, 1
xor ebp, ebp
mov r12, rbx
jmp 0x140103d75
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov r8d, ebp
call fcn.1400cdb30
mov rcx, rax
mov rsi, rax
shr rsi, 0x20
cmp ecx, 5
jne 0x140102a7c
jmp 0x140102bc9
mov rcx, qword [r14 + 0x180]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x14010427b
mov ebp, 1
shl rbp, cl
or ebp, 0x40000000
jmp 0x140102ec6
and edx, 0x7ffffff
movzx ecx, byte [r14 + 0x180]
shr rdx, cl
jmp 0x140103d47
and edx, 0x7ffffff
movzx ecx, byte [r14 + 0x180]
shr rdx, cl
mov r15, rbx
cmp rdx, qword [rdi + 0x70]
jae 0x14010427b
mov rax, qword [rdi + 0x60]
shl rdx, 4
mov rcx, qword [rax + rdx]
mov rdx, qword [rax + rdx + 8]
xor r8d, r8d
call fcn.1400f1ef0
mov ebp, eax
mov r8d, 1
mov r12, r15
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14010427b
mov rcx, rbx
sub rcx, rax
neg rcx
sub rbx, rax
cmovb rbx, rcx
add qword [rdi + 0x158], rbx
mov rax, qword [rsp + 0x38]
mov qword [rax], r8
mov qword [rax + 8], r12
mov dword [rax + 0x10], ebp
jmp 0x140104158
mov r10, r12
xor eax, eax
test edx, 0x8000000
je 0x1401020e5
mov ecx, 1
cmp qword [r15 + 0x160], 1
je 0x140103e14
mov rsi, r10
and edx, 0x7ffffff
movzx ecx, byte [r14 + 0x180]
shr rdx, cl
cmp rdx, qword [rdi + 0x70]
jae 0x14010427b
mov rax, qword [rdi + 0x60]
shl rdx, 4
mov rcx, qword [rax + rdx]
mov rdx, qword [rax + rdx + 8]
xor r8d, r8d
call fcn.1400f1ef0
mov ecx, 1
mov r10, rsi
mov rdx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14010427b
mov r8, rbx
sub r8, rdx
neg r8
sub rbx, rdx
cmovb rbx, r8
add qword [rdi + 0x158], rbx
mov rdx, qword [rsp + 0x38]
mov qword [rdx], rcx
mov qword [rdx + 8], r10
mov dword [rdx + 0x10], eax
jmp 0x140104158
xor eax, eax
mov rcx, qword [rsp + 0x60]
cmp qword [rcx + 0x160], 1
je 0x140103e99
and ebp, 0x7ffffff
mov rcx, qword [rsp + 0xc8]
shr rbp, cl
cmp rbp, qword [rdi + 0x70]
jae 0x14010427b
mov rax, qword [rdi + 0x60]
shl rbp, 4
mov rcx, qword [rax + rbp]
mov rdx, qword [rax + rbp + 8]
xor r8d, r8d
call fcn.1400f1ef0
mov rcx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14010427b
mov rdx, r12
sub rdx, rcx
neg rdx
mov r8, r12
sub r8, rcx
cmovb r8, rdx
add qword [rdi + 0x158], r8
mov rcx, qword [rsp + 0x38]
mov qword [rcx], 1
mov qword [rcx + 8], r12
mov dword [rcx + 0x10], eax
jmp 0x140104158
mov rcx, r12
call fcn.1400e52b0
jmp 0x140103ef1
mov edx, esi
call fcn.1400e5310
mov rcx, qword [rsp + 0x38]
mov qword [rcx + 8], rax
mov eax, 2
mov rcx, qword [rsp + 0x38]
mov qword [rcx], rax
jmp 0x140104158
mov rcx, qword [r14 + 0x180]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x14010427b
mov esi, 1
shl rsi, cl
or esi, 0x40000000
jmp 0x1401036a5
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0xb8], rdi
lea rcx, [rsp + 0xb0]
mov r8d, dword [rsp + 0x78]
call fcn.1400cdb30
mov r11, r15
mov rcx, rax
mov rbp, rax
shr rbp, 0x20
cmp ecx, 5
jne 0x140102dd4
jmp 0x140102ec6
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14010427b
mov rcx, r12
sub rcx, rax
neg rcx
sub r12, rax
cmovb r12, rcx
add qword [rdi + 0x158], r12
jmp 0x140102b7a
mov r8d, esi
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, ebp
call fcn.1400cc830
test eax, eax
jne 0x140104140
jmp 0x140103341
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, ebp
call fcn.1400cc830
test eax, eax
jne 0x14010418a
mov r11, r15
xor eax, eax
test edx, 0x8000000
je 0x1401033ad
mov ecx, 1
cmp qword [rsi + 0x160], 1
je 0x140104045
and edx, 0x7ffffff
movzx ecx, byte [r14 + 0x180]
shr rdx, cl
cmp rdx, qword [rdi + 0x70]
jae 0x14010427b
mov rax, qword [rdi + 0x60]
shl rdx, 4
mov rcx, qword [rax + rdx]
mov rdx, qword [rax + rdx + 8]
xor r8d, r8d
call fcn.1400f1ef0
mov ecx, 1
mov r11, r15
mov rdx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14010427b
mov r8, rbx
sub r8, rdx
neg r8
sub rbx, rdx
cmovb rbx, r8
add qword [rdi + 0x158], rbx
mov rdx, qword [rsp + 0x38]
mov qword [rdx], rcx
mov qword [rdx + 8], r11
jmp 0x140103e4c
mov eax, 2
jmp 0x140104096
mov eax, 4
mov qword [rsp + 0x88], rcx
lea edx, [rax - 3]
cmp edx, 2
mov ecx, 2
cmovb ecx, edx
test ecx, ecx
je 0x1401040c2
cmp ecx, 1
jne 0x140104107
mov rcx, qword [rsp + 0x88]
mov rdx, r12
call fcn.1400e5250
jmp 0x140104148
mov rcx, r13
jmp 0x140104143
mov qword [rsp + 0xb0], r14
mov qword [rsp + 0xb8], rdi
lea rcx, [rsp + 0xb0]
mov r8d, dword [rsp + 0xa0]
call fcn.1400cdb30
mov r11, r15
mov rcx, rax
mov rsi, rax
shr rsi, 0x20
cmp ecx, 5
jne 0x140103620
jmp 0x1401036a5
mov ecx, eax
mov rdx, qword [rsp + 0x88]
jmp 0x140102d93
mov rcx, rbp
jmp 0x140104143
mov r8d, r15d
shl r8d, 8
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, esi
call fcn.1400cc830
test eax, eax
je 0x140103bb7
mov rcx, rbx
call fcn.1400e52b0
mov rcx, qword [rsp + 0x38]
mov qword [rcx + 8], rax
mov qword [rcx], 2
add rsp, 0xe8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x40], r14
mov qword [rsp + 0x48], rdi
lea rcx, [rsp + 0x40]
mov edx, esi
call fcn.1400cc830
test eax, eax
je 0x140103c26
mov rcx, r15
jmp 0x140104143
mov eax, 2
jmp 0x1401041a0
mov eax, 4
mov qword [rsp + 0x70], rcx
lea edx, [rax - 3]
cmp edx, 2
mov ecx, 2
cmovb ecx, edx
test ecx, ecx
je 0x1401041c6
cmp ecx, 1
jne 0x1401041d0
mov rcx, qword [rsp + 0x70]
mov rdx, r12
call fcn.1400e5250
jmp 0x1401041dc
mov rcx, r13
call fcn.1400e52b0
jmp 0x1401041dc
mov ecx, eax
mov rdx, qword [rsp + 0x70]
call fcn.1400e5310
mov rcx, qword [rsp + 0x38]
mov qword [rcx + 8], rax
mov eax, 2
mov qword [rcx], rax
jmp 0x140104158
test eax, 0x40000000
jne 0x14010424b
test eax, 0x20000000
je 0x14010427b
mov rcx, rdi
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14010427b
mov rcx, r12
sub rcx, rax
neg rcx
mov rdx, r12
sub rdx, rax
cmovb rdx, rcx
add qword [rdi + 0x158], rdx
cmp r12, r15
jae 0x14010427b
movzx ecx, byte [rbp + r12]
jmp 0x140103466
mov qword [rsp + 0x88], rsi
jmp 0x140104096
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x14010427b
mov rdx, rdi
mov rcx, r12
sub rcx, rax
neg rcx
sub r12, rax
cmovb r12, rcx
add qword [rdi + 0x158], r12
jmp 0x140103c83
ud2
mov qword [rsp + 0x70], rbp
jmp 0x1401041a0