Function at 0x1400936d0
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov qword [rsp + 0x30], rcx
mov qword [r9], 0
mov r12, qword [r8 + 0x18]
mov r14, qword [r8 + 0x20]
cmp r12, r14
jbe 0x140093703
xor edx, edx
jmp 0x1400949d5
mov rdi, r9
mov r15, r8
mov rsi, rdx
mov edx, dword [r8]
mov rax, rdx
dec rax
cmp rax, 2
jb 0x14009373e
mov rcx, qword [rsp + 0x30]
lea rax, [rcx + 0x60]
cmp byte [rcx + 0x78], 3
lea r13, [0x1401269e0]
cmovne r13, rax
cmp byte [r13 + 0x18], 2
jne 0x140093905
mov rax, qword [rsp + 0x30]
mov r10, qword [rax + 0x2b0]
cmp dword [rdi + 0x28], 0
je 0x14009384a
mov r13d, dword [rdi + 0x2c]
cmp qword [rdi + 0x18], 0
je 0x140093831
test r13d, 0x8000000
je 0x140094a59
mov edx, r13d
and edx, 0x7ffffff
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax + 0x2b8]
shr rdx, cl
cmp rdx, qword [rsi + 0x58]
jae 0x140094a59
mov rcx, qword [rsi + 0x50]
shl rdx, 4
mov rax, qword [rcx + rdx + 8]
test rax, rax
je 0x140094a59
mov rcx, qword [rcx + rdx]
movzx edx, byte [rcx + 0x10]
test dl, 1
je 0x140093831
mov r8, qword [rdi + 0x20]
mov r9d, 1
test dl, 2
je 0x1400937d2
cmp rax, 0xc
jbe 0x140094a59
mov r9d, dword [rcx + 0x19]
cmp r8, r9
jae 0x140093831
lea r9, [r8 + 1]
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], r9
xor r9d, r9d
cmp qword [r10 + 0x168], 1
je 0x140093819
and dl, 2
je 0x140093819
lea rdx, [r8*4 + 0xd]
sub rax, rdx
jb 0x140094a59
cmp rax, 3
jbe 0x140094a59
mov r9d, dword [rcx + rdx + 0x10]
mov rax, qword [rdi + 0x30]
mov qword [rdi], 1
mov qword [rdi + 8], rax
mov dword [rdi + 0x10], r9d
jmp 0x1400936fc
mov r12, qword [rdi + 0x30]
inc r12
mov qword [rdi + 0x30], r12
cmp r12, r14
ja 0x1400936fc
jmp 0x140093b30
mov qword [rdi + 0x30], r12
test r12, r12
je 0x1400939ef
lea rax, [r12 - 1]
cmp qword [r15 + 0x10], rax
jbe 0x1400939ef
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x1400939ef
movzx r13d, byte [rcx + rax]
mov r8d, dword [r15 + 4]
mov r9, qword [rsp + 0x30]
mov rax, qword [r9 + 0x298]
or rax, qword [r9 + 0x2a8]
mov rcx, qword [r9 + 0x290]
or rcx, qword [r9 + 0x2a0]
or rcx, rax
je 0x140093aef
mov rax, qword [rsp + 0x30]
add rax, 0x290
mov r11d, r13d
shr r11d, 7
shl r11, 4
mov r9d, 1
mov rbx, r14
mov r14, r10
xor r10d, r10d
mov ecx, r13d
shld r10, r9, cl
shl r9, cl
xor ecx, ecx
test r13b, 0x40
cmovne r10, r9
cmovne r9, rcx
and r10, qword [rax + r11 + 8]
and r9, qword [rax + r11]
or r9, r10
mov r10, r14
mov r14, rbx
je 0x140093aef
mov ebp, 4
jmp 0x140093d45
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x2b0]
mov qword [rsp + 0x60], rax
mov eax, dword [rax + 0x17c]
mov dword [rsp + 0x7c], eax
cmp dword [rdi + 0x28], 0
mov qword [rsp + 0x70], rdx
je 0x140093a22
mov r10d, dword [rdi + 0x2c]
cmp qword [rdi + 0x18], 0
je 0x140093a09
test r10d, 0x8000000
je 0x140094a59
mov eax, r10d
and eax, 0x7ffffff
mov rcx, qword [rsp + 0x30]
movzx ecx, byte [rcx + 0x2b8]
shr rax, cl
cmp rax, qword [rsi + 0x58]
jae 0x140094a59
mov rcx, qword [rsi + 0x50]
shl rax, 4
mov rdx, qword [rcx + rax + 8]
test rdx, rdx
je 0x140094a59
mov rcx, qword [rcx + rax]
movzx r9d, byte [rcx + 0x10]
test r9b, 1
je 0x140093a09
mov r8, qword [rdi + 0x20]
mov eax, 1
test r9b, 2
je 0x1400939ad
cmp rdx, 0xc
jbe 0x140094a59
mov eax, dword [rcx + 0x19]
cmp r8, rax
jae 0x140093a09
lea rax, [r8 + 1]
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], rax
xor eax, eax
mov r9, qword [rsp + 0x60]
cmp qword [r9 + 0x168], 1
je 0x1400939d8
call fcn.1400781e0
mov rcx, qword [rdi + 0x30]
mov qword [rdi], 1
mov qword [rdi + 8], rcx
mov dword [rdi + 0x10], eax
jmp 0x1400936fc
mov r8d, dword [r15 + 4]
mov al, 2
movzx r9d, al
mov rax, r9
test edx, edx
jne 0x140093b08
jmp 0x140093b15
mov r12, qword [rdi + 0x30]
inc r12
mov qword [rdi + 0x30], r12
cmp r12, r14
ja 0x1400936fc
jmp 0x140094048
mov qword [rdi + 0x30], r12
test r12, r12
je 0x140093ad5
lea rax, [r12 - 1]
cmp qword [r15 + 0x10], rax
jbe 0x140093ad5
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x140093ad5
mov r11, rdx
movzx r10d, byte [rcx + rax]
mov r8d, dword [r15 + 4]
mov rdx, qword [rsp + 0x30]
mov rax, qword [rdx + 0x298]
or rax, qword [rdx + 0x2a8]
mov rcx, qword [rdx + 0x290]
or rcx, qword [rdx + 0x2a0]
or rcx, rax
je 0x140093f75
mov rax, qword [rsp + 0x30]
add rax, 0x290
mov edx, r10d
shr edx, 7
shl rdx, 4
mov r9d, 1
mov rcx, r10
xor r10d, r10d
shld r10, r9, cl
shl r9, cl
xor ebp, ebp
test cl, 0x40
cmovne r10, r9
cmovne r9, rbp
and r10, qword [rax + rdx + 8]
and r9, qword [rax + rdx]
or r9, r10
mov r10, rcx
je 0x140093f75
mov ebx, 4
jmp 0x140093fb9
mov r8d, dword [r15 + 4]
mov al, 2
movzx r9d, al
mov rax, r9
test edx, edx
jne 0x140093f95
jmp 0x14009402d
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + r13 + 0x90]
movzx r9d, al
mov rax, r9
test edx, edx
je 0x140093b15
cmp edx, 1
jne 0x140093d2b
lea rax, [r9 + 6]
cmp rax, qword [rsi + 0x40]
jae 0x140094a59
mov rcx, qword [rsi + 0x38]
mov r13d, dword [rcx + rax*4]
test r13d, r13d
js 0x14009459d
cmp qword [rsi], 1
jne 0x140093b55
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rsi + 0x158], rax
mov qword [rsi], 1
mov qword [rsi + 8], r12
mov qword [rsi + 0x10], r12
cmp r12, r14
mov qword [rsp + 0x68], r15
jae 0x140093c42
mov rbp, qword [r15 + 8]
mov rbx, qword [r15 + 0x10]
nop word [rax + rax]
cmp r12, rbx
jae 0x140094a59
movzx r8d, byte [rbp + r12]
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax + r8 + 0x190]
mov eax, r13d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rsi + 0x28]
jae 0x140094a59
mov rcx, qword [rsi + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x140093bfe
cmp edx, 0x8000000
jb 0x140093bdc
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], edx
mov eax, edx
test eax, 0x10000000
je 0x140093d98
inc r12
mov qword [rdi + 0x30], r12
cmp qword [rsi], 0
je 0x140094a59
mov qword [rsi + 0x10], r12
mov r13d, edx
cmp r14, r12
jne 0x140093b80
jmp 0x140093caa
mov r15, rdi
mov rax, qword [rsp + 0x30]
mov rdi, r14
mov r14, r10
shl r8d, 8
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r13d
call fcn.140080a50
test eax, eax
jne 0x1400943eb
mov r10, r14
mov r14, rdi
mov rdi, r15
cmp edx, 0x8000000
jae 0x140093bc5
jmp 0x140093bdc
mov rbx, qword [r15 + 0x10]
cmp r14, rbx
jae 0x140093cb2
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 8]
movzx r15d, byte [rax + r14]
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax + r15 + 0x190]
mov eax, r13d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rsi + 0x28]
jae 0x140094a59
mov rcx, qword [rsi + 0x20]
mov ebp, dword [rcx + rax*4]
test ebp, ebp
js 0x1400945da
mov eax, ebp
test eax, 0x8000000
jne 0x140094783
test eax, 0x20000000
jne 0x140093e44
xor edx, edx
jmp 0x140093e77
mov r13d, edx
cmp r14, rbx
jb 0x140093c4b
mov rax, qword [rsp + 0x30]
movzx r8d, byte [rax + 0x28f]
shl r8d, 0x10
add r8d, 0x10001
mov ecx, r8d
shr ecx, 0x10
mov eax, r13d
and eax, 0x7ffffff
add rax, rcx
cmp qword [rsi + 0x28], rax
jbe 0x140094a59
mov rcx, qword [rsi + 0x20]
mov ebp, dword [rcx + rax*4]
test ebp, ebp
js 0x140094632
xor edx, edx
test ebp, 0x8000000
je 0x140093e77
cmp qword [r10 + 0x168], 1
je 0x1400947d2
mov eax, ebp
and eax, 0x7ffffff
mov rcx, qword [rsp + 0x30]
movzx ecx, byte [rcx + 0x2b8]
shr rax, cl
jmp 0x1400947ad
mov rax, qword [rsp + 0x30]
test byte [rax + 0x81], 1
mov r13d, r8d
mov ebp, 2
jne 0x140093e15
lea ecx, [rbp - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
test eax, eax
je 0x1400943eb
cmp eax, 1
jne 0x140093f19
test r12, r12
je 0x140094a59
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x140094a59
dec r12
mov byte [rax], 0
mov byte [rax + 1], r13b
jmp 0x14009440a
test eax, 0x8000000
jne 0x140093e86
test eax, 0x40000000
jne 0x140093ee8
test eax, 0x20000000
je 0x140094a59
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x140094a59
mov rcx, r12
sub rcx, rax
neg rcx
mov rdx, r12
sub rdx, rax
cmovb rdx, rcx
add qword [rsi + 0x158], rdx
movzx ebx, byte [rbp + r12]
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x140094a59
mov byte [rax], 0
mov byte [rax + 1], bl
jmp 0x14009440a
cmp qword [r10 + 0x168], r13
jbe 0x140093f47
lea rax, [r13*2]
add rax, r13
lea rax, [r9 + rax*2]
add rax, 0xc
cmp rax, qword [rsi + 0x40]
jb 0x140093b1f
jmp 0x140094a59
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x140094a59
mov rdx, rax
mov byte [rax], 0
mov byte [rax + 1], r15b
mov rbx, r14
mov r13d, ebp
mov qword [rdx + 8], rbx
mov ebp, r13d
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], ebp
jmp 0x1400949a9
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], 1
xor eax, eax
cmp qword [r10 + 0x168], 1
je 0x140093eda
and edx, 0x7ffffff
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax + 0x2b8]
shr rdx, cl
cmp rdx, qword [rsi + 0x58]
jae 0x140094a59
mov rax, qword [rsi + 0x50]
shl rdx, 4
mov rcx, qword [rax + rdx]
mov rdx, qword [rax + rdx + 8]
xor r8d, r8d
call fcn.1400781e0
mov qword [rdi], 1
mov qword [rdi + 8], r12
mov dword [rdi + 0x10], eax
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x140094a59
mov rcx, r12
sub rcx, rax
neg rcx
sub r12, rax
cmovb r12, rcx
add qword [rsi + 0x158], r12
jmp 0x1400936fc
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x140094a59
mov rdx, rax
mov byte [rax], 3
mov dword [rax + 4], ebp
mov dword [rax + 8], r13d
jmp 0x1400949d5
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x2b8]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x140094a59
mov r13d, 1
shl r13, cl
or r13d, 0x40000000
jmp 0x140093b30
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + r10 + 0x90]
mov rdx, r11
movzx r9d, al
mov rax, r9
test edx, edx
je 0x14009402d
cmp edx, 1
jne 0x140093fa3
lea rax, [r9 + 6]
jmp 0x14009402d
mov rax, qword [rsp + 0x30]
test byte [rax + 0x81], 1
mov r10d, r8d
mov ebx, 2
jne 0x14009400f
lea ecx, [rbx - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
test eax, eax
je 0x1400943eb
cmp eax, 1
jne 0x140094686
test r12, r12
je 0x140094a59
mov rsi, r10
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x140094a59
dec r12
mov byte [rax], 0
mov byte [rax + 1], sil
jmp 0x14009440a
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x168], r10
jbe 0x14009470d
lea rax, [r10 + r10*2]
lea rax, [r9 + rax*2]
add rax, 0xc
cmp rax, qword [rsi + 0x40]
jae 0x140094a59
mov rcx, qword [rsi + 0x38]
mov r10d, dword [rcx + rax*4]
test r10d, r10d
js 0x14009473b
cmp qword [rsi], 1
jne 0x14009406d
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 8]
mov rdx, rax
sub rdx, rcx
neg rdx
sub rax, rcx
cmovb rax, rdx
add qword [rsi + 0x158], rax
mov qword [rsi], 1
mov qword [rsi + 8], r12
mov qword [rsi + 0x10], r12
cmp r12, r14
jae 0x140094118
mov r9, qword [r15 + 8]
mov r11, qword [r15 + 0x10]
mov eax, dword [r15 + 4]
lea rcx, [r14 + 1]
mov qword [rsp + 0xa0], rcx
mov rcx, qword [rsp + 0x30]
lea rdx, [rcx + 0x290]
mov qword [rsp + 0x88], rdx
movzx edx, byte [rcx + 0x81]
mov byte [rsp + 0x3f], dl
mov qword [rsp + 0x58], rax
lea rax, [rax + rax*2]
lea rax, [rax + rax + 0xc]
mov qword [rsp + 0x98], rax
mov rax, qword [r13]
mov qword [rsp + 0xb0], rax
mov rax, qword [r13 + 8]
mov qword [rsp + 0xa8], rax
mov rcx, qword [rcx + 0x2b8]
and ecx, 0x3f
mov eax, 1
mov qword [rsp + 0x80], rcx
shl rax, cl
or eax, 0x40000000
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x68], r15
jmp 0x14009414b
mov r11, qword [r15 + 0x10]
jmp 0x140094419
mov r10, qword [rsp + 0x90]
cmp dword [rsp + 0x80], 0x1b
jae 0x140094a59
mov r12, r15
cmp r15, r14
mov r15, qword [rsp + 0x68]
mov r9, rbx
jae 0x140094419
cmp r12, r11
jae 0x140094a59
movzx r8d, byte [r9 + r12]
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax + r8 + 0x190]
mov eax, r10d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rsi + 0x28]
jae 0x140094a59
mov rcx, qword [rsi + 0x20]
mov r13d, dword [rcx + rax*4]
test r13d, r13d
js 0x140094315
cmp r13d, 0x8000000
jb 0x1400942ef
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], r13d
mov eax, r13d
test eax, 0x10000000
je 0x140094500
mov r10, qword [rsp + 0xa8]
mov rax, qword [r10 + 0x10]
dec rax
and rax, 0xfffffffffffffff0
mov rcx, qword [rsp + 0xb0]
lea rdx, [rax + rcx]
add rdx, 0x10
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r12
lea rcx, [rsp + 0x40]
mov rbx, r9
mov r8, r9
mov rbp, r11
mov r9, r11
call qword [r10 + 0x40]
cmp qword [rsp + 0x40], 0
je 0x1400936fc
mov r15, qword [rsp + 0x48]
cmp r15, r12
jbe 0x1400942e4
mov qword [rdi + 0x30], r15
mov r10d, r13d
cmp dword [rsp + 0x7c], 0
mov r11, rbp
je 0x140094137
cmp r11, r14
jb 0x140094a59
cmp qword [rsp + 0xa0], r15
jb 0x140094a59
lea r12, [r15 - 1]
mov al, 2
cmp r11, r12
mov r10, qword [rsp + 0x70]
jbe 0x1400942c1
movzx ecx, byte [rbx + r12]
mov r8, qword [rsp + 0x88]
mov rax, qword [r8 + 8]
or rax, qword [r8 + 0x18]
mov rdx, qword [r8]
or rdx, qword [r8 + 0x10]
or rdx, rax
je 0x1400942b4
xor eax, eax
mov edx, 1
shld rax, rdx, cl
mov edx, ecx
shr edx, 7
mov r8d, 1
shl r8, cl
shl rdx, 4
test cl, 0x40
cmovne rax, r8
mov r9d, 0
cmovne r8, r9
mov r9, qword [rsp + 0x88]
and rax, qword [r9 + rdx + 8]
and r8, qword [r9 + rdx]
or r8, rax
jne 0x1400948be
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + rcx + 0x90]
movzx r9d, al
mov rax, r9
test r10d, r10d
je 0x140094388
cmp r10d, 1
jne 0x14009435b
lea rax, [r9 + 6]
jmp 0x140094388
mov r15, qword [rsp + 0x68]
mov r11, rbp
mov r9, rbx
inc r12
mov qword [rdi + 0x30], r12
cmp qword [rsi], 0
je 0x140094a59
mov qword [rsi + 0x10], r12
mov r10d, r13d
cmp r12, r14
jb 0x14009414b
jmp 0x140094416
mov rbx, r9
mov rbp, r11
shl r8d, 8
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r10d
call fcn.140080a50
test eax, eax
jne 0x1400943eb
mov r13d, edx
mov r11, rbp
mov r9, rbx
cmp r13d, 0x8000000
jae 0x14009419a
jmp 0x1400942ef
test byte [rsp + 0x3f], 1
je 0x1400948b6
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
cmp qword [rax + 0x168], rcx
jbe 0x140094121
mov rax, qword [rsp + 0x98]
add rax, r9
cmp rax, qword [rsi + 0x40]
jae 0x140094a59
mov rcx, qword [rsi + 0x38]
mov r10d, dword [rcx + rax*4]
test r10d, r10d
jns 0x140094137
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xc0], rsi
lea rcx, [rsp + 0xb8]
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x58]
call fcn.140081d50
mov r13, rax
mov r10, rax
shr r10, 0x20
cmp r13d, 5
jne 0x140094a5b
mov r11, rbp
jmp 0x140094137
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x140094a59
mov byte [rax], 1
mov qword [rax + 8], r12
mov rdx, rax
jmp 0x1400949d5
mov r10d, r13d
cmp r14, r11
jae 0x14009447b
mov rax, qword [r15 + 8]
movzx r12d, byte [rax + r14]
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax + r12 + 0x190]
mov eax, r10d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rsi + 0x28]
jae 0x140094a59
mov rcx, qword [rsi + 0x20]
mov r15d, dword [rcx + rax*4]
test r15d, r15d
js 0x14009480a
mov eax, r15d
test eax, 0x8000000
jne 0x140094926
test eax, 0x20000000
jne 0x14009455a
xor edx, edx
jmp 0x14009458d
mov rax, qword [rsp + 0x30]
movzx r8d, byte [rax + 0x28f]
shl r8d, 0x10
add r8d, 0x10001
mov ecx, r8d
shr ecx, 0x10
mov eax, r10d
and eax, 0x7ffffff
add rax, rcx
cmp qword [rsi + 0x28], rax
jbe 0x140094a59
mov rcx, qword [rsi + 0x20]
mov r15d, dword [rcx + rax*4]
test r15d, r15d
js 0x140094862
xor edx, edx
test r15d, 0x8000000
je 0x14009458d
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x168], 1
je 0x14009497e
mov r12, r11
mov eax, r15d
and eax, 0x7ffffff
mov rcx, qword [rsp + 0x30]
movzx ecx, byte [rcx + 0x2b8]
shr rax, cl
jmp 0x140094956
test eax, 0x8000000
jne 0x1400946b6
test eax, 0x40000000
jne 0x140093ee8
test eax, 0x20000000
je 0x140094a59
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x140094a59
mov rcx, r12
sub rcx, rax
neg rcx
mov rdx, r12
sub rdx, rax
cmovb rdx, rcx
add qword [rsi + 0x158], rdx
movzx ebx, byte [r9 + r12]
jmp 0x140093dee
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x140094a59
mov byte [rax], 0
mov byte [rax + 1], r12b
mov rcx, r14
mov r13d, r15d
mov rdx, rax
mov qword [rdx + 8], rcx
mov r15d, r13d
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], r15d
jmp 0x1400949a9
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov rbx, r14
mov r14, r10
call fcn.140081d50
mov r10, r14
mov r14, rbx
mov rbp, rax
mov r13, rax
shr r13, 0x20
cmp ebp, 5
je 0x140093b30
jmp 0x140093d45
mov r12, r10
mov r8d, r15d
shl r8d, 8
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r13d
call fcn.140080a50
test eax, eax
je 0x140094771
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x140094a59
mov rdx, rax
mov byte [rax], 1
mov rbx, r14
jmp 0x140093e70
mov r12, r14
mov r14, r10
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r13d
call fcn.140080a50
test eax, eax
je 0x1400947ef
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x140094a59
mov rdx, rax
mov byte [rax], 1
mov r14, r12
jmp 0x140093e70
mov rsi, r10
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x140094a59
mov rdx, rax
mov byte [rax], 3
mov dword [rax + 4], ebx
mov dword [rax + 8], esi
jmp 0x1400949d5
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], 1
xor eax, eax
mov rcx, qword [rsp + 0x60]
cmp qword [rcx + 0x168], 1
je 0x140093eda
and r13d, 0x7ffffff
mov rcx, qword [rsp + 0x80]
shr r13, cl
cmp r13, qword [rsi + 0x58]
jae 0x140094a59
mov rax, qword [rsi + 0x50]
shl r13, 4
mov rcx, qword [rax + r13]
mov rdx, qword [rax + r13 + 8]
jmp 0x140093ed2
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax + 0x2b8]
and ecx, 0x3f
cmp rcx, 0x1b
jae 0x140094a59
mov r10d, 1
shl r10, cl
or r10d, 0x40000000
jmp 0x140094048
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov rdx, qword [rsp + 0x70]
call fcn.140081d50
mov rbx, rax
mov r10, rax
shr r10, 0x20
cmp ebx, 5
jne 0x140093fb9
jmp 0x140094048
mov ebp, edx
mov r10, r12
mov eax, ebp
test eax, 0x8000000
je 0x140093c98
xor edx, edx
cmp qword [r10 + 0x168], 1
jne 0x140094794
mov rbx, r14
jmp 0x1400947d2
mov eax, ebp
and eax, 0x7ffffff
mov rcx, qword [rsp + 0x30]
movzx ecx, byte [rcx + 0x2b8]
shr rax, cl
mov rbx, r14
cmp rax, qword [rsi + 0x58]
jae 0x140094a59
mov rdx, qword [rsi + 0x50]
shl rax, 4
mov rcx, qword [rdx + rax]
mov rdx, qword [rdx + rax + 8]
xor r8d, r8d
call fcn.1400781e0
mov edx, eax
mov qword [rdi], 1
mov qword [rdi + 8], rbx
mov dword [rdi + 0x10], edx
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], ebp
jmp 0x140094997
mov ebp, edx
mov r10, r14
mov r14, r12
xor edx, edx
test ebp, 0x8000000
jne 0x140093d02
jmp 0x140093e77
mov r8d, r12d
shl r8d, 8
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov r13, r10
mov edx, r10d
call fcn.140080a50
test eax, eax
je 0x140094915
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x140094a59
mov rdx, rax
mov byte [rax], 1
mov rcx, r14
jmp 0x140094586
mov r12, r11
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov r13, r10
mov edx, r10d
call fcn.140080a50
test eax, eax
je 0x1400949ec
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x140094a59
mov rdx, rax
mov byte [rax], 1
mov rcx, r12
jmp 0x140094586
mov r13d, 2
jmp 0x1400948c9
mov r13d, 4
mov qword [rsp + 0x58], rcx
lea ecx, [r13 - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
test eax, eax
je 0x140094a06
cmp eax, 1
jne 0x140094a2a
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x140094a59
mov byte [rax], 0
mov rcx, qword [rsp + 0x58]
mov byte [rax + 1], cl
jmp 0x14009440a
mov r15d, edx
mov eax, r15d
test eax, 0x8000000
je 0x140094469
xor edx, edx
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x168], 1
jne 0x14009493c
mov r11, r14
jmp 0x14009497e
mov eax, r15d
and eax, 0x7ffffff
mov rcx, qword [rsp + 0x30]
movzx ecx, byte [rcx + 0x2b8]
shr rax, cl
mov r12, r14
cmp rax, qword [rsi + 0x58]
jae 0x140094a59
mov rdx, qword [rsi + 0x50]
shl rax, 4
mov rcx, qword [rdx + rax]
mov rdx, qword [rdx + rax + 8]
xor r8d, r8d
call fcn.1400781e0
mov edx, eax
mov r11, r12
mov qword [rdi], 1
mov qword [rdi + 8], r11
mov dword [rdi + 0x10], edx
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], r15d
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], 1
xor edx, edx
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x140094a59
mov rcx, r14
sub rcx, rax
neg rcx
sub r14, rax
cmovb r14, rcx
add qword [rsi + 0x158], r14
mov rax, rdx
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r15d, edx
mov r11, r12
xor edx, edx
test r15d, 0x8000000
jne 0x1400944ce
jmp 0x14009458d
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x140094a59
mov rdx, rax
mov byte [rax], 1
mov qword [rax + 8], r15
jmp 0x1400949d5
movzx eax, byte [0x140188180]
mov edx, 0x10
xor ecx, ecx
call fcn.1400f2120
test rax, rax
je 0x140094a59
mov rdx, rax
mov byte [rax], 3
mov dword [rax + 4], r13d
mov rax, qword [rsp + 0x58]
mov dword [rdx + 8], eax
jmp 0x1400949d5
ud2
mov qword [rsp + 0x58], r10
jmp 0x1400948c9