Function at 0x18003c3f0
Capabilities:
Create thread
Terminate process

Disassembly:
push rbp
lea rbp, [rsp - 0x60]
sub rsp, 0x160
xor r9d, r9d
lea r8, [0x18004297b]
lea rdx, str.Please__launch_Battlefield_1
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxA]
lea rdx, [0x180060270]
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowW]
mov qword [0x180067290], rax
test rax, rax
jne 0x18003c469
mov qword [rbp + 0x70], 0xfa
nop word [rax + rax]
lea rdx, [0x180060290]
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowW]
lea rcx, [rbp + 0x70]
mov qword [0x180067290], rax
call fcn.18003d1b0
cmp qword [0x180067290], 0
je 0x18003c440
lea rcx, [rbp + 0x70]
mov qword [rbp + 0x70], 0x1388
call fcn.18003d1b0
mov rcx, qword [0x180067290]
lea rdx, [0x180067298]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov r8d, dword [0x180067298]
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov qword [0x1800672a8], rax
test rax, rax
jne 0x18003c4b7
add rsp, 0x160
pop rbp
ret
lea rdx, str.Battlefield
mov qword [rsp + 0x140], r15
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowW]
mov rdx, qword [0x180067090]
mov rcx, rax
mov qword [0x180067260], rax
call qword [sym.imp.USER32.dll_GetClientRect]
mov rdx, qword [0x180067090]
mov rcx, qword [0x180067260]
add rdx, 0x10
call qword [sym.imp.USER32.dll_ClientToScreen]
mov rcx, 0xfffffffffffffffe
call qword [sym.imp.USER32.dll_SetProcessDpiAwarenessContext]
xor r15d, r15d
mov qword [rbp - 0x30], 0x50
lea rax, [0x18003c2c0]
mov qword [rbp - 0x20], r15
mov qword [rbp - 0x28], rax
lea rcx, [rbp - 0x30]
lea rax, [0x180060120]
mov qword [rbp - 0x18], r15
mov qword [rbp + 8], rax
xorps xmm0, xmm0
lea rax, str.RivaTunerStatisticServer
movdqa xmmword [rbp - 0x10], xmm0
mov qword [rbp + 0x10], rax
mov qword [rbp], r15
mov qword [rbp + 0x18], r15
call qword [sym.imp.USER32.dll_RegisterClassExA]
mov rcx, qword [0x180067090]
mov r9d, 0x90000000
mov rax, qword [rbp - 0x18]
mov r8, qword [rbp + 8]
mov rdx, qword [rbp + 0x10]
mov qword [rsp + 0x58], r15
mov qword [rsp + 0x50], rax
mov eax, dword [rcx + 0xc]
mov qword [rsp + 0x48], r15
mov qword [rsp + 0x40], r15
mov dword [rsp + 0x38], eax
mov eax, dword [rcx + 8]
mov dword [rsp + 0x30], eax
mov eax, dword [rcx + 0x14]
mov dword [rsp + 0x28], eax
mov eax, dword [rcx + 0x10]
xor ecx, ecx
mov dword [rsp + 0x20], eax
call qword [sym.imp.USER32.dll_CreateWindowExA]
lea edx, [r15 - 0x14]
mov r8d, 0x800a0
mov rcx, rax
mov qword [0x180067268], rax
call qword [sym.imp.USER32.dll_SetWindowLongW]
mov rcx, qword [0x180067268]
lea r9d, [r15 + 2]
mov r8b, 0xff
xor edx, edx
call qword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
movdqa xmm0, xmmword [0x180060580]
lea rdx, [rbp + 0x20]
mov rcx, qword [0x180067268]
movdqu xmmword [rbp + 0x20], xmm0
call qword [sym.imp.dwmapi.dll_DwmExtendFrameIntoClientArea]
mov rax, qword [0x180067268]
mov qword [rbp - 0x50], rax
lea rax, [0x180067300]
mov qword [rsp + 0x58], rax
lea rax, [rbp + 0x70]
mov qword [rbp - 0x6c], r15
mov qword [rbp - 0x58], 2
mov qword [rbp - 0x40], 2
mov qword [rbp - 0x80], r15
mov dword [rbp - 0x70], 0x1c
mov dword [rbp - 0x78], 0x3c
mov dword [rbp - 0x74], 1
mov dword [rbp - 0x5c], 0x20
mov qword [rbp - 0x64], 1
mov qword [rbp - 0x48], 1
mov dword [rbp + 0x78], 0xb000
mov dword [rbp + 0x7c], 0xa000
mov qword [rsp + 0x50], rax
lea edx, [r15 + 1]
lea rax, [0x1800672f8]
xor r9d, r9d
mov qword [rsp + 0x48], rax
xor r8d, r8d
lea rax, [0x1800672f0]
xor ecx, ecx
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x38], rax
lea rax, [rbp + 0x78]
mov dword [rsp + 0x30], 7
mov dword [rsp + 0x28], 2
mov qword [rsp + 0x20], rax
call qword [sym.imp.d3d11.dll_D3D11CreateDeviceAndSwapChain]
test eax, eax
je 0x18003c6d5
call fcn.18003c240
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.USER32.dll_UnregisterClassA]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rcx, qword [0x1800672f0]
lea r9, [rbp + 0x80]
mov qword [rsp + 0x188], rbx
lea r8, [0x180060388]
mov qword [rsp + 0x158], rsi
xor edx, edx
mov qword [rsp + 0x150], rdi
mov rax, qword [rcx]
mov qword [rsp + 0x148], r14
call qword [rax + 0x48]
mov rcx, qword [0x1800672f8]
lea r9, [0x1800672e8]
mov rdx, qword [rbp + 0x80]
xor r8d, r8d
mov rax, qword [rcx]
call qword [rax + 0x48]
mov rcx, qword [rbp + 0x80]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [0x180067268]
mov edx, 5
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [0x180067268]
call qword [sym.imp.USER32.dll_UpdateWindow]
mov rbx, qword [0x180067240]
test rbx, rbx
je 0x18003c76e
inc dword [rbx + 0xec]
mov rdx, qword [0x180067248]
mov ecx, 0x5e68
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test rax, rax
je 0x18003c790
xor edx, edx
mov rcx, rax
call fcn.180001830
jmp 0x18003c793
mov rax, r15
mov qword [0x180067240], rax
call fcn.1800052a0
mov rax, qword [0x180067240]
test rbx, rbx
mov rcx, qword [0x180067268]
cmovne rax, rbx
mov qword [0x180067240], rax
mov qword [rax + 0x20], r15
call fcn.18002c480
mov rdi, qword [0x180067240]
mov r14, qword [0x180067300]
mov rsi, qword [0x1800672f8]
test rdi, rdi
je 0x18003c7e4
inc dword [rdi + 0xec]
mov rdx, qword [0x180067248]
mov ecx, 0x78
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
mov rbx, rax
test rax, rax
je 0x18003c82b
xorps xmm0, xmm0
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
movups xmmword [rax + 0x40], xmm0
movups xmmword [rax + 0x50], xmm0
movups xmmword [rax + 0x60], xmm0
mov dword [rax + 0x70], 0x1388
mov dword [rax + 0x74], 0x2710
jmp 0x18003c82e
mov rbx, r15
or dword [rdi + 0xc], 8
lea rax, str.imgui_impl_dx11
mov qword [rdi + 0x88], rax
lea r8, [rbp + 0x70]
mov qword [rdi + 0x98], rbx
lea rdx, [0x180060358]
mov rax, qword [rsi]
mov rcx, rsi
mov qword [rbp + 0x70], r15
mov qword [rbp + 0x78], r15
mov qword [rbp + 0x80], r15
call qword [rax]
test eax, eax
jne 0x18003c8b4
mov rcx, qword [rbp + 0x70]
lea r8, [rbp + 0x78]
lea rdx, [0x180060368]
mov rax, qword [rcx]
call qword [rax + 0x30]
test eax, eax
jne 0x18003c8b4
mov rcx, qword [rbp + 0x78]
lea r8, [rbp + 0x80]
lea rdx, [0x180060378]
mov rax, qword [rcx]
call qword [rax + 0x30]
test eax, eax
jne 0x18003c8b4
mov qword [rbx], rsi
mov qword [rbx + 8], r14
mov rax, qword [rbp + 0x80]
mov qword [rbx + 0x10], rax
mov rcx, qword [rbp + 0x70]
test rcx, rcx
je 0x18003c8c3
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp + 0x78]
test rcx, rcx
je 0x18003c8d2
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rbx + 8]
mov rax, qword [rcx]
call qword [rax + 8]
mov rax, qword [0x180067240]
mov ecx, 8
movaps xmm0, xmmword [0x180060980]
movaps xmm1, xmmword [0x180060a50]
mov byte [0x180067251], 1
movups xmmword [rax + 0x38a4], xmm0
mov dword [rax + 0x37c8], 0x3f800000
movaps xmm0, xmmword [0x180060a40]
movups xmmword [rax + 0x38c4], xmm1
mov dword [rax + 0x380c], 0x40800000
movaps xmm1, xmmword [0x1800607c0]
movups xmmword [rax + 0x3974], xmm0
mov dword [rax + 0x3834], 0x41400000
movups xmmword [rax + 0x38f4], xmm1
movaps xmm1, xmmword [0x1800607a0]
xorps xmm0, xmm0
movups xmmword [rax + 0x3904], xmm0
movaps xmm0, xmmword [0x180060730]
movups xmmword [rax + 0x3914], xmm1
movaps xmm1, xmmword [0x180060880]
movups xmmword [rax + 0x3924], xmm0
movaps xmm0, xmmword [0x180060780]
movups xmmword [rax + 0x3934], xmm1
movaps xmm1, xmmword [0x180060690]
movups xmmword [rax + 0x3944], xmm0
movaps xmm0, xmmword [0x180060680]
movups xmmword [rax + 0x3964], xmm1
movaps xmm1, xmmword [0x1800606d0]
movups xmmword [rax + 0x3984], xmm0
movaps xmm0, xmmword [0x1800607b0]
movups xmmword [rax + 0x3994], xmm1
movaps xmm1, xmmword [0x1800607e0]
movups xmmword [rax + 0x39a4], xmm0
movaps xmm0, xmmword [0x180060810]
movups xmmword [rax + 0x39b4], xmm1
movaps xmm1, xmmword [0x180060a80]
movups xmmword [rax + 0x39c4], xmm0
movaps xmm0, xmmword [0x180060820]
movups xmmword [rax + 0x39e4], xmm1
movaps xmm1, xmmword [0x180060890]
movups xmmword [rax + 0x39f4], xmm0
movaps xmm0, xmmword [0x1800608a0]
movups xmmword [rax + 0x3a04], xmm1
movaps xmm1, xmmword [0x180060850]
movups xmmword [rax + 0x3a14], xmm0
movaps xmm0, xmmword [0x180060860]
movups xmmword [rax + 0x3a24], xmm1
movaps xmm1, xmmword [0x180060840]
movups xmmword [rax + 0x3a34], xmm0
movaps xmm0, xmmword [0x1800606c0]
movups xmmword [rax + 0x3a44], xmm1
movaps xmm1, xmmword [0x1800607d0]
movups xmmword [rax + 0x3a84], xmm0
movaps xmm0, xmmword [0x1800608c0]
movups xmmword [rax + 0x3a94], xmm1
movaps xmm1, xmmword [0x180060720]
movups xmmword [rax + 0x3aa4], xmm0
movups xmmword [rax + 0x3b94], xmm1
call fcn.180040d64
lea rcx, [0x18003d000]
mov r9, rax
lea r8, [0x18003d330]
xor edx, edx
mov qword [rax], rcx
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x28], rcx
xor ecx, ecx
mov dword [rsp + 0x20], r15d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x60], rax
test rax, rax
je 0x18003cfe7
cmp dword [rsp + 0x68], r15d
jne 0x18003cad1
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movaps xmm0, xmmword [rsp + 0x60]
lea rcx, [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm0
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
je 0x18003caf4
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
int3
mov ecx, 8
call fcn.180040d64
lea rcx, [0x18003e6e0]
mov r9, rax
lea r8, [0x18003d330]
xor edx, edx
mov qword [rax], rcx
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x28], rcx
xor ecx, ecx
mov dword [rsp + 0x20], r15d
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x60], rax
test rax, rax
je 0x18003cfd6
cmp dword [rsp + 0x68], r15d
jne 0x18003cb4c
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movaps xmm0, xmmword [rsp + 0x60]
lea rcx, [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm0
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
je 0x18003cb6f
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
int3
cmp byte [0x180067251], r15b
xorps xmm0, xmm0
movdqa xmmword [rsp + 0x60], xmm0
je 0x18003ce6b
nop word [rax + rax]
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
lea rcx, [rbp - 0x80]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
je 0x18003cbe2
nop
lea rcx, [rbp - 0x80]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp - 0x80]
call qword [sym.imp.USER32.dll_DispatchMessageW]
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
lea rcx, [rbp - 0x80]
xor edx, edx
call qword [sym.imp.USER32.dll_PeekMessageW]
test eax, eax
jne 0x18003cbb0
mov rbx, qword [0x180067240]
test rbx, rbx
je 0x18003cbf7
mov rax, qword [rbx + 0x98]
jmp 0x18003cbfa
mov rax, r15
cmp qword [rax + 0x48], r15
jne 0x18003cc0c
call fcn.18002bfa0
mov rbx, qword [0x180067240]
test rbx, rbx
je 0x18003cc1a
mov rdi, qword [rbx + 0x90]
jmp 0x18003cc1d
mov rdi, r15
xorps xmm0, xmm0
lea rdx, [rsp + 0x70]
movdqu xmmword [rsp + 0x70], xmm0
mov rcx, qword [rdi]
call qword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [rsp + 0x78]
lea rcx, [rbp + 0x80]
sub eax, dword [rsp + 0x70]
mov qword [rbp + 0x80], r15
movd xmm1, eax
mov eax, dword [rsp + 0x7c]
sub eax, dword [rsp + 0x74]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [rbx + 0x10], xmm1
movss dword [rbx + 0x14], xmm0
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rcx, qword [rbp + 0x80]
xorps xmm1, xmm1
mov rsi, qword [0x180067240]
mov rax, rcx
sub rax, qword [rdi + 0x18]
xorps xmm0, xmm0
cvtsi2ss xmm0, qword [rdi + 0x20]
cvtsi2ss xmm1, rax
divss xmm1, xmm0
movss dword [rbx + 0x18], xmm1
mov qword [rdi + 0x18], rcx
test rsi, rsi
je 0x18003ccb1
mov r14, qword [rsi + 0x90]
jmp 0x18003ccb4
mov r14, r15
call qword [sym.imp.USER32.dll_GetForegroundWindow]
mov rcx, qword [r14]
cmp rax, rcx
jne 0x18003cd46
cmp byte [rsi + 0xd3], r15b
je 0x18003cd08
cvttss2si eax, dword [rsi + 0xe00]
lea rdx, [rbp + 0x70]
mov dword [rbp + 0x70], eax
cvttss2si eax, dword [rsi + 0xe04]
mov dword [rbp + 0x74], eax
call qword [sym.imp.USER32.dll_ClientToScreen]
test eax, eax
je 0x18003ccff
mov edx, dword [rbp + 0x74]
mov ecx, dword [rbp + 0x70]
call qword [sym.imp.USER32.dll_SetCursorPos]
cmp byte [rsi + 0xd3], r15b
jne 0x18003cd46
cmp dword [r14 + 0x10], r15d
jne 0x18003cd46
lea rcx, [rbp + 0x78]
call qword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x18003cd46
mov rcx, qword [r14]
lea rdx, [rbp + 0x78]
call qword [sym.imp.USER32.dll_ScreenToClient]
test eax, eax
je 0x18003cd46
movd xmm2, dword [rbp + 0x7c]
lea rcx, [rsi + 8]
movd xmm1, dword [rbp + 0x78]
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm1, xmm1
call fcn.180002e20
call fcn.18002c790
cmp byte [rbx + 0x58], r15b
je 0x18003cd58
mov eax, 0xffffffff
jmp 0x18003cd65
mov rax, qword [0x180067240]
mov eax, dword [rax + 0x4c08]
cmp dword [rdi + 0x28], eax
je 0x18003cd72
mov dword [rdi + 0x28], eax
call fcn.18002c620
call fcn.18002c960
call fcn.1800076f0
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [0x180067260]
jne 0x18003cdc1
mov edx, 3
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindow]
mov rcx, qword [0x180067268]
xor r9d, r9d
mov dword [rsp + 0x30], 3
mov rdx, rax
mov dword [rsp + 0x28], r15d
xor r8d, r8d
mov dword [rsp + 0x20], r15d
call qword [sym.imp.USER32.dll_SetWindowPos]
mov rax, qword [0x180067090]
cmp byte [rax + 0x18], r15b
je 0x18003cdd3
call fcn.18003e0a0
cmp byte [0x1800670b8], r15b
je 0x18003cde1
call fcn.18003f1d0
call fcn.180009830
mov rcx, qword [0x180067300]
lea r8, [0x1800672e8]
xorps xmm0, xmm0
xor r9d, r9d
movups xmmword [rbp + 0x30], xmm0
mov rax, qword [rcx]
lea edx, [r9 + 1]
call qword [rax + 0x108]
mov rcx, qword [0x180067300]
lea r8, [rbp + 0x30]
mov rdx, qword [0x1800672e8]
mov rax, qword [rcx]
call qword [rax + 0x190]
mov rax, qword [0x180067240]
mov rcx, qword [rax + 0x48b8]
mov rax, qword [rcx]
mov rcx, r15
add rax, 0x48
cmp byte [rax], r15b
cmovne rcx, rax
call fcn.18002b220
mov rcx, qword [0x1800672f0]
xor r8d, r8d
mov rax, qword [rcx]
lea edx, [r8 + 1]
call qword [rax + 0x40]
cmp byte [0x180067251], r15b
jne 0x18003cb90
mov rbx, qword [0x180067240]
test rbx, rbx
je 0x18003ce80
mov rdi, qword [rbx + 0x98]
jmp 0x18003ce83
mov rdi, r15
call fcn.18002c360
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x18003ce97
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rdi]
test rcx, rcx
je 0x18003cea5
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x18003ceb4
mov rax, qword [rcx]
call qword [rax + 0x10]
and dword [rbx + 0xc], 0xfffffff7
mov rax, qword [0x180067240]
mov qword [rbx + 0x88], r15
mov qword [rbx + 0x98], r15
test rax, rax
je 0x18003ced8
dec dword [rax + 0xec]
mov rdx, qword [0x180067248]
mov rcx, rdi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov rax, qword [0x180067240]
test rax, rax
je 0x18003cefc
mov rdi, qword [rax + 0x90]
jmp 0x18003ceff
mov rdi, r15
mov rcx, qword [rdi + 0x30]
lea rbx, [rax + 8]
test rcx, rcx
je 0x18003cf19
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rax, qword [0x180067240]
and dword [rbx + 4], 0xfffffff8
mov qword [rbx + 0x78], r15
mov qword [rbx + 0x88], r15
test rax, rax
je 0x18003cf33
dec dword [rax + 0xec]
mov rdx, qword [0x180067248]
mov rcx, rdi
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov rbx, qword [0x180067240]
call fcn.1800056a0
mov qword [0x180067240], r15
test rbx, rbx
je 0x18003cf83
mov rcx, rbx
call fcn.18001af40
mov rax, qword [0x180067240]
test rax, rax
je 0x18003cf74
dec dword [rax + 0xec]
mov rdx, qword [0x180067248]
mov rcx, rbx
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
call fcn.18003c240
mov rcx, qword [0x180067268]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x10]
call qword [sym.imp.USER32.dll_UnregisterClassA]
mov r14, qword [rsp + 0x148]
xor eax, eax
mov rdi, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x158]
mov rbx, qword [rsp + 0x188]
mov r15, qword [rsp + 0x140]
add rsp, 0x160
pop rbp
ret
mov ecx, 6
mov dword [rsp + 0x68], r15d
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
mov ecx, 6
mov dword [rsp + 0x68], r15d
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3