Function at 0x14005e520
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
mov r13, rcx
mov rbp, qword [r9 + 0x18]
mov rbx, qword [r9 + 0x20]
cmp rbp, rbx
jbe 0x14005e550
mov qword [r13], 0
jmp 0x1400608e3
mov rdi, r8
mov r14, rdx
mov eax, dword [r9]
mov qword [rsp + 0x50], rax
dec eax
cmp eax, 2
jb 0x14005e585
lea rax, [r14 + 0x60]
cmp byte [r14 + 0x78], 3
lea r12, [0x140226340]
cmovne r12, rax
cmp byte [r12 + 0x18], 2
jne 0x14005e6f1
cmp byte [r9 + 0x28], 0
je 0x14005e646
mov rax, qword [r14 + 0x2b0]
mov qword [rsp + 0x38], rax
test rbp, rbp
je 0x14005e7b9
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
mov r12, qword [rsp + 0x50]
jae 0x14005e7d2
mov rcx, qword [r9 + 8]
movzx edx, byte [rcx + rax]
mov esi, dword [r9 + 4]
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x14005e628
lea rax, [r14 + 0x290]
mov r8d, edx
shr r8d, 3
and r8d, 0xfffffff0
mov r10d, 1
xor r11d, r11d
mov ecx, edx
shld r11, r10, cl
shl r10, cl
xor ecx, ecx
test dl, 0x40
cmovne r11, r10
cmovne r10, rcx
and r11, qword [rax + r8 + 8]
and r10, qword [rax + r8]
or r10, r11
jne 0x14005e6e7
movzx eax, byte [r14 + rdx + 0x90]
movzx r15d, al
mov rcx, r15
test r12d, r12d
jne 0x14005e7e4
jmp 0x14005e816
mov r11, qword [r14 + 0x2b0]
test rbp, rbp
mov qword [rsp + 0x48], r11
je 0x14005eb61
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
mov r12, qword [rsp + 0x50]
jae 0x14005ec41
mov rcx, qword [r9 + 8]
movzx edx, byte [rcx + rax]
mov esi, dword [r9 + 4]
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x14005ecf5
lea rax, [r14 + 0x290]
mov r8d, edx
shr r8d, 3
and r8d, 0xfffffff0
mov r10d, 1
xor r11d, r11d
mov ecx, edx
shld r11, r10, cl
shl r10, cl
xor ecx, ecx
test dl, 0x40
cmovne r11, r10
cmovne r10, rcx
and r11, qword [rax + r8 + 8]
and r10, qword [rax + r8]
or r10, r11
mov r11, qword [rsp + 0x48]
je 0x14005ecf5
mov eax, 4
jmp 0x14005f4b5
cmp byte [r9 + 0x28], 0
mov qword [rsp + 0x30], r13
je 0x14005eb81
mov r11, qword [r14 + 0x2b0]
mov eax, dword [r11 + 0x17c]
mov dword [rsp + 0xb8], eax
test rbp, rbp
je 0x14005eb4f
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
jae 0x14005eb4f
mov rcx, qword [r9 + 8]
movzx esi, byte [rcx + rax]
mov eax, dword [r9 + 4]
mov dword [rsp + 0x90], eax
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x14005f2b6
lea rax, [r14 + 0x290]
mov edx, esi
shr edx, 3
and edx, 0xfffffff0
mov r8d, 1
xor r10d, r10d
mov ecx, esi
shld r10, r8, cl
shl r8, cl
xor ecx, ecx
test sil, 0x40
cmovne r10, r8
cmovne r8, rcx
and r10, qword [rax + rdx + 8]
and r8, qword [rax + rdx]
or r8, r10
je 0x14005f2b6
shl rsi, 0x20
or rsi, 4
mov rcx, rbp
mov rdx, rsi
jmp 0x14005f4bf
mov esi, dword [r9 + 4]
mov al, 2
mov r12, qword [rsp + 0x50]
movzx r15d, al
mov rcx, r15
test r12d, r12d
jne 0x14005e7e4
jmp 0x14005e816
mov esi, dword [r9 + 4]
mov al, 2
movzx r15d, al
mov rcx, r15
test r12d, r12d
je 0x14005e816
cmp r12d, 2
jne 0x14005e812
test byte [r14 + 0x81], 1
mov edx, esi
jne 0x14005eca3
mov rax, rdx
shl rax, 0x20
or rax, 2
mov eax, eax
cmp rax, 5
je 0x14005e834
jmp 0x14005f4b5
lea rcx, [r15 + 6]
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x1400609f9
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x14005f27b
mov edx, eax
cmp qword [rdi], 1
jne 0x14005e859
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
mov r8, rax
sub r8, rcx
neg r8
sub rax, rcx
cmovb rax, r8
add qword [rdi + 0x158], rax
mov qword [rdi], 1
mov qword [rdi + 8], rbp
mov qword [rdi + 0x10], rbp
cmp rbp, rbx
jae 0x14005eaa8
mov r15, qword [r9 + 8]
mov rsi, qword [r9 + 0x10]
jmp 0x14005e892
mov rbp, r12
mov edx, r10d
inc rbp
cmp rbp, rbx
jae 0x14005eaac
cmp edx, 0x7ffffff
jbe 0x14005e910
cmp qword [rdi], 0
je 0x1400609ae
mov qword [rdi + 0x10], rbp
cmp rbp, rsi
jae 0x1400609d5
movzx r8d, byte [r15 + rbp]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, edx
and ecx, 0x7ffffff
add rcx, rax
mov rax, qword [rdi + 0x28]
cmp rcx, rax
jae 0x1400609c6
mov rax, qword [rdi + 0x20]
mov r10d, dword [rax + rcx*4]
test r10d, r10d
js 0x14005ea6d
mov r12, rbp
cmp r10d, 0x8000000
jb 0x14005e880
mov eax, r10d
mov ecx, eax
and ecx, 0x10000000
jne 0x14005e880
jmp 0x14005ec5c
cmp rbp, rbx
jae 0x14005e886
mov r11, qword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
nop word cs:[rax + rax]
movzx ecx, byte [r15 + rbp]
movzx ecx, byte [r14 + rcx + 0x190]
mov r8d, edx
add r8, rcx
mov ecx, dword [r11 + r8*4]
lea r12, [rbp + 3]
cmp r12, rbx
jae 0x14005e9e9
cmp ecx, 0x8000000
jae 0x14005e9e9
movzx edx, byte [r15 + rbp + 1]
movzx edx, byte [r14 + rdx + 0x190]
add rdx, rcx
mov edx, dword [r11 + rdx*4]
cmp rdx, 0x7ffffff
ja 0x14005e9cf
movzx ecx, byte [r15 + rbp + 2]
movzx ecx, byte [r14 + rcx + 0x190]
add rcx, rdx
mov ecx, dword [r11 + rcx*4]
cmp rcx, 0x7ffffff
ja 0x14005e9e5
movzx edx, byte [r15 + rbp + 3]
movzx edx, byte [r14 + rdx + 0x190]
add rdx, rcx
mov edx, dword [r11 + rdx*4]
cmp edx, 0x7ffffff
ja 0x14005e9fa
add rbp, 4
cmp rbp, rbx
jb 0x14005e930
jmp 0x14005e886
inc rbp
mov r10d, edx
mov edx, ecx
mov r12, rbp
test r10d, r10d
jns 0x14005e8eb
jmp 0x14005ea08
add rbp, 2
mov r10d, ecx
mov r12, rbp
test r10d, r10d
jns 0x14005e8eb
jmp 0x14005ea08
mov r10d, edx
mov edx, ecx
test r10d, r10d
jns 0x14005e8eb
cmp qword [rdi], 0
je 0x1400609ae
mov qword [rdi + 0x10], r12
movzx r8d, byte [r15 + r12]
movzx r10d, byte [r14 + r8 + 0x190]
mov ecx, edx
add rcx, r10
cmp rcx, rax
jae 0x1400609c6
mov r10d, dword [r11 + rcx*4]
test r10d, r10d
jns 0x14005e8eb
mov rbp, r9
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
call fcn.14005b220
test eax, eax
jne 0x14005fde2
mov r10d, edx
mov r9, rbp
jmp 0x14005e8eb
mov qword [rsp + 0x30], r13
mov r13, r9
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
call fcn.14005b220
test eax, eax
jne 0x1400606c9
mov r10d, edx
mov r12, rbp
mov r9, r13
mov r13, qword [rsp + 0x30]
jmp 0x14005e8eb
mov rsi, qword [r9 + 0x10]
cmp rbx, rsi
jae 0x14005eb07
mov rax, qword [r9 + 8]
movzx esi, byte [rax + rbx]
movzx eax, byte [r14 + rsi + 0x190]
mov ecx, edx
and ecx, 0x7ffffff
add rcx, rax
mov rax, qword [rdi + 0x28]
cmp rcx, rax
jae 0x1400609c6
mov rax, qword [rdi + 0x20]
mov r8d, dword [rax + rcx*4]
test r8d, r8d
js 0x14005fc28
mov eax, r8d
test eax, 0x8000000
jne 0x14005fc5c
test eax, 0x20000000
je 0x14005eb48
mov ecx, esi
jmp 0x14005f14f
movzx eax, byte [r14 + 0x28f]
mov ecx, edx
and ecx, 0x7ffffff
add ecx, eax
inc ecx
mov r9, qword [rdi + 0x28]
cmp r9, rcx
jbe 0x140060a5d
mov r8, qword [rdi + 0x20]
mov r8d, dword [r8 + rcx*4]
test r8d, r8d
js 0x14005fc81
xor eax, eax
test r8d, 0x8000000
jne 0x140060659
xor ecx, ecx
jmp 0x14006068c
mov eax, dword [r9 + 4]
mov dword [rsp + 0x90], eax
mov al, 2
jmp 0x14005f2bf
mov esi, dword [r9 + 4]
mov al, 2
mov r12, qword [rsp + 0x50]
movzx r15d, al
mov rcx, r15
test r12d, r12d
jne 0x14005ed0a
jmp 0x14005ed18
mov r15, qword [r14 + 0x2b0]
mov eax, dword [r15 + 0x17c]
mov dword [rsp + 0xb8], eax
test rbp, rbp
je 0x14005ecd3
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
jae 0x14005ecd3
mov rcx, qword [r9 + 8]
movzx r13d, byte [rcx + rax]
mov eax, dword [r9 + 4]
mov dword [rsp + 0xb0], eax
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x14005f4e5
lea rax, [r14 + 0x290]
mov edx, r13d
shr edx, 3
and edx, 0xfffffff0
mov r8d, 1
xor r10d, r10d
mov ecx, r13d
shld r10, r8, cl
shl r8, cl
xor ecx, ecx
test r13b, 0x40
cmovne r10, r8
cmovne r8, rcx
and r10, qword [rax + rdx + 8]
and r8, qword [rax + rdx]
or r8, r10
je 0x14005f4e5
shl r13, 0x20
or r13, 4
mov rcx, rbp
mov rdx, r13
call fcn.140060be0
jmp 0x14005fbc6
mov esi, dword [r9 + 4]
mov al, 2
movzx r15d, al
mov rcx, r15
test r12d, r12d
jne 0x14005ed0a
jmp 0x14005ed18
test eax, 0x8000000
jne 0x14005f210
test eax, 0x40000000
jne 0x14005f4d5
test eax, 0x20000000
je 0x140060b4f
mov rcx, rdi
mov rdx, r12
call fcn.140060e30
cmp r12, rsi
jae 0x140060b87
movzx ecx, byte [r15 + r12]
mov rdx, r12
call fcn.140060de0
jmp 0x14005f4c4
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x168], rdx
jbe 0x14005f260
lea rax, [rdx + rdx*2]
lea rcx, [r15 + rax*2]
add rcx, 0xc
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jb 0x14005e823
jmp 0x1400609f9
mov eax, dword [r9 + 4]
mov dword [rsp + 0xb0], eax
mov al, 2
movzx eax, al
mov rdx, qword [rdi + 0x40]
cmp rdx, rax
ja 0x14005f4fe
jmp 0x140060a6c
movzx eax, byte [r14 + rdx + 0x90]
movzx r15d, al
mov rcx, r15
test r12d, r12d
je 0x14005ed18
cmp r12d, 1
jne 0x14005f15c
lea rcx, [r15 + 6]
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x1400609f9
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x14005f47a
mov edx, eax
cmp qword [rdi], 1
jne 0x14005ed5b
mov rax, qword [rdi + 0x10]
mov rcx, qword [rdi + 8]
mov r8, rax
sub r8, rcx
neg r8
sub rax, rcx
cmovb rax, r8
add qword [rdi + 0x158], rax
mov qword [rdi], 1
mov qword [rdi + 8], rbp
mov qword [rdi + 0x10], rbp
cmp rbp, rbx
jae 0x14005f0e1
mov qword [rsp + 0x30], r13
mov r13, qword [r9 + 8]
mov r10, qword [r9 + 0x10]
mov rax, qword [r14 + 0x2b8]
and eax, 0x3f
mov qword [rsp + 0xb8], rax
xor esi, esi
mov qword [rsp + 0x50], r10
jmp 0x14005edb2
mov r12, rbp
inc r12
mov rbp, r12
cmp r12, rbx
jae 0x14005f178
cmp edx, 0x7ffffff
jbe 0x14005ee20
cmp qword [rdi], 0
je 0x1400609ae
mov qword [rdi + 0x10], rbp
cmp rbp, r10
jae 0x1400609e7
movzx r8d, byte [r13 + rbp]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, edx
and ecx, 0x7ffffff
add rcx, rax
mov rax, qword [rdi + 0x28]
cmp rcx, rax
jae 0x1400609c6
mov rax, qword [rdi + 0x20]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x14005f046
mov edx, eax
mov r12, rbp
cmp edx, 0x8000000
jae 0x14005ef80
jmp 0x14005eda3
cmp rbp, rbx
jae 0x14005eda0
mov r10, qword [rdi + 0x20]
mov rax, qword [rdi + 0x28]
nop word cs:[rax + rax]
movzx ecx, byte [r13 + rbp]
movzx ecx, byte [r14 + rcx + 0x190]
mov r8d, edx
add r8, rcx
mov ecx, dword [r10 + r8*4]
lea r12, [rbp + 3]
cmp r12, rbx
jae 0x14005ef54
cmp ecx, 0x8000000
jae 0x14005ef54
movzx edx, byte [r13 + rbp + 1]
movzx edx, byte [r14 + rdx + 0x190]
add rdx, rcx
mov edx, dword [r10 + rdx*4]
cmp rdx, 0x7ffffff
ja 0x14005eef0
movzx ecx, byte [r13 + rbp + 2]
movzx ecx, byte [r14 + rcx + 0x190]
add rcx, rdx
mov ecx, dword [r10 + rcx*4]
cmp rcx, 0x7ffffff
ja 0x14005ef50
movzx edx, byte [r13 + rbp + 3]
movzx edx, byte [r14 + rdx + 0x190]
add rdx, rcx
mov edx, dword [r10 + rdx*4]
cmp edx, 0x7ffffff
ja 0x14005f033
add rbp, 4
cmp rbp, rbx
jb 0x14005ee40
mov r12, rbp
mov r10, qword [rsp + 0x50]
jmp 0x14005eda3
inc rbp
mov r8d, edx
mov edx, ecx
mov r12, rbp
test r8d, r8d
jns 0x14005ef5f
cmp qword [rdi], 0
je 0x1400609ae
mov qword [rdi + 0x10], r12
movzx r8d, byte [r13 + r12]
movzx r11d, byte [r14 + r8 + 0x190]
mov ecx, edx
add rcx, r11
cmp rcx, rax
jae 0x1400609c6
mov eax, dword [r10 + rcx*4]
test eax, eax
mov r11, qword [rsp + 0x48]
js 0x14005f0a0
mov edx, eax
mov r10, qword [rsp + 0x50]
cmp edx, 0x8000000
jae 0x14005ef80
jmp 0x14005eda3
add rbp, 2
mov r8d, ecx
mov r12, rbp
test r8d, r8d
js 0x14005ef00
mov edx, r8d
mov r10, qword [rsp + 0x50]
cmp edx, 0x8000000
jb 0x14005eda3
nop word cs:[rax + rax]
mov eax, edx
mov ecx, eax
and ecx, 0x10000000
jne 0x14005eda3
test eax, 0x8000000
je 0x14005f418
xor r15d, r15d
mov esi, 1
cmp qword [r11 + 0x168], 1
jne 0x14005efb7
mov qword [rsp + 0x38], r12
jmp 0x14005eda3
mov r10d, edx
and r10d, 0x7ffffff
mov rcx, qword [rsp + 0xb8]
shr r10, cl
mov rax, qword [rdi + 0x58]
cmp r10, rax
jae 0x140060a11
mov rcx, qword [rdi + 0x50]
shl r10d, 4
mov rax, qword [rcx + r10 + 8]
test rax, rax
je 0x140060a23
mov rcx, qword [rcx + r10]
test byte [rcx + 0x10], 2
jne 0x14005f008
mov qword [rsp + 0x38], r12
mov r10, qword [rsp + 0x50]
jmp 0x14005eda3
cmp rax, 0xd
mov r10, qword [rsp + 0x50]
jb 0x140060a8f
add rax, 0xfffffffffffffff3
cmp rax, 3
jbe 0x140060a7b
mov r15d, dword [rcx + 0x1d]
mov qword [rsp + 0x38], r12
jmp 0x14005eda3
mov r8d, edx
mov edx, ecx
test r8d, r8d
jns 0x14005ef5f
jmp 0x14005ef00
mov dword [rsp + 0x90], r15d
mov r15, rsi
mov rsi, r9
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
call fcn.14005b220
test eax, eax
jne 0x1400607b8
mov r12, rbp
mov r9, rsi
mov r11, qword [rsp + 0x48]
mov rsi, r15
mov r15d, dword [rsp + 0x90]
mov r10, qword [rsp + 0x50]
cmp edx, 0x8000000
jae 0x14005ef80
jmp 0x14005eda3
mov rbp, r9
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
call fcn.14005b220
test eax, eax
jne 0x140060940
mov r9, rbp
mov r11, qword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
cmp edx, 0x8000000
jae 0x14005ef80
jmp 0x14005eda3
mov r10, qword [r9 + 0x10]
xor esi, esi
cmp rbx, r10
jae 0x14005f186
mov ebp, r15d
mov rax, qword [r9 + 8]
movzx r15d, byte [rax + rbx]
movzx eax, byte [r14 + r15 + 0x190]
mov ecx, edx
and ecx, 0x7ffffff
add rcx, rax
mov rax, qword [rdi + 0x28]
cmp rcx, rax
jae 0x1400609c6
mov rax, qword [rdi + 0x20]
mov r8d, dword [rax + rcx*4]
test r8d, r8d
js 0x14005fd93
mov eax, r8d
test eax, 0x8000000
jne 0x14006086e
test eax, 0x20000000
mov rdx, qword [rsp + 0x38]
je 0x1400608ab
mov ecx, r15d
mov rdx, rbx
call fcn.140060de0
jmp 0x14005f4c4
test byte [r14 + 0x81], 1
mov edx, esi
jne 0x14005f1e5
mov rax, rdx
shl rax, 0x20
or rax, 2
jmp 0x14005f4a9
mov r13, qword [rsp + 0x30]
cmp rbx, r10
jb 0x14005f0f0
movzx eax, byte [r14 + 0x28f]
mov ecx, edx
and ecx, 0x7ffffff
add ecx, eax
inc ecx
mov r9, qword [rdi + 0x28]
cmp r9, rcx
jbe 0x140060a5d
mov r12, r10
mov ebp, r15d
mov r8, qword [rdi + 0x20]
mov r8d, dword [r8 + rcx*4]
test r8d, r8d
js 0x14005fdbb
test r8d, 0x8000000
mov rdx, qword [rsp + 0x38]
je 0x1400608ab
cmp qword [r11 + 0x168], 1
jne 0x140060887
xor ebp, ebp
jmp 0x1400608a3
cmp qword [r11 + 0x168], rdx
jbe 0x14005f45a
lea rax, [rdx + rdx*2]
lea rcx, [r15 + rax*2]
add rcx, 0xc
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jb 0x14005ed25
jmp 0x1400609f9
xor esi, esi
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x168], 1
je 0x14005f240
mov rcx, r14
mov rdx, rdi
mov r8d, r10d
call fcn.14005dee0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.140060d70
mov esi, eax
mov rcx, rdi
mov rdx, r12
call fcn.140060e30
mov qword [r13], 1
mov qword [r13 + 8], r12
mov dword [r13 + 0x10], esi
jmp 0x1400608e3
mov rcx, r14
mov r12, r9
call fcn.14005df30
mov r9, r12
mov r12, qword [rsp + 0x50]
test eax, eax
jns 0x14005e832
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, r12d
mov r8d, esi
mov rsi, r9
mov r9d, r15d
call fcn.14005d270
mov r9, rsi
mov rdx, rax
shr rdx, 0x20
mov eax, eax
cmp rax, 5
je 0x14005e834
jmp 0x14005f4b5
movzx eax, byte [r14 + rsi + 0x90]
mov qword [rsp + 0xc8], r11
movzx eax, al
mov rdx, qword [rdi + 0x40]
cmp rdx, rax
jbe 0x140060a6c
mov rcx, qword [rdi + 0x38]
mov esi, dword [rcx + rax*4]
test esi, esi
js 0x14005fcb0
mov r15, qword [r9 + 8]
mov r13, qword [r9 + 0x10]
mov rax, qword [r12]
mov rcx, qword [r12 + 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], rbp
lea rcx, [rsp + 0xe8]
mov qword [rsp + 0x48], rdx
mov r8, r15
mov r9, r13
mov qword [rsp + 0x38], r10
call r10
cmp qword [rsp + 0xe8], 0
je 0x14005fd3c
mov r12, qword [rsp + 0xf0]
cmp dword [rsp + 0xb8], 0
je 0x14005f703
mov qword [rsp + 0x128], r12
mov qword [rsp + 0x130], rbx
lea rax, [rbx + 1]
cmp rax, r12
jb 0x140060ab5
cmp r13, rbx
jb 0x140060ab5
mov al, 2
test r12, r12
je 0x14005f6e2
lea rcx, [r12 - 1]
cmp rcx, r13
jae 0x14005f6e2
movzx esi, byte [r15 + rcx]
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x14005f6d9
lea rax, [r14 + 0x290]
mov edx, esi
shr edx, 3
and edx, 0xfffffff0
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 + rdx + 8]
and r8, qword [rax + rdx]
or r8, r9
je 0x14005f6d9
mov ecx, 4
shl rsi, 0x20
or rsi, rcx
mov rcx, r12
mov rdx, rsi
jmp 0x14006083d
test eax, 0x40000000
jne 0x14005f699
test eax, 0x20000000
je 0x140060b4f
mov rcx, rdi
mov rdx, r12
call fcn.140060e30
mov rdx, qword [rsp + 0x50]
cmp r12, rdx
jae 0x140060b99
movzx ecx, byte [r13 + r12]
mov rdx, r12
call fcn.140060de0
jmp 0x14005fbc6
mov rcx, r14
mov r12, r9
call fcn.14005df30
mov r11, qword [rsp + 0x48]
mov r9, r12
mov r12, qword [rsp + 0x50]
test eax, eax
jns 0x14005ed34
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, r12d
mov r8d, esi
mov rsi, r9
mov r9d, r15d
call fcn.14005d270
mov r11, qword [rsp + 0x48]
mov r9, rsi
mov rdx, rax
shr rdx, 0x20
mov eax, eax
cmp rax, 5
je 0x14005ed36
shl rdx, 0x20
or rdx, rax
mov rcx, rbp
call fcn.140060be0
mov qword [r13 + 8], rax
mov qword [r13], 2
jmp 0x1400608e3
mov rcx, rdi
mov rdx, r12
call fcn.140060e30
jmp 0x14005e543
movzx eax, byte [r14 + r13 + 0x90]
movzx eax, al
mov rdx, qword [rdi + 0x40]
cmp rdx, rax
jbe 0x140060a6c
mov rcx, qword [rdi + 0x38]
mov r13d, dword [rcx + rax*4]
test r13d, r13d
js 0x14005fe6a
mov r8, qword [r9 + 8]
mov r9, qword [r9 + 0x10]
mov rax, qword [r12]
mov rcx, qword [r12 + 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], rbp
lea rcx, [rsp + 0x100]
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x90], r10
call r10
cmp qword [rsp + 0x100], 0
je 0x14005fd3c
mov qword [rsp + 0xa8], r15
mov r15, qword [rsp + 0x108]
cmp dword [rsp + 0xb8], 0
mov r9, qword [rsp + 0x38]
mov r11, qword [rsp + 0x48]
je 0x14005fef1
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], rbx
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x5c], eax
mov byte [rsp + 0x80], 0
lea rcx, [rsp + 0x58]
mov rdx, r15
mov r8, rbx
call fcn.140090290
mov r12, qword [rsp + 0x70]
test r12, r12
je 0x14005f6be
lea rax, [r12 - 1]
cmp rax, qword [rsp + 0x68]
mov r9, qword [rsp + 0x38]
mov r11, qword [rsp + 0x48]
jae 0x14005fc17
mov rcx, qword [rsp + 0x60]
movzx r13d, byte [rcx + rax]
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
mov rax, qword [r14 + 0x298]
or rax, qword [r14 + 0x2a8]
mov rcx, qword [r14 + 0x290]
or rcx, qword [r14 + 0x2a0]
or rcx, rax
je 0x14005fd4b
lea rsi, [r14 + 0x290]
mov edx, r13d
shr edx, 3
and edx, 0xfffffff0
mov dword [rsp + 0x98], r10d
mov eax, 1
xor r10d, r10d
mov ecx, r13d
shld r10, rax, cl
shl rax, cl
xor ecx, ecx
test r13b, 0x40
cmovne r10, rax
cmovne rax, rcx
and r10, qword [rsi + rdx + 8]
and rax, qword [rsi + rdx]
or rax, r10
mov r10d, dword [rsp + 0x98]
je 0x14005fd4b
mov eax, 4
jmp 0x140060830
mov rcx, rdi
mov rdx, r12
call fcn.140060e30
mov rax, qword [rsp + 0x30]
mov qword [rax], rsi
mov rcx, qword [rsp + 0x38]
mov qword [rax + 8], rcx
mov dword [rax + 0x10], r15d
jmp 0x1400608e3
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
mov al, 2
mov r9, qword [rsp + 0x38]
mov r11, qword [rsp + 0x48]
jmp 0x14005fd54
movzx eax, byte [r14 + rsi + 0x90]
movzx r9d, al
mov rdx, qword [rdi + 0x40]
cmp r9, rdx
jae 0x140060b40
mov rax, qword [rdi + 0x38]
mov esi, dword [rax + r9*4]
test esi, esi
js 0x14006077f
cmp qword [rdi], 1
jne 0x14005f728
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 0x14005fb88
lea rax, [rbx + 1]
mov qword [rsp + 0x98], rax
lea rax, [r14 + 0x290]
mov qword [rsp + 0xb0], rax
movzx eax, byte [r14 + 0x81]
mov byte [rsp + 0xa8], al
mov ecx, dword [rsp + 0x90]
lea rax, [rcx + rcx*2]
lea rax, [rax*2 + 0xc]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xd0], rcx
shl rcx, 0x20
add rcx, qword [rsp + 0x50]
mov qword [rsp + 0xe0], rcx
jmp 0x14005f7af
mov r12, rbp
inc r12
cmp r12, rbx
jae 0x14005fb88
cmp esi, 0x7ffffff
jbe 0x14005f815
cmp qword [rdi], 0
je 0x1400609ae
mov qword [rdi + 0x10], r12
cmp r12, r13
jae 0x140060a4b
movzx r8d, byte [r15 + r12]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, esi
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rcx, rdx
jae 0x140060a05
mov rax, qword [rdi + 0x20]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x14005fad3
mov esi, eax
mov rbp, r12
cmp esi, 0x7ffffff
jbe 0x14005f7a0
jmp 0x14005f94a
cmp r12, rbx
jae 0x14005f7a3
mov rax, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
nop word cs:[rax + rax]
movzx ecx, byte [r15 + r12]
movzx ecx, byte [r14 + rcx + 0x190]
mov r8d, esi
add r8, rcx
mov ecx, dword [rax + r8*4]
lea rbp, [r12 + 3]
cmp rbp, rbx
jae 0x14005f930
cmp ecx, 0x8000000
jae 0x14005f930
movzx r8d, byte [r15 + r12 + 1]
movzx r8d, byte [r14 + r8 + 0x190]
add r8, rcx
mov esi, dword [rax + r8*4]
cmp rsi, 0x7ffffff
ja 0x14005f8d7
movzx ecx, byte [r15 + r12 + 2]
movzx ecx, byte [r14 + rcx + 0x190]
add rcx, rsi
mov ecx, dword [rax + rcx*4]
cmp rcx, 0x7ffffff
ja 0x14005f92c
movzx r8d, byte [r15 + r12 + 3]
movzx r8d, byte [r14 + r8 + 0x190]
add r8, rcx
mov esi, dword [rax + r8*4]
cmp esi, 0x7ffffff
ja 0x14005fa9d
add r12, 4
cmp r12, rbx
jb 0x14005f830
jmp 0x14005f7a3
inc r12
mov r8d, esi
mov esi, ecx
mov rbp, r12
test r8d, r8d
jns 0x14005f93b
cmp qword [rdi], 0
je 0x1400609ae
mov qword [rdi + 0x10], rbp
movzx r8d, byte [r15 + rbp]
movzx r9d, byte [r14 + r8 + 0x190]
mov ecx, esi
add rcx, r9
cmp rcx, rdx
jae 0x140060a05
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x14005fb53
mov esi, eax
cmp esi, 0x7ffffff
jbe 0x14005f7a0
jmp 0x14005f94a
add r12, 2
mov r8d, ecx
mov rbp, r12
test r8d, r8d
js 0x14005f8e7
mov esi, r8d
cmp esi, 0x7ffffff
jbe 0x14005f7a0
mov eax, esi
test eax, 0x10000000
je 0x14005fcef
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbp
lea rcx, [rsp + 0xe8]
mov rdx, qword [rsp + 0x48]
mov r8, r15
mov r9, r13
call qword [rsp + 0x38]
cmp qword [rsp + 0xe8], 0
je 0x14005fd31
mov r12, qword [rsp + 0xf0]
cmp r12, rbp
jbe 0x14005f7a0
cmp dword [rsp + 0xb8], 0
mov r9, qword [rsp + 0xb0]
je 0x14005f7a6
mov qword [rsp + 0x128], r12
mov qword [rsp + 0x130], rbx
cmp r13, rbx
jb 0x140060ab5
cmp qword [rsp + 0x98], r12
jb 0x140060ab5
lea rcx, [r12 - 1]
mov al, 2
cmp rcx, r13
jae 0x14005fa44
movzx esi, byte [r15 + rcx]
mov rax, qword [r9 + 8]
or rax, qword [r9 + 0x18]
mov rcx, qword [r9]
or rcx, qword [r9 + 0x10]
or rcx, rax
je 0x14005fa3b
xor eax, eax
mov ecx, esi
mov edx, 1
shld rax, rdx, cl
mov edx, esi
shr edx, 3
mov r8d, 1
shl r8, cl
and edx, 0xfffffff0
test sil, 0x40
cmovne rax, r8
mov ecx, 0
cmovne r8, rcx
and rax, qword [r9 + rdx + 8]
and r8, qword [r9 + rdx]
or r8, rax
jne 0x140060948
movzx eax, byte [r14 + rsi + 0x90]
movzx ebp, al
mov rcx, rbp
cmp dword [rsp + 0x50], 0
je 0x14005fab4
cmp dword [rsp + 0x50], 2
jne 0x14005fab0
mov rsi, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xe0]
test byte [rsp + 0xa8], 1
je 0x14005fb42
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd0]
cmp qword [rax + 0x168], rcx
jbe 0x14005fb0b
mov rax, qword [rsp + 0xd8]
lea rcx, [rax + rbp]
jmp 0x14005fab4
mov r8d, esi
mov esi, ecx
test r8d, r8d
jns 0x14005f93b
jmp 0x14005f8e7
lea rcx, [rbp + 6]
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x1400609f9
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x14005fb17
mov esi, eax
jmp 0x14005f7a6
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, esi
call fcn.14005b220
test eax, eax
jne 0x140060940
mov esi, edx
mov rbp, r12
cmp esi, 0x7ffffff
jbe 0x14005f7a0
jmp 0x14005f94a
mov rcx, r14
call fcn.14005df30
test eax, eax
jns 0x14005facc
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov r8d, dword [rsp + 0x90]
mov r9d, ebp
call fcn.14005d270
mov rsi, rax
shr rsi, 0x20
mov eax, eax
cmp rax, 5
je 0x14005f7a6
jmp 0x14006094d
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, esi
call fcn.14005b220
test eax, eax
jne 0x1400607b8
mov esi, edx
cmp esi, 0x7ffffff
jbe 0x14005f7a0
jmp 0x14005f94a
cmp rbx, r13
jae 0x14005fbac
movzx ebp, byte [r15 + rbx]
mov rcx, r14
mov rdx, rdi
mov r8d, esi
mov r9d, ebp
call fcn.140060e80
test eax, eax
je 0x14005fbdb
mov rcx, rbx
jmp 0x14005fbc1
mov rcx, r14
mov rdx, rdi
mov r8d, esi
call fcn.140060cb0
test eax, eax
je 0x14005fbfe
mov rcx, r13
call fcn.140060d30
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], rax
mov qword [rcx], 2
jmp 0x1400608e3
mov r8d, edx
mov eax, edx
test eax, 0x8000000
jne 0x14005fdef
test eax, 0x20000000
jne 0x140060775
xor r15d, r15d
jmp 0x14005fe4b
mov r8d, edx
xor esi, esi
test edx, 0x8000000
jne 0x14005fe11
xor r15d, r15d
jmp 0x14005fe4b
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
mov al, 2
jmp 0x14005fd54
mov r8d, esi
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
call fcn.14005b220
test eax, eax
jne 0x14005fdb6
mov r8d, edx
mov eax, r8d
test eax, 0x8000000
je 0x14005eaf9
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x168], 1
mov rsi, rbx
jne 0x14006066d
xor eax, eax
mov ecx, 1
mov rsi, rbx
jmp 0x14006068c
inc eax
shl eax, 0x10
or eax, 1
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov r8d, eax
call fcn.14005b220
test eax, eax
je 0x140060647
mov rcx, rsi
jmp 0x14005fde5
mov r15, r9
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov r8d, dword [rsp + 0x90]
mov r9d, eax
call fcn.14005d270
mov rsi, rax
cmp esi, 5
jne 0x14005e7ae
shr rsi, 0x20
mov r9, r15
jmp 0x14005f2e6
test eax, 0x8000000
jne 0x1400605f1
test eax, 0x40000000
jne 0x140060913
test eax, 0x20000000
je 0x140060b4f
mov rcx, rdi
mov rdx, rbp
call fcn.140060e30
cmp rbp, r13
jae 0x140060bb7
movzx ecx, byte [r15 + rbp]
mov rdx, rbp
jmp 0x14005f450
mov rcx, rdi
mov rdx, rbx
call fcn.140060e30
xor eax, eax
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
jmp 0x1400608e3
movzx eax, byte [r14 + r13 + 0x90]
movzx esi, al
mov rcx, rsi
test r10d, r10d
je 0x14005fed2
cmp r10d, 2
jne 0x14005fd8a
test byte [r14 + 0x81], 1
mov r13d, r8d
jne 0x14005feaa
mov rax, r13
shl rax, 0x20
or rax, 2
jmp 0x140060824
lea rcx, [rsi + 6]
jmp 0x14005fed2
mov r8d, r15d
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
call fcn.14005b220
test eax, eax
je 0x140060858
mov rcx, rbx
jmp 0x14005fde5
inc eax
shl eax, 0x10
or eax, 1
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov r8d, eax
call fcn.14005b220
test eax, eax
je 0x1400608f7
mov rcx, r12
call fcn.140060d30
jmp 0x14005f4c4
mov rax, qword [rsp + 0xc8]
cmp qword [rax + 0x168], 1
mov r13, rbx
jne 0x14005fe29
mov r15d, 1
xor esi, esi
mov r13, rbx
jmp 0x14005fe4b
mov r15d, 1
mov rax, qword [rsp + 0xc8]
cmp qword [rax + 0x168], 1
je 0x14005fe4b
mov rcx, r14
mov rdx, rdi
call fcn.14005dee0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.140060d70
mov esi, eax
mov r15d, 1
mov rcx, rdi
mov rdx, rbx
call fcn.140060e30
mov rax, qword [rsp + 0x30]
mov qword [rax], r15
mov qword [rax + 8], r13
mov dword [rax + 0x10], esi
jmp 0x1400608e3
mov rsi, r9
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov r8d, dword [rsp + 0xb0]
mov r9d, eax
call fcn.14005d270
mov r13, rax
cmp r13d, 5
jne 0x14005ec31
shr r13, 0x20
mov r9, rsi
jmp 0x14005f50f
mov rax, qword [rsp + 0xa8]
cmp qword [rax + 0x168], r13
jbe 0x1400607c0
lea rax, [r13*2]
add rax, r13
lea rcx, [rsi + rax*2]
add rcx, 0xc
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x1400609f9
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x1400607f0
mov r13d, eax
cmp qword [rdi], 1
jne 0x14005ff16
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], r15
mov qword [rdi + 0x10], r15
cmp r15, rbx
jae 0x1400604d2
lea rsi, [r14 + 0x290]
movzx eax, byte [r14 + 0x81]
mov byte [rsp + 0xe0], al
xor eax, eax
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xd8], rsi
jmp 0x14005ff67
mov r15, rsi
inc r15
cmp r15, rbx
jae 0x1400604dc
mov rsi, r15
jmp 0x14005ffae
mov rcx, r14
mov r13, r12
mov dword [rsp + 0x98], r8d
mov r12d, r10d
call fcn.14005df30
mov r10d, r12d
mov r8d, dword [rsp + 0x98]
mov r12, r13
mov r11, qword [rsp + 0x48]
mov r9, qword [rsp + 0x38]
test eax, eax
js 0x140060346
mov r13d, eax
cmp rsi, rbx
jae 0x1400604dc
cmp r13d, 0x7ffffff
jbe 0x14006001c
cmp qword [rdi], 0
je 0x1400609ae
mov qword [rdi + 0x10], rsi
cmp rsi, r9
jae 0x140060aa3
movzx r8d, byte [r11 + rsi]
movzx eax, byte [r14 + r8 + 0x190]
mov ecx, r13d
and ecx, 0x7ffffff
add rcx, rax
mov rdx, qword [rdi + 0x28]
cmp rcx, rdx
jae 0x140060a05
mov rax, qword [rdi + 0x20]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x1400603d9
mov r13d, eax
mov r15, rsi
cmp r13d, 0x7ffffff
ja 0x14006014e
jmp 0x14005ff5b
cmp rsi, rbx
jae 0x14005ff58
mov rax, qword [rdi + 0x20]
mov rdx, qword [rdi + 0x28]
nop dword [rax]
movzx ecx, byte [r11 + rsi]
movzx ecx, byte [r14 + rcx + 0x190]
mov r8d, r13d
add r8, rcx
mov ecx, dword [rax + r8*4]
lea r15, [rsi + 3]
cmp r15, rbx
jae 0x140060133
cmp ecx, 0x8000000
jae 0x140060133
movzx r8d, byte [r11 + rsi + 1]
movzx r8d, byte [r14 + r8 + 0x190]
add r8, rcx
mov r13d, dword [rax + r8*4]
cmp r13, 0x7ffffff
ja 0x1400600d7
movzx ecx, byte [r11 + rsi + 2]
movzx ecx, byte [r14 + rcx + 0x190]
add rcx, r13
mov ecx, dword [rax + rcx*4]
cmp rcx, 0x7ffffff
ja 0x14006012f
movzx r8d, byte [r11 + rsi + 3]
movzx r8d, byte [r14 + r8 + 0x190]
add r8, rcx
mov r13d, dword [rax + r8*4]
cmp r13d, 0x7ffffff
ja 0x14006038b
add rsi, 4
cmp rsi, rbx
jb 0x140060030
jmp 0x14005ff58
inc rsi
mov r8d, r13d
mov r13d, ecx
mov r15, rsi
test r8d, r8d
jns 0x14006013e
cmp qword [rdi], 0
je 0x1400609ae
mov qword [rdi + 0x10], r15
movzx r8d, byte [r11 + r15]
movzx r10d, byte [r14 + r8 + 0x190]
mov ecx, r13d
add rcx, r10
cmp rcx, rdx
jae 0x140060a05
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x140060404
mov r13d, eax
cmp r13d, 0x7ffffff
ja 0x14006014e
jmp 0x14005ff5b
add rsi, 2
mov r8d, ecx
mov r15, rsi
test r8d, r8d
js 0x1400600e8
mov r13d, r8d
cmp r13d, 0x7ffffff
jbe 0x14005ff5b
mov eax, r13d
test eax, 0x10000000
je 0x140060446
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r15
lea rcx, [rsp + 0x100]
mov rdx, qword [rsp + 0xc8]
mov r8, r11
call qword [rsp + 0x90]
cmp qword [rsp + 0x100], 0
je 0x140060543
mov rsi, qword [rsp + 0x108]
cmp rsi, r15
jbe 0x140060488
cmp dword [rsp + 0xb8], 0
mov r9, qword [rsp + 0x38]
mov r11, qword [rsp + 0x48]
je 0x14005ffa5
mov qword [rsp + 0x60], r11
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x70], rbp
mov qword [rsp + 0x78], rbx
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0xb0]
mov dword [rsp + 0x5c], eax
mov byte [rsp + 0x80], 0
lea rcx, [rsp + 0x58]
mov rdx, rsi
mov r8, rbx
call fcn.140090290
mov r12, qword [rsp + 0x70]
test r12, r12
je 0x1400602c6
lea rax, [r12 - 1]
cmp rax, qword [rsp + 0x68]
mov r9, qword [rsp + 0x38]
mov r11, qword [rsp + 0x48]
jae 0x1400602ea
mov rcx, qword [rsp + 0x60]
movzx r13d, byte [rcx + rax]
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0xd0], eax
mov eax, dword [rsp + 0x5c]
mov dword [rsp + 0x98], eax
mov r10, qword [rsp + 0xd8]
mov rax, qword [r10 + 8]
or rax, qword [r10 + 0x18]
mov rcx, qword [r10]
or rcx, qword [r10 + 0x10]
or rcx, rax
je 0x14006029f
xor eax, eax
mov ecx, r13d
mov edx, 1
shld rax, rdx, cl
mov edx, r13d
shr edx, 3
mov r8d, 1
shl r8, cl
and edx, 0xfffffff0
test r13b, 0x40
cmovne rax, r8
mov ecx, 0
cmovne r8, rcx
and rax, qword [r10 + rdx + 8]
and r8, qword [r10 + rdx]
or r8, rax
jne 0x14006092c
movzx eax, byte [r14 + r13 + 0x90]
mov r10d, dword [rsp + 0xd0]
mov r8d, dword [rsp + 0x98]
movzx r15d, al
mov rcx, r15
test r10d, r10d
jne 0x140060302
jmp 0x14006032a
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
mov al, 2
mov r9, qword [rsp + 0x38]
mov r11, qword [rsp + 0x48]
movzx r15d, al
mov rcx, r15
test r10d, r10d
jne 0x140060302
jmp 0x14006032a
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
mov al, 2
movzx r15d, al
mov rcx, r15
test r10d, r10d
je 0x14006032a
cmp r10d, 2
jne 0x140060326
mov r13d, r8d
test byte [rsp + 0xe0], 1
jne 0x14006039f
mov rax, r13
shl rax, 0x20
or rax, 2
jmp 0x14006037a
lea rcx, [r15 + 6]
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x1400609f9
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
jns 0x14005ffa2
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0xf0], rdi
lea rcx, [rsp + 0xe8]
mov edx, r10d
mov r9d, r15d
call fcn.14005d270
mov r11, qword [rsp + 0x48]
mov r9, qword [rsp + 0x38]
mov r13, rax
shr r13, 0x20
mov eax, eax
cmp rax, 5
je 0x14005ffa5
jmp 0x140060931
mov r8d, r13d
mov r13d, ecx
test r8d, r8d
jns 0x14006013e
jmp 0x1400600e8
mov rax, qword [rsp + 0xa8]
cmp qword [rax + 0x168], r13
jbe 0x14005ff6c
lea rax, [r13*2]
add rax, r13
lea rcx, [r15 + rax*2]
add rcx, 0xc
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jb 0x140060337
jmp 0x1400609f9
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, r13d
call fcn.14005b220
test eax, eax
jne 0x140060959
mov r13d, edx
mov r15, rsi
jmp 0x14006042a
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, r13d
call fcn.14005b220
test eax, eax
jne 0x1400609a6
mov r13d, edx
mov r9, qword [rsp + 0x38]
mov r11, qword [rsp + 0x48]
cmp r13d, 0x7ffffff
ja 0x14006014e
jmp 0x14005ff5b
test eax, 0x8000000
je 0x140060961
mov eax, 1
mov qword [rsp + 0xc0], rax
mov dword [rsp + 0x8c], 0
mov rax, qword [rsp + 0xa8]
cmp qword [rax + 0x168], 1
jne 0x140060497
mov qword [rsp + 0xa0], r15
jmp 0x14005ff5b
mov r9, qword [rsp + 0x38]
mov r11, qword [rsp + 0x48]
jmp 0x14005ff5b
mov rcx, r14
mov rdx, rdi
mov r8d, r13d
call fcn.14005dee0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.140060d70
mov r11, qword [rsp + 0x48]
mov r9, qword [rsp + 0x38]
mov dword [rsp + 0x8c], eax
mov qword [rsp + 0xa0], r15
jmp 0x14005ff5b
xor eax, eax
mov qword [rsp + 0xc0], rax
cmp rbx, r9
jae 0x140060507
movzx esi, byte [r11 + rbx]
mov rcx, r14
mov rdx, rdi
mov r8d, r13d
mov r9d, esi
call fcn.140060e80
test eax, eax
mov ebp, dword [rsp + 0x8c]
je 0x140060579
mov rcx, rbx
jmp 0x140060529
mov rcx, r14
mov rdx, rdi
mov r8d, r13d
call fcn.140060cb0
test eax, eax
mov ebp, dword [rsp + 0x8c]
je 0x1400605ad
mov rcx, qword [rsp + 0x38]
call fcn.140060d30
mov r15, qword [rsp + 0x30]
mov qword [r15 + 8], rax
mov qword [r15], 2
jmp 0x1400608e3
mov rcx, rdi
mov rdx, rbx
call fcn.140060e30
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0xc0]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xa0]
mov qword [rax + 8], rcx
mov ecx, dword [rsp + 0x8c]
mov dword [rax + 0x10], ecx
jmp 0x1400608e3
mov r8d, edx
mov eax, edx
test eax, 0x8000000
mov r15, qword [rsp + 0x30]
jne 0x140060701
test eax, 0x20000000
mov r13, qword [rsp + 0xc0]
je 0x140060752
mov ecx, esi
mov rdx, rbx
call fcn.140060de0
jmp 0x140060533
mov r8d, edx
test edx, 0x8000000
mov r15, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov r13, qword [rsp + 0xc0]
je 0x140060752
mov rax, qword [rsp + 0xa8]
cmp qword [rax + 0x168], 1
jne 0x140060728
mov r13d, 1
xor ebp, ebp
jmp 0x14006074a
xor ebx, ebx
mov rax, qword [rsp + 0xc8]
cmp qword [rax + 0x168], 1
je 0x140060624
mov rcx, r14
mov rdx, rdi
mov r8d, esi
call fcn.14005dee0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.140060d70
mov ebx, eax
mov rcx, rdi
mov rdx, rbp
call fcn.140060e30
mov rax, qword [rsp + 0x30]
mov qword [rax], 1
mov qword [rax + 8], rbp
mov dword [rax + 0x10], ebx
jmp 0x1400608e3
mov r8d, edx
xor eax, eax
test r8d, 0x8000000
je 0x14005eb48
mov ecx, 1
mov rdx, qword [rsp + 0x38]
cmp qword [rdx + 0x168], 1
je 0x14006068c
mov rcx, r14
mov rdx, rdi
call fcn.14005dee0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.140060d70
mov ecx, 1
mov rdx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x140060a33
mov r8, rbx
sub r8, rdx
neg r8
sub rbx, rdx
cmovb rbx, r8
add qword [rdi + 0x158], rbx
mov qword [r13], rcx
mov qword [r13 + 8], rsi
mov dword [r13 + 0x10], eax
jmp 0x1400608e3
movzx eax, byte [0x140297030]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f4570
test rax, rax
je 0x140060ba8
mov byte [rax], 1
mov qword [rax + 8], rbp
mov rsi, qword [rsp + 0x30]
mov qword [rsi + 8], rax
mov qword [rsi], 2
jmp 0x1400608e3
mov rax, qword [rsp + 0xa8]
cmp qword [rax + 0x168], 1
mov r12, rbx
jne 0x140060728
mov r13d, 1
xor ebp, ebp
mov qword [rsp + 0xa0], rbx
jmp 0x140060752
mov rcx, r14
mov rdx, rdi
call fcn.14005dee0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.140060d70
mov ebp, eax
mov r13d, 1
mov qword [rsp + 0xa0], r12
mov rcx, rdi
mov rdx, rbx
call fcn.140060e30
mov qword [r15], r13
mov rax, qword [rsp + 0xa0]
mov qword [r15 + 8], rax
mov dword [r15 + 0x10], ebp
jmp 0x1400608e3
mov ecx, ebp
mov rdx, rbx
jmp 0x14005f450
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov rdx, qword [rsp + 0x50]
mov r8d, dword [rsp + 0x90]
call fcn.14005d270
mov rsi, rax
mov ecx, esi
shr rsi, 0x20
cmp rcx, 5
jne 0x14005f406
jmp 0x14005f703
mov rcx, rbp
jmp 0x14005fbc1
mov rcx, r14
mov dword [rsp + 0x98], r10d
mov r13d, r8d
call fcn.14005df30
mov r8d, r13d
mov r10d, dword [rsp + 0x98]
mov r11, qword [rsp + 0x48]
mov r9, qword [rsp + 0x38]
test eax, eax
jns 0x14005feee
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0xf0], rdi
lea rcx, [rsp + 0xe8]
mov edx, r10d
mov r9d, esi
call fcn.14005d270
mov r11, qword [rsp + 0x48]
mov r9, qword [rsp + 0x38]
mov r13, rax
shr r13, 0x20
mov eax, eax
cmp rax, 5
je 0x14005fef1
shl r13, 0x20
or r13, rax
mov rcx, r12
mov rdx, r13
call fcn.140060be0
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], rax
mov eax, 2
mov qword [rcx], rax
jmp 0x1400608e3
mov r8d, edx
mov r11, qword [rsp + 0x48]
mov eax, r8d
test eax, 0x8000000
je 0x14005f13c
cmp qword [r11 + 0x168], 1
mov r12, rbx
jne 0x140060887
xor ebp, ebp
mov esi, 1
mov rdx, rbx
jmp 0x1400608ab
mov rcx, r14
mov rdx, rdi
call fcn.14005dee0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.140060d70
mov ebp, eax
mov esi, 1
mov rdx, r12
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x140060a33
mov rcx, rbx
sub rcx, rax
neg rcx
sub rbx, rax
cmovb rbx, rcx
add qword [rdi + 0x158], rbx
mov qword [r13], rsi
mov qword [r13 + 8], rdx
mov dword [r13 + 0x10], ebp
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r8d, edx
mov r11, qword [rsp + 0x48]
test r8d, 0x8000000
mov rdx, qword [rsp + 0x38]
jne 0x14005f1d0
jmp 0x1400608ab
mov rcx, rdi
mov rdx, rbp
call fcn.140060e30
mov rax, qword [rsp + 0x30]
mov qword [rax], 0
jmp 0x1400608e3
mov eax, 4
shl r13, 0x20
or r13, rax
mov rcx, r12
jmp 0x14005ec34
mov rcx, r12
jmp 0x14005fbc1
mov eax, 4
shl rsi, 0x20
or rsi, rax
jmp 0x14005f40d
mov rcx, rsi
jmp 0x14005fbc1
test eax, 0x40000000
jne 0x14006099b
test eax, 0x20000000
je 0x140060b4f
mov rcx, rdi
mov rdx, r15
call fcn.140060e30
cmp r15, qword [rsp + 0x38]
jae 0x140060bc9
mov rax, qword [rsp + 0x48]
movzx ecx, byte [rax + r15]
mov rdx, r15
jmp 0x14005f450
mov rcx, rdi
mov rdx, r15
jmp 0x140060549
mov rcx, r15
jmp 0x14005fbc1
lea rcx, str.no_in_progress_search_to_update
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybriddfa.rs
mov edx, 0x1f
call fcn.14003a2f0
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybriddfa.rs
mov rdx, rax
call fcn.1400385c0
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybrid_search.rs
mov rcx, rbp
mov rdx, rsi
call fcn.1400385c0
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybrid_search.rs
mov rcx, rbp
mov rdx, r10
call fcn.1400385c0
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybriddfa.rs
call fcn.1400385c0
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybriddfa.rs
call fcn.1400385c0
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybriddfa.rs
mov rcx, r10
mov rdx, rax
call fcn.1400385c0
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srcutildeterminize_state.rs
xor ecx, ecx
xor edx, edx
call fcn.1400385c0
lea rcx, str.no_in_progress_search_to_finish
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybriddfa.rs
mov edx, 0x1f
call fcn.14003a2f0
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybrid_search.rs
mov rcx, r12
mov rdx, r13
call fcn.1400385c0
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybriddfa.rs
mov rdx, r9
call fcn.1400385c0
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybriddfa.rs
mov rcx, rax
call fcn.1400385c0
lea r8, [0x1402298f8]
mov ecx, 4
mov rdx, rax
call fcn.140038eb0
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srcutildeterminize_state.rs
mov ecx, 0xd
mov rdx, rax
call fcn.140038550
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybrid_search.rs
mov rcx, rsi
mov rdx, r9
call fcn.1400385c0
mov qword [rsp + 0x120], r13
lea rax, [rsp + 0x128]
mov qword [rsp + 0x100], rax
lea rax, [0x140037af0]
mov qword [rsp + 0x108], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x110], rax
lea rax, [fcn.140038630]
mov qword [rsp + 0x118], rax
lea rax, str.I__
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 2
mov qword [rsp + 0x78], 0
lea rax, [rsp + 0x100]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], 2
lea rdx, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srcutil_search.rs
lea rcx, [rsp + 0x58]
call fcn.140038510
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybriddfa.rs
mov rcx, r9
call fcn.1400385c0
lea rax, str.8f__
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], 1
lea rax, [rsp + 0x40]
mov qword [rsp + 0x68], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
lea rdx, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybrid_search.rs
lea rcx, [rsp + 0x58]
call fcn.140038510
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybrid_search.rs
mov rcx, r12
mov rdx, rsi
call fcn.1400385c0
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybrid_search.rs
mov rcx, r12
call fcn.1400385c0
mov ecx, 8
mov edx, 0x10
call fcn.140037bc0
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybrid_search.rs
mov rcx, rbp
mov rdx, r13
call fcn.1400385c0
lea r8, str.C:Userswin10_x64.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_automata_0.4.6_srchybrid_search.rs
mov rcx, r15
mov rdx, qword [rsp + 0x38]
call fcn.1400385c0
int3