Function at 0x140018580
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports
Terminate process

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xb0]
sub rsp, 0x1b0
mov rax, qword [0x140131c10]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov rax, rcx
mov qword [rbp + 0x30], rdx
mov rdi, rcx
lea r8, [rcx + 0xb0]
neg rax
sbb rcx, rcx
and rcx, r8
mov r8, rdx
mov rdx, rdi
mov rax, qword [rcx]
lea rcx, [rbp + 0x60]
mov qword [rbp - 0x28], rax
mov qword [rbp - 0x10], rax
mov qword [rbp - 8], rax
call fcn.1400164d0
mov r14, qword [rbp + 0x70]
mov edx, 0x46
mov rcx, qword [rbp + 0x78]
mov qword [rsp + 0x50], r14
mov r13, qword [r14]
mov qword [rbp - 0x80], r13
call fcn.14003a238
lea rcx, [rbp + 0x60]
mov qword [rbp + 0x28], rax
call fcn.14003a6cc
mov rcx, qword [rbp + 0x78]
mov edx, 0x69
movzx ebx, ax
mov word [rsp + 0x48], bx
call fcn.14003a238
mov rcx, qword [rbp + 0x78]
xor r15d, r15d
test rax, rax
mov r11d, r15d
setne r11b
lea edx, [r15 + 0x6a]
call fcn.14003a238
mov ecx, ebx
lea edx, [r15 + 1]
test rax, rax
mov esi, r15d
mov eax, ebx
mov rbx, qword [rbp + 0x90]
setne sil
and ecx, edx
shr rbx, 0x2b
or esi, r11d
and ebx, edx
mov dword [rbp - 0x78], ecx
mov rcx, qword [rbp + 0x78]
lea edx, [r15 + 0x49]
and eax, 0x20
mov qword [rbp - 0x50], rbx
xor r11d, r11d
mov dword [rsp + 0x44], esi
mov dword [rbp - 0x30], r11d
mov dword [rsp + 0x64], eax
call fcn.14003a238
mov ecx, r11d
lea edx, [r15 + 0x3f]
test rax, rax
setne cl
mov dword [rsp + 0x38], ecx
mov rcx, qword [rbp + 0x78]
call fcn.14003a238
mov ecx, r11d
lea edx, [r15 + 0x50]
test rax, rax
setne cl
mov dword [rsp + 0x60], ecx
mov rcx, qword [rbp + 0x78]
call fcn.14003a238
mov rcx, qword [rbp + 0x78]
lea edx, [r15 + 0x66]
test rax, rax
mov r12d, r11d
setne r12b
call fcn.14003a238
test rax, rax
mov ecx, r11d
setne cl
mov dword [rbp - 0x38], ecx
lea edx, [r15 + 0x67]
mov rcx, qword [rbp + 0x78]
call fcn.14003a238
test rax, rax
mov ecx, r11d
mov rax, qword [rdi + 8]
setne cl
mov qword [rbp - 0x18], rax
mov dword [rbp - 0x34], ecx
mov rcx, rax
call fcn.14002eb54
lea edx, [r15 + 0x27]
movzx ecx, byte [rax + 0x18]
mov dword [rsp + 0x5c], ecx
mov rcx, qword [rbp + 0x78]
call fcn.14003a238
mov rcx, qword [rbp + 0x78]
lea edx, [r15 + 0x68]
mov qword [rbp + 0x20], rax
call fcn.14003a238
mov rcx, qword [rbp + 0x78]
lea edx, [r11 + 0x15]
mov r15, rax
call fcn.14003a238
mov rcx, qword [rbp + 0x78]
lea edx, [r11 + 0x16]
mov qword [rbp], rax
call fcn.14003a238
mov rcx, qword [rbp + 0x78]
lea edx, [r11 + 0x17]
mov qword [rbp + 0x38], rax
call fcn.14003a238
mov rcx, qword [rbp + 0x78]
lea edx, [r11 + 0x1a]
mov qword [rbp + 0x40], rax
call fcn.14003a238
mov rcx, qword [rbp + 0x78]
lea edx, [r11 + 0x1c]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x90]
shr rax, 0x1e
and eax, 1
mov byte [rsp + 0x3c], r11b
mov qword [rbp - 0x58], rax
mov dword [rsp + 0x68], r11d
call fcn.14003a238
test rax, rax
je 0x1400187c0
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov r8d, 0x818
mov rcx, rdi
call fcn.14003b748
xor r11d, r11d
mov rcx, qword [rbp + 0x78]
mov edx, 0x32
call fcn.14003a238
test rax, rax
jne 0x1400187c0
mov rcx, qword [rbp + 0x78]
lea edx, [rax + 0xc]
call fcn.14003a238
mov rcx, qword [rbp + 0x78]
mov edx, 0x3a
call fcn.14003a238
mov rcx, qword [0x140134380]
mov eax, dword [rcx]
shr eax, 4
xor eax, dword [rdi + 0xbc]
and eax, 0x400
xor dword [rdi + 0xbc], eax
test dword [rcx + 0x38], 0x40000000
je 0x14001882f
test ebx, ebx
je 0x14001882f
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov r8d, 0x9d3
mov rcx, rdi
call fcn.14003b748
xor r11d, r11d
cmp dword [rsp + 0x60], r11d
je 0x140018857
cmp qword [r13 + 0x110], r11
je 0x140018857
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov r8d, 0x9ec
mov rcx, rdi
call fcn.14003b748
xor r11d, r11d
test ebx, ebx
jne 0x1400188e2
lea r9, [0x14012cf68]
mov dword [rsp + 0x20], r11d
lea r8, [0x14012d4f8]
xor edx, edx
mov rcx, r13
call fcn.1400cbdc8
test rax, rax
je 0x140018887
mov rcx, qword [r13 + 0x40]
jmp 0x14001888e
lea rcx, [0x1400f48cb]
call fcn.14002c904
xor r11d, r11d
test eax, eax
je 0x1400188ae
cmp dword [rsp + 0x60], r11d
jne 0x1400188e2
mov rax, qword [r14 + 0x18]
cmp qword [rax + 0x210], r11
jne 0x1400188e2
mov rax, qword [0x140134380]
test dword [rax + 0x38], 0x20000000
je 0x1400188dd
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov r8d, 0x9d3
mov rcx, rdi
call fcn.14003b748
mov rax, qword [0x140134380]
xor r11d, r11d
bts dword [rax + 0x38], 0x1e
mov rax, qword [rbp + 0x90]
mov ecx, 1
shr rax, 0x1c
test cl, al
je 0x140018938
lea edx, [rcx + 0x1c]
mov rcx, qword [rbp + 0x78]
call fcn.14003a238
test rax, rax
je 0x140018923
cmp dword [rax + 0x30], r11d
je 0x140018919
cmp qword [rax + 0x28], 0xffff
jle 0x140018938
jmp 0x140018923
cmp qword [rax + 0x20], 0xffff
jg 0x140018938
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov r8d, 0x7e6
mov rcx, rdi
call fcn.14003b748
mov rcx, qword [rbp + 0x78]
xor eax, eax
mov r14b, al
mov byte [rsp + 0x30], al
mov byte [rsp + 0x34], al
mov ebx, eax
mov byte [rsp + 0x35], al
lea edx, [rax + 0x14]
call fcn.14003a238
mov r11, rax
test rax, rax
je 0x140018a41
mov esi, 1
lea r13d, [rsi + 3]
mov ecx, dword [r11 + 0x20]
cmp ecx, 9
jg 0x1400189d5
je 0x1400189b5
sub ecx, esi
je 0x1400189b5
sub ecx, esi
je 0x1400189b0
sub ecx, r13d
je 0x1400189a1
sub ecx, esi
je 0x140018997
cmp ecx, esi
jne 0x140018a1f
mov ebx, 7
jmp 0x14001899a
mov ebx, r13d
mov byte [rsp + 0x30], sil
jmp 0x140018a1f
mov ebx, r13d
mov byte [rsp + 0x30], sil
mov byte [rsp + 0x34], sil
jmp 0x140018a1f
mov r14b, sil
jmp 0x140018a1f
mov rax, qword [rbp + 0x90]
shr rax, 0x1c
test sil, al
je 0x140018a1f
mov rcx, r11
call fcn.14002d980
mov r8d, 0x99d
jmp 0x140018a10
cmp ecx, 0xb
jle 0x140018a02
cmp ecx, 0xc
je 0x1400189fb
cmp ecx, 0xd
je 0x140018a02
cmp ecx, 0x13
jne 0x140018a1f
mov rax, qword [rbp + 0x90]
shr rax, 0x1c
test sil, al
jne 0x140018a1f
jmp 0x1400189c5
mov byte [rsp + 0x35], sil
jmp 0x140018a1f
mov rcx, r11
call fcn.14002d980
mov r8d, 0x818
mov r9, rax
lea rdx, [rbp + 0x60]
mov rcx, rdi
call fcn.14003b748
mov rcx, qword [rbp + 0x78]
mov edx, 0x14
call fcn.14003a238
mov r11, rax
test rax, rax
jne 0x14001896c
mov esi, dword [rsp + 0x44]
mov r13, qword [rbp - 0x80]
mov rcx, qword [rbp]
test rcx, rcx
je 0x140018ad6
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1400cd70e.0]
lea r9, [0x14012cf68]
xor edx, edx
mov rsi, rax
lea r8, [0x14012d4f8]
xor eax, eax
mov rcx, rdi
mov dword [rsp + 0x20], eax
call fcn.1400cbdc8
test rax, rax
je 0x140018a87
mov rcx, qword [rdi + 0x40]
jmp 0x140018a8e
lea rcx, [0x1400f48cb]
mov rax, qword [rsi]
movsxd rbx, ebx
add rbx, rcx
mov rcx, rsi
mov rax, qword [rax + 0x98]
call qword [case.0x1400cd70e.0]
mov r8, rbx
mov rcx, r13
mov rdx, rax
call fcn.14001615c
xor ebx, ebx
test eax, eax
jne 0x140018ad0
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov r8d, 0x7e5
mov rcx, rdi
call fcn.14003b748
mov esi, dword [rsp + 0x44]
jmp 0x140018ad8
xor ebx, ebx
test r14b, r14b
je 0x140018af8
cmp byte [rsp + 0x30], bl
jne 0x140018af8
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov r8d, 0x82c
mov rcx, rdi
call fcn.14003b748
test r15, r15
je 0x140018b09
mov eax, 4
or dword [r13 + 0xec], eax
mov rcx, qword [rbp + 0x30]
mov rcx, qword [rcx]
mov rax, qword [rcx]
mov rax, qword [rax + 0x58]
call qword [case.0x1400cd70e.0]
mov r13d, ebx
lea rdx, [rbp - 0x74]
test eax, eax
mov rcx, rdi
sete r13b
call fcn.1400302d0
xor r11d, r11d
test eax, eax
jne 0x140018b51
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov r8d, 0x8ea
mov rcx, rdi
call fcn.14003b748
xor r11d, r11d
mov rcx, qword [rbp + 0x78]
mov edx, 0x5c
call fcn.14003a238
mov rcx, qword [rbp + 0x78]
test rax, rax
mov ebx, r11d
mov edx, 0x5b
setne bl
call fcn.14003a238
test rax, rax
mov ecx, r11d
setne cl
mov dword [rbp - 0x60], ecx
test rax, rax
je 0x140018ba6
test ebx, ebx
je 0x140018baa
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov r8d, 0x8ef
mov rcx, rdi
call fcn.14003b748
mov ecx, dword [rbp - 0x60]
xor r11d, r11d
test ebx, ebx
jne 0x140018bc6
mov r14, qword [rsp + 0x50]
mov rax, qword [r14 + 0x18]
cmp qword [rax + 0x2f8], r11
jne 0x140018bcb
mov eax, r11d
mov ebx, 1
jmp 0x140018bd2
mov r14, qword [rsp + 0x50]
mov ebx, 1
mov eax, ebx
test ecx, ecx
jne 0x140018c29
test eax, eax
je 0x140018c29
mov rax, qword [0x140134380]
mov dword [rbp - 0x5c], ebx
cmp byte [rax + 0x15], r11b
jne 0x140018c2d
test dword [rax + 4], 0x800
jne 0x140018c2d
mov al, byte [rbp + 0x90]
shr al, 7
test bl, al
je 0x140018c2d
mov rax, qword [rbp + 0x90]
shr rax, 0x1a
test bl, al
jne 0x140018c2d
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov r8d, 0x8b6
mov rcx, rdi
call fcn.14003b748
xor r11d, r11d
jmp 0x140018c2d
mov dword [rbp - 0x5c], r11d
mov rcx, qword [rbp + 0x78]
mov edx, 0x40
call fcn.14003a238
test rax, rax
jne 0x140018c50
mov rax, qword [r14 + 0x18]
mov ecx, r11d
cmp qword [rax + 0x218], r11
je 0x140018c55
mov ecx, 0x10000
mov eax, dword [rdi + 0xbc]
btr eax, 0x10
or eax, ecx
mov dword [rdi + 0xbc], eax
bt eax, 0x10
jae 0x140018ca4
test r15, r15
je 0x140018c88
mov r9d, 0x8eb
mov qword [rsp + 0x20], r11
mov rcx, r15
call fcn.14003b994
xor r11d, r11d
test esi, esi
je 0x140018ca4
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov r8d, 0x8fc
mov rcx, rdi
call fcn.14003b748
xor r11d, r11d
mov rax, qword [rbp + 0x90]
mov esi, 2
shr rax, 0x21
mov r15d, 0x9cf
test bl, al
jne 0x140018ccb
cmp qword [rbp + 0x28], r11
jne 0x140018ccb
mov byte [rsp + 0x32], r11b
jmp 0x140018d29
mov rax, qword [rbp + 0x90]
shr rax, 0x2b
mov byte [rsp + 0x32], bl
test bl, al
je 0x140018cf4
lea r9, str.async
mov r8d, r15d
lea rdx, [rbp + 0x60]
mov rcx, rdi
call fcn.14003b748
movabs rax, 0x200000000
or qword [rbp + 0x90], rax
mov rax, qword [0x140134380]
cmp dword [rax + 0x5c], esi
jne 0x140018d26
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov r8d, 0x988
mov rcx, rdi
call fcn.14003b748
xor r11d, r11d
cmp dword [rsp + 0x64], r11d
jne 0x140018d36
cmp dword [rbp - 0x78], r11d
je 0x140018d92
test dword [rdi + 0xbc], 0x10000
jne 0x140018d92
mov eax, dword [rsp + 0x5c]
cmp eax, 0x12
je 0x140018d92
cmp eax, 0x23
je 0x140018d58
mov r8d, 0x8f0
jmp 0x140018d80
mov rcx, qword [rbp + 0x78]
mov edx, r11d
mov eax, r11d
cmp qword [rcx + 0x310], r11
setne dl
cmp qword [rcx + 0x308], r11
setne al
cmp edx, eax
je 0x140018d92
mov r8d, 0x936
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov rcx, rdi
call fcn.14003b748
xor r11d, r11d
mov rsi, qword [rbp + 0x20]
test rsi, rsi
je 0x140018f4d
cmp dword [rbp - 0x50], r11d
je 0x140018dbe
lea r9, str.call_as
mov r8d, r15d
lea rdx, [rbp + 0x60]
mov rcx, rdi
call fcn.14003b748
xor r11d, r11d
mov rbx, qword [rsi + 0x40]
cmp dword [rbp - 0x58], r11d
je 0x140018de4
lea r9, str.call_as
mov r8d, 0x9a7
lea rdx, [rbp + 0x60]
mov rcx, rdi
call fcn.14003b748
xor r11d, r11d
test rbx, rbx
jne 0x140018e59
mov rax, qword [rsi + 0x38]
lea rdx, [rbp + 0x10]
mov rcx, qword [rbp - 0x80]
mov qword [rbp + 0x10], rax
mov dword [rbp + 0x18], 2
movaps xmm0, xmmword [rbp + 0x10]
mov rcx, qword [rcx + 0xd8]
movdqa xmmword [rbp + 0x10], xmm0
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x1400cd70e.0]
xor r11d, r11d
mov rbx, rax
test rax, rax
jne 0x140018e55
mov rcx, qword [r14 + 0x18]
cmp qword [rcx + 0x218], r11
je 0x140018f41
mov rcx, qword [rsi + 0x38]
mov r9d, 0x8e3
mov qword [rsp + 0x20], rcx
mov rcx, rsi
call fcn.14003b994
jmp 0x140018f3e
mov qword [rsi + 0x40], rax
or dword [rbx + 0xbc], 8
cmp byte [rbx + 0x18], 0x1b
jne 0x140018e82
mov rax, qword [rbx]
mov edx, 0x3f
mov rcx, rbx
mov rax, qword [rax + 0x20]
call qword [case.0x1400cd70e.0]
xor r11d, r11d
test eax, eax
jne 0x140018ec7
lea r9, [0x14012cf68]
mov dword [rsp + 0x20], r11d
lea r8, [0x14012d4f8]
xor edx, edx
mov rcx, rbx
call fcn.1400cbdc8
test rax, rax
je 0x140018eaa
mov rax, qword [rbx + 0x40]
jmp 0x140018eb1
lea rax, [0x1400f48cb]
mov r9d, 0x8e2
mov qword [rsp + 0x20], rax
mov rcx, rsi
call fcn.14003b994
xor r11d, r11d
mov rcx, qword [0x1401343b0]
mov edx, r11d
mov rax, qword [rcx + 8]
jmp 0x140018ee1
cmp qword [rax + 0x18], rbx
je 0x140018ee8
mov rax, qword [rax + 8]
cmp rax, rcx
jne 0x140018ed7
jmp 0x140018eed
mov edx, 1
neg edx
sbb rax, rax
test rbx, rax
je 0x140018f36
lea r9, [0x14012cf68]
mov dword [rsp + 0x20], r11d
lea r8, [0x14012d4f8]
xor edx, edx
mov rcx, rbx
call fcn.1400cbdc8
test rax, rax
je 0x140018f1f
mov rax, qword [rbx + 0x40]
jmp 0x140018f26
lea rax, [0x1400f48cb]
mov qword [rsp + 0x20], rax
mov r9d, 0x8ed
jmp 0x140018e48
mov rdx, rbx
call fcn.14005bee0
xor r11d, r11d
mov qword [rdi + 0x100], rbx
mov ebx, 1
cmp dword [rsp + 0x60], r11d
je 0x14001900a
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov r8d, 0x803
mov rcx, rdi
call fcn.14003b748
xor r11d, r11d
bts qword [rbp + 0x90], 0x1a
mov r15d, ebx
cmp dword [rbp - 0x58], r11d
je 0x140018f9e
lea r9, str.local
mov r8d, 0x9a7
lea rdx, [rbp + 0x60]
mov rcx, rdi
call fcn.14003b748
xor r11d, r11d
mov rcx, qword [rbp + 0x78]
mov edx, 0x63
call fcn.14003a238
test rax, rax
jne 0x140018fc3
mov rax, qword [r14 + 0x18]
mov dword [rsp + 0x74], r11d
cmp qword [rax + 0x330], r11
je 0x140018fc7
mov dword [rsp + 0x74], ebx
test dword [rdi + 0xb8], 0xf000000
jne 0x140019035
lea rcx, [rbp + 0x60]
mov rax, qword [rcx]
cmp byte [rax + 0x18], 0x1e
je 0x140018fec
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x140018fd7
mov rcx, r11
mov r12, qword [rbp - 0x80]
test rcx, rcx
jne 0x140019039
test r12, r12
je 0x140019039
test r15d, r15d
jne 0x140019039
bts qword [rbp + 0x90], 7
jmp 0x140019042
mov rax, qword [r14 + 0x18]
cmp qword [rax + 0x210], r11
jne 0x140018f70
mov r15d, r11d
test r12d, r12d
je 0x140018f9e
xor r9d, r9d
mov r8d, 0x9bf
jmp 0x140018f8f
mov r12, qword [rbp - 0x80]
btr qword [rbp + 0x90], 7
mov rcx, qword [rbp + 0x78]
mov edx, 0x5d
call fcn.14003a238
mov qword [rbp + 0x50], rax
test rax, rax
je 0x140019077
movzx ecx, word [rax + 0x3c]
shl ecx, 0x10
xor ecx, dword [rdi + 0xb8]
and ecx, 0xff0000
xor dword [rdi + 0xb8], ecx
mov ecx, dword [rax + 0x38]
jmp 0x14001909c
movzx eax, word [r12 + 0xe4]
shl eax, 0x10
xor eax, dword [rdi + 0xb8]
and eax, 0xff0000
xor dword [rdi + 0xb8], eax
mov ecx, dword [r12 + 0xe8]
mov dword [rdi + 0x118], ecx
mov edx, 0x9b
mov rcx, qword [rbp + 0x78]
call fcn.14003a238
test rax, rax
je 0x1400190bc
mov qword [rdi + 0xf0], rax
mov rax, qword [rbp + 0x78]
cmp qword [rax + 0xa0], r11
je 0x1400190ed
test dword [rdi + 0xbc], 0x10000
jne 0x140019143
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov r8d, 0x9e9
mov rcx, rdi
call fcn.14003b748
xor r11d, r11d
mov dword [rdi + 0xc8], ebx