Function at 0x140045ba0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
sub rsp, 0x48
mov rdi, qword [0x1401b7c58]
lea rdx, [0x1401b7ce8]
mov ecx, 0x20
call qword [sym.imp.d3d9.dll_Direct3DCreate9Ex]
test eax, eax
jns 0x140045bd6
mov ecx, 3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
xor ebp, ebp
mov qword [0x1401b7d0c], rbp
mov qword [0x1401b7d18], 1
mov qword [0x1401b7d34], rbp
mov dword [0x1401b7d28], 1
mov qword [0x1401b7d20], rdi
mov dword [0x1401b7d14], ebp
mov dword [0x1401b7d08], 0x15
mov eax, dword [0x1401b7d6c]
mov dword [0x1401b7d00], eax
mov eax, dword [0x1401b7d78]
mov dword [0x1401b7d04], eax
mov dword [0x1401b7d2c], 1
mov dword [0x1401b7d30], 0x50
mov dword [0x1401b7d3c], 1
mov rcx, qword [0x1401b7ce8]
mov rax, qword [rcx]
lea rdx, [0x1401b7d60]
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x30], rbp
lea rdx, [0x1401b7d00]
mov qword [rsp + 0x28], rdx
mov dword [rsp + 0x20], 0x40
mov r9, rdi
xor edx, edx
lea r8d, [rbp + 1]
call qword [rax + 0xa0]
test eax, eax
jns 0x140045ca1
mov rcx, qword [0x1401b7ce8]
mov rax, qword [rcx]
call qword [rax + 0x10]
lea ecx, [rbp + 4]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3
mov rbx, qword [0x1401b7c40]
mov ecx, 0x34d8
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r9, rax
mov r8, qword [0x1401b7c40]
test r8, r8
je 0x140045d21
mov r10d, dword [r8 + 0x1248]
movsx rax, word [r8 + 0x3388]
lea rdx, [r8 + 0x338c]
lea rdx, [rdx + rax*8]
cmp dword [rdx], r10d
je 0x140045d16
lea ecx, [rax + 1]
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
mov word [r8 + 0x3388], cx
movsx rax, cx
lea rdx, [r8 + 0x338c]
lea rdx, [rdx + rax*8]
mov dword [rdx], r10d
mov dword [rdx + 4], ebp
inc word [rdx + 4]
inc dword [r8 + 0x3380]
mov qword [rsp + 0x78], r9
lea rax, [rsp + 0x70]
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], r9
test r9, r9
je 0x140045d4c
xor edx, edx
mov rcx, r9
call fcn.140001510
jmp 0x140045d4f
mov rax, rbp
mov qword [0x1401b7c40], rax
call fcn.140004fb0
test rbx, rbx
je 0x140045d69
mov qword [0x1401b7c40], rbx
jmp 0x140045d70
mov rbx, qword [0x1401b7c40]
lea rsi, [0x140150a04]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rbp
movss xmm3, dword [0x14015452c]
mov r8d, 0x40d38
lea rdx, [0x140167e60]
mov rcx, qword [rbx + 0x38]
call fcn.140021530
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rbp
movss xmm3, dword [0x14015453c]
mov r8d, 0xe694
lea rdx, [0x1401a8bc0]
mov rcx, qword [rbx + 0x38]
call fcn.140021530
mov qword [rbx + 0x20], rbp
mov rcx, rdi
call fcn.140028dc0
mov rdi, qword [0x1401b7d60]
mov rbx, qword [0x1401b7c40]
mov ecx, 0x28
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r8, rax
mov r9, qword [0x1401b7c40]
test r9, r9
je 0x140045e5b
mov r10d, dword [r9 + 0x1248]
movsx r11, word [r9 + 0x3388]
lea rdx, [r9 + 0x338c]
lea rdx, [rdx + r11*8]
cmp dword [rdx], r10d
je 0x140045e50
lea ecx, [r11 + 1]
mov eax, 0x2aaaaaab
imul ecx
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + rdx*2]
add eax, eax
sub ecx, eax
mov word [r9 + 0x3388], cx
movsx rax, cx
lea rdx, [r9 + 0x338c]
lea rdx, [rdx + rax*8]
mov dword [rdx], r10d
mov dword [rdx + 4], ebp
inc word [rdx + 4]
inc dword [r9 + 0x3380]
test r8, r8
je 0x140045e81
mov qword [r8], rbp
mov qword [r8 + 8], rbp
mov qword [r8 + 0x10], rbp
mov qword [r8 + 0x18], rbp
mov dword [r8 + 0x20], 0x1388
mov dword [r8 + 0x24], 0x2710
jmp 0x140045e84
mov r8, rbp
mov qword [rbx + 0x98], r8
lea rax, str.imgui_impl_dx9
mov qword [rbx + 0x88], rax
or dword [rbx + 0xc], 8
mov qword [r8], rdi
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 8]
xor eax, eax
add rsp, 0x48
pop rdi
pop rsi
pop rbp
pop rbx
ret