Function at 0x14016ee60
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x478]
sub rsp, 0x578
mov rsi, rcx
call fcn.14016eaac
mov edi, 0x200
mov r8d, edi
lea rdx, [rbp + 0x70]
mov rcx, qword [rsi + 0x20]
call fcn.14013e908
xor r15d, r15d
test eax, eax
jne 0x14016fce1
lea r13, [rsi + 0x28]
lea rdx, [rbp + 0x70]
mov rcx, r13
call fcn.14016c7e0
test al, al
je 0x14016fcdc
mov rcx, qword [rsi + 0x20]
mov rax, qword [rcx]
lea r9, [rbp + 0x4c0]
xor edx, edx
lea r8d, [r15 + 2]
call qword [rax + 0x20]
test eax, eax
jne 0x14016fce1
mov ecx, dword [rsi + 0x2c]
mov rax, qword [rsi + 0x40]
shl rax, cl
mov qword [rsi + 0x68], rax
cmp qword [rbp + 0x4c0], rax
jb 0x14016fcdc
mov rbx, qword [r13 + 0x10]
lea r14d, [r15 + 1]
add rbx, r14
mov ecx, dword [r13]
shl rbx, cl
cmp qword [rbp + 0x4c0], rbx
jb 0x14016ef66
mov rax, qword [rsi + 0x20]
mov r10, qword [rax]
mov rdx, qword [rsi + 0x38]
shl rdx, cl
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
call qword [r10 + 0x20]
test eax, eax
jne 0x14016fce1
mov r8d, edi
lea rdx, [rbp + 0x270]
mov rcx, qword [rsi + 0x20]
call fcn.14013e908
test eax, eax
jne 0x14016ef66
mov r8d, edi
lea rdx, [rbp + 0x270]
lea rcx, [rbp + 0x70]
call fcn.1402019e0
test eax, eax
jne 0x14016ef66
mov qword [rsi + 0x68], rbx
mov rdx, qword [rsi + 0x48]
mov rax, qword [rsi + 0x20]
mov r10, qword [rax]
mov ecx, dword [rsi + 0x2c]
shl rdx, cl
xor r9d, r9d
xor r8d, r8d
mov rcx, rax
call qword [r10 + 0x20]
mov dword [rbp], r15d
or r12, 0xffffffffffffffff
mov dword [rbp + 4], r12d
mov qword [rbp + 8], r15
mov qword [rbp + 0x10], r15
mov qword [rbp + 0x18], r15
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x28], r15
mov qword [rbp + 0x30], r15
mov qword [rbp + 0x58], r15
mov qword [rbp + 0x60], r15
mov rdi, r15
mov qword [rbp + 0x4d8], r15
mov ebx, 0x1000
cmp qword [rsi + 0x80], rbx
je 0x14016eff4
mov rcx, qword [rsi + 0x78]
test rcx, rcx
je 0x14016efda
call fcn.140202c34
mov qword [rsi + 0x78], r15
mov qword [rsi + 0x80], r15
mov rcx, rbx
call fcn.140202da8
mov qword [rsi + 0x78], rax
mov qword [rsi + 0x80], rbx
mov r8, rbx
mov rdx, qword [rsi + 0x78]
mov rcx, qword [rsi + 0x20]
call fcn.14013e908
mov ebx, eax
xor r11d, r11d
test eax, eax
jne 0x14016fc24
mov rdx, qword [rsi + 0x78]
mov ecx, r11d
mov eax, r14d
shl eax, cl
cmp eax, dword [rdx + 0x1c]
je 0x14016f02d
add ecx, r14d
cmp ecx, 0x1f
jl 0x14016f018
mov ecx, r12d
cmp ecx, dword [r13]
jl 0x14016fc21
mov dword [rsi + 0x60], ecx
cmp ecx, 0xf
ja 0x14016fc21
sub ecx, dword [r13]
mov eax, r14d
shl eax, cl
mov dword [rbp + 0x4c0], eax
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x20], r11d
mov r9d, eax
mov r8d, dword [r13]
lea rcx, [rbp - 0x10]
call fcn.14016dd74
test al, al
je 0x14016fc21
cmp dword [rbp - 0x10], 0x454c4946
jne 0x14016fc21
lea rcx, [rbp - 0x10]
call fcn.14016e108
xor r11d, r11d
cmp dword [rbp + 0x30], r11d
je 0x14016fc21
lea rax, [rbp + 0x4d8]
mov qword [rsp + 0x28], rax
mov rax, qword [rsi + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsi + 0x2c]
xor r8d, r8d
mov rdx, qword [rsi + 0x20]
lea rcx, [rbp - 0x10]
call fcn.14016e1bc
mov ebx, eax
xor r11d, r11d
mov rdi, qword [rbp + 0x4d8]
test eax, eax
jne 0x14016fc24
mov qword [rsp + 0x60], rdi
test rdi, rdi
je 0x14016fc21
mov rax, qword [rbp + 8]
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x40]
mov qword [rsp + 0x58], rbx
mov ecx, dword [rsi + 0x2c]
mov rdx, qword [rsi + 0x40]
shl rdx, cl
mov rax, rbx
shr rax, 4
cmp rax, rdx
ja 0x14016fc21
mov ecx, dword [rsi + 0x60]
mov r15, r14
shl r15, cl
mov qword [rbp + 0x4d0], r15
mov r12d, 0x8000
cmp r15, r12
ja 0x14016fc21
shr rbx, cl
mov qword [rbp + 0x4c8], rbx
cmp rbx, 0x40000000
ja 0x14016fc21
mov rcx, qword [rsi + 0x70]
test rcx, rcx
je 0x14016f171
mov rax, qword [rcx]
lea r8, [rsp + 0x58]
lea rdx, [rbp + 0x4c8]
call qword [rax + 0x18]
mov ebx, eax
xor r11d, r11d
test eax, eax
jne 0x14016fc24
mov rbx, qword [rbp + 0x4c8]
cmp qword [rsi + 0x80], r12
je 0x14016f1b0
mov rcx, qword [rsi + 0x78]
test rcx, rcx
je 0x14016f18f
call fcn.140202c34
xor r11d, r11d
mov qword [rsi + 0x78], r11
mov qword [rsi + 0x80], r11
mov rcx, r12
call fcn.140202da8
mov qword [rsi + 0x78], rax
mov qword [rsi + 0x80], r12
mov rbx, qword [rbp + 0x4c8]
lea r12, [rsi + 0x10]
mov rcx, r12
call fcn.14016e7d4
xor r11d, r11d
mov dword [r12 + 8], r11d
cmp ebx, dword [r12 + 0xc]
jbe 0x14016f208
mov rcx, qword [r12]
call fcn.140202c34
xor eax, eax
mov qword [r12], rax
mov dword [r12 + 0xc], eax
mov ecx, ebx
mov eax, 8
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov rcx, rax
call fcn.140202da8
mov qword [r12], rax
mov dword [r12 + 0xc], ebx
xor r11d, r11d
mov qword [rbp + 0x4c8], r11
mov rcx, qword [rsi + 0x70]
test rcx, rcx
je 0x14016f247
mov eax, dword [rsi + 0x18]
mov qword [rsp + 0x50], rax
test rax, 0x3ff
jne 0x14016f247
mov rax, qword [rcx]
lea r8, [rbp + 0x4c8]
lea rdx, [rsp + 0x50]
call qword [rax + 0x20]
mov ebx, eax
xor r11d, r11d
test eax, eax
jne 0x14016fc24
mov ecx, 0x8000
mov r12d, ecx
mov rax, qword [rsp + 0x58]
sub rax, qword [rbp + 0x4c8]
cmp rax, rcx
jae 0x14016f26c
mov r12, rax
cmp rax, r15
jb 0x14016f435
mov r8, r12
mov rdx, qword [rsi + 0x78]
mov rcx, rdi
call fcn.14013e908
mov ebx, eax
xor r11d, r11d
test eax, eax
jne 0x14016fc24
add qword [rbp + 0x4c8], r12
mov ecx, r11d
mov qword [rsp + 0x50], rcx
lea r8, [rsi + 0x88]
mov rdx, qword [rsi + 0x78]
add rdx, rcx
mov dword [rbp - 0x80], r11d
or rax, 0xffffffffffffffff
mov dword [rbp - 0x7c], eax
mov qword [rbp - 0x78], r11
and qword [rbp - 0x70], 0
mov qword [rbp - 0x68], r11
and qword [rbp - 0x60], 0
mov qword [rbp - 0x58], r11
and qword [rbp - 0x50], 0
mov qword [rbp - 0x28], r11
mov qword [rbp - 0x20], r11
mov ecx, dword [rsi + 0x18]
mov rax, r8
cmp ecx, 3
cmovne rax, r11
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], ecx
mov r9d, dword [rbp + 0x4c0]
mov r8d, dword [r13]
lea rcx, [rsp + 0x70]
call fcn.14016dd74
xor r13d, r13d
test al, al
je 0x14016fb7e
lea ecx, [r13 + 0x78]
call fcn.140202bf8
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14016f32e
lea rdx, [rsp + 0x70]
mov rcx, rax
call fcn.14016e5d4
mov rbx, rax
jmp 0x14016f331
mov rbx, r13
lea rcx, [rsi + 0x10]
call fcn.1400f6ac0
mov ecx, dword [rsi + 0x18]
mov rax, qword [rsi + 0x10]
mov qword [rax + rcx*8], rbx
add dword [rsi + 0x18], r14d
mov rcx, qword [rbp - 0x28]
call fcn.140202c34
mov rcx, qword [rbp - 0x58]
call fcn.140202c34
mov ebx, dword [rbp - 0x60]
xor edx, edx
test ebx, ebx
je 0x14016f3a3
mov rcx, qword [rbp - 0x68]
lea r13, [rcx + rbx*8]
dec ebx
lea r13, [r13 - 8]
mov r15, qword [r13]
test r15, r15
je 0x14016f398
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x14016f389
call fcn.140202c34
mov edx, 0x20
mov rcx, r15
call fcn.140202c34
xor edx, edx
test ebx, ebx
jne 0x14016f36c
mov r15, qword [rbp + 0x4d0]
mov rcx, qword [rbp - 0x68]
call fcn.140202c34
mov ebx, dword [rbp - 0x70]
test ebx, ebx
je 0x14016f3f9
mov rcx, qword [rbp - 0x78]
lea r13, [rcx + rbx*8]
dec ebx
lea r13, [r13 - 8]
mov r15, qword [r13]
test r15, r15
je 0x14016f3ee
mov rcx, qword [r15 + 0x18]
call fcn.140202c34
mov rcx, qword [r15 + 8]
test rcx, rcx
je 0x14016f3e1
call fcn.140202c34
mov edx, 0x58
mov rcx, r15
call fcn.140202c34
test ebx, ebx
jne 0x14016f3bb
mov r15, qword [rbp + 0x4d0]
mov rcx, qword [rbp - 0x78]
call fcn.140202c34
mov rcx, qword [rsp + 0x50]
add rcx, r15
mov qword [rsp + 0x50], rcx
sub r12, r15
cmp r12, r15
lea r13, [rsi + 0x28]
lea r8, [rsi + 0x88]
mov r11d, 0
jae 0x14016f29e
lea r13, [rsi + 0x28]
jmp 0x14016f20f
mov ebx, r11d
mov eax, dword [rsi + 0x18]
movabs r15, 0xffffffffffff
test eax, eax
je 0x14016f4da
mov ecx, eax
mov r9, qword [rsi + 0x10]
mov eax, ebx
mov r10, qword [r9 + rax*8]
mov rdx, qword [r10 + 8]
mov eax, ecx
test rdx, rdx
je 0x14016f4cd
mov r8, rdx
and r8, r15
mov eax, ecx
cmp r8, rax
ja 0x14016fc21
mov eax, r8d
mov r8, qword [r9 + rax*8]
shr rdx, 0x30
cmp word [r8 + 4], dx
jne 0x14016f490
cmp qword [r8 + 8], r11
mov dl, r14b
je 0x14016f493
mov dl, r11b
mov al, byte [r8 + 6]
and al, r14b
test byte [r10 + 6], r14b
je 0x14016f4ae
test al, al
je 0x14016f4b2
test dl, dl
je 0x14016fc21
jmp 0x14016f4bc
test al, al
je 0x14016f4b6
mov eax, ecx
jmp 0x14016f4cd
mov eax, ecx
test dl, dl
je 0x14016f4cd
mov rdx, r10
mov rcx, r8
call fcn.14016dcfc
mov eax, dword [rsi + 0x18]
xor r11d, r11d
add ebx, r14d
mov ecx, eax
cmp ebx, eax
jb 0x14016f44f
mov ebx, r11d
test eax, eax
je 0x14016f9df
mov ecx, ebx
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax + rcx*8]
call fcn.14016e108
add ebx, r14d
cmp ebx, dword [rsi + 0x18]
jb 0x14016f4e5
xor r11d, r11d
mov r13d, r11d
mov dword [rbp + 0x4c0], r11d
cmp dword [rsi + 0x18], r11d
jbe 0x14016f9df
mov ecx, r13d
mov rax, qword [rsi + 0x10]
mov r15, qword [rax + rcx*8]
cmp dword [r15], 0x454c4946
jne 0x14016f82a
cmp qword [r15 + 8], r11
jne 0x14016f82a
cmp r13d, 0x10
jae 0x14016f548
cmp byte [rsi + 0xb8], r11b
je 0x14016f82a
test byte [r15 + 6], r14b
jne 0x14016f55b
cmp byte [rsi + 0xb9], r11b
je 0x14016f82a
mov r8d, dword [r15 + 0x30]
mov dword [r15 + 0x10], r8d
or rbx, 0xffffffffffffffff
mov edi, ebx
mov dword [rbp + 0x4c8], ebx
mov al, byte [r15 + 6]
shr al, 1
test r14b, al
jne 0x14016f5ae
mov edx, r11d
cmp dword [r15 + 0x40], r11d
jbe 0x14016f5ae
mov r9, qword [r15 + 0x38]
mov r10, qword [r15 + 0x18]
mov eax, edx
mov ecx, dword [r9 + rax*8]
mov rax, qword [r10 + rcx*8]
cmp dword [rax + 0x10], r11d
je 0x14016f5a6
add edx, r14d
cmp edx, dword [r15 + 0x40]
jb 0x14016f58b
jmp 0x14016f5ae
mov edi, edx
mov dword [rbp + 0x4c8], edx
test r8d, r8d
jne 0x14016f69f
mov r8b, r14b
cmp r13d, 0x10
jae 0x14016f601
mov r8b, r11b
mov edx, r11d
cmp dword [r15 + 0x40], r11d
jbe 0x14016f601
mov r9, qword [r15 + 0x38]
mov r10, qword [r15 + 0x18]
mov eax, edx
mov ecx, dword [r9 + rax*8]
mov rax, qword [r10 + rcx*8]
cmp byte [rax + 4], r11b
je 0x14016f5ea
mov rcx, qword [rax + 0x40]
jmp 0x14016f5ee
mov rcx, qword [rax + 0x20]
test rcx, rcx
jne 0x14016f5fe
add edx, r14d
cmp edx, dword [r15 + 0x40]
jb 0x14016f5d4
jmp 0x14016f601
mov r8b, r14b
test r8b, r8b
je 0x14016f69f
mov ecx, 0x20
call fcn.140202bf8
mov r12, rax
mov qword [rbp + 0x4d0], rax
xor eax, eax
test r12, r12
je 0x14016f631
mov qword [r12 + 8], rax
mov dword [r12 + 0x10], eax
jmp 0x14016f634
mov r12, rax
lea rcx, [r15 + 0x28]
call fcn.1400f6ac0
mov ecx, dword [r15 + 0x30]
mov rax, qword [r15 + 0x28]
mov qword [rax + rcx*8], r12
add dword [r15 + 0x30], r14d
or rbx, 0xffffffffffffffff
mov qword [r12], rbx
lea rdx, [rsp + 0x30]
mov byte [rsp + 0x30], 0x5b
lea rcx, str._NONAME__
lea rax, [rsp + 0x30]
sub rcx, rax
add rdx, r14
mov al, byte [rcx + rdx]
mov byte [rdx], al
test al, al
jne 0x14016f66e
mov ecx, r13d
call fcn.14019db74
lea rcx, [r12 + 8]
lea rdx, [rsp + 0x30]
call fcn.140178338
mov byte [r12 + 0x1c], 3
xor r11d, r11d
mov dword [r12 + 0x18], r11d
mov r12d, r11d
mov dword [rbp + 0x4d0], r11d
mov edx, dword [r15 + 0x30]
test edx, edx
je 0x14016f82a
mov r8, qword [r15 + 0x28]
mov eax, r12d
mov r9, qword [r8 + rax*8]
cmp byte [r9 + 0x1c], 2
jne 0x14016f6ef
mov ecx, r11d
test edx, edx
je 0x14016f6ef
mov eax, ecx
mov rax, qword [r8 + rax*8]
cmp byte [rax + 0x1c], r14b
jne 0x14016f6e6
mov rax, qword [rax]
cmp qword [r9], rax
je 0x14016f7f1
add ecx, r14d
cmp ecx, dword [r15 + 0x30]
jb 0x14016f6ce
mov dword [rsp + 0x3c], ebx
mov dword [rsp + 0x34], r12d
mov dword [rsp + 0x30], r13d
mov cl, byte [r15 + 6]
shr cl, 1
mov eax, edi
test edi, edi
cmovs eax, ebx
and cl, r14b
mov ecx, 0xfffffffe
cmovne eax, ecx
mov dword [rsp + 0x38], eax
cmp dword [r15 + 0x14], r11d
jge 0x14016f726
mov eax, dword [rsi + 8]
mov dword [r15 + 0x14], eax
mov rcx, rsi
call fcn.14016e698
mov eax, dword [rsi + 8]
lea rcx, [rax + rax*4]
mov rax, qword [rsi]
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rax + rcx*4], xmm0
mov dword [rax + rcx*4 + 0x10], ebx
mov r13d, dword [rsi + 8]
lea eax, [r13 + 1]
mov dword [rsi + 8], eax
xor r11d, r11d
mov ebx, r11d
cmp dword [r15 + 0x40], r11d
jbe 0x14016f7ff
mov edi, dword [rbp + 0x4c0]
mov r12d, dword [rbp + 0x4c8]
mov al, byte [r15 + 6]
shr al, 1
test r14b, al
jne 0x14016f77d
cmp ebx, r12d
je 0x14016f7d9
mov ecx, ebx
mov rax, qword [r15 + 0x38]
mov ecx, dword [rax + rcx*8]
mov rax, qword [r15 + 0x18]
mov rcx, qword [rax + rcx*8]
add rcx, 8
cmp edi, 8
jne 0x14016f7aa
lea rdx, str._Bad
call fcn.140178414
xor r11d, r11d
test al, al
jne 0x14016f7dc
mov byte [rsi + 0xec], r14b
mov dword [rsp + 0x38], ebx
mov rcx, rsi
call fcn.14016e698
mov eax, dword [rsi + 8]
lea rcx, [rax + rax*4]
mov rax, qword [rsi]
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rax + rcx*4], xmm0
mov dword [rax + rcx*4 + 0x10], r13d
add dword [rsi + 8], r14d
xor r11d, r11d
add ebx, r14d
cmp ebx, dword [r15 + 0x40]
jb 0x14016f76d
mov r12d, dword [rbp + 0x4d0]
mov r13d, edi
jmp 0x14016f806
test ecx, ecx
js 0x14016f6ef
dec dword [r15 + 0x10]
jmp 0x14016f806
mov r13d, dword [rbp + 0x4c0]
add r12d, r14d
mov dword [rbp + 0x4d0], r12d
mov edx, dword [r15 + 0x30]
cmp r12d, edx
mov edi, dword [rbp + 0x4c8]
mov rbx, 0xffffffffffffffff
jb 0x14016f6b5
add r13d, r14d
mov dword [rbp + 0x4c0], r13d
cmp r13d, dword [rsi + 0x18]
jb 0x14016f513
cmp dword [rsi + 0x18], 9
mov rdi, qword [rsp + 0x60]
jbe 0x14016f9df
mov rax, qword [rsi + 0x10]
mov r15, qword [rax + 0x48]
mov ebx, r11d
cmp dword [r15 + 0x40], r11d
jbe 0x14016f9df
mov ecx, ebx
mov rax, qword [r15 + 0x38]
mov edx, dword [rax + rcx*8]
mov rax, qword [r15 + 0x18]
mov r13, qword [rax + rdx*8]
lea rcx, [r13 + 8]
lea rdx, str._SDS
call fcn.140178414
xor r11d, r11d
test al, al
jne 0x14016f898
add ebx, r14d
cmp ebx, dword [r15 + 0x40]
jb 0x14016f862
jmp 0x14016f9df
mov qword [rbp + 0x4c0], r11
lea rax, [rbp + 0x4c0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsi + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsi + 0x2c]
mov r8d, ebx
mov rdx, qword [rsi + 0x20]
mov rcx, r15
call fcn.14016e1bc
mov ebx, eax
xor r11d, r11d
test eax, eax
je 0x14016f8e8
mov rcx, qword [rbp + 0x4c0]
test rcx, rcx
je 0x14016f8e3
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x14016fc24
mov rbx, qword [rbp + 0x4c0]
test rbx, rbx
je 0x14016f9ce
cmp byte [r13 + 4], r11b
je 0x14016f904
mov r15, qword [r13 + 0x40]
jmp 0x14016f908
mov r15, qword [r13 + 0x20]
cmp r15, 0x20000000
jae 0x14016f9ce
lea rax, [r15 + 1]
bt rax, 0x12
jae 0x14016f9ce
add r15, 0xfffffffffffc0000
cmp r15, qword [rsi + 0xa0]
je 0x14016f971
mov rcx, qword [rsi + 0x98]
test rcx, rcx
je 0x14016f94f
call fcn.140202c34
xor r11d, r11d
mov qword [rsi + 0x98], r11
mov qword [rsi + 0xa0], r11
test r15, r15
je 0x14016f971
mov rcx, r15
call fcn.140202da8
mov qword [rsi + 0x98], rax
mov qword [rsi + 0xa0], r15
mov r8, r15
mov rdx, qword [rsi + 0x98]
mov rcx, rbx
call fcn.14013e908
xor r11d, r11d
test eax, eax
jne 0x14016f9ce
mov rcx, rsi
call fcn.14016fd9c
xor r15d, r15d
test eax, eax
je 0x14016f9bf
mov dword [rsi + 0xb0], r15d
mov rcx, qword [rsi + 0x98]
test rcx, rcx
je 0x14016f9b8
call fcn.140202c34
mov qword [rsi + 0x98], r15
mov qword [rsi + 0xa0], r15
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
nop
xor r11d, r11d
jmp 0x14016f9df
test rbx, rbx
je 0x14016f9df
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x10]
xor r11d, r11d
mov r15b, r11b
mov r12b, r11b
mov r8d, r11d
mov ebx, dword [rsi + 8]
test ebx, ebx
je 0x14016faa1
mov edi, 0xfffffffe
mov r10, qword [rsi]
mov eax, r8d
lea rbx, [rax + rax*4]
mov r11, qword [rsi + 0x10]
mov eax, dword [r10 + rbx*4]
mov r13, qword [r11 + rax*8]
mov ecx, dword [r10 + rbx*4 + 4]
mov rax, qword [r13 + 0x28]
mov rcx, qword [rax + rcx*8]
mov r9, qword [rcx]
mov rcx, r9
movabs rax, 0xffffffffffff
and rcx, rax
cmp rcx, 5
jne 0x14016fa3a
or rdx, 0xffffffffffffffff
jmp 0x14016fa85
mov eax, dword [rsi + 0x18]
cmp rcx, rax
jae 0x14016fa70
mov eax, ecx
mov rcx, qword [r11 + rax*8]
mov al, byte [rcx + 6]
shr al, 1
test r14b, al
je 0x14016fa70
mov edx, dword [rcx + 0x14]
test edx, edx
js 0x14016fa70
lea rcx, [rdx + rdx*4]
mov eax, dword [r10 + rcx*4]
mov rcx, qword [r11 + rax*8]
shr r9, 0x30
cmp word [rcx + 4], r9w
je 0x14016fa85
test byte [r13 + 6], r14b
je 0x14016fa7d
mov r15b, r14b
mov edx, edi
jmp 0x14016fa85
mov r12b, r14b
mov edx, 0xfffffffd
mov dword [r10 + rbx*4 + 0xc], edx
add r8d, r14d
mov ebx, dword [rsi + 8]
cmp r8d, ebx
jb 0x14016f9f8
mov rdi, qword [rsp + 0x60]
xor r11d, r11d
cmp byte [rsi + 0xb8], r11b
je 0x14016faeb
mov dword [rsi + 0xe0], ebx
inc ebx
lea rdx, str._SYSTEM_
lea rcx, [rsp + 0x30]
call fcn.140178298
nop
lea rcx, [rsi + 0xc0]
lea rdx, [rsp + 0x30]
call fcn.14016e858
nop
mov rcx, qword [rsp + 0x30]
xor r11d, r11d
test rcx, rcx
je 0x14016faeb
call fcn.140202c34
xor r11d, r11d
test r15b, r15b
je 0x14016fb32
mov dword [rsi + 0xe4], ebx
add ebx, r14d
lea rdx, str._LOST_
lea rcx, [rsp + 0x30]
call fcn.140178298
nop
lea rcx, [rsi + 0xc0]
lea rdx, [rsp + 0x30]
call fcn.14016e858
nop
mov rcx, qword [rsp + 0x30]
xor r11d, r11d
test rcx, rcx
je 0x14016fb32
call fcn.140202c34
xor r11d, r11d
test r12b, r12b
je 0x14016fb76
mov dword [rsi + 0xe8], ebx
lea rdx, str._UNKNOWN_
lea rcx, [rsp + 0x30]
call fcn.140178298
nop
lea rcx, [rsi + 0xc0]
lea rdx, [rsp + 0x30]
call fcn.14016e858
nop
mov rcx, qword [rsp + 0x30]
xor r11d, r11d
test rcx, rcx
je 0x14016fb76
call fcn.140202c34
xor r11d, r11d
mov ebx, r11d
jmp 0x14016fc24
mov rcx, qword [rbp - 0x28]
call fcn.140202c34
mov rcx, qword [rbp - 0x58]
call fcn.140202c34
mov ebx, dword [rbp - 0x60]
mov r12, qword [rbp - 0x68]
test ebx, ebx
je 0x14016fbcc
lea r15, [r12 + rbx*8]
dec ebx
lea r15, [r15 - 8]
mov rsi, qword [r15]
test rsi, rsi
je 0x14016fbc8
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x14016fbbb
call fcn.140202c34
mov edx, 0x20
mov rcx, rsi
call fcn.140202c34
test ebx, ebx
jne 0x14016fb9f
mov rcx, r12
call fcn.140202c34
mov ebx, dword [rbp - 0x70]
mov r12, qword [rbp - 0x78]
test ebx, ebx
je 0x14016fc19
lea r15, [r12 + rbx*8]
dec ebx
lea r15, [r15 - 8]
mov rsi, qword [r15]
test rsi, rsi
je 0x14016fc15
mov rcx, qword [rsi + 0x18]
call fcn.140202c34
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x14016fc08
call fcn.140202c34
mov edx, 0x58
mov rcx, rsi
call fcn.140202c34
test ebx, ebx
jne 0x14016fbe3
mov rcx, r12
call fcn.140202c34
mov ebx, r14d
test rdi, rdi
je 0x14016fc33
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x10]
nop
mov rcx, qword [rbp + 0x58]
call fcn.140202c34
mov rcx, qword [rbp + 0x28]
call fcn.140202c34
mov edi, dword [rbp + 0x20]
test edi, edi
je 0x14016fc81
mov rax, qword [rbp + 0x18]
lea r14, [rax + rdi*8]
dec edi
lea r14, [r14 - 8]
mov rsi, qword [r14]
test rsi, rsi
je 0x14016fc7d
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x14016fc70
call fcn.140202c34
mov edx, 0x20
mov rcx, rsi
call fcn.140202c34
test edi, edi
jne 0x14016fc54
mov rcx, qword [rbp + 0x18]
call fcn.140202c34
mov edi, dword [rbp + 0x10]
test edi, edi
je 0x14016fccf
mov rax, qword [rbp + 8]
lea r14, [rax + rdi*8]
dec edi
lea r14, [r14 - 8]
mov rsi, qword [r14]
test rsi, rsi
je 0x14016fccb
mov rcx, qword [rsi + 0x18]
call fcn.140202c34
mov rcx, qword [rsi + 8]
test rcx, rcx
je 0x14016fcbe
call fcn.140202c34
mov edx, 0x58
mov rcx, rsi
call fcn.140202c34
test edi, edi
jne 0x14016fc99
mov rcx, qword [rbp + 8]
call fcn.140202c34
mov eax, ebx
jmp 0x14016fce1
mov eax, 1
add rsp, 0x578
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret