Function at 0x14007c510
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
mov qword [r9], 0
mov r13, qword [r8 + 0x18]
mov r14, qword [r8 + 0x20]
cmp r13, r14
jbe 0x14007c53e
xor eax, eax
jmp 0x14007d5a6
mov rdi, r9
mov rsi, rdx
mov rbx, rcx
mov r11d, dword [r8]
lea eax, [r11 - 1]
cmp eax, 2
jb 0x14007c570
lea rax, [rbx + 0x60]
cmp byte [rbx + 0x78], 3
lea rbp, [0x1418d3370]
cmovne rbp, rax
cmp byte [rbp + 0x18], 2
jne 0x14007c714
mov rbp, qword [rbx + 0x2b0]
cmp dword [rdi + 0x28], 0
je 0x14007c671
mov r15d, dword [rdi + 0x2c]
cmp qword [rdi + 0x18], 0
je 0x14007c658
test r15d, 0x8000000
je 0x14007d60c
mov edx, r15d
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
cmp rdx, qword [rsi + 0x58]
jae 0x14007d60c
mov rcx, qword [rsi + 0x50]
shl edx, 4
mov rax, qword [rcx + rdx + 8]
test rax, rax
je 0x14007d60c
mov rcx, qword [rcx + rdx]
movzx edx, byte [rcx + 0x10]
test dl, 1
je 0x14007c658
mov r9, qword [rdi + 0x20]
mov r10d, 1
test dl, 2
je 0x14007c5f9
cmp rax, 0xc
jbe 0x14007d60c
mov r10d, dword [rcx + 0x19]
cmp r9, r10
jae 0x14007c658
lea r8, [r9 + 1]
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], r8
xor r8d, r8d
cmp qword [rbp + 0x168], 1
je 0x14007c640
and dl, 2
je 0x14007c640
lea rdx, [r9*4 + 0xd]
sub rax, rdx
jb 0x14007d60c
cmp rax, 3
jbe 0x14007d60c
mov r8d, dword [rcx + rdx + 0x10]
mov rax, qword [rdi + 0x30]
mov qword [rdi], 1
mov qword [rdi + 8], rax
mov dword [rdi + 0x10], r8d
jmp 0x14007c537
mov r13, qword [rdi + 0x30]
inc r13
mov qword [rdi + 0x30], r13
cmp r13, r14
ja 0x14007c537
jmp 0x14007c9a0
mov qword [rdi + 0x30], r13
test r13, r13
je 0x14007c7f5
lea rax, [r13 - 1]
cmp qword [r8 + 0x10], rax
jbe 0x14007c7f5
mov rcx, qword [r8 + 8]
movzx r15d, byte [rcx + rax]
mov eax, dword [r8 + 4]
mov rcx, qword [rbx + 0x298]
or rcx, qword [rbx + 0x2a8]
mov rdx, qword [rbx + 0x290]
or rdx, qword [rbx + 0x2a0]
or rdx, rcx
je 0x14007c940
lea rdx, [rbx + 0x290]
mov r9d, r15d
shr r9d, 3
and r9d, 0xfffffff0
mov r10d, 1
mov r12, r11
xor r11d, r11d
mov ecx, r15d
shld r11, r10, cl
shl r10, cl
xor ecx, ecx
test r15b, 0x40
cmovne r11, r10
cmovne r10, rcx
and r11, qword [rdx + r9 + 8]
and r10, qword [rdx + r9]
or r10, r11
mov r11, r12
je 0x14007c940
mov r12d, 4
jmp 0x14007d1d1
mov rax, qword [rbx + 0x2b0]
mov qword [rsp + 0x80], rax
mov eax, dword [rax + 0x17c]
mov dword [rsp + 0x7c], eax
cmp dword [rdi + 0x28], 0
je 0x14007c829
mov r15d, dword [rdi + 0x2c]
cmp qword [rdi + 0x18], 0
je 0x14007c810
mov rax, r15
test eax, 0x8000000
je 0x14007d60c
and eax, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rax, cl
cmp rax, qword [rsi + 0x58]
jae 0x14007d60c
mov rcx, qword [rsi + 0x50]
shl eax, 4
mov rdx, qword [rcx + rax + 8]
test rdx, rdx
je 0x14007d60c
mov rcx, qword [rcx + rax]
movzx r10d, byte [rcx + 0x10]
test r10b, 1
je 0x14007c810
mov r9, qword [rdi + 0x20]
mov eax, 1
test r10b, 2
je 0x14007c7ad
cmp rdx, 0xc
jbe 0x14007d60c
mov eax, dword [rcx + 0x19]
cmp r9, rax
jae 0x14007c810
lea rax, [r9 + 1]
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], rax
xor eax, eax
mov r8, qword [rsp + 0x80]
cmp qword [r8 + 0x168], 1
je 0x14007c7de
mov r8, r9
call fcn.1400943d0
mov rcx, qword [rdi + 0x30]
mov qword [rdi], 1
mov qword [rdi + 8], rcx
mov dword [rdi + 0x10], eax
jmp 0x14007c537
mov eax, dword [r8 + 4]
mov cl, 2
movzx r9d, cl
mov rcx, r9
test r11d, r11d
jne 0x14007c955
jmp 0x14007c985
mov r13, qword [rdi + 0x30]
inc r13
mov qword [rdi + 0x30], r13
cmp r13, r14
ja 0x14007c537
jmp 0x14007ccab
mov qword [rdi + 0x30], r13
test r13, r13
je 0x14007c927
lea rax, [r13 - 1]
cmp qword [r8 + 0x10], rax
jbe 0x14007c927
mov rcx, qword [r8 + 8]
movzx r10d, byte [rcx + rax]
mov eax, dword [r8 + 4]
mov rcx, qword [rbx + 0x298]
or rcx, qword [rbx + 0x2a8]
mov rdx, qword [rbx + 0x290]
or rdx, qword [rbx + 0x2a0]
or rdx, rcx
je 0x14007cc80
lea rdx, [rbx + 0x290]
mov r9d, r10d
shr r9d, 3
and r9d, 0xfffffff0
mov rcx, r10
mov r10d, 1
mov r15, r11
xor r11d, r11d
shld r11, r10, cl
shl r10, cl
xor r12d, r12d
test cl, 0x40
cmovne r11, r10
cmovne r10, r12
and r11, qword [rdx + r9 + 8]
and r10, qword [rdx + r9]
or r10, r11
mov r10, rcx
mov r11, r15
je 0x14007cc80
mov r12d, 4
lea ecx, [r12 - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
cmp eax, 2
je 0x14007d3c0
cmp eax, 1
jne 0x14007d223
test r13, r13
je 0x14007d60c
mov rsi, r10
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007d60c
dec r13
mov byte [rax], 0
mov byte [rax + 1], sil
mov qword [rax + 8], r13
jmp 0x14007d5a6
mov eax, dword [r8 + 4]
mov cl, 2
movzx r9d, cl
cmp r9, qword [rsi + 0x40]
jb 0x14007cc97
jmp 0x14007d60c
movzx ecx, byte [rbx + r15 + 0x90]
movzx r9d, cl
mov rcx, r9
test r11d, r11d
je 0x14007c985
cmp r11d, 2
jne 0x14007c981
test byte [rbx + 0x81], 1
mov r15d, eax
jne 0x14007cc39
mov r12, r15
shl r12, 0x20
or r12, 2
cmp r12d, 5
je 0x14007c9a0
jmp 0x14007d1d1
lea rcx, [r9 + 6]
cmp rcx, qword [rsi + 0x40]
jae 0x14007d60c
mov rdx, qword [rsi + 0x38]
mov r15d, dword [rdx + rcx*4]
test r15d, r15d
js 0x14007d19d
mov qword [rsp + 0x58], rbp
cmp qword [rsi], 1
jne 0x14007c9ca
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], r13
mov rbp, qword [r8 + 8]
mov r12, qword [r8 + 0x10]
jmp 0x14007c9f4
inc r13
mov qword [rdi + 0x30], r13
cmp qword [rsi], 0
mov r15d, edx
je 0x14007d60c
mov qword [rsi + 0x10], r13
cmp r13, r14
jae 0x14007ca79
cmp r13, r12
jae 0x14007d60c
movzx r8d, byte [rbp + r13]
movzx ecx, byte [rbx + r8 + 0x190]
mov eax, r15d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rsi + 0x28]
jae 0x14007d60c
mov rcx, qword [rsi + 0x20]
mov edx, dword [rcx + rax*4]
test edx, edx
js 0x14007ca55
cmp edx, 0x7ffffff
jbe 0x14007c9e0
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], edx
mov eax, edx
test eax, 0x10000000
jne 0x14007c9e0
jmp 0x14007cb3a
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r15d
call fcn.1400b3080
test eax, eax
je 0x14007ca35
jmp 0x14007d223
cmp r14, r12
jae 0x14007cafb
movzx r12d, byte [rbp + r14]
movzx ecx, byte [rbx + r12 + 0x190]
mov eax, r15d
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rsi + 0x28]
jae 0x14007d60c
mov rcx, qword [rsi + 0x20]
mov ebp, dword [rcx + rax*4]
test ebp, ebp
js 0x14007d2d4
mov eax, ebp
test eax, 0x8000000
jne 0x14007d4a1
test eax, 0x20000000
je 0x14007d137
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007d60c
mov byte [rax], 0
mov byte [rax + 1], r12b
mov r12, r14
mov r15d, ebp
mov qword [rax + 8], r14
jmp 0x14007d36f
movzx r8d, byte [rbx + 0x28f]
mov eax, r15d
and eax, 0x7ffffff
add eax, r8d
inc eax
cmp qword [rsi + 0x28], rax
jbe 0x14007d60c
mov rcx, qword [rsi + 0x20]
mov ebp, dword [rcx + rax*4]
test ebp, ebp
js 0x14007d322
test ebp, 0x8000000
je 0x14007d137
jmp 0x14007d4a4
test eax, 0x8000000
jne 0x14007cbb7
test eax, 0x40000000
jne 0x14007d2a3
test eax, 0x20000000
je 0x14007d60c
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x14007d60c
mov rcx, r13
sub rcx, rax
neg rcx
mov rdx, r13
sub rdx, rax
cmovb rdx, rcx
add qword [rsi + 0x158], rdx
movzx ebx, byte [rbp + r13]
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007d60c
mov byte [rax], 0
mov byte [rax + 1], bl
mov qword [rax + 8], r13
jmp 0x14007d5a6
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], 1
xor eax, eax
mov rcx, qword [rsp + 0x58]
cmp qword [rcx + 0x168], 1
je 0x14007d295
and edx, 0x7ffffff
movzx ecx, byte [rbx + 0x2b8]
shr rdx, cl
cmp rdx, qword [rsi + 0x58]
jae 0x14007d60c
mov r8, qword [rsi + 0x50]
shl edx, 4
mov rcx, qword [r8 + rdx + 8]
test rcx, rcx
je 0x14007d60c
mov rdx, qword [r8 + rdx]
test byte [rdx + 0x10], 2
je 0x14007d295
cmp rcx, 0xc
jbe 0x14007d60c
add rcx, 0xfffffffffffffff3
cmp rcx, 3
jbe 0x14007d60c
mov eax, dword [rdx + 0x1d]
jmp 0x14007d295
cmp qword [rbp + 0x168], r15
jbe 0x14007cc5d
lea rcx, [r15 + r15*2]
lea rcx, [r9 + rcx*2]
add rcx, 0xc
cmp rcx, qword [rsi + 0x40]
jb 0x14007c98f
jmp 0x14007d60c
mov rax, qword [rbx + 0x2b8]
and eax, 0x3f
cmp rax, 0x1b
jae 0x14007d60c
mov r15d, 0x40000000
bts r15, rax
jmp 0x14007c9a0
movzx ecx, byte [rbx + r10 + 0x90]
movzx r9d, cl
cmp r9, qword [rsi + 0x40]
jae 0x14007d60c
mov rcx, qword [rsi + 0x38]
mov r10d, dword [rcx + r9*4]
test r10d, r10d
js 0x14007d381
mov r15, r10
cmp qword [rsi], 1
jne 0x14007ccd0
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], r13
mov qword [rsi + 0x10], r13
cmp r13, r14
mov rdx, r15
jae 0x14007cd92
mov rax, qword [r8 + 8]
mov qword [rsp + 0x58], rax
mov r10, qword [r8 + 0x10]
mov rax, qword [rbp]
mov rcx, qword [rbp + 8]
mov qword [rsp + 0xb8], rcx
add rax, 0x10
mov qword [rsp + 0xc0], rax
mov r9d, dword [r8 + 4]
lea rax, [r14 + 1]
mov qword [rsp + 0xb0], rax
lea rax, [rbx + 0x290]
mov qword [rsp + 0x70], rax
movzx eax, byte [rbx + 0x81]
mov byte [rsp + 0x3f], al
mov rcx, qword [rbx + 0x2b8]
and ecx, 0x3f
mov eax, 1
mov qword [rsp + 0xa0], rcx
shl rax, cl
or eax, 0x40000000
mov qword [rsp + 0x98], rax
lea rax, [r9 + r9*2]
lea rax, [rax*2 + 0xc]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x68], r9
shl r9, 0x20
or r9, 2
mov qword [rsp + 0xa8], r9
mov qword [rsp + 0x60], r10
jmp 0x14007cdb8
mov r10, qword [r8 + 0x10]
jmp 0x14007d07e
cmp eax, 5
jne 0x14007d4d7
mov rcx, qword [rsp + 0x88]
mov r13, rcx
cmp rcx, r14
jae 0x14007d07e
cmp r13, r10
jae 0x14007d60c
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax + r13]
movzx r9d, byte [rbx + rax + 0x190]
mov ecx, edx
and ecx, 0x7ffffff
add rcx, r9
cmp rcx, qword [rsi + 0x28]
jae 0x14007d60c
mov r9, qword [rsi + 0x20]
mov ebp, dword [r9 + rcx*4]
test ebp, ebp
js 0x14007cfc2
cmp ebp, 0x7ffffff
jbe 0x14007cf48
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], ebp
mov eax, ebp
test eax, 0x10000000
je 0x14007d13e
mov r12, r11
mov r15, r8
mov rax, qword [rsp + 0xb8]
mov rdx, qword [rax + 0x10]
dec rdx
and rdx, 0xfffffffffffffff0
add rdx, qword [rsp + 0xc0]
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r13
lea rcx, [rsp + 0x40]
mov r8, qword [rsp + 0x58]
mov r9, r10
call qword [rax + 0x40]
cmp qword [rsp + 0x40], 0
je 0x14007c537
mov rcx, qword [rsp + 0x48]
cmp rcx, r13
mov eax, 0
jbe 0x14007cf3d
mov qword [rdi + 0x30], rcx
mov edx, ebp
cmp dword [rsp + 0x7c], 0
mov r8, r15
mov r11, r12
mov r10, qword [rsp + 0x60]
je 0x14007cdac
cmp r10, r14
jb 0x14007d60c
cmp qword [rsp + 0xb0], rcx
jb 0x14007d60c
mov qword [rsp + 0x88], rcx
lea r13, [rcx - 1]
cmp r10, r13
mov rbp, qword [rsp + 0x70]
jbe 0x14007cf6d
mov rcx, qword [rsp + 0x58]
movzx edx, byte [rcx + r13]
mov rcx, qword [rbp + 8]
or rcx, qword [rbp + 0x18]
mov r9, qword [rbp]
or r9, qword [rbp + 0x10]
or r9, rcx
je 0x14007cf33
xor ebp, ebp
mov ecx, edx
mov r9d, 1
shld rbp, r9, cl
mov r9d, edx
shr r9d, 3
mov rcx, rdx
mov r10d, 1
shl r10, cl
and r9d, 0xfffffff0
test cl, 0x40
cmovne rbp, r10
cmovne r10, rax
mov rax, qword [rsp + 0x70]
and rbp, qword [rax + r9 + 8]
mov rax, qword [rsp + 0x70]
and r10, qword [rax + r9]
or r10, rbp
mov r10, qword [rsp + 0x60]
jne 0x14007d4d2
movzx eax, byte [rbx + rdx + 0x90]
jmp 0x14007cf6f
mov r8, r15
mov r11, r12
mov r10, qword [rsp + 0x60]
inc r13
mov qword [rdi + 0x30], r13
cmp qword [rsi], 0
je 0x14007d60c
mov qword [rsi + 0x10], r13
mov edx, ebp
cmp r13, r14
jb 0x14007cdb8
jmp 0x14007d07c
mov al, 2
mov rcx, qword [rsp + 0x68]
movzx r9d, al
mov rax, r9
test r11d, r11d
je 0x14007d00c
cmp r11d, 2
jne 0x14007d008
mov rdx, rcx
mov rax, qword [rsp + 0xa8]
test byte [rsp + 0x3f], 1
je 0x14007cd9b
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0x168], rcx
jbe 0x14007d061
mov rax, qword [rsp + 0x90]
add rax, r9
jmp 0x14007d00c
mov r12, r11
mov r15, r8
shl eax, 8
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov r8d, eax
call fcn.1400b3080
test eax, eax
jne 0x14007d223
mov ebp, edx
mov r8, r15
mov r11, r12
mov r10, qword [rsp + 0x60]
cmp ebp, 0x7ffffff
ja 0x14007ce05
jmp 0x14007cf48
lea rax, [r9 + 6]
cmp rax, qword [rsi + 0x40]
jae 0x14007d60c
mov rcx, qword [rsi + 0x38]
mov edx, dword [rcx + rax*4]
test edx, edx
jns 0x14007cda4
mov qword [rsp + 0xc8], rbx
mov qword [rsp + 0xd0], rsi
lea rcx, [rsp + 0xc8]
mov edx, r11d
mov r8, qword [rsp + 0x68]
call fcn.1400b43b0
mov r10, qword [rsp + 0x60]
mov r11, r12
mov r8, r15
mov rdx, rax
shr rdx, 0x20
jmp 0x14007cd9b
mov rdx, qword [rsp + 0x98]
cmp dword [rsp + 0xa0], 0x1b
jb 0x14007cda4
jmp 0x14007d60c
mov edx, ebp
cmp r14, r10
jae 0x14007d0fe
mov rax, qword [r8 + 8]
movzx r15d, byte [rax + r14]
movzx ecx, byte [rbx + r15 + 0x190]
mov eax, edx
and eax, 0x7ffffff
add rax, rcx
cmp rax, qword [rsi + 0x28]
jae 0x14007d60c
mov rcx, qword [rsi + 0x20]
mov ebp, dword [rcx + rax*4]
test ebp, ebp
js 0x14007d3ee
mov eax, ebp
test eax, 0x8000000
jne 0x14007d52d
test eax, 0x20000000
je 0x14007d137
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007d60c
mov byte [rax], 0
mov byte [rax + 1], r15b
mov rcx, r14
mov r15d, ebp
mov qword [rax + 8], rcx
jmp 0x14007d36f
movzx r8d, byte [rbx + 0x28f]
mov eax, edx
and eax, 0x7ffffff
add eax, r8d
inc eax
cmp qword [rsi + 0x28], rax
jbe 0x14007d60c
mov rcx, qword [rsi + 0x20]
mov ebp, dword [rcx + rax*4]
test ebp, ebp
js 0x14007d43e
test ebp, 0x8000000
jne 0x14007d543
xor eax, eax
jmp 0x14007d372
test eax, 0x8000000
jne 0x14007d277
test eax, 0x40000000
jne 0x14007d2a3
test eax, 0x20000000
je 0x14007d60c
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x14007d60c
mov rcx, r13
sub rcx, rax
neg rcx
mov rdx, r13
sub rdx, rax
cmovb rdx, rcx
add qword [rsi + 0x158], rdx
mov rax, qword [rsp + 0x58]
movzx ebx, byte [rax + r13]
jmp 0x14007cb8c
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r11d
mov r15, r8
mov r8d, eax
call fcn.1400b43b0
mov r8, r15
mov r12, rax
mov r15, rax
shr r15, 0x20
cmp r12d, 5
je 0x14007c9a0
lea ecx, [r12 - 3]
cmp ecx, 2
mov eax, 2
cmovb eax, ecx
cmp eax, 2
je 0x14007d24b
cmp eax, 1
jne 0x14007d223
test r13, r13
je 0x14007d60c
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007d60c
dec r13
mov byte [rax], 0
mov byte [rax + 1], r15b
mov qword [rax + 8], r13
jmp 0x14007d5a6
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007d60c
mov byte [rax], 1
mov qword [rax + 8], r13
jmp 0x14007d5a6
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007d60c
mov byte [rax], 3
mov dword [rax + 4], r12d
mov dword [rax + 8], r15d
jmp 0x14007d5a6
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], 1
mov rcx, rbx
mov rdx, rsi
mov r8d, ebp
call fcn.14007b0c0
mov qword [rdi], 1
mov qword [rdi + 8], r13
mov dword [rdi + 0x10], eax
mov rax, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x14007d60c
mov rcx, r13
sub rcx, rax
neg rcx
sub r13, rax
cmovb r13, rcx
add qword [rsi + 0x158], r13
jmp 0x14007c537
mov r8d, r12d
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r15d
call fcn.1400b3080
test eax, eax
je 0x14007d492
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007d60c
mov byte [rax], 1
mov r12, r14
mov qword [rax + 8], r14
jmp 0x14007d36f
inc r8d
shl r8d, 0x10
or r8d, 1
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r15d
call fcn.1400b3080
test eax, eax
je 0x14007d4c2
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007d60c
mov byte [rax], 1
mov qword [rax + 8], r12
mov ebp, r15d
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], ebp
jmp 0x14007d57e
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov edx, r11d
mov r15, r8
mov r8d, eax
mov r12, r11
call fcn.1400b43b0
mov r11, r12
mov r8, r15
mov r12, rax
mov r10, rax
shr r10, 0x20
cmp r12d, 5
jne 0x14007c8ca
jmp 0x14007cca8
mov rsi, r10
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007d60c
mov byte [rax], 3
mov dword [rax + 4], r12d
mov dword [rax + 8], esi
jmp 0x14007d5a6
mov r8d, r15d
shl r8d, 8
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov r12, rdx
call fcn.1400b3080
test eax, eax
je 0x14007d51e
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007d60c
mov byte [rax], 1
mov rcx, r14
mov r15, r12
jmp 0x14007d0f5
mov r12, r10
inc r8d
shl r8d, 0x10
or r8d, 1
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rsi
lea rcx, [rsp + 0x40]
mov r15, rdx
call fcn.1400b3080
test eax, eax
je 0x14007d532
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007d60c
mov byte [rax], 1
mov rcx, r12
jmp 0x14007d0f5
mov ebp, edx
mov eax, ebp
test eax, 0x8000000
je 0x14007cabe
mov r12, r14
mov rcx, rbx
mov rdx, rsi
mov r8d, ebp
call fcn.14007b0c0
mov qword [rdi], 1
mov qword [rdi + 8], r12
jmp 0x14007d55f
mov ebp, edx
test ebp, 0x8000000
je 0x14007d137
jmp 0x14007d4a4
mov eax, 4
lea r8d, [rax - 3]
cmp r8d, 2
mov ecx, 2
cmovb ecx, r8d
cmp ecx, 2
je 0x14007d5ba
cmp ecx, 1
jne 0x14007d5e3
mov rsi, rdx
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
jne 0x14007c917
jmp 0x14007d60c
mov ebp, edx
mov eax, ebp
test eax, 0x8000000
je 0x14007d0c5
mov r15, r14
jmp 0x14007d546
mov ebp, edx
mov r10, r12
test ebp, 0x8000000
je 0x14007d137
mov r15, r10
mov rcx, rbx
mov rdx, rsi
mov r8d, ebp
call fcn.14007b0c0
mov qword [rdi], 1
mov qword [rdi + 8], r15
mov dword [rdi + 0x10], eax
mov dword [rdi + 0x28], 1
mov dword [rdi + 0x2c], ebp
mov qword [rdi + 0x18], 1
mov qword [rdi + 0x20], 1
xor eax, eax
mov rcx, qword [rsi + 8]
cmp qword [rsi], 0
mov qword [rsi], 0
je 0x14007d60c
mov rdx, r14
sub rdx, rcx
neg rdx
sub r14, rcx
cmovb r14, rdx
add qword [rsi + 0x158], r14
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdi, rdx
mov rsi, rax
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007d60c
mov byte [rax], 3
mov dword [rax + 4], esi
mov dword [rax + 8], edi
jmp 0x14007d5a6
movzx eax, byte [0x141934140]
mov edx, 0x10
xor ecx, ecx
call fcn.1400e65f0
test rax, rax
je 0x14007d60c
mov byte [rax], 1
mov rcx, qword [rsp + 0x88]
mov qword [rax + 8], rcx
jmp 0x14007d5a6
ud2