Function at 0x14009bbc0
Capabilities:
Enumerate gui resources

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x3e0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x1401eb040]
xor rax, rsp
mov qword [rsp + 0x3a8], rax
mov rdi, rcx
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x90], rcx
xor esi, esi
lea rdx, [rcx + 0x80]
lea rcx, [rsp + 0x230]
call fcn.140010f30
mov rbx, rax
mov qword [rsp + 0x2c8], rax
cmp qword [rax + 0x18], 0xf
jbe 0x14009bc41
mov r8, qword [rax]
mov rax, r8
add r8, qword [rbx + 0x10]
jmp 0x14009bc48
mov r8, qword [rax + 0x10]
add r8, rbx
mov rdx, rax
lea rcx, [rsp + 0x380]
call fcn.1400127a0
nop
mov rcx, rbx
call fcn.140011ad0
nop
lea r14, [rsp + 0x380]
cmp qword [rsp + 0x398], 7
cmova r14, qword [rsp + 0x380]
cmp byte [rdi + 0xd9], 0
je 0x14009bdb6
movsxd rax, dword [rdi + 0xdc]
test eax, eax
jle 0x14009bce2
mov rdx, rax
lea rcx, [0x14009bb60]
call qword [sym.imp.USER32.dll_EnumWindows]
mov rcx, qword [0x1401f26e8]
test rcx, rcx
je 0x14009c7cd
mov qword [rdi + 0xe8], rcx
lea rdx, [rdi + 0xf8]
call qword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [rdi + 0x104]
sub eax, dword [rdi + 0xfc]
mov ecx, dword [rdi + 0x100]
sub ecx, dword [rdi + 0xf8]
jmp 0x14009bce9
mov eax, 1
mov ecx, eax
mov dword [rdi + 0xf0], ecx
mov dword [rdi + 0xf4], eax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rcx, [rdi + 8]
mov dword [rcx], 0x50
mov dword [rcx + 4], 2
lea rdx, [0x14009d0d0]
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], rsi
mov qword [rcx + 0x18], rax
mov qword [rcx + 0x20], rsi
mov qword [rcx + 0x28], rsi
mov qword [rcx + 0x30], rsi
mov qword [rcx + 0x38], rsi
mov qword [rcx + 0x40], r14
mov qword [rcx + 0x48], rsi
call qword [sym.imp.USER32.dll_RegisterClassExW]
mov qword [rsp + 0x58], rsi
mov rax, qword [rdi + 0x20]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov eax, dword [rdi + 0xf4]
mov dword [rsp + 0x38], eax
mov eax, dword [rdi + 0xf0]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
mov r9d, 0x80000000
mov r8, r14
mov rdx, qword [rdi + 0x48]
mov ecx, 0x8000028
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov qword [rdi + 0x58], rax
movdqa xmm0, xmmword [0x1401cd4c0]
movdqu xmmword [rsp + 0x2c8], xmm0
lea rdx, [rsp + 0x2c8]
mov rcx, rax
call qword [sym.imp.dwmapi.dll_DwmExtendFrameIntoClientArea]
jmp 0x14009beaa
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rcx, [rdi + 8]
mov dword [rcx], 0x50
mov dword [rcx + 4], 0x40
lea rdx, [0x14009d0d0]
mov qword [rcx + 8], rdx
mov qword [rcx + 0x10], rsi
mov qword [rcx + 0x18], rax
mov qword [rcx + 0x20], rsi
mov qword [rcx + 0x28], rsi
mov qword [rcx + 0x30], rsi
mov qword [rcx + 0x38], rsi
mov qword [rcx + 0x40], r14
mov qword [rcx + 0x48], rsi
call qword [sym.imp.USER32.dll_RegisterClassExW]
mov ecx, dword [rdi + 0xd4]
sub ecx, 2
je 0x14009be5e
cmp ecx, 1
je 0x14009beaa
mov qword [rsp + 0x58], rsi
mov rax, qword [rdi + 0x20]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov eax, dword [rdi + 0xac]
mov dword [rsp + 0x38], eax
mov eax, dword [rdi + 0xa8]
mov dword [rsp + 0x30], eax
mov eax, dword [rdi + 0xa4]
mov dword [rsp + 0x28], eax
mov eax, dword [rdi + 0xa0]
mov dword [rsp + 0x20], eax
mov r9d, 0xcf0000
xor ecx, ecx
jmp 0x14009be99
mov qword [rsp + 0x58], rsi
mov rax, qword [rdi + 0x20]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
mov r9d, 0x80000000
mov ecx, 0x8000000
mov r8, r14
mov rdx, qword [rdi + 0x48]
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov qword [rdi + 0x58], rax
mov rax, qword [rdi + 0x58]
mov qword [rsp + 0x284], rsi
mov qword [rsp + 0x298], 2
mov qword [rsp + 0x2b0], 2
mov qword [rsp + 0x270], rsi
mov dword [rsp + 0x280], 0x1c
mov dword [rsp + 0x278], 0x3c
mov dword [rsp + 0x27c], 1
mov dword [rsp + 0x294], 0x20
mov qword [rsp + 0x2a0], rax
mov qword [rsp + 0x28c], 1
mov qword [rsp + 0x2a8], 1
mov dword [rsp + 0x3a0], 0xb000
mov dword [rsp + 0x3a4], 0xa000
lea rax, [0x140201170]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0x2c0]
mov qword [rsp + 0x50], rax
lea rax, [0x140201168]
mov qword [rsp + 0x48], rax
lea rax, [0x140201160]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x270]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 7
mov dword [rsp + 0x28], 2
lea rax, [rsp + 0x3a0]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 1
xor ecx, ecx
call qword [sym.imp.d3d11.dll_D3D11CreateDeviceAndSwapChain]
test eax, eax
jne 0x14009c7f9
call fcn.14009d060
mov rbx, qword [0x1401f26f8]
mov ecx, 0x64d0
call fcn.1400e9310
mov qword [rsp + 0x2c8], rax
lea rcx, [rsp + 0x60]
mov qword [rsp + 0x250], rcx
mov qword [rsp + 0x260], rax
test rax, rax
je 0x14009bff2
xor edx, edx
mov rcx, rax
call fcn.1400e0bc0
jmp 0x14009bff5
mov rax, rsi
mov qword [0x1401f26f8], rax
call fcn.1400e7230
test rbx, rbx
je 0x14009c00f
mov qword [0x1401f26f8], rbx
jmp 0x14009c016
mov rbx, qword [0x1401f26f8]
lea r13, [rbx + 8]
mov qword [rsp + 0x2c8], r13
cmp byte [rdi + 0xb0], 0
je 0x14009c030
or dword [r13], 1
cmp byte [rdi + 0xb1], 0
je 0x14009c03e
or dword [r13], 2
cmp byte [rdi + 0xb2], 0
je 0x14009c04c
or dword [r13], 0x40
cmp byte [rdi + 0xb3], 0
je 0x14009c05d
or dword [r13], 0x400
movzx eax, byte [rdi + 0xb4]
mov byte [r13 + 0x54], al
movzx eax, byte [rdi + 0xb5]
mov byte [r13 + 0x55], al
xor ecx, ecx
call fcn.1400a74b0
mov rax, qword [0x1401f26f8]
test dword [rax + 8], 0x400
je 0x14009c09a
mov dword [rax + 0x3a08], esi
mov dword [rax + 0x3b0c], 0x3f800000
mov rcx, qword [rdi + 0x58]
call fcn.14013f160
mov r12, qword [0x140201170]
mov r15, qword [0x140201168]
mov r14, qword [0x1401f26f8]
mov ecx, 0x78
call fcn.1400e9310
mov rbx, rax
mov qword [rsp + 0x250], rax
test rax, rax
je 0x14009c106
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbx], xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx + 0x20], xmm0
movups xmmword [rbx + 0x30], xmm0
movups xmmword [rbx + 0x40], xmm0
movups xmmword [rbx + 0x50], xmm0
movups xmmword [rbx + 0x60], xmm0
mov qword [rbx + 0x70], rax
mov dword [rbx + 0x70], 0x1388
mov dword [rbx + 0x74], 0x2710
jmp 0x14009c109
mov rbx, rsi
mov qword [r14 + 0xa0], rbx
lea rax, str.imgui_impl_dx11
mov qword [r14 + 0x90], rax
or dword [r14 + 0xc], 0x1008
mov qword [rsp + 0x258], rsi
mov qword [rsp + 0x260], rsi
mov qword [rsp + 0x250], rsi
mov rax, qword [r15]
lea r8, [rsp + 0x258]
lea rdx, [0x1401bc4f8]
mov rcx, r15
call qword [rax]
test eax, eax
jne 0x14009c1ae
mov rcx, qword [rsp + 0x258]
mov rax, qword [rcx]
lea r8, [rsp + 0x260]
lea rdx, [0x1401bc508]
call qword [rax + 0x30]
test eax, eax
jne 0x14009c1ae
mov rcx, qword [rsp + 0x260]
mov rax, qword [rcx]
lea r8, [rsp + 0x250]
lea rdx, [0x1401bc518]
call qword [rax + 0x30]
test eax, eax
jne 0x14009c1ae
mov qword [rbx], r15
mov qword [rbx + 8], r12
mov rax, qword [rsp + 0x250]
mov qword [rbx + 0x10], rax
mov rcx, qword [rsp + 0x258]
test rcx, rcx
je 0x14009c1c1
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rsp + 0x260]
test rcx, rcx
je 0x14009c1d4
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]
test dword [r14 + 8], 0x400
je 0x14009c23e
mov rax, qword [0x1401f26f8]
lea rcx, [0x14013ed50]
mov qword [rax + 0x39b0], rcx
lea rcx, [0x14013eea0]
mov qword [rax + 0x39b8], rcx
lea rcx, [0x14013ef90]
mov qword [rax + 0x39c0], rcx
lea rcx, [0x14013f090]
mov qword [rax + 0x39c8], rcx
lea rcx, [0x14013f140]
mov qword [rax + 0x39d0], rcx
mov r15, qword [rdi + 0xb8]
mov r12, qword [rdi + 0xc0]
mov qword [rsp + 0x260], r12
mov ebx, 0xffff
movdqa xmm7, xmmword [0x1401cd750]
movdqa xmm8, xmmword [0x1401cd690]
movss xmm6, dword [0x1401cd2fc]
mov qword [rsp + 0x250], r15
cmp r15, r12
je 0x14009c701
mov rdx, r15
lea rcx, [rsp + 0x2e0]
call fcn.140010f30
nop
movss xmm0, dword [r15 + 0x20]
movss dword [rsp + 0x300], xmm0
mov eax, dword [r15 + 0x24]
mov dword [rsp + 0x304], eax
movzx eax, byte [r15 + 0x28]
mov byte [rsp + 0x308], al
lea rdx, [r15 + 0x30]
lea rcx, [rsp + 0x310]
call fcn.14003afe0
nop
cmp byte [rsp + 0x308], 0
je 0x14009c609
xorps xmm0, xmm0
movups xmmword [rsp + 0x130], xmm0
movups xmmword [rsp + 0x140], xmm0
movups xmmword [rsp + 0x150], xmm0
movups xmmword [rsp + 0x160], xmm0
movups xmmword [rsp + 0x170], xmm0
movups xmmword [rsp + 0x180], xmm0
movups xmmword [rsp + 0x190], xmm0
movups xmmword [rsp + 0x1a0], xmm0
movups xmmword [rsp + 0x1b0], xmm0
mov byte [rsp + 0x13c], 1
mov dword [rsp + 0x148], 2
mov dword [rsp + 0x14c], 1
mov dword [rsp + 0x174], 0x7f7fffff
mov dword [rsp + 0x180], 0x3f800000
mov dword [rsp + 0x184], 0x3f800000
mov word [rsp + 0x188], bx
mov byte [rsp + 0x178], 1
xor eax, eax
mov qword [rsp + 0x330], rax
mov dword [rsp + 0x338], eax
movdqu xmmword [rsp + 0x33c], xmm8
movdqu xmmword [rsp + 0x34c], xmm7
mov dword [rsp + 0x35c], 0xa
mov dword [rsp + 0x360], 9
mov dword [rsp + 0x364], 0x18
lea rcx, [rsp + 0x330]
call fcn.14009dd00
mov rdx, 0xffffffffffffffff
nop dword [rax]
inc rdx
cmp byte [rax + rdx], 0
jne 0x14009c3d0
lea rcx, [rsp + 0x2e0]
cmp qword [rsp + 0x2f8], 0xf
cmova rcx, qword [rsp + 0x2e0]
mov r8, qword [rsp + 0x2f0]
cmp r8, rdx
jne 0x14009c42f
mov rdx, rax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x14009c42f
mov rcx, qword [r13 + 0x30]
call fcn.1400add30
cmp byte [rdi + 0xd0], 0
je 0x14009c4c1
movaps xmm1, xmm6
call fcn.14009ba60
jmp 0x14009c4c1
lea rax, [rsp + 0x330]
mov qword [rsp + 0x258], rax
lea rdx, [rsp + 0x2e0]
lea rcx, [rsp + 0x330]
call fcn.140010f30
nop
movss xmm0, dword [rsp + 0x300]
movss dword [rsp + 0x350], xmm0
mov eax, dword [rsp + 0x304]
mov dword [rsp + 0x354], eax
movzx eax, byte [rsp + 0x308]
mov byte [rsp + 0x358], al
lea rdx, [rsp + 0x310]
lea rcx, [rsp + 0x360]
call fcn.14003afe0
nop
xor r8d, r8d
lea rdx, [rsp + 0x330]
call fcn.14009b930
cmp byte [rdi + 0xd0], 0
je 0x14009c4c1
movss xmm1, dword [rsp + 0x300]
call fcn.14009ba60
mov rbx, qword [rsp + 0x310]
mov r14, qword [rsp + 0x318]
cmp rbx, r14
je 0x14009c5c4
mov rdx, rbx
lea rcx, [rsp + 0x330]
call fcn.140010f30
nop
movss xmm0, dword [rbx + 0x20]
movss dword [rsp + 0x350], xmm0
mov eax, dword [rbx + 0x24]
mov dword [rsp + 0x354], eax
movzx eax, byte [rbx + 0x28]
mov byte [rsp + 0x358], al
lea rdx, [rbx + 0x30]
lea rcx, [rsp + 0x360]
call fcn.14003afe0
nop
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x258], rax
lea rdx, [rsp + 0x330]
lea rcx, [rsp + 0xa0]
call fcn.140010f30
nop
movss xmm0, dword [rsp + 0x350]
movss dword [rsp + 0xc0], xmm0
mov eax, dword [rsp + 0x354]
mov dword [rsp + 0xc4], eax
movzx eax, byte [rsp + 0x358]
mov byte [rsp + 0xc8], al
lea rdx, [rsp + 0x360]
lea rcx, [rsp + 0xd0]
call fcn.14003afe0
nop
lea r8, [rsp + 0x130]
lea rdx, [rsp + 0xa0]
call fcn.14009b930
nop
lea rcx, [rsp + 0x360]
call fcn.14003afd0
lea rcx, [rsp + 0x330]
call fcn.140011ad0
add rbx, 0x48
jmp 0x14009c4d1
mov rbx, qword [r13 + 0x30]
cmp dword [rbx + 0x78], 0
jne 0x14009c5d6
mov rcx, rbx
call fcn.1400add30
mov rax, qword [rbx + 0x488]
test rax, rax
jne 0x14009c5f7
lea rax, [0x1400ae5a0]
mov qword [0x1402041c0], rax
lea rax, [0x1402041c0]
mov rax, qword [rax]
mov rcx, rbx
call rax
mov ebx, 0xffff
jmp 0x14009c69c
lea rax, [rsp + 0xa0]
mov qword [rsp + 0x258], rax
lea rdx, [rsp + 0x2e0]
lea rcx, [rsp + 0xa0]
call fcn.140010f30
nop
movss xmm0, dword [rsp + 0x300]
movss dword [rsp + 0xc0], xmm0
mov eax, dword [rsp + 0x304]
mov dword [rsp + 0xc4], eax
movzx eax, byte [rsp + 0x308]
mov byte [rsp + 0xc8], al
lea rdx, [rsp + 0x310]
lea rcx, [rsp + 0xd0]
call fcn.14003afe0
nop
xor r8d, r8d
lea rdx, [rsp + 0xa0]
call fcn.14009b930
cmp byte [rdi + 0xd0], 0
je 0x14009c69c
movss xmm1, dword [rsp + 0x300]
call fcn.14009ba60
nop
jmp 0x14009c6de
lea rcx, [rsp + 0x310]
call fcn.14003afd0
lea rcx, [rsp + 0x2e0]
call fcn.140011ad0
add r15, 0x48
jmp 0x14009c272
mov rax, qword [rdi + 0xc0]
cmp qword [rdi + 0xb8], rax
jne 0x14009c72b
mov rcx, qword [r13 + 0x30]
call fcn.1400add30
cmp byte [rdi + 0xd0], 0
je 0x14009c72b
movaps xmm1, xmm6
call fcn.14009ba60
mov rax, qword [rsp + 0x90]
mov rcx, qword [rax + 0x58]
cmp byte [rdi + 0xd9], 0
je 0x14009c76e
mov dword [rsp + 0x30], 0x63
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
xor r8d, r8d
mov rdx, 0xffffffffffffffff
call qword [sym.imp.USER32.dll_SetWindowPos]
mov edx, 1
mov rcx, qword [rdi + 0x58]
jmp 0x14009c773
mov edx, 0xa
call qword [sym.imp.USER32.dll_ShowWindow]
mov rcx, qword [rdi + 0x58]
call qword [sym.imp.USER32.dll_UpdateWindow]
nop
lea rcx, [rsp + 0x380]
call fcn.140011a60
mov rcx, qword [rsp + 0x3a8]
xor rcx, rsp
call fcn.14016ff10
lea r11, [rsp + 0x3e0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
lea rcx, [rsp + 0x130]
call fcn.14009ff20
mov rcx, rax
call fcn.14009f520
mov qword [rsp + 0x68], rax
lea rdx, [0x1401e73d8]
lea rcx, [rsp + 0x68]
call sub.VCRUNTIME140.dll__CxxThrowException
int3
call fcn.14009cfe0
mov rdx, qword [rdi + 0x20]
mov rcx, qword [rdi + 0x48]
call qword [sym.imp.USER32.dll_UnregisterClassW]
lea rcx, [rsp + 0x130]
call fcn.14009ece0
mov rcx, rax
call fcn.14009dff0
mov qword [rsp + 0x70], rax
lea rdx, [0x1401e73d8]
lea rcx, [rsp + 0x70]
call sub.VCRUNTIME140.dll__CxxThrowException
int3