Function at 0x140045cc0
Capabilities:
Get graphical window text

Disassembly:
jmp 0x140045cc0
mov byte [rsp + 0x10], dl
mov qword [rsp + 8], rcx
push rdi
sub rsp, 0x190
mov rdi, rsp
mov ecx, MsiProvideComponentW
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x1a0]
mov rax, qword [0x1401940e8]
xor rax, rsp
mov qword [rsp + 0x188], rax
mov dword [rsp + 0x28], 0
mov byte [rsp + 0x20], 1
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x68], 0
lea rcx, [rsp + 0x88]
call fcn.1400036c5
nop
lea rcx, [rsp + 0xc8]
call fcn.1400036c5
nop
mov rax, qword [rsp + 0x1a0]
mov rdx, qword [rax + 0x50]
lea rcx, [rsp + 0x108]
call fcn.140004197
mov rax, qword [rsp + 0x1a0]
movsxd rax, dword [rax + 0x2a4]
mov rcx, qword [rsp + 0x1a0]
mov rcx, qword [rcx + 0x10]
mov eax, dword [rcx + rax*4]
mov dword [rsp + 0x164], eax
cmp dword [rsp + 0x164], 0x10
ja case.0x140045da3.6
movsxd rax, dword [rsp + 0x164]
lea rcx, [0x140000000]
mov eax, dword [rcx + rax*4 + 0x46654]
add rax, rcx
jmp rax
mov edx, 0x3eb
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov edx, 1
mov rcx, rax
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0xa005
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x1400465f8
mov edx, 0x3eb
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov edx, 1
mov rcx, rax
call qword [sym.imp.USER32.dll_EnableWindow]
mov edx, 0xa00f
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
mov edx, 0xa005
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
mov edx, 0xa02a
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
lea r8, [0x14014dd30]
mov edx, 0x3ea
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
lea r8, [0x14014dd40]
mov edx, 2
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
jmp 0x1400465f8
mov edx, 0xa00a
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
cmp eax, 1
jne 0x140045edc
mov rax, qword [rsp + 0x1a0]
mov dword [rax + 0x2a0], 0
jmp 0x140045f38
mov edx, 0xa00b
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
cmp eax, 1
jne 0x140045f0b
mov rax, qword [rsp + 0x1a0]
mov dword [rax + 0x2a0], 1
jmp 0x140045f38
mov edx, 0xa00c
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
cmp eax, 1
jne 0x140045f38
mov rax, qword [rsp + 0x1a0]
mov dword [rax + 0x2a0], 2
mov rax, qword [rsp + 0x1a0]
mov r8d, dword [rax + 0x2a0]
lea rdx, str.Operation_selected____d
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax + 0x50]
call fcn.1400051a0
mov edx, 0xa006
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
mov edx, 0xa00a
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
mov edx, 0xa00b
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
mov edx, 0xa00c
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rax, qword [rsp + 0x1a0]
mov byte [rax + 0x20], 0
jmp 0x1400465f8
lea r8, [rsp + 0x68]
lea rdx, [rsp + 0x48]
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax + 0x48]
call fcn.1400045ed
mov rcx, qword [rsp + 0x48]
call fcn.14000589e
test rax, rax
je 0x1400460ac
mov dword [rsp + 0x124], 0
jmp 0x140046037
mov eax, dword [rsp + 0x124]
inc eax
mov dword [rsp + 0x124], eax
mov eax, dword [rsp + 0x124]
mov qword [rsp + 0x168], rax
mov rcx, qword [rsp + 0x48]
call fcn.14000589e
mov rcx, qword [rsp + 0x168]
cmp rcx, rax
jae 0x1400460ac
mov eax, dword [rsp + 0x124]
mov edx, eax
mov rcx, qword [rsp + 0x48]
call fcn.140001f9b
mov rax, qword [rax]
mov rcx, qword [rax + 0x28]
call fcn.140004994
mov dword [rsp + 0x128], eax
cmp dword [rsp + 0x128], 0xf
jge 0x14004609b
mov rax, qword [rsp + 0x1a0]
mov byte [rax + 0x44], 1
jmp 0x1400460a7
mov rax, qword [rsp + 0x1a0]
mov byte [rax + 0x42], 1
jmp 0x140046027
mov edx, 0xa008
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_IsDlgButtonChecked]
cmp eax, 1
jne 0x1400460e3
mov rax, qword [rsp + 0x1a0]
mov dword [rax + 0x2a8], 0
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x24], 0
jmp 0x1400460f7
mov eax, dword [rsp + 0x24]
inc eax
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x24]
mov qword [rsp + 0x170], rax
mov rcx, qword [rsp + 0x30]
call fcn.14000589e
mov rcx, qword [rsp + 0x170]
cmp rcx, rax
jae 0x140046242
mov eax, dword [rsp + 0x24]
mov edx, eax
mov rcx, qword [rsp + 0x30]
call fcn.140001f9b
mov rax, qword [rax]
cmp qword [rax + 0x38], 0
jne 0x14004613a
jmp 0x1400460ed
mov eax, dword [rsp + 0x24]
mov edx, eax
mov rcx, qword [rsp + 0x30]
call fcn.140001f9b
mov rax, qword [rax]
mov rdx, qword [rax + 0x38]
lea rcx, [rsp + 0xc8]
call fcn.140003198
mov r8, 0xffffffffffffffff
mov dx, MsiPreviewBillboardW
lea rcx, [rsp + 0xc8]
call fcn.14000433b
mov dword [rsp + 0x2c], eax
movsxd rax, dword [rsp + 0x2c]
cmp rax, 0xffffffffffffffff
jne 0x14004618a
jmp 0x1400460ed
movsxd rax, dword [rsp + 0x2c]
mov r9, rax
xor r8d, r8d
lea rdx, [rsp + 0x130]
lea rcx, [rsp + 0xc8]
call fcn.140003373
mov qword [rsp + 0x178], rax
mov rdx, qword [rsp + 0x178]
lea rcx, [rsp + 0xc8]
call fcn.1400014a6
lea rcx, [rsp + 0x130]
call fcn.1400049d0
mov rax, qword [rsp + 0x1a0]
mov r8d, dword [rax + 0x2a8]
lea rdx, [rsp + 0xc8]
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax + 0x48]
call fcn.14000314d
movzx eax, al
test eax, eax
je 0x14004623d
mov rax, qword [rsp + 0x1a0]
add rax, 0x2b0
lea rdx, [rsp + 0xc8]
mov rcx, rax
call fcn.140003fb7
mov rax, qword [rsp + 0x1a0]
add rax, 0x58
lea rdx, [rsp + 0xc8]
mov rcx, rax
call fcn.140001b45
jmp 0x1400460ed
mov edx, 0xa007
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
mov edx, 0xa008
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
mov edx, 0xa009
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x1400465f8
mov rax, qword [rsp + 0x1a0]
add rax, 0x98
mov qword [rsp + 0x180], rax
mov edx, 0xa032
mov rcx, qword [rsp + 0x1a0]
mov rcx, qword [rcx]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov r8d, 0x104
mov rcx, qword [rsp + 0x180]
mov rdx, rcx
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov edx, 0xa036
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
mov edx, 0xa034
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
mov edx, 0xa035
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
mov edx, 0xa038
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
mov edx, 0xa032
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x1400465f8
mov edx, 0xa03d
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
mov edx, 0x3eb
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov edx, 1
mov rcx, rax
call qword [sym.imp.USER32.dll_EnableWindow]
lea r8, [0x14014dd88]
mov edx, 0x3ea
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
lea r8, [0x14014dd98]
mov edx, 2
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_SetDlgItemTextW]
mov edx, 0xa003
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
lea rdx, [0x14014c588]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetWindowTextW]
mov edx, 0xa003
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov r8d, 0x3ea
mov edx, 0xfffffff4
mov rcx, rax
call qword [sym.imp.USER32.dll_SetWindowLongW]
mov edx, 0x3ea
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov edx, 1
mov rcx, rax
call qword [sym.imp.USER32.dll_EnableWindow]
mov rax, qword [rsp + 0x1a0]
cmp dword [rax + 0x2a8], 0
jne 0x14004649c
mov rax, qword [rsp + 0x1a0]
movzx eax, byte [rax + 0x42]
test eax, eax
jne 0x1400464bd
mov rax, qword [rsp + 0x1a0]
cmp dword [rax + 0x2a8], 1
jne 0x1400464de
mov rax, qword [rsp + 0x1a0]
movzx eax, byte [rax + 0x43]
test eax, eax
je 0x1400464de
mov edx, 0xa039
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x14004652e
mov rax, qword [rsp + 0x1a0]
movzx eax, byte [rax + 0x46]
test eax, eax
jne 0x14004650f
mov edx, 0xa03c
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x14004652e
mov edx, 0xa03e
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rax, qword [rsp + 0x1a0]
mov byte [rax + 0x46], 0
mov rax, qword [rsp + 0x1a0]
movzx eax, byte [rax + 0x41]
test eax, eax
je 0x140046588
mov edx, 0xa03a
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
mov edx, 0xa03b
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rax, qword [rsp + 0x1a0]
add rax, 0x2b0
mov rcx, rax
call fcn.140004d8b
jmp 0x1400465f8
mov edx, 0xa029
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_DestroyWindow]
jmp 0x1400465f8
mov rax, qword [rsp + 0x1a0]
movsxd rax, dword [rax + 0x2a4]
mov rcx, qword [rsp + 0x1a0]
mov rcx, qword [rcx + 0x10]
mov r8d, dword [rcx + rax*4]
lea rdx, str.Error__No_such_UI_state_exists:__d.
mov rax, qword [rsp + 0x1a0]
mov rcx, qword [rax + 0x50]
call fcn.140002f45
movzx eax, byte [rsp + 0x20]
mov byte [rsp + 0x160], al
lea rcx, [rsp + 0xc8]
call fcn.1400049d0
nop
lea rcx, [rsp + 0x88]
call fcn.1400049d0
movzx eax, byte [rsp + 0x160]
mov edi, eax
mov rcx, rsp
lea rdx, [0x14014ed40]
call fcn.140005466
mov eax, edi
mov rcx, qword [rsp + 0x188]
xor rcx, rsp
call fcn.1400023b0
add rsp, 0x190
pop rdi
ret