Function at 0x14000a240
Capabilities:
Get explorer pid

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x128]
sub rsp, 0x228
movsxd r15, ecx
mov r12, rdx
lea rcx, [0x14000a170]
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov esi, 1
lea rbx, [r12 + 8]
cmp r15d, esi
jle 0x14000a327
mov rdi, rbx
nop dword [rax]
mov rcx, qword [rdi]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14000a2a0
cmp rax, 5
jne 0x14000a2d1
add rcx, 2
lea rdx, str.free
call fcn.140017a48
test eax, eax
jne 0x14000a2d1
mov rax, qword [rdi]
cmp word [rax], 0x2f
je 0x14000a58f
mov rcx, qword [rdi]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14000a2e0
cmp rax, 6
jne 0x14000a318
add rcx, 4
lea rdx, str.free
call fcn.140017a48
test eax, eax
jne 0x14000a318
mov rax, qword [rdi]
cmp word [rax], 0x2d
jne 0x14000a318
cmp word [rax + 2], 0x2d
je 0x14000a58f
inc esi
add rdi, 8
cmp esi, r15d
jl 0x14000a290
xor r13b, r13b
mov r14d, 1
mov esi, 0xffffffff
cmp r15d, r14d
jle 0x14000a3d8
nop
mov rcx, qword [rbx]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14000a350
cmp rax, 9
jne 0x14000a381
add rcx, 2
lea rdx, str.indPages
call fcn.140017a48
test eax, eax
jne 0x14000a381
mov rax, qword [rbx]
cmp word [rax], 0x2f
je 0x14000a5a0
mov rcx, qword [rbx]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14000a390
cmp rax, 0xa
jne 0x14000a3c8
add rcx, 4
lea rdx, str.indPages
call fcn.140017a48
test eax, eax
jne 0x14000a3c8
mov rax, qword [rbx]
cmp word [rax], 0x2d
jne 0x14000a3c8
cmp word [rax + 2], 0x2d
je 0x14000a5a0
inc r14d
add rbx, 8
cmp r14d, r15d
jl 0x14000a340
mov edi, 1
mov r14d, 0xffffffff
cmp r15d, edi
jle 0x14000a483
lea rbx, [r12 + 8]
mov rcx, qword [rbx]
mov rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14000a400
cmp rax, 0x12
jne 0x14000a42d
add rcx, 2
lea rdx, str.PassAllocationPtr
call fcn.140017a48
test eax, eax
jne 0x14000a42d
mov rax, qword [rbx]
cmp word [rax], 0x2f
je 0x14000a488
mov rcx, qword [rbx]
mov rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14000a440
cmp rax, 0x13
jne 0x14000a474
add rcx, 4
lea rdx, str.PassAllocationPtr
call fcn.140017a48
test eax, eax
jne 0x14000a474
mov rax, qword [rbx]
cmp word [rax], 0x2d
jne 0x14000a474
cmp word [rax + 2], 0x2d
je 0x14000a488
inc edi
add rbx, 8
cmp edi, r15d
jl 0x14000a3f1
mov edi, 0xffffffff
test edi, edi
setg byte [rbp + 0x180]
test esi, esi
jle 0x14000a49e
test r14d, r14d
jg 0x14000ac9a
mov dword [rbp + 0x188], 1
cmp r15d, 1
jle 0x14000ac9a
mov eax, 1
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x20], rax
xor esi, esi
mov rdx, qword [r12 + rax*8]
mov r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x14000a4d0
xorps xmm0, xmm0
mov qword [rbp - 8], rsi
lea rcx, [rbp - 0x18]
mov qword [rbp], rsi
movups xmmword [rbp - 0x18], xmm0
call fcn.140008ae0
mov rax, qword [rbp - 8]
lea rcx, [rbp - 0x18]
cmp qword [rbp], 7
cmova rcx, qword [rbp - 0x18]
lea rdx, [rcx + rax*2]
mov rbx, rdx
call fcn.140009800
cmp rax, rdx
je 0x14000a55c
movzx ecx, word [rax]
cmp cx, 0x5c
je 0x14000a525
cmp cx, 0x2f
jne 0x14000a52e
add rax, 2
cmp rax, rdx
jne 0x14000a516
cmp rax, rdx
je 0x14000a55c
nop dword [rax]
nop word [rax + rax]
movzx ecx, word [rbx - 2]
lea r8, [rbx - 2]
cmp cx, 0x5c
je 0x14000a55c
cmp cx, 0x2f
je 0x14000a55c
mov rbx, r8
cmp rax, r8
jne 0x14000a540
mov r8d, 0x3a
mov rcx, rbx
call fcn.14000f840
cmp rbx, rax
je 0x14000a5c2
lea rdx, [rax - 2]
cmp rbx, rdx
je 0x14000a5c2
cmp word [rdx], 0x2e
jne 0x14000a5aa
lea rcx, [rdx - 2]
cmp rbx, rcx
jne 0x14000a5c5
cmp word [rcx], 0x2e
jne 0x14000a5c5
jmp 0x14000a5c2
test esi, esi
mov r14d, 1
setg r13b
jmp 0x14000a340
mov edi, 1
jmp 0x14000a3ec
sub rdx, 2
cmp rbx, rdx
je 0x14000a5c2
cmp word [rdx], 0x2e
je 0x14000a5c5
sub rdx, 2
cmp rbx, rdx
jne 0x14000a5b3
mov rdx, rax
sub rax, rdx
mov qword [rbp - 0x70], rsi
sar rax, 1
lea rcx, [rbp - 0x80]
xorps xmm0, xmm0
mov qword [rbp - 0x68], rsi
mov r8, rax
movups xmmword [rbp - 0x80], xmm0
call fcn.140008ae0
cmp qword [rbp - 0x68], 7
lea r15, [rbp - 0x80]
mov rdi, qword [rbp - 0x70]
cmova r15, qword [rbp - 0x80]
call fcn.14000f190
mov rbx, rsi
xorps xmm0, xmm0
mov qword [rsp + 0x70], rbx
mov esi, 0xf
mov qword [rsp + 0x78], rsi
mov r12d, eax
movups xmmword [rsp + 0x60], xmm0
mov byte [rsp + 0x60], 0
test rdi, rdi
je 0x14000a6ae
cmp rdi, 0x7fffffff
ja 0x14000ad94
xor r9d, r9d
mov dword [rsp + 0x20], 0
mov r8d, edi
mov rdx, r15
mov ecx, eax
call fcn.14000f1b8
mov rbx, rax
mov qword [rsp + 0x50], rax
shr rax, 0x20
test eax, eax
jne 0x14000ad8a
movsxd rdx, ebx
lea rcx, [rsp + 0x60]
xor r8d, r8d
call fcn.14000b370
cmp qword [rsp + 0x78], rsi
lea r9, [rsp + 0x60]
mov r8d, edi
mov dword [rsp + 0x20], ebx
cmova r9, qword [rsp + 0x60]
mov rdx, r15
mov ecx, r12d
call fcn.14000f1b8
mov qword [rsp + 0x50], rax
shr rax, 0x20
test eax, eax
jne 0x14000ad80
mov rsi, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x60]
lea rcx, [rsp + 0x60]
cmp rsi, 0xf
lea rdx, str..sys
mov r8, rbx
mov r12d, 4
cmova rcx, rdi
cmp rbx, 4
cmova r8, r12
call fcn.140029bb0
mov r15d, eax
test eax, eax
jne 0x14000a6fb
cmp rbx, r12
jae 0x14000a6f1
mov r15d, 0xffffffff
jmp 0x14000a6fb
xor r15d, r15d
cmp rbx, r12
seta r15b
cmp rsi, 0xf
jbe 0x14000a732
lea rdx, [rsi + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x14000a72a
mov rdi, qword [rdi - 8]
add rdx, 0x27
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad9a
mov rcx, rdi
call fcn.14000fbb0
mov rdx, qword [rbp - 0x68]
xor esi, esi
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x78], 0xf
mov byte [rsp + 0x60], sil
cmp rdx, 7
jbe 0x14000a787
mov rcx, qword [rbp - 0x80]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a782
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad9a
call fcn.14000fbb0
mov rdx, qword [rbp]
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], si
cmp rdx, 7
jbe 0x14000a7d7
mov rcx, qword [rbp - 0x18]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a7d2
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad9a
call fcn.14000fbb0
test r15d, r15d
je 0x14000a803
mov rax, qword [rbp - 0x20]
inc dword [rbp + 0x188]
inc rax
mov qword [rbp - 0x20], rax
cmp rax, qword [rbp - 0x50]
jge 0x14000ac9a
mov r12, qword [rbp + 0x178]
jmp 0x14000a4c1
movsxd rax, dword [rbp + 0x188]
test eax, eax
jle 0x14000ac9a
mov rdx, qword [rbp + 0x178]
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rsi
mov r8, 0xffffffffffffffff
mov qword [rbp - 0x28], rsi
mov rdx, qword [rdx + rax*8]
inc r8
cmp word [rdx + r8*2], si
jne 0x14000a833
lea rcx, [rbp - 0x40]
call fcn.140008ae0
cmp qword [rbp - 0x28], 7
lea rdx, [rbp - 0x40]
mov r8, qword [rbp - 0x30]
lea rcx, [rbp - 0x80]
cmova rdx, qword [rbp - 0x40]
xorps xmm0, xmm0
xorps xmm1, xmm1
movups xmmword [rbp - 0x80], xmm0
movdqu xmmword [rbp - 0x70], xmm1
call fcn.140008ae0
cmp qword [rbp - 0x68], 7
lea rcx, [rbp - 0x80]
mov r9d, 0xffffffff
lea rdx, [rsp + 0x60]
cmova rcx, qword [rbp - 0x80]
mov r8d, 3
call fcn.14000f3a8
mov r8d, eax
test eax, eax
jne 0x14000a8e6
mov edx, dword [rsp + 0x70]
mov ecx, 0x1ff
test dl, 1
mov eax, 0x16d
cmovne ecx, eax
mov dword [rsp + 0x54], ecx
mov ecx, edx
shr ecx, 0xa
test cl, 1
je 0x14000a8db
mov eax, dword [rsp + 0x74]
cmp eax, 0xa000000c
jne 0x14000a8cd
mov edx, r12d
jmp 0x14000a909
cmp eax, 0xa0000003
jne 0x14000a8db
mov edx, 0xa
jmp 0x14000a909
shr edx, 4
and edx, 1
or edx, 2
jmp 0x14000a909
mov dword [rsp + 0x54], 0xffff
sub eax, 2
je 0x14000a904
sub eax, 1
je 0x14000a904
sub eax, 0x32
je 0x14000a904
mov edx, esi
cmp eax, 0x46
jne 0x14000a909
mov edx, 1
mov dword [rsp + 0x50], r8d
lea rax, [0x140044cd0]
mov qword [rsp + 0x58], rax
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm0
test edx, edx
je 0x14000a9c0
cmp edx, 1
sete bl
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x14000a973
mov rcx, qword [rbp - 0x80]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000a96e
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ada0
call fcn.14000fbb0
test bl, bl
jne 0x14000a989
call fcn.140001e20
mov qword [0x140046c50], rax
cmp rax, 0xffffffffffffffff
jne 0x14000a9d0
mov dword [rbp + 0x170], esi
call qword [sym.imp.USER32.dll_GetShellWindow]
mov rcx, rax
lea rdx, [rbp + 0x170]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
call fcn.14000a190
cmp eax, dword [rbp + 0x170]
jne 0x14000ac5a
call fcn.14000ae00
jmp 0x14000ac5a
mov bl, 1
test r8d, r8d
jne 0x14000ad71
jmp 0x14000a933
xorps xmm0, xmm0
mov byte [rbp + 0x170], sil
mov ecx, 1
lea rdi, [rbp + 0x170]
movdqu xmmword [rsp + 0x60], xmm0
lea rsi, [rbp + 0x171]
xor r15d, r15d
call fcn.14000fc9c
mov rbx, rax
mov qword [rsp + 0x60], rax
inc rax
lea rdx, [rbp - 0x40]
mov qword [rsp + 0x70], rax
lea rcx, [rbp + 0x10]
movzx eax, byte [rbp + 0x170]
mov byte [rbx], al
mov rax, rbx
sub rax, rdi
add rax, rsi
mov qword [rsp + 0x68], rax
call fcn.14000dc80
mov rax, qword [rbp + 0x10]
movsxd rax, dword [rax + 4]
test byte [rbp + rax + 0x20], 6
je 0x14000aaa7
lea rdx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rax + 0x10], rdx
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0xc], edx
lea rcx, [rbp + 0x20]
call fcn.140005e00
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x10], rax
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::ios_base.0
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0xc], edx
lea rcx, [rbp + 0xc0]
mov qword [rbp + 0xc0], rax
call fcn.14000ebbc
jmp 0x14000abe5
mov rax, qword [rbp + rax + 0x58]
lea r8, [rsp + 0x50]
mov qword [rsp + 0x50], r15
lea rdx, [rbp - 0x50]
mov word [rsp + 0x58], 1
lea rcx, [rsp + 0x60]
movaps xmm0, xmmword [rsp + 0x50]
test rax, rax
mov qword [rbp - 0x50], rax
sete byte [rbp - 0x48]
mov byte [rbp - 0x47], r15b
movaps xmm1, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x50], xmm1
movdqa xmmword [rsp + 0x50], xmm0
call fcn.14000df90
lea rcx, [rbp + 0x20]
call fcn.140006a00
test rax, rax
jne 0x14000ab2c
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
cmp qword [rbp + rcx + 0x58], r15
mov eax, dword [rbp + rcx + 0x24]
cmovne r12d, r15d
or r12d, dword [rbp + rcx + 0x20]
and r12d, 0x15
or r12d, 2
mov dword [rbp + rcx + 0x20], r12d
and eax, r12d
jne 0x14000ada6
mov rax, qword [rbp + 0x10]
lea rdx, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x10], rdx
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rbp + rcx + 0xc], edx
lea rcx, [rbp + 0x20]
call fcn.140005e00
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x10], rax
mov rax, qword [rbp + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::ios_base.0
lea edx, [rcx - 0x18]
mov dword [rbp + rcx + 0xc], edx
lea rcx, [rbp + 0xc0]
mov qword [rbp + 0xc0], rax
call fcn.14000ebbc
mov rbx, qword [rsp + 0x60]
lea rcx, [rbp + 0x170]
mov qword [rsp + 0x48], rcx
mov eax, r15d
movzx ecx, byte [rbp + 0x180]
test r14d, r14d
mov byte [rsp + 0x38], cl
mov rdx, rbx
mov rcx, qword [0x140046c50]
setg al
mov dword [rsp + 0x30], eax
mov byte [rsp + 0x20], r13b
mov dword [rbp + 0x170], r15d
call fcn.14000b5c0
test rax, rax
jne 0x14000acb3
mov rcx, qword [0x140046c50]
call fcn.140002ab0
mov dword [rbp + 0x170], r15d
call qword [sym.imp.USER32.dll_GetShellWindow]
mov rcx, rax
lea rdx, [rbp + 0x170]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
call fcn.14000a190
cmp eax, dword [rbp + 0x170]
jne 0x14000ac20
call fcn.14000ae00
test rbx, rbx
je 0x14000ac5a
mov rdx, qword [rsp + 0x70]
mov rax, rbx
sub rdx, rbx
cmp rdx, 0x1000
jb 0x14000ac52
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad6b
mov rcx, rbx
call fcn.14000fbb0
mov rdx, qword [rbp - 0x28]
cmp rdx, 7
jbe 0x14000ac9a
mov rcx, qword [rbp - 0x40]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ac95
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad6b
call fcn.14000fbb0
mov eax, 0xffffffff
add rsp, 0x228
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rcx, qword [0x140046c50]
call fcn.140002ab0
test al, al
jne 0x14000acf2
mov dword [rbp + 0x170], r15d
call qword [sym.imp.USER32.dll_GetShellWindow]
mov rcx, rax
lea rdx, [rbp + 0x170]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
call fcn.14000a190
cmp eax, dword [rbp + 0x170]
jne 0x14000acf2
call fcn.14000ae00
test rbx, rbx
je 0x14000ad28
mov rdx, qword [rsp + 0x70]
mov rax, rbx
sub rdx, rbx
cmp rdx, 0x1000
jb 0x14000ad20
mov rbx, qword [rbx - 8]
add rdx, 0x27
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad6b
mov rcx, rbx
call fcn.14000fbb0
mov rdx, qword [rbp - 0x28]
cmp rdx, 7
jbe 0x14000ad64
mov rcx, qword [rbp - 0x40]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000ad5f
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14000ad6b
call fcn.14000fbb0
xor eax, eax
jmp 0x14000ac9f
call fcn.140017988
int3
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x50]
call fcn.14000a110
int3
mov ecx, dword [rsp + 0x54]
call fcn.1400097c0
int3
mov ecx, dword [rsp + 0x54]
call fcn.1400097c0
int3
call fcn.140009600
int3
call fcn.140017988
int3
call fcn.140017988
int3
test al, 4
je 0x14000adb3
lea rbx, str.ios_base::badbit_set
jmp 0x14000adc7
test al, 2
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rsp + 0x50]
call fcn.1400013a0
mov r8, rax
lea rcx, [rbp - 0x80]
mov rdx, rbx
call fcn.140001910
lea rdx, [0x140042748]
lea rcx, [rbp - 0x80]
call fcn.140011114
int3