Function at 0x7ff8c3a22770
Capabilities:
Terminate process

Disassembly:
push rbp
push rbx
push rsi
push r12
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov rax, qword [0x7ff8c3aba080]
xor rax, rsp
mov qword [rbp + 0x10], rax
lea rax, [0x7ff8c3a233e0]
mov dword [rbp - 0x70], 0x50
xor r12d, r12d
mov qword [rbp - 0x68], rax
xor ecx, ecx
mov qword [rbp - 0x60], r12
mov dword [rbp - 0x6c], 0x40
call qword [sym.imp.kernel32.dll_GetModuleHandleA]
xorps xmm0, xmm0
mov qword [rbp - 0x28], r12
xorps xmm1, xmm1
movdqa xmmword [rbp - 0x50], xmm0
lea rbx, [0x7ff8c3aa6af0]
movdqa xmmword [rbp - 0x40], xmm1
lea rcx, [rbp - 0x70]
mov qword [rbp - 0x58], rax
mov qword [rbp - 0x30], rbx
call qword [sym.imp.user32.dll_RegisterClassExA]
mov rax, qword [rbp - 0x58]
mov r9d, 0x80000000
mov rdx, qword [rbp - 0x30]
mov r8, rbx
mov qword [rsp + 0x58], r12
xor ecx, ecx
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x40], r12
mov dword [rsp + 0x38], 5
mov dword [rsp + 0x30], 5
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
call qword [sym.imp.user32.dll_CreateWindowExA]
lea ecx, [r12 + 0x20]
mov qword [0x7ff8c3abb800], rax
mov rbx, rax
call qword [sym.imp.d3d9.dll_Direct3DCreate9]
mov qword [0x7ff8c3abb7f8], rax
mov rcx, rax
test rax, rax
je 0x7ff8c3a233c2
lea rdx, [0x7ff8c3abb7f0]
mov qword [0x7ff8c3abb7b0], r12
mov qword [rsp + 0x30], rdx
lea rsi, [0x7ff8c3abb7b0]
mov qword [0x7ff8c3abb7bc], r12
lea r8d, [r12 + 1]
mov dword [0x7ff8c3abb7c4], r12d
mov r9, rbx
mov qword [0x7ff8c3abb7cc], r12
xor edx, edx
mov dword [0x7ff8c3abb7d4], r12d
mov qword [0x7ff8c3abb7e4], r12
mov dword [0x7ff8c3abb7d8], 1
mov dword [0x7ff8c3abb7c8], 1
mov dword [0x7ff8c3abb7b8], r12d
mov dword [0x7ff8c3abb7dc], 1
mov dword [0x7ff8c3abb7e0], 0x50
mov dword [0x7ff8c3abb7ec], 1
mov rax, qword [rax]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x40
call qword [rax + 0x80]
test eax, eax
js 0x7ff8c3a233c2
mov rcx, qword [0x7ff8c3abb800]
lea edx, [r12 + 0xa]
mov qword [rsp + 0x160], rdi
mov qword [rsp + 0x168], r13
mov qword [rsp + 0x170], r14
mov qword [rsp + 0x130], r15
movaps xmmword [rsp + 0x120], xmm6
call qword [sym.imp.user32.dll_ShowWindow]
call qword [sym.imp.kernel32.dll_GetConsoleWindow]
mov rcx, rax
xor edx, edx
call qword [sym.imp.user32.dll_ShowWindow]
mov rcx, qword [0x7ff8c3abb800]
call qword [sym.imp.user32.dll_UpdateWindow]
mov rax, qword [0x7ff8c3abb7a0]
test rax, rax
je 0x7ff8c3a2295c
inc dword [rax + 0x3b0]
mov ecx, 0x40e8
call qword [sym.imp.ucrtbase.dll_malloc]
test rax, rax
je 0x7ff8c3a22978
xor edx, edx
mov rcx, rax
call fcn.7ff8c39d5540
jmp 0x7ff8c3a2297b
mov rax, r12
cmp qword [0x7ff8c3abb7a0], r12
jne 0x7ff8c3a2298b
mov qword [0x7ff8c3abb7a0], rax
mov rcx, rax
call fcn.7ff8c39dc970
mov rax, qword [0x7ff8c3abb7a0]
test rax, rax
jne 0x7ff8c3a229c0
mov r8d, 0xda1
lea rdx, [0x7ff8c3a98470]
lea rcx, [0x7ff8c3a984e0]
call qword [sym.imp.ucrtbase.dll__wassert]
mov rax, qword [0x7ff8c3abb7a0]
or dword [rax + 8], 0x400
lea r13, [rax + 8]
mov qword [r13 + 0x18], r12
test rax, rax
jne 0x7ff8c3a229f5
mov r8d, 0x997
lea rdx, [0x7ff8c3a98470]
lea rcx, [0x7ff8c3a984e0]
call qword [sym.imp.ucrtbase.dll__wassert]
mov rax, qword [0x7ff8c3abb7a0]
test dword [r13], 0x400
je 0x7ff8c3a22a13
mov dword [rax + 0x1644], 0x40a00000
mov dword [rax + 0x1728], 0x3f800000
mov rdi, qword [0x7ff8c3abb800]
lea rcx, [0x7ff8c3abbbf0]
call qword [sym.imp.kernel32.dll_QueryPerformanceFrequency]
test eax, eax
je 0x7ff8c3a22c13
lea rcx, [0x7ff8c3abbbe8]
call qword [sym.imp.kernel32.dll_QueryPerformanceCounter]
test eax, eax
je 0x7ff8c3a22c13
mov rbx, qword [0x7ff8c3abb7a0]
test rbx, rbx
jne 0x7ff8c3a22a71
mov r8d, 0xda1
lea rdx, [0x7ff8c3a98470]
lea rcx, [0x7ff8c3a984e0]
call qword [sym.imp.ucrtbase.dll__wassert]
mov rbx, qword [0x7ff8c3abb7a0]
or dword [rbx + 0xc], 0xc06
lea rax, [0x7ff8c3aa5980]
mov qword [rbx + 0xe0], rax
mov qword [0x7ff8c3abbbe0], rdi
cmp dword [rbx + 0x1f28], r12d
jg 0x7ff8c3a22ab7
mov r8d, 0x6c7
lea rdx, [0x7ff8c3a982a0]
lea rcx, [0x7ff8c3a9e628]
call qword [sym.imp.ucrtbase.dll__wassert]
mov rdi, qword [0x7ff8c3abbbe0]
mov rax, qword [rbx + 0x1f30]
mov rcx, qword [rax]
mov qword [rcx + 0x50], rdi
mov qword [rcx + 0x48], rdi
test dword [rbx + 8], 0x400
je 0x7ff8c3a22ad7
call fcn.7ff8c3a131a0
lea rax, [0x7ff8c3aa5998]
mov dword [rbx + 0x3c], 9
mov qword [rsp + 0x60], rax
lea rax, [0x7ff8c3aa59a8]
mov qword [rsp + 0x68], rax
lea rax, [0x7ff8c3aa59b8]
mov qword [rsp + 0x70], rax
lea rax, [0x7ff8c3aa59c8]
mov qword [rsp + 0x78], rax
lea rax, [0x7ff8c3aa59d8]
mov dword [rbx + 0x40], 0x25
mov dword [rbx + 0x44], 0x27
mov dword [rbx + 0x48], 0x26
mov dword [rbx + 0x4c], 0x28
mov dword [rbx + 0x50], 0x21
mov dword [rbx + 0x54], 0x22
mov dword [rbx + 0x58], 0x24
mov dword [rbx + 0x5c], 0x23
mov dword [rbx + 0x60], 0x2d
mov dword [rbx + 0x64], 0x2e
mov dword [rbx + 0x68], 8
mov dword [rbx + 0x6c], 0x20
mov dword [rbx + 0x70], 0xd
mov dword [rbx + 0x74], 0x1b
mov dword [rbx + 0x78], 0xd
mov dword [rbx + 0x7c], 0x41
mov dword [rbx + 0x80], 0x43
mov dword [rbx + 0x84], 0x56
mov dword [rbx + 0x88], 0x58
mov dword [rbx + 0x8c], 0x59
mov dword [rbx + 0x90], 0x5a
mov rbx, r12
mov qword [rbp - 0x80], rax
nop
mov rcx, qword [rsp + rbx*8 + 0x60]
call qword [sym.imp.kernel32.dll_LoadLibraryA]
mov rdi, rax
test rax, rax
jne 0x7ff8c3a22bde
inc rbx
cmp rbx, 5
jl 0x7ff8c3a22bc0
jmp 0x7ff8c3a22c13
lea rdx, [0x7ff8c3aa59e8]
mov qword [0x7ff8c3abbbc8], rdi
mov rcx, rdi
call qword [sym.imp.kernel32.dll_GetProcAddress]
lea rdx, [0x7ff8c3aa5a00]
mov rcx, rdi
mov qword [0x7ff8c3abbbd0], rax
call qword [sym.imp.kernel32.dll_GetProcAddress]
mov qword [0x7ff8c3abbbd8], rax
mov rbx, qword [0x7ff8c3abb7a0]
mov rdi, qword [0x7ff8c3abb7f0]
test rbx, rbx
jne 0x7ff8c3a22c47
mov r8d, 0xda1
lea rdx, [0x7ff8c3a98470]
lea rcx, [0x7ff8c3a984e0]
call qword [sym.imp.ucrtbase.dll__wassert]
mov rbx, qword [0x7ff8c3abb7a0]
or dword [rbx + 0xc], 0x1008
lea rax, [0x7ff8c3aa5778]
mov qword [rbx + 0xe8], rax
mov rcx, rdi
mov rax, qword [rdi]
mov qword [0x7ff8c3abbbb8], rdi
call qword [rax + 8]
test dword [rbx + 8], 0x400
je 0x7ff8c3a22ce8
mov rax, qword [0x7ff8c3abb7a0]
test rax, rax
jne 0x7ff8c3a22ca2
mov r8d, 0xda7
lea rdx, [0x7ff8c3a98470]
lea rcx, [0x7ff8c3a987b0]
call qword [sym.imp.ucrtbase.dll__wassert]
mov rax, qword [0x7ff8c3abb7a0]
lea rcx, [fcn.7ff8c3a11180]
mov qword [rax + 0x15f0], rcx
lea rcx, [fcn.7ff8c3a112c0]
mov qword [rax + 0x15f8], rcx
lea rcx, [0x7ff8c3a11360]
mov qword [rax + 0x1600], rcx
lea rcx, [0x7ff8c3a113e0]
mov qword [rax + 0x1608], rcx
lea rcx, [0x7ff8c3a11530]
mov qword [rax + 0x1610], rcx
cmp word [0x7ff8c3abbc20], r12w
mov rcx, qword [r13 + 0xa0]
jne 0x7ff8c3a22d44
movups xmm0, xmmword [0x7ff8c3aba0d8]
lea rdx, [0x7ff8c3abbc30]
mov r8d, 0x4e00
lea r9, [0x7ff8c3aa4000]
mov r10d, 0xbb7
movaps xmmword [0x7ff8c3abbc20], xmm0
movsx eax, word [r9]
lea rdx, [rdx + 4]
add r8d, eax
lea r9, [r9 + 2]
mov word [rdx - 2], r8w
mov word [rdx - 4], r8w
sub r10, 1
jne 0x7ff8c3a22d21
mov word [rdx], r12w
movss xmm2, dword [0x7ff8c3aa6c30]
lea rax, [0x7ff8c3abbc20]
mov qword [rsp + 0x20], rax
call fcn.7ff8c3a0a4e0
movss xmm6, dword [0x7ff8c3aa6bb4]
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
nop dword [rax]
nop dword [rax + rax]
xor r9d, r9d
mov dword [rsp + 0x20], 1
xor r8d, r8d
lea rcx, [rbp - 0x20]
xor edx, edx
call qword [sym.imp.user32.dll_PeekMessageA]
test eax, eax
je 0x7ff8c3a22db7
lea rcx, [rbp - 0x20]
call qword [sym.imp.user32.dll_TranslateMessage]
lea rcx, [rbp - 0x20]
call qword [sym.imp.user32.dll_DispatchMessageA]
jmp 0x7ff8c3a2324b
cmp qword [0x7ff8c3abbba8], r12
jne 0x7ff8c3a22dc5
call fcn.7ff8c3a10ee0
call fcn.7ff8c3a11d80
call fcn.7ff8c39db780
cmp dword [0x7ff8c3abeb10], r12d
jne 0x7ff8c3a22fdf
xor ecx, ecx
call fcn.7ff8c3a04eb0
mov rax, qword [0x7ff8c3abb7a0]
test rax, rax
jne 0x7ff8c3a22e10
mov r8d, 0x997
lea rdx, [0x7ff8c3a98470]
lea rcx, [0x7ff8c3a984e0]
call qword [sym.imp.ucrtbase.dll__wassert]
mov rax, qword [0x7ff8c3abb7a0]
mov dword [rax + 0x1644], 0x41400000
mov dword [rax + 0x1660], 0x41400000
mov dword [rax + 0x1668], 0x41000000
mov dword [rax + 0x1678], 0x41000000
mov dword [rax + 0x16ac], 0x41000000
mov dword [rax + 0x16b4], 0x41000000
mov dword [rax + 0x16b8], 0x41000000
mov dword [rax + 0x16bc], 0x41000000
mov dword [rax + 0x1670], 0x41000000
mov dword [rax + 0x1674], 0x41000000
mov dword [rax + 0x179c], 0x3d9fbe77
mov dword [rax + 0x17a0], 0x3d9fbe77
mov dword [rax + 0x17a4], 0x3d9fbe77
mov dword [rax + 0x17a8], 0x3f800000
mov dword [rax + 0x17ac], 0x3d9fbe77
mov dword [rax + 0x17b0], 0x3d9fbe77
mov dword [rax + 0x17b4], 0x3d9fbe77
mov dword [rax + 0x17b8], 0x3f800000
mov dword [rax + 0x17bc], 0x3d9fbe77
mov dword [rax + 0x17c0], 0x3d9fbe77
mov dword [rax + 0x17c4], 0x3d9fbe77
mov dword [rax + 0x17c8], 0x3f800000
mov dword [rax + 0x171c], 0x3d9fbe77
mov dword [rax + 0x1720], 0x3d9fbe77
mov dword [rax + 0x1724], 0x3d9fbe77
mov dword [rax + 0x1728], 0x3f800000
mov dword [rax + 0x174c], 0x3e1eb852
mov dword [rax + 0x1750], 0x3e20c49c
mov qword [rax + 0x1754], 0x3e20c49c
mov dword [rax + 0x176c], 0x3dc08312
mov dword [rax + 0x1770], 0x3dc08312
mov dword [rax + 0x1774], 0x3dc08312
mov dword [rax + 0x1778], 0x3f800000
mov dword [rax + 0x184c], 0x3ebced91
mov dword [rax + 0x1850], 0x3f147ae1
mov dword [rax + 0x1854], 0x3f7ef9db
mov dword [rax + 0x1858], 0x3f800000
mov dword [rax + 0x185c], 0x3ebced91
mov dword [rax + 0x1860], 0x3f147ae1
mov dword [rax + 0x1864], 0x3f7ef9db
mov dword [rax + 0x1868], 0x3f5a5e35
mov dword [rax + 0x186c], 0x3ebced91
mov dword [rax + 0x1870], 0x3f147ae1
mov dword [rax + 0x1874], 0x3f7ef9db
mov dword [rax + 0x1878], 0x3f2e147b
mov dword [0x7ff8c3abeb10], 1
jmp 0x7ff8c3a22fe4
call fcn.7ff8c39ce7c0
call fcn.7ff8c39de020
mov rcx, qword [0x7ff8c3abb7f0]
mov r9d, 3
mov dword [rsp + 0x30], r12d
xor r8d, r8d
movss dword [rsp + 0x28], xmm6
xor edx, edx
mov dword [rsp + 0x20], r12d
mov rax, qword [rcx]
call qword [rax + 0x158]
mov rcx, qword [0x7ff8c3abb7f0]
mov rax, qword [rcx]
call qword [rax + 0x148]
test eax, eax
js 0x7ff8c3a2308a
call fcn.7ff8c39de4e0
mov rbx, qword [0x7ff8c3abb7a0]
cmp dword [rbx + 0x1f28], r12d
jg 0x7ff8c3a23057
mov r8d, 0x6c7
lea rdx, [0x7ff8c3a982a0]
lea rcx, [0x7ff8c3a9e628]
call qword [sym.imp.ucrtbase.dll__wassert]
mov rax, qword [rbx + 0x1f30]
mov rcx, qword [rax]
mov rax, r12
add rcx, 0xa8
cmp byte [rcx], r12b
cmovne rax, rcx
mov rcx, rax
call fcn.7ff8c3a10660
mov rcx, qword [0x7ff8c3abb7f0]
mov rax, qword [rcx]
call qword [rax + 0x150]
test dword [r13], 0x400
je 0x7ff8c3a231cc
call fcn.7ff8c39f0960
mov r14, qword [0x7ff8c3abb7a0]
test r14, r14
jne 0x7ff8c3a230ca
mov r8d, 0xda7
lea rdx, [0x7ff8c3a98470]
lea rcx, [0x7ff8c3a987b0]
call qword [sym.imp.ucrtbase.dll__wassert]
mov r14, qword [0x7ff8c3abb7a0]
mov eax, dword [r14 + 0x1628]
mov esi, 1
mov edi, esi
cmp eax, esi
jle 0x7ff8c3a2314d
nop dword [rax]
test rdi, rdi
js 0x7ff8c3a230e9
cmp esi, eax
jl 0x7ff8c3a23103
mov r8d, 0x6c7
lea rdx, [0x7ff8c3a982a0]
lea rcx, [0x7ff8c3a9e628]
call qword [sym.imp.ucrtbase.dll__wassert]
mov rax, qword [r14 + 0x1630]
mov rbx, qword [rax + rdi*8]
test dword [rbx + 4], 0x400
jne 0x7ff8c3a2313d
mov rax, qword [r14 + 0x15c0]
test rax, rax
je 0x7ff8c3a2312a
xor edx, edx
mov rcx, rbx
call rax
mov rax, qword [r14 + 0x1608]
test rax, rax
je 0x7ff8c3a2313d
xor edx, edx
mov rcx, rbx
call rax
mov eax, dword [r14 + 0x1628]
inc esi
inc rdi
cmp esi, eax
jl 0x7ff8c3a230e0
mov esi, 1
mov edi, esi
cmp eax, esi
jle 0x7ff8c3a231c5
test rdi, rdi
js 0x7ff8c3a23161
cmp esi, eax
jl 0x7ff8c3a2317b
mov r8d, 0x6c7
lea rdx, [0x7ff8c3a982a0]
lea rcx, [0x7ff8c3a9e628]
call qword [sym.imp.ucrtbase.dll__wassert]
mov rax, qword [r14 + 0x1630]
mov rbx, qword [rax + rdi*8]
test dword [rbx + 4], 0x400
jne 0x7ff8c3a231b5
mov rax, qword [r14 + 0x15c8]
test rax, rax
je 0x7ff8c3a231a2
xor edx, edx
mov rcx, rbx
call rax
mov rax, qword [r14 + 0x1610]
test rax, rax
je 0x7ff8c3a231b5
xor edx, edx
mov rcx, rbx
call rax
mov eax, dword [r14 + 0x1628]
inc esi
inc rdi
cmp esi, eax
jl 0x7ff8c3a23158
lea rsi, [0x7ff8c3abb7b0]
mov rcx, qword [0x7ff8c3abb7f0]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r12
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x88]
cmp eax, 0x88760868
jne 0x7ff8c3a23242
mov rcx, qword [0x7ff8c3abb7f0]
mov rax, qword [rcx]
call qword [rax + 0x18]
cmp eax, 0x88760869
jne 0x7ff8c3a23242
call fcn.7ff8c3a10ff0
mov rcx, qword [0x7ff8c3abb7f0]
mov rdx, rsi
mov rax, qword [rcx]
call qword [rax + 0x80]
cmp eax, 0x8876086c
jne 0x7ff8c3a2323d
mov r8d, 0x36
lea rdx, [0x7ff8c3aa6ac0]
lea rcx, [0x7ff8c3a98438]
call qword [sym.imp.ucrtbase.dll__wassert]
call fcn.7ff8c3a10ee0
cmp byte [0x7ff8c3aba350], r12b
je 0x7ff8c3a23257
cmp dword [rbp - 0x18], 0x12
jne 0x7ff8c3a22d80
jmp 0x7ff8c3a2325e
mov dword [rbp - 0x18], 0x12
call fcn.7ff8c39f1180
call fcn.7ff8c3a10ff0
mov rcx, qword [0x7ff8c3abbbb8]
movaps xmm6, xmmword [rsp + 0x120]
mov r15, qword [rsp + 0x130]
mov r14, qword [rsp + 0x170]
mov r13, qword [rsp + 0x168]
mov rdi, qword [rsp + 0x160]
test rcx, rcx
je 0x7ff8c3a232a9
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x7ff8c3abbbb8], r12
xor ecx, ecx
call qword [sym.imp.kernel32.dll_GetModuleHandleA]
mov rdx, rax
lea rcx, [0x7ff8c3aa5c34]
call qword [sym.imp.user32.dll_UnregisterClassA]
mov rcx, qword [0x7ff8c3abbbc8]
test rcx, rcx
je 0x7ff8c3a232d3
call qword [sym.imp.kernel32.dll_FreeLibrary]
mov rbx, qword [0x7ff8c3abb7a0]
mov rcx, rbx
mov qword [0x7ff8c3abbbc8], r12
mov qword [0x7ff8c3abbbd0], r12
mov qword [0x7ff8c3abbbd8], r12
mov qword [0x7ff8c3abbbe0], r12
mov qword [0x7ff8c3abbbe8], r12
mov qword [0x7ff8c3abbbf0], r12
mov dword [0x7ff8c3aba340], 9
mov byte [0x7ff8c3abb868], r12b
mov byte [0x7ff8c3aba188], 1
call fcn.7ff8c39dcd10
cmp qword [0x7ff8c3abb7a0], rbx
jne 0x7ff8c3a23334
mov qword [0x7ff8c3abb7a0], r12
test rbx, rbx
je 0x7ff8c3a2335c
mov rcx, rbx
call fcn.7ff8c39fd120
mov rax, qword [0x7ff8c3abb7a0]
test rax, rax
je 0x7ff8c3a23353
dec dword [rax + 0x3b0]
mov rcx, rbx
call qword [sym.imp.ucrtbase.dll_free]
mov rcx, qword [0x7ff8c3abb7f0]
test rcx, rcx
je 0x7ff8c3a23375
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x7ff8c3abb7f0], r12
mov rcx, qword [0x7ff8c3abb7f8]
test rcx, rcx
je 0x7ff8c3a2338e
mov rax, qword [rcx]
call qword [rax + 0x10]
mov qword [0x7ff8c3abb7f8], r12
mov rcx, qword [0x7ff8c3abb800]
call qword [sym.imp.user32.dll_DestroyWindow]
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x30]
call qword [sym.imp.user32.dll_UnregisterClassA]
mov rcx, qword [rbp + 0x10]
xor rcx, rsp
call fcn.7ff8c3a839f0
add rsp, 0x138
pop r12
pop rsi
pop rbx
pop rbp
ret
call fcn.7ff8c3a22720
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x30]
call qword [sym.imp.user32.dll_UnregisterClassA]
xor ecx, ecx
call qword [sym.imp.ucrtbase.dll_exit]
int3