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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push r14
sub rsp, 0xf0
mov rax, qword [0x140239780]
xor rax, rsp
mov qword [rsp + 0xb0], rax
lea r8, str.LocalAsari
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, 1
cmp eax, 0xb7
je 0x1400462f2
xorps xmm0, xmm0
mov dword [0x14023e0e0], 0x50
xorps xmm1, xmm1
movdqa xmmword [0x14023e0f0], xmm0
lea rax, [0x1400456e0]
movdqa xmmword [0x14023e100], xmm1
xor ecx, ecx
movdqa xmmword [0x14023e110], xmm0
movdqa xmmword [0x14023e120], xmm1
mov qword [0x14023e0e8], rax
mov dword [0x14023e0e4], 0x40
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rbx, str.Menu
mov qword [0x14023e0f8], rax
lea rcx, [0x14023e0e0]
mov qword [0x14023e120], rbx
call qword [sym.imp.USER32.dll_RegisterClassExA]
mov rax, qword [0x14023e0f8]
xor ebp, ebp
mov rdx, qword [0x14023e120]
mov r9d, 0x80000000
mov qword [rsp + 0x58], rbp
mov r8, rbx
mov qword [rsp + 0x50], rax
xor ecx, ecx
mov qword [rsp + 0x48], rbp
mov qword [rsp + 0x40], rbp
mov dword [rsp + 0x38], 0x160
mov dword [rsp + 0x30], 0x208
mov dword [rsp + 0x28], 0x64
mov dword [rsp + 0x20], 0x64
call qword [sym.imp.USER32.dll_CreateWindowExA]
mov r9d, 0x161
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
xor edx, edx
mov qword [0x14023dc48], rax
xor ecx, ecx
mov dword [rsp + 0x20], reloc.WS2_32.dll_recv
lea r8d, [r9 + 0x60]
call qword [sym.imp.GDI32.dll_CreateRoundRectRgn]
mov rcx, qword [0x14023dc48]
mov r8d, esi
mov rdx, rax
call qword [sym.imp.USER32.dll_SetWindowRgn]
mov rcx, qword [0x14023dc48]
lea edx, [rsi + 9]
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [0x14023dc48]
call qword [sym.imp.USER32.dll_UpdateWindow]
lea ecx, [rsi + 0x1f]
call qword [sym.imp.d3d9.dll_Direct3DCreate9]
mov qword [0x14023dca0], rax
mov rcx, rax
test rax, rax
je 0x1400462f2
mov r9, qword [0x14023dc48]
lea rdx, [0x14023dc50]
mov qword [rsp + 0x30], rdx
lea r14, [0x14023dc60]
mov qword [0x14023dc60], rbp
mov r8d, esi
mov qword [0x14023dc6c], rbp
xor edx, edx
mov dword [0x14023dc74], ebp
mov qword [0x14023dc7c], rbp
mov dword [0x14023dc84], ebp
mov qword [0x14023dc94], rbp
mov dword [0x14023dc88], esi
mov dword [0x14023dc78], esi
mov dword [0x14023dc68], ebp
mov dword [0x14023dc8c], esi
mov dword [0x14023dc90], 0x50
mov dword [0x14023dc9c], esi
mov rax, qword [rax]
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0x40
call qword [rax + 0x80]
test eax, eax
jne 0x1400462f2
mov rbx, qword [0x14023dbe8]
mov ecx, 0x5fd0
mov qword [rsp + 0x100], rdi
call fcn.140144040
mov rcx, qword [0x14023dbe8]
test rcx, rcx
je 0x140045aa7
inc dword [rcx + 0xf0]
test rax, rax
je 0x140045ab8
xor edx, edx
mov rcx, rax
call fcn.14001b290
jmp 0x140045abb
mov rax, rbp
mov qword [0x14023dbe8], rax
call fcn.140004970
test rbx, rbx
je 0x140045ad5
mov qword [0x14023dbe8], rbx
jmp 0x140045adc
mov rbx, qword [0x14023dbe8]
mov rcx, qword [0x14023dc48]
mov qword [rbx + 0x20], rbp
mov qword [rbx + 0x28], rbp
call fcn.14002e020
mov rdi, qword [0x14023dc50]
mov ecx, 0x28
mov rbx, qword [0x14023dbe8]
call fcn.140144040
mov rcx, qword [0x14023dbe8]
test rcx, rcx
je 0x140045b1a
inc dword [rcx + 0xf0]
test rax, rax
je 0x140045b3e
mov qword [rax], rbp
mov qword [rax + 8], rbp
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rbp
mov dword [rax + 0x20], 0x1388
mov dword [rax + 0x24], 0x2710
jmp 0x140045b41
mov rax, rbp
or dword [rbx + 0xc], 8
lea rcx, str.imgui_impl_dx9
mov qword [rbx + 0x88], rcx
mov rcx, rdi
mov qword [rbx + 0x98], rax
mov qword [rax], rdi
mov rax, qword [rdi]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rcx, qword [0x14023dbe8]
lea rdx, [0x1401fd020]
movss xmm3, dword [0x14021afd8]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rbp
mov rcx, qword [rcx + 0x38]
call fcn.140026780
mov rax, qword [0x14023dbe8]
lea rdx, [0x1401ea140]
movss xmm3, dword [0x14021afd0]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rbp
mov rcx, qword [rax + 0x38]
call fcn.140026780
movss xmm3, dword [0x14021afe4]
lea rdx, [0x1401ea140]
mov qword [0x14023dc20], rax
mov rax, qword [0x14023dbe8]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rbp
mov rcx, qword [rax + 0x38]
call fcn.140026780
mov rcx, qword [0x14023dc50]
lea rdx, [0x140219ce0]
mov qword [0x14023dd18], rax
mov r9d, 0x18
lea rax, [0x14023dd20]
mov r8d, 0x12c
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x60], rbp
mov dword [rsp + 0x58], ebp
mov dword [rsp + 0x50], 0xffffffff
mov dword [rsp + 0x48], 0xffffffff
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], 0xffffffff
mov dword [rsp + 0x20], 0x18
call qword [sym.imp.d3dx9_43.dll_D3DXCreateTextureFromFileInMemoryEx]
mov rcx, qword [0x14023dc50]
lea rax, [0x14023dd28]
mov qword [rsp + 0x70], rax
lea rdx, [0x140219840]
mov qword [rsp + 0x68], rbp
mov r9d, 0x18
mov qword [rsp + 0x60], rbp
mov r8d, 0x49a
mov dword [rsp + 0x58], ebp
mov dword [rsp + 0x50], 0xffffffff
mov dword [rsp + 0x48], 0xffffffff
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], 0xffffffff
mov dword [rsp + 0x20], 0x18
call qword [sym.imp.d3dx9_43.dll_D3DXCreateTextureFromFileInMemoryEx]
mov rcx, qword [0x14023dc50]
lea rax, [0x14023dcc0]
mov qword [rsp + 0x70], rax
lea rdx, [0x140219490]
mov qword [rsp + 0x68], rbp
mov r9d, 0x18
mov qword [rsp + 0x60], rbp
mov r8d, 0x3a7
mov dword [rsp + 0x58], ebp
mov dword [rsp + 0x50], 0xffffffff
mov dword [rsp + 0x48], 0xffffffff
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], 0xffffffff
mov dword [rsp + 0x20], 0x18
call qword [sym.imp.d3dx9_43.dll_D3DXCreateTextureFromFileInMemoryEx]
mov rcx, qword [0x14023dc50]
lea rax, [0x14023dcb0]
mov qword [rsp + 0x70], rax
lea rdx, [0x140219320]
mov qword [rsp + 0x68], rbp
mov r9d, 0x18
mov qword [rsp + 0x60], rbp
mov r8d, 0x169
mov dword [rsp + 0x58], ebp
mov dword [rsp + 0x50], 0xffffffff
mov dword [rsp + 0x48], 0xffffffff
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], 0xffffffff
mov dword [rsp + 0x20], 0x18
call qword [sym.imp.d3dx9_43.dll_D3DXCreateTextureFromFileInMemoryEx]
mov rcx, qword [0x14023dc50]
lea rax, [0x14023dbd0]
mov qword [rsp + 0x70], rax
lea rdx, [0x14020fb60]
mov qword [rsp + 0x68], rbp
mov r9d, 0x1c0
mov qword [rsp + 0x60], rbp
mov r8d, 0x97be
mov dword [rsp + 0x58], ebp
mov dword [rsp + 0x50], 0xffffffff
mov dword [rsp + 0x48], 0xffffffff
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], ebp
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], 0xffffffff
mov dword [rsp + 0x20], 0x160
call qword [sym.imp.d3dx9_43.dll_D3DXCreateTextureFromFileInMemoryEx]
call 0x1400435c0
lea rcx, [0x14023de50]
call fcn.140056570
cmp byte [0x14023e060], bpl
jne 0x140045e10
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]
movaps xmmword [rsp + 0xe0], xmm6
xor bl, bl
movaps xmmword [rsp + 0xd0], xmm7
mov edi, 0x209
movss xmm7, dword [0x14021af88]
xorps xmm6, xmm6
movaps xmmword [rsp + 0xc0], xmm8
movss xmm8, dword [0x14021afb4]
xor r9d, r9d
mov dword [rsp + 0x20], esi
xor r8d, r8d
lea rcx, [rsp + 0x80]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x140045eb2
lea rcx, [rsp + 0x80]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rsp + 0x80]
call qword [sym.imp.USER32.dll_DispatchMessageA]
cmp dword [rsp + 0x88], 0x12
lea rcx, [rsp + 0x80]
movzx ebx, bl
cmove ebx, esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
jne 0x140045e62
test bl, bl
jne 0x1400460aa
mov rax, qword [0x14023dbe8]
test rax, rax
je 0x140045ec7
mov rcx, qword [rax + 0x98]
jmp 0x140045eca
mov rcx, rbp
cmp qword [rcx + 0x18], rbp
jne 0x140045eeb
test rax, rax
je 0x140045eeb
mov rcx, qword [rax + 0x98]
test rcx, rcx
je 0x140045eeb
cmp qword [rcx], rbp
je 0x140045eeb
call fcn.14002dd80
call fcn.14002e2c0
call fcn.140006b90
call fcn.1400436c0
mov rcx, qword [0x14023dc50]
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r8 + 7]
call qword [rax + 0x1c8]
mov rcx, qword [0x14023dc50]
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r8 + 0x1b]
call qword [rax + 0x1c8]
mov rcx, qword [0x14023dc50]
xor r8d, r8d
mov edx, 0xae
mov rax, qword [rcx]
call qword [rax + 0x1c8]
mov rcx, qword [0x14023dc50]
mov r9d, 3
mov dword [rsp + 0x30], ebp
xor r8d, r8d
movss dword [rsp + 0x28], xmm7
xor edx, edx
mov dword [rsp + 0x20], 0xff121214
mov rax, qword [rcx]
call qword [rax + 0x158]
mov rcx, qword [0x14023dc50]
mov rax, qword [rcx]
call qword [rax + 0x148]
test eax, eax
js 0x140045fbe
call fcn.140008870
call fcn.140008c90
mov rax, qword [0x14023dbe8]
mov rcx, qword [rax + 0x4960]
mov rax, qword [rcx]
mov rcx, rbp
add rax, 0x48
cmp byte [rax], cl
cmovne rcx, rax
call fcn.14002d7c0
mov rcx, qword [0x14023dc50]
mov rax, qword [rcx]
call qword [rax + 0x150]
mov rcx, qword [0x14023dc50]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbp
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x88]
cmp eax, 0x88760868
jne 0x140046030
mov rcx, qword [0x14023dc50]
mov rax, qword [rcx]
call qword [rax + 0x18]
cmp eax, 0x88760869
jne 0x140046030
call fcn.14002dfa0
mov rcx, qword [0x14023dc50]
mov rdx, r14
mov rax, qword [rcx]
call qword [rax + 0x80]
mov rax, qword [0x14023dbe8]
test rax, rax
je 0x140046037
mov rcx, qword [rax + 0x98]
test rcx, rcx
je 0x140046037
cmp qword [rcx], rbp
je 0x140046037
call fcn.14002dd80
mov rax, qword [0x14023dbe8]
movss xmm0, dword [rax + 0x18]
mulss xmm0, xmm8
addss xmm0, dword [0x14023dc28]
comiss xmm6, xmm0
jbe 0x140046053
movaps xmm1, xmm6
jmp 0x14004605a
movaps xmm1, xmm7
minss xmm1, xmm0
cmp dword [0x14023dc2c], ebp
mov r8d, 0x1c1
mov dword [rsp + 0x28], reloc.WS2_32.dll_recv
mov r9d, 0x161
cmovne r8d, edi
movss dword [0x14023dc28], xmm1
xor edx, edx
mov dword [rsp + 0x20], reloc.WS2_32.dll_recv
xor ecx, ecx
call qword [sym.imp.GDI32.dll_CreateRoundRectRgn]
mov rcx, qword [0x14023dc48]
mov r8d, esi
mov rdx, rax
call qword [sym.imp.USER32.dll_SetWindowRgn]
jmp 0x140045e44
mov rcx, qword [0x14023dd20]
movaps xmm8, xmmword [rsp + 0xc0]
movaps xmm7, xmmword [rsp + 0xd0]
movaps xmm6, xmmword [rsp + 0xe0]
test rcx, rcx
je 0x1400460d5
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x14023dd28]
test rcx, rcx
je 0x1400460e7
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x14023dcc0]
test rcx, rcx
je 0x1400460f9
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x14023dcb0]
test rcx, rcx
je 0x14004610b
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x14023dbd0]
test rcx, rcx
je 0x14004611d
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x14023dbe8]
test rcx, rcx
je 0x140046132
mov rsi, qword [rcx + 0x98]
jmp 0x140046135
mov rsi, rbp
lea rdi, [rcx + 8]
test rcx, rcx
je 0x1400461ae
mov rbx, qword [rcx + 0x98]
test rbx, rbx
je 0x1400461ae
cmp qword [rbx], rbp
je 0x1400461ae
mov rdx, qword [rbx + 8]
test rdx, rdx
je 0x14004616c
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x14023dbe8]
mov qword [rbx + 8], rbp
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x140046189
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x14023dbe8]
mov qword [rbx + 0x10], rbp
mov rdx, qword [rbx + 0x18]
test rdx, rdx
je 0x1400461ae
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x14023dbe8]
mov qword [rbx + 0x18], rbp
mov rax, qword [rcx + 0x38]
mov qword [rax + 8], rbp
mov rdx, qword [rsi]
test rdx, rdx
je 0x1400461c6
mov rax, qword [rdx]
mov rcx, rdx
call qword [rax + reloc.WS2_32.dll_recv]
mov rcx, qword [0x14023dbe8]
and dword [rdi + 4], 0xfffffff7
mov qword [rdi + 0x80], rbp
mov qword [rdi + 0x90], rbp
test rcx, rcx
je 0x1400461e3
dec dword [rcx + 0xf0]
mov rcx, rsi
call fcn.140144048
mov rbx, qword [0x14023dbe8]
test rbx, rbx
je 0x140046200
mov rcx, qword [rbx + 0x90]
jmp 0x140046203
mov rcx, rbp
and dword [rbx + 0xc], 0xfffffff8
mov qword [rbx + 0x80], rbp
mov qword [rbx + 0x90], rbp
test rcx, rcx
je 0x140046231
test rbx, rbx
je 0x140046225
dec dword [rbx + 0xf0]
call fcn.140144048
mov rbx, qword [0x14023dbe8]
mov qword [0x14023dbe8], rbx
call fcn.140004d20
mov qword [0x14023dbe8], rbp
test rbx, rbx
je 0x14004626b
mov rcx, rbx
call fcn.14001a1b0
mov rax, qword [0x14023dbe8]
test rax, rax
je 0x140046263
dec dword [rax + 0xf0]
mov rcx, rbx
call fcn.140144048
mov rcx, qword [0x14023dc50]
test rcx, rcx
je 0x140046284
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [0x14023dc50], rbp
mov rcx, qword [0x14023dca0]
test rcx, rcx
je 0x14004629d
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
mov qword [0x14023dca0], rbp
mov rcx, qword [0x14023dc48]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdx, qword [0x14023e0f8]
mov rcx, qword [0x14023e120]
call qword [sym.imp.USER32.dll_UnregisterClassA]
mov rdi, qword [rsp + 0x100]
xor eax, eax
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.14013cff0
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop r14
ret
mov eax, esi
jmp 0x1400462c8