Function at 0x5e1a30
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 0x5e1a60
mov qword [r13], 0
jmp 0x5e3df3
mov rdi, r8
mov r14, rdx
mov eax, dword [r9]
mov qword [rsp + 0x50], rax
dec eax
cmp eax, 2
jb 0x5e1a95
lea rax, [r14 + 0x60]
cmp byte [r14 + 0x78], 3
lea r12, [0x0071c8e8]
cmovne r12, rax
cmp byte [r12 + 0x18], 2
jne 0x5e1c01
cmp byte [r9 + 0x28], 0
je 0x5e1b56
mov rax, qword [r14 + 0x2b0]
mov qword [rsp + 0x38], rax
test rbp, rbp
je 0x5e1cc9
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
mov r12, qword [rsp + 0x50]
jae 0x5e1ce2
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 0x5e1b38
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 0x5e1bf7
movzx eax, byte [r14 + rdx + 0x90]
movzx r15d, al
mov rcx, r15
test r12d, r12d
jne 0x5e1cf4
jmp 0x5e1d26
mov r11, qword [r14 + 0x2b0]
test rbp, rbp
mov qword [rsp + 0x48], r11
je 0x5e2071
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
mov r12, qword [rsp + 0x50]
jae 0x5e2151
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 0x5e2205
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 0x5e2205
mov eax, 4
jmp 0x5e29c5
cmp byte [r9 + 0x28], 0
mov qword [rsp + 0x30], r13
je 0x5e2091
mov r11, qword [r14 + 0x2b0]
mov eax, dword [r11 + 0x17c]
mov dword [rsp + 0xb8], eax
test rbp, rbp
je 0x5e205f
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
jae 0x5e205f
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 0x5e27c6
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 0x5e27c6
shl rsi, 0x20
or rsi, 4
mov rcx, rbp
mov rdx, rsi
jmp 0x5e29cf
mov esi, dword [r9 + 4]
mov al, 2
mov r12, qword [rsp + 0x50]
movzx r15d, al
mov rcx, r15
test r12d, r12d
jne 0x5e1cf4
jmp 0x5e1d26
mov esi, dword [r9 + 4]
mov al, 2
movzx r15d, al
mov rcx, r15
test r12d, r12d
je 0x5e1d26
cmp r12d, 2
jne 0x5e1d22
test byte [r14 + 0x81], 1
mov edx, esi
jne 0x5e21b3
mov rax, rdx
shl rax, 0x20
or rax, 2
mov eax, eax
cmp rax, 5
je 0x5e1d44
jmp 0x5e29c5
lea rcx, [r15 + 6]
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x5e3f09
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x5e278b
mov edx, eax
cmp qword [rdi], 1
jne 0x5e1d69
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 0x5e1fb8
mov r15, qword [r9 + 8]
mov rsi, qword [r9 + 0x10]
jmp 0x5e1da2
mov rbp, r12
mov edx, r10d
inc rbp
cmp rbp, rbx
jae 0x5e1fbc
cmp edx, 0x7ffffff
jbe 0x5e1e20
cmp qword [rdi], 0
je 0x5e3ebe
mov qword [rdi + 0x10], rbp
cmp rbp, rsi
jae 0x5e3ee5
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 0x5e3ed6
mov rax, qword [rdi + 0x20]
mov r10d, dword [rax + rcx*4]
test r10d, r10d
js 0x5e1f7d
mov r12, rbp
cmp r10d, 0x8000000
jb 0x5e1d90
mov eax, r10d
mov ecx, eax
and ecx, 0x10000000
jne 0x5e1d90
jmp 0x5e216c
cmp rbp, rbx
jae 0x5e1d96
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 0x5e1ef9
cmp ecx, 0x8000000
jae 0x5e1ef9
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 0x5e1edf
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 0x5e1ef5
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 0x5e1f0a
add rbp, 4
cmp rbp, rbx
jb 0x5e1e40
jmp 0x5e1d96
inc rbp
mov r10d, edx
mov edx, ecx
mov r12, rbp
test r10d, r10d
jns 0x5e1dfb
jmp 0x5e1f18
add rbp, 2
mov r10d, ecx
mov r12, rbp
test r10d, r10d
jns 0x5e1dfb
jmp 0x5e1f18
mov r10d, edx
mov edx, ecx
test r10d, r10d
jns 0x5e1dfb
cmp qword [rdi], 0
je 0x5e3ebe
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 0x5e3ed6
mov r10d, dword [r11 + rcx*4]
test r10d, r10d
jns 0x5e1dfb
mov rbp, r9
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
call fcn.005de720
test eax, eax
jne 0x5e32f2
mov r10d, edx
mov r9, rbp
jmp 0x5e1dfb
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.005de720
test eax, eax
jne 0x5e3bd9
mov r10d, edx
mov r12, rbp
mov r9, r13
mov r13, qword [rsp + 0x30]
jmp 0x5e1dfb
mov rsi, qword [r9 + 0x10]
cmp rbx, rsi
jae 0x5e2017
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 0x5e3ed6
mov rax, qword [rdi + 0x20]
mov r8d, dword [rax + rcx*4]
test r8d, r8d
js 0x5e3138
mov eax, r8d
test eax, 0x8000000
jne 0x5e316c
test eax, 0x20000000
je 0x5e2058
mov ecx, esi
jmp 0x5e265f
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 0x5e3f6d
mov r8, qword [rdi + 0x20]
mov r8d, dword [r8 + rcx*4]
test r8d, r8d
js 0x5e3191
xor eax, eax
test r8d, 0x8000000
jne 0x5e3b69
xor ecx, ecx
jmp 0x5e3b9c
mov eax, dword [r9 + 4]
mov dword [rsp + 0x90], eax
mov al, 2
jmp 0x5e27cf
mov esi, dword [r9 + 4]
mov al, 2
mov r12, qword [rsp + 0x50]
movzx r15d, al
mov rcx, r15
test r12d, r12d
jne 0x5e221a
jmp 0x5e2228
mov r15, qword [r14 + 0x2b0]
mov eax, dword [r15 + 0x17c]
mov dword [rsp + 0xb8], eax
test rbp, rbp
je 0x5e21e3
lea rax, [rbp - 1]
cmp rax, qword [r9 + 0x10]
jae 0x5e21e3
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 0x5e29f5
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 0x5e29f5
shl r13, 0x20
or r13, 4
mov rcx, rbp
mov rdx, r13
call fcn.005e40f0
jmp 0x5e30d6
mov esi, dword [r9 + 4]
mov al, 2
movzx r15d, al
mov rcx, r15
test r12d, r12d
jne 0x5e221a
jmp 0x5e2228
test eax, 0x8000000
jne 0x5e2720
test eax, 0x40000000
jne 0x5e29e5
test eax, 0x20000000
je 0x5e405f
mov rcx, rdi
mov rdx, r12
call fcn.005e4340
cmp r12, rsi
jae 0x5e4097
movzx ecx, byte [r15 + r12]
mov rdx, r12
call fcn.005e42f0
jmp 0x5e29d4
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x168], rdx
jbe 0x5e2770
lea rax, [rdx + rdx*2]
lea rcx, [r15 + rax*2]
add rcx, 0xc
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jb 0x5e1d33
jmp 0x5e3f09
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 0x5e2a0e
jmp 0x5e3f7c
movzx eax, byte [r14 + rdx + 0x90]
movzx r15d, al
mov rcx, r15
test r12d, r12d
je 0x5e2228
cmp r12d, 1
jne 0x5e266c
lea rcx, [r15 + 6]
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x5e3f09
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x5e298a
mov edx, eax
cmp qword [rdi], 1
jne 0x5e226b
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 0x5e25f1
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 0x5e22c2
mov r12, rbp
inc r12
mov rbp, r12
cmp r12, rbx
jae 0x5e2688
cmp edx, 0x7ffffff
jbe 0x5e2330
cmp qword [rdi], 0
je 0x5e3ebe
mov qword [rdi + 0x10], rbp
cmp rbp, r10
jae 0x5e3ef7
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 0x5e3ed6
mov rax, qword [rdi + 0x20]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x5e2556
mov edx, eax
mov r12, rbp
cmp edx, 0x8000000
jae 0x5e2490
jmp 0x5e22b3
cmp rbp, rbx
jae 0x5e22b0
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 0x5e2464
cmp ecx, 0x8000000
jae 0x5e2464
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 0x5e2400
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 0x5e2460
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 0x5e2543
add rbp, 4
cmp rbp, rbx
jb 0x5e2350
mov r12, rbp
mov r10, qword [rsp + 0x50]
jmp 0x5e22b3
inc rbp
mov r8d, edx
mov edx, ecx
mov r12, rbp
test r8d, r8d
jns 0x5e246f
cmp qword [rdi], 0
je 0x5e3ebe
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 0x5e3ed6
mov eax, dword [r10 + rcx*4]
test eax, eax
mov r11, qword [rsp + 0x48]
js 0x5e25b0
mov edx, eax
mov r10, qword [rsp + 0x50]
cmp edx, 0x8000000
jae 0x5e2490
jmp 0x5e22b3
add rbp, 2
mov r8d, ecx
mov r12, rbp
test r8d, r8d
js 0x5e2410
mov edx, r8d
mov r10, qword [rsp + 0x50]
cmp edx, 0x8000000
jb 0x5e22b3
nop word cs:[rax + rax]
mov eax, edx
mov ecx, eax
and ecx, 0x10000000
jne 0x5e22b3
test eax, 0x8000000
je 0x5e2928
xor r15d, r15d
mov esi, 1
cmp qword [r11 + 0x168], 1
jne 0x5e24c7
mov qword [rsp + 0x38], r12
jmp 0x5e22b3
mov r10d, edx
and r10d, 0x7ffffff
mov rcx, qword [rsp + 0xb8]
shr r10, cl
mov rax, qword [rdi + 0x58]
cmp r10, rax
jae 0x5e3f21
mov rcx, qword [rdi + 0x50]
shl r10d, 4
mov rax, qword [rcx + r10 + 8]
test rax, rax
je 0x5e3f33
mov rcx, qword [rcx + r10]
test byte [rcx + 0x10], 2
jne 0x5e2518
mov qword [rsp + 0x38], r12
mov r10, qword [rsp + 0x50]
jmp 0x5e22b3
cmp rax, 0xd
mov r10, qword [rsp + 0x50]
jb 0x5e3f9f
add rax, 0xfffffffffffffff3
cmp rax, 3
jbe 0x5e3f8b
mov r15d, dword [rcx + 0x1d]
mov qword [rsp + 0x38], r12
jmp 0x5e22b3
mov r8d, edx
mov edx, ecx
test r8d, r8d
jns 0x5e246f
jmp 0x5e2410
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.005de720
test eax, eax
jne 0x5e3cc8
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 0x5e2490
jmp 0x5e22b3
mov rbp, r9
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
call fcn.005de720
test eax, eax
jne 0x5e3e50
mov r9, rbp
mov r11, qword [rsp + 0x48]
mov r10, qword [rsp + 0x50]
cmp edx, 0x8000000
jae 0x5e2490
jmp 0x5e22b3
mov r10, qword [r9 + 0x10]
xor esi, esi
cmp rbx, r10
jae 0x5e2696
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 0x5e3ed6
mov rax, qword [rdi + 0x20]
mov r8d, dword [rax + rcx*4]
test r8d, r8d
js 0x5e32a3
mov eax, r8d
test eax, 0x8000000
jne 0x5e3d7e
test eax, 0x20000000
mov rdx, qword [rsp + 0x38]
je 0x5e3dbb
mov ecx, r15d
mov rdx, rbx
call fcn.005e42f0
jmp 0x5e29d4
test byte [r14 + 0x81], 1
mov edx, esi
jne 0x5e26f5
mov rax, rdx
shl rax, 0x20
or rax, 2
jmp 0x5e29b9
mov r13, qword [rsp + 0x30]
cmp rbx, r10
jb 0x5e2600
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 0x5e3f6d
mov r12, r10
mov ebp, r15d
mov r8, qword [rdi + 0x20]
mov r8d, dword [r8 + rcx*4]
test r8d, r8d
js 0x5e32cb
test r8d, 0x8000000
mov rdx, qword [rsp + 0x38]
je 0x5e3dbb
cmp qword [r11 + 0x168], 1
jne 0x5e3d97
xor ebp, ebp
jmp 0x5e3db3
cmp qword [r11 + 0x168], rdx
jbe 0x5e296a
lea rax, [rdx + rdx*2]
lea rcx, [r15 + rax*2]
add rcx, 0xc
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jb 0x5e2235
jmp 0x5e3f09
xor esi, esi
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x168], 1
je 0x5e2750
mov rcx, r14
mov rdx, rdi
mov r8d, r10d
call fcn.005e13f0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.005e4280
mov esi, eax
mov rcx, rdi
mov rdx, r12
call fcn.005e4340
mov qword [r13], 1
mov qword [r13 + 8], r12
mov dword [r13 + 0x10], esi
jmp 0x5e3df3
mov rcx, r14
mov r12, r9
call fcn.005e1440
mov r9, r12
mov r12, qword [rsp + 0x50]
test eax, eax
jns 0x5e1d42
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.005e0780
mov r9, rsi
mov rdx, rax
shr rdx, 0x20
mov eax, eax
cmp rax, 5
je 0x5e1d44
jmp 0x5e29c5
movzx eax, byte [r14 + rsi + 0x90]
mov qword [rsp + 0xc8], r11
movzx eax, al
mov rdx, qword [rdi + 0x40]
cmp rdx, rax
jbe 0x5e3f7c
mov rcx, qword [rdi + 0x38]
mov esi, dword [rcx + rax*4]
test esi, esi
js 0x5e31c0
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 0x5e324c
mov r12, qword [rsp + 0xf0]
cmp dword [rsp + 0xb8], 0
je 0x5e2c13
mov qword [rsp + 0x128], r12
mov qword [rsp + 0x130], rbx
lea rax, [rbx + 1]
cmp rax, r12
jb 0x5e3fc5
cmp r13, rbx
jb 0x5e3fc5
mov al, 2
test r12, r12
je 0x5e2bf2
lea rcx, [r12 - 1]
cmp rcx, r13
jae 0x5e2bf2
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 0x5e2be9
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 0x5e2be9
mov ecx, 4
shl rsi, 0x20
or rsi, rcx
mov rcx, r12
mov rdx, rsi
jmp 0x5e3d4d
test eax, 0x40000000
jne 0x5e2ba9
test eax, 0x20000000
je 0x5e405f
mov rcx, rdi
mov rdx, r12
call fcn.005e4340
mov rdx, qword [rsp + 0x50]
cmp r12, rdx
jae 0x5e40a9
movzx ecx, byte [r13 + r12]
mov rdx, r12
call fcn.005e42f0
jmp 0x5e30d6
mov rcx, r14
mov r12, r9
call fcn.005e1440
mov r11, qword [rsp + 0x48]
mov r9, r12
mov r12, qword [rsp + 0x50]
test eax, eax
jns 0x5e2244
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.005e0780
mov r11, qword [rsp + 0x48]
mov r9, rsi
mov rdx, rax
shr rdx, 0x20
mov eax, eax
cmp rax, 5
je 0x5e2246
shl rdx, 0x20
or rdx, rax
mov rcx, rbp
call fcn.005e40f0
mov qword [r13 + 8], rax
mov qword [r13], 2
jmp 0x5e3df3
mov rcx, rdi
mov rdx, r12
call fcn.005e4340
jmp 0x5e1a53
movzx eax, byte [r14 + r13 + 0x90]
movzx eax, al
mov rdx, qword [rdi + 0x40]
cmp rdx, rax
jbe 0x5e3f7c
mov rcx, qword [rdi + 0x38]
mov r13d, dword [rcx + rax*4]
test r13d, r13d
js 0x5e337a
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 0x5e324c
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 0x5e3401
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.00613270
mov r12, qword [rsp + 0x70]
test r12, r12
je 0x5e2bce
lea rax, [r12 - 1]
cmp rax, qword [rsp + 0x68]
mov r9, qword [rsp + 0x38]
mov r11, qword [rsp + 0x48]
jae 0x5e3127
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 0x5e325b
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 0x5e325b
mov eax, 4
jmp 0x5e3d40
mov rcx, rdi
mov rdx, r12
call fcn.005e4340
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 0x5e3df3
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
mov al, 2
mov r9, qword [rsp + 0x38]
mov r11, qword [rsp + 0x48]
jmp 0x5e3264
movzx eax, byte [r14 + rsi + 0x90]
movzx r9d, al
mov rdx, qword [rdi + 0x40]
cmp r9, rdx
jae 0x5e4050
mov rax, qword [rdi + 0x38]
mov esi, dword [rax + r9*4]
test esi, esi
js 0x5e3c8f
cmp qword [rdi], 1
jne 0x5e2c38
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 0x5e3098
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 0x5e2cbf
mov r12, rbp
inc r12
cmp r12, rbx
jae 0x5e3098
cmp esi, 0x7ffffff
jbe 0x5e2d25
cmp qword [rdi], 0
je 0x5e3ebe
mov qword [rdi + 0x10], r12
cmp r12, r13
jae 0x5e3f5b
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 0x5e3f15
mov rax, qword [rdi + 0x20]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x5e2fe3
mov esi, eax
mov rbp, r12
cmp esi, 0x7ffffff
jbe 0x5e2cb0
jmp 0x5e2e5a
cmp r12, rbx
jae 0x5e2cb3
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 0x5e2e40
cmp ecx, 0x8000000
jae 0x5e2e40
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 0x5e2de7
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 0x5e2e3c
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 0x5e2fad
add r12, 4
cmp r12, rbx
jb 0x5e2d40
jmp 0x5e2cb3
inc r12
mov r8d, esi
mov esi, ecx
mov rbp, r12
test r8d, r8d
jns 0x5e2e4b
cmp qword [rdi], 0
je 0x5e3ebe
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 0x5e3f15
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x5e3063
mov esi, eax
cmp esi, 0x7ffffff
jbe 0x5e2cb0
jmp 0x5e2e5a
add r12, 2
mov r8d, ecx
mov rbp, r12
test r8d, r8d
js 0x5e2df7
mov esi, r8d
cmp esi, 0x7ffffff
jbe 0x5e2cb0
mov eax, esi
test eax, 0x10000000
je 0x5e31ff
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 0x5e3241
mov r12, qword [rsp + 0xf0]
cmp r12, rbp
jbe 0x5e2cb0
cmp dword [rsp + 0xb8], 0
mov r9, qword [rsp + 0xb0]
je 0x5e2cb6
mov qword [rsp + 0x128], r12
mov qword [rsp + 0x130], rbx
cmp r13, rbx
jb 0x5e3fc5
cmp qword [rsp + 0x98], r12
jb 0x5e3fc5
lea rcx, [r12 - 1]
mov al, 2
cmp rcx, r13
jae 0x5e2f54
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 0x5e2f4b
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 0x5e3e58
movzx eax, byte [r14 + rsi + 0x90]
movzx ebp, al
mov rcx, rbp
cmp dword [rsp + 0x50], 0
je 0x5e2fc4
cmp dword [rsp + 0x50], 2
jne 0x5e2fc0
mov rsi, qword [rsp + 0xd0]
mov rax, qword [rsp + 0xe0]
test byte [rsp + 0xa8], 1
je 0x5e3052
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd0]
cmp qword [rax + 0x168], rcx
jbe 0x5e301b
mov rax, qword [rsp + 0xd8]
lea rcx, [rax + rbp]
jmp 0x5e2fc4
mov r8d, esi
mov esi, ecx
test r8d, r8d
jns 0x5e2e4b
jmp 0x5e2df7
lea rcx, [rbp + 6]
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x5e3f09
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x5e3027
mov esi, eax
jmp 0x5e2cb6
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, esi
call fcn.005de720
test eax, eax
jne 0x5e3e50
mov esi, edx
mov rbp, r12
cmp esi, 0x7ffffff
jbe 0x5e2cb0
jmp 0x5e2e5a
mov rcx, r14
call fcn.005e1440
test eax, eax
jns 0x5e2fdc
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.005e0780
mov rsi, rax
shr rsi, 0x20
mov eax, eax
cmp rax, 5
je 0x5e2cb6
jmp 0x5e3e5d
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, esi
call fcn.005de720
test eax, eax
jne 0x5e3cc8
mov esi, edx
cmp esi, 0x7ffffff
jbe 0x5e2cb0
jmp 0x5e2e5a
cmp rbx, r13
jae 0x5e30bc
movzx ebp, byte [r15 + rbx]
mov rcx, r14
mov rdx, rdi
mov r8d, esi
mov r9d, ebp
call fcn.005e4390
test eax, eax
je 0x5e30eb
mov rcx, rbx
jmp 0x5e30d1
mov rcx, r14
mov rdx, rdi
mov r8d, esi
call fcn.005e41c0
test eax, eax
je 0x5e310e
mov rcx, r13
call fcn.005e4240
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], rax
mov qword [rcx], 2
jmp 0x5e3df3
mov r8d, edx
mov eax, edx
test eax, 0x8000000
jne 0x5e32ff
test eax, 0x20000000
jne 0x5e3c85
xor r15d, r15d
jmp 0x5e335b
mov r8d, edx
xor esi, esi
test edx, 0x8000000
jne 0x5e3321
xor r15d, r15d
jmp 0x5e335b
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
mov al, 2
jmp 0x5e3264
mov r8d, esi
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
call fcn.005de720
test eax, eax
jne 0x5e32c6
mov r8d, edx
mov eax, r8d
test eax, 0x8000000
je 0x5e2009
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x168], 1
mov rsi, rbx
jne 0x5e3b7d
xor eax, eax
mov ecx, 1
mov rsi, rbx
jmp 0x5e3b9c
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.005de720
test eax, eax
je 0x5e3b57
mov rcx, rsi
jmp 0x5e32f5
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.005e0780
mov rsi, rax
cmp esi, 5
jne 0x5e1cbe
shr rsi, 0x20
mov r9, r15
jmp 0x5e27f6
test eax, 0x8000000
jne 0x5e3b01
test eax, 0x40000000
jne 0x5e3e23
test eax, 0x20000000
je 0x5e405f
mov rcx, rdi
mov rdx, rbp
call fcn.005e4340
cmp rbp, r13
jae 0x5e40c7
movzx ecx, byte [r15 + rbp]
mov rdx, rbp
jmp 0x5e2960
mov rcx, rdi
mov rdx, rbx
call fcn.005e4340
xor eax, eax
mov rcx, qword [rsp + 0x30]
mov qword [rcx], rax
jmp 0x5e3df3
movzx eax, byte [r14 + r13 + 0x90]
movzx esi, al
mov rcx, rsi
test r10d, r10d
je 0x5e33e2
cmp r10d, 2
jne 0x5e329a
test byte [r14 + 0x81], 1
mov r13d, r8d
jne 0x5e33ba
mov rax, r13
shl rax, 0x20
or rax, 2
jmp 0x5e3d34
lea rcx, [rsi + 6]
jmp 0x5e33e2
mov r8d, r15d
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
call fcn.005de720
test eax, eax
je 0x5e3d68
mov rcx, rbx
jmp 0x5e32f5
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.005de720
test eax, eax
je 0x5e3e07
mov rcx, r12
call fcn.005e4240
jmp 0x5e29d4
mov rax, qword [rsp + 0xc8]
cmp qword [rax + 0x168], 1
mov r13, rbx
jne 0x5e3339
mov r15d, 1
xor esi, esi
mov r13, rbx
jmp 0x5e335b
mov r15d, 1
mov rax, qword [rsp + 0xc8]
cmp qword [rax + 0x168], 1
je 0x5e335b
mov rcx, r14
mov rdx, rdi
call fcn.005e13f0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.005e4280
mov esi, eax
mov r15d, 1
mov rcx, rdi
mov rdx, rbx
call fcn.005e4340
mov rax, qword [rsp + 0x30]
mov qword [rax], r15
mov qword [rax + 8], r13
mov dword [rax + 0x10], esi
jmp 0x5e3df3
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.005e0780
mov r13, rax
cmp r13d, 5
jne 0x5e2141
shr r13, 0x20
mov r9, rsi
jmp 0x5e2a1f
mov rax, qword [rsp + 0xa8]
cmp qword [rax + 0x168], r13
jbe 0x5e3cd0
lea rax, [r13*2]
add rax, r13
lea rcx, [rsi + rax*2]
add rcx, 0xc
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x5e3f09
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x5e3d00
mov r13d, eax
cmp qword [rdi], 1
jne 0x5e3426
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 0x5e39e2
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 0x5e3477
mov r15, rsi
inc r15
cmp r15, rbx
jae 0x5e39ec
mov rsi, r15
jmp 0x5e34be
mov rcx, r14
mov r13, r12
mov dword [rsp + 0x98], r8d
mov r12d, r10d
call fcn.005e1440
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 0x5e3856
mov r13d, eax
cmp rsi, rbx
jae 0x5e39ec
cmp r13d, 0x7ffffff
jbe 0x5e352c
cmp qword [rdi], 0
je 0x5e3ebe
mov qword [rdi + 0x10], rsi
cmp rsi, r9
jae 0x5e3fb3
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 0x5e3f15
mov rax, qword [rdi + 0x20]
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x5e38e9
mov r13d, eax
mov r15, rsi
cmp r13d, 0x7ffffff
ja 0x5e365e
jmp 0x5e346b
cmp rsi, rbx
jae 0x5e3468
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 0x5e3643
cmp ecx, 0x8000000
jae 0x5e3643
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 0x5e35e7
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 0x5e363f
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 0x5e389b
add rsi, 4
cmp rsi, rbx
jb 0x5e3540
jmp 0x5e3468
inc rsi
mov r8d, r13d
mov r13d, ecx
mov r15, rsi
test r8d, r8d
jns 0x5e364e
cmp qword [rdi], 0
je 0x5e3ebe
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 0x5e3f15
mov eax, dword [rax + rcx*4]
test eax, eax
js 0x5e3914
mov r13d, eax
cmp r13d, 0x7ffffff
ja 0x5e365e
jmp 0x5e346b
add rsi, 2
mov r8d, ecx
mov r15, rsi
test r8d, r8d
js 0x5e35f8
mov r13d, r8d
cmp r13d, 0x7ffffff
jbe 0x5e346b
mov eax, r13d
test eax, 0x10000000
je 0x5e3956
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 0x5e3a53
mov rsi, qword [rsp + 0x108]
cmp rsi, r15
jbe 0x5e3998
cmp dword [rsp + 0xb8], 0
mov r9, qword [rsp + 0x38]
mov r11, qword [rsp + 0x48]
je 0x5e34b5
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.00613270
mov r12, qword [rsp + 0x70]
test r12, r12
je 0x5e37d6
lea rax, [r12 - 1]
cmp rax, qword [rsp + 0x68]
mov r9, qword [rsp + 0x38]
mov r11, qword [rsp + 0x48]
jae 0x5e37fa
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 0x5e37af
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 0x5e3e3c
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 0x5e3812
jmp 0x5e383a
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 0x5e3812
jmp 0x5e383a
mov r10d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x5c]
mov al, 2
movzx r15d, al
mov rcx, r15
test r10d, r10d
je 0x5e383a
cmp r10d, 2
jne 0x5e3836
mov r13d, r8d
test byte [rsp + 0xe0], 1
jne 0x5e38af
mov rax, r13
shl rax, 0x20
or rax, 2
jmp 0x5e388a
lea rcx, [r15 + 6]
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jae 0x5e3f09
mov rax, qword [rdi + 0x38]
mov eax, dword [rax + rcx*4]
test eax, eax
jns 0x5e34b2
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0xf0], rdi
lea rcx, [rsp + 0xe8]
mov edx, r10d
mov r9d, r15d
call fcn.005e0780
mov r11, qword [rsp + 0x48]
mov r9, qword [rsp + 0x38]
mov r13, rax
shr r13, 0x20
mov eax, eax
cmp rax, 5
je 0x5e34b5
jmp 0x5e3e41
mov r8d, r13d
mov r13d, ecx
test r8d, r8d
jns 0x5e364e
jmp 0x5e35f8
mov rax, qword [rsp + 0xa8]
cmp qword [rax + 0x168], r13
jbe 0x5e347c
lea rax, [r13*2]
add rax, r13
lea rcx, [r15 + rax*2]
add rcx, 0xc
mov rdx, qword [rdi + 0x40]
cmp rcx, rdx
jb 0x5e3847
jmp 0x5e3f09
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, r13d
call fcn.005de720
test eax, eax
jne 0x5e3e69
mov r13d, edx
mov r15, rsi
jmp 0x5e393a
shl r8d, 8
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], rdi
lea rcx, [rsp + 0x58]
mov edx, r13d
call fcn.005de720
test eax, eax
jne 0x5e3eb6
mov r13d, edx
mov r9, qword [rsp + 0x38]
mov r11, qword [rsp + 0x48]
cmp r13d, 0x7ffffff
ja 0x5e365e
jmp 0x5e346b
test eax, 0x8000000
je 0x5e3e71
mov eax, 1
mov qword [rsp + 0xc0], rax
mov dword [rsp + 0x8c], 0
mov rax, qword [rsp + 0xa8]
cmp qword [rax + 0x168], 1
jne 0x5e39a7
mov qword [rsp + 0xa0], r15
jmp 0x5e346b
mov r9, qword [rsp + 0x38]
mov r11, qword [rsp + 0x48]
jmp 0x5e346b
mov rcx, r14
mov rdx, rdi
mov r8d, r13d
call fcn.005e13f0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.005e4280
mov r11, qword [rsp + 0x48]
mov r9, qword [rsp + 0x38]
mov dword [rsp + 0x8c], eax
mov qword [rsp + 0xa0], r15
jmp 0x5e346b
xor eax, eax
mov qword [rsp + 0xc0], rax
cmp rbx, r9
jae 0x5e3a17
movzx esi, byte [r11 + rbx]
mov rcx, r14
mov rdx, rdi
mov r8d, r13d
mov r9d, esi
call fcn.005e4390
test eax, eax
mov ebp, dword [rsp + 0x8c]
je 0x5e3a89
mov rcx, rbx
jmp 0x5e3a39
mov rcx, r14
mov rdx, rdi
mov r8d, r13d
call fcn.005e41c0
test eax, eax
mov ebp, dword [rsp + 0x8c]
je 0x5e3abd
mov rcx, qword [rsp + 0x38]
call fcn.005e4240
mov r15, qword [rsp + 0x30]
mov qword [r15 + 8], rax
mov qword [r15], 2
jmp 0x5e3df3
mov rcx, rdi
mov rdx, rbx
call fcn.005e4340
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 0x5e3df3
mov r8d, edx
mov eax, edx
test eax, 0x8000000
mov r15, qword [rsp + 0x30]
jne 0x5e3c11
test eax, 0x20000000
mov r13, qword [rsp + 0xc0]
je 0x5e3c62
mov ecx, esi
mov rdx, rbx
call fcn.005e42f0
jmp 0x5e3a43
mov r8d, edx
test edx, 0x8000000
mov r15, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov r13, qword [rsp + 0xc0]
je 0x5e3c62
mov rax, qword [rsp + 0xa8]
cmp qword [rax + 0x168], 1
jne 0x5e3c38
mov r13d, 1
xor ebp, ebp
jmp 0x5e3c5a
xor ebx, ebx
mov rax, qword [rsp + 0xc8]
cmp qword [rax + 0x168], 1
je 0x5e3b34
mov rcx, r14
mov rdx, rdi
mov r8d, esi
call fcn.005e13f0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.005e4280
mov ebx, eax
mov rcx, rdi
mov rdx, rbp
call fcn.005e4340
mov rax, qword [rsp + 0x30]
mov qword [rax], 1
mov qword [rax + 8], rbp
mov dword [rax + 0x10], ebx
jmp 0x5e3df3
mov r8d, edx
xor eax, eax
test r8d, 0x8000000
je 0x5e2058
mov ecx, 1
mov rdx, qword [rsp + 0x38]
cmp qword [rdx + 0x168], 1
je 0x5e3b9c
mov rcx, r14
mov rdx, rdi
call fcn.005e13f0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.005e4280
mov ecx, 1
mov rdx, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x5e3f43
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 0x5e3df3
movzx eax, byte [0x0076d188]
mov edx, 0x10
xor ecx, ecx
call fcn.0069df80
test rax, rax
je 0x5e40b8
mov byte [rax], 1
mov qword [rax + 8], rbp
mov rsi, qword [rsp + 0x30]
mov qword [rsi + 8], rax
mov qword [rsi], 2
jmp 0x5e3df3
mov rax, qword [rsp + 0xa8]
cmp qword [rax + 0x168], 1
mov r12, rbx
jne 0x5e3c38
mov r13d, 1
xor ebp, ebp
mov qword [rsp + 0xa0], rbx
jmp 0x5e3c62
mov rcx, r14
mov rdx, rdi
call fcn.005e13f0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.005e4280
mov ebp, eax
mov r13d, 1
mov qword [rsp + 0xa0], r12
mov rcx, rdi
mov rdx, rbx
call fcn.005e4340
mov qword [r15], r13
mov rax, qword [rsp + 0xa0]
mov qword [r15 + 8], rax
mov dword [r15 + 0x10], ebp
jmp 0x5e3df3
mov ecx, ebp
mov rdx, rbx
jmp 0x5e2960
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.005e0780
mov rsi, rax
mov ecx, esi
shr rsi, 0x20
cmp rcx, 5
jne 0x5e2916
jmp 0x5e2c13
mov rcx, rbp
jmp 0x5e30d1
mov rcx, r14
mov dword [rsp + 0x98], r10d
mov r13d, r8d
call fcn.005e1440
mov r8d, r13d
mov r10d, dword [rsp + 0x98]
mov r11, qword [rsp + 0x48]
mov r9, qword [rsp + 0x38]
test eax, eax
jns 0x5e33fe
mov qword [rsp + 0xe8], r14
mov qword [rsp + 0xf0], rdi
lea rcx, [rsp + 0xe8]
mov edx, r10d
mov r9d, esi
call fcn.005e0780
mov r11, qword [rsp + 0x48]
mov r9, qword [rsp + 0x38]
mov r13, rax
shr r13, 0x20
mov eax, eax
cmp rax, 5
je 0x5e3401
shl r13, 0x20
or r13, rax
mov rcx, r12
mov rdx, r13
call fcn.005e40f0
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 8], rax
mov eax, 2
mov qword [rcx], rax
jmp 0x5e3df3
mov r8d, edx
mov r11, qword [rsp + 0x48]
mov eax, r8d
test eax, 0x8000000
je 0x5e264c
cmp qword [r11 + 0x168], 1
mov r12, rbx
jne 0x5e3d97
xor ebp, ebp
mov esi, 1
mov rdx, rbx
jmp 0x5e3dbb
mov rcx, r14
mov rdx, rdi
call fcn.005e13f0
mov rcx, qword [rax]
mov rdx, qword [rax + 8]
xor r8d, r8d
call fcn.005e4280
mov ebp, eax
mov esi, 1
mov rdx, r12
mov rax, qword [rdi + 8]
cmp qword [rdi], 0
mov qword [rdi], 0
je 0x5e3f43
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 0x5e26e0
jmp 0x5e3dbb
mov rcx, rdi
mov rdx, rbp
call fcn.005e4340
mov rax, qword [rsp + 0x30]
mov qword [rax], 0
jmp 0x5e3df3
mov eax, 4
shl r13, 0x20
or r13, rax
mov rcx, r12
jmp 0x5e2144
mov rcx, r12
jmp 0x5e30d1
mov eax, 4
shl rsi, 0x20
or rsi, rax
jmp 0x5e291d
mov rcx, rsi
jmp 0x5e30d1
test eax, 0x40000000
jne 0x5e3eab
test eax, 0x20000000
je 0x5e405f
mov rcx, rdi
mov rdx, r15
call fcn.005e4340
cmp r15, qword [rsp + 0x38]
jae 0x5e40d9
mov rax, qword [rsp + 0x48]
movzx ecx, byte [rax + r15]
mov rdx, r15
jmp 0x5e2960
mov rcx, rdi
mov rdx, r15
jmp 0x5e3a59
mov rcx, r15
jmp 0x5e30d1
lea rcx, str.no_in_progress_search_to_update
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_dfa.rs
mov edx, 0x1f
call fcn.00572310
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_dfa.rs
mov rdx, rax
call fcn.0056d4e0
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_search.rs
mov rcx, rbp
mov rdx, rsi
call fcn.0056d4e0
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_search.rs
mov rcx, rbp
mov rdx, r10
call fcn.0056d4e0
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_dfa.rs
call fcn.0056d4e0
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_dfa.rs
call fcn.0056d4e0
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_dfa.rs
mov rcx, r10
mov rdx, rax
call fcn.0056d4e0
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_util_determinize_state.rs
xor ecx, ecx
xor edx, edx
call fcn.0056d4e0
lea rcx, str.no_in_progress_search_to_finish
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_dfa.rs
mov edx, 0x1f
call fcn.00572310
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_search.rs
mov rcx, r12
mov rdx, r13
call fcn.0056d4e0
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_dfa.rs
mov rdx, r9
call fcn.0056d4e0
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_dfa.rs
mov rcx, rax
call fcn.0056d4e0
lea r8, [0x0071fed0]
mov ecx, 4
mov rdx, rax
call fcn.0056ddd0
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_util_determinize_state.rs
mov ecx, 0xd
mov rdx, rax
call fcn.0056d470
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_search.rs
mov rcx, rsi
mov rdx, r9
call fcn.0056d4e0
mov qword [rsp + 0x120], r13
lea rax, [rsp + 0x128]
mov qword [rsp + 0x100], rax
lea rax, [0x00522e20]
mov qword [rsp + 0x108], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x110], rax
lea rax, [fcn.0056d550]
mov qword [rsp + 0x118], rax
lea rax, [0x0071b0b0]
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._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_util_search.rs
lea rcx, [rsp + 0x58]
call fcn.0056d430
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_dfa.rs
mov rcx, r9
call fcn.0056d4e0
lea rax, str.internal_error:_entered_unreachable_code:_sid_being_unknown_is_a_bug
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._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_search.rs
lea rcx, [rsp + 0x58]
call fcn.0056d430
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_search.rs
mov rcx, r12
mov rdx, rsi
call fcn.0056d4e0
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_search.rs
mov rcx, r12
call fcn.0056d4e0
mov ecx, 8
mov edx, 0x10
call fcn.00522ef0
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_search.rs
mov rcx, rbp
mov rdx, r13
call fcn.0056d4e0
lea r8, str._home_uni_100_.cargo_registry_src_index.crates.io_6f17d22bba15001f_regex_automata_0.4.7_src_hybrid_search.rs
mov rcx, r15
mov rdx, qword [rsp + 0x38]
call fcn.0056d4e0
int3