Function at 0x14005c920
Capabilities:
Enumerate gui resources

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x9b8]
sub rsp, 0xaa0
mov qword [rbp - 0x80], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
mov rbx, r9
mov r12, rdx
mov r15, rcx
sub r8d, 0x10
je 0x14005cf3f
sub r8d, 0x3e
je 0x14005cfb5
sub r8d, 0xc2
je 0x14005cf21
dec r8d
je 0x14005c995
cmp r8d, 0x107
jne 0x14005c9a0
cmp rbx, 4
je 0x14005cf3f
jmp 0x14005cfb5
movzx ecx, bx
dec ecx
je 0x14005c9b8
dec ecx
je 0x14005c9a7
xor eax, eax
jmp 0x14005cfba
mov rax, qword [r15 + 0x28c0]
xor esi, esi
mov word [rax], si
jmp 0x14005cfa7
xor esi, esi
mov word [rbp + 0x1a0], si
xor edx, edx
mov r8d, 0x7fe
lea rcx, [rbp + 0x1a2]
call fcn.1400e5ee0
mov r9d, 0x400
lea r8, [rbp + 0x1a0]
mov edx, 0x4e9
mov rcx, qword [r15 + 0x10]
call qword [sym.imp.USER32.dll_GetDlgItemTextW]
call fcn.140004f70
mov rcx, rax
mov eax, esi
test rcx, rcx
setne al
test eax, eax
jne 0x14005ca10
mov ecx, 0x80004005
call fcn.140004f20
int3
mov rax, qword [rcx]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x30], rax
lea rcx, [rbp + 0x1a0]
lea rax, [rbp + 0x1a0]
or r14, 0xffffffffffffffff
test rax, 0xffffffffffff0000
jne 0x14005ca5c
movzx ebx, cx
xor edx, edx
mov ecx, ebx
call fcn.14000b7c0
test rax, rax
je 0x14005ca85
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14000bc50
jmp 0x14005ca85
lea rcx, [rbp + 0x1a0]
mov rax, r14
inc rax
cmp word [rcx + rax*2], 0
jne 0x14005ca66
mov r8d, eax
lea rdx, [rbp + 0x1a0]
lea rcx, [rsp + 0x30]
call fcn.14000be50
nop
mov rdi, qword [rsp + 0x30]
mov rbx, rsi
cmp word [rdi], bx
je 0x14005cb2d
nop word [rax + rax]
movzx edx, word [rdi]
lea rcx, [0x14012f5e8]
call fcn.1400e7c74
test rax, rax
je 0x14005cabe
test rbx, rbx
jne 0x14005cac1
mov rbx, rdi
jmp 0x14005cac1
mov rbx, rsi
add rdi, 2
cmp word [rdi], 0
jne 0x14005caa0
test rbx, rbx
je 0x14005cb2d
mov rax, qword [rsp + 0x30]
sub rbx, rax
sar rbx, 1
test ebx, ebx
jns 0x14005caea
mov ecx, 0x80070057
call fcn.140004f20
int3
mov edx, 1
sub edx, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, ebx
or ecx, edx
jge 0x14005cb0c
mov edx, ebx
lea rcx, [rsp + 0x30]
call fcn.1400092f0
mov rax, qword [rsp + 0x30]
cmp ebx, dword [rax - 0xc]
jg 0x14005cb22
mov dword [rax - 0x10], ebx
movsxd rcx, ebx
mov rax, qword [rsp + 0x30]
mov word [rax + rcx*2], si
jmp 0x14005cb2d
mov ecx, 0x80070057
call fcn.140004f20
int3
lea rdx, [0x14012f5e8]
lea rcx, [rsp + 0x30]
call fcn.14005d280
cmp word [0x14012e334], 0
je 0x14005cbed
mov rdi, qword [rsp + 0x30]
mov rbx, rsi
cmp word [rdi], bx
je 0x14005cbed
nop dword [rax]
movzx edx, word [rdi]
lea rcx, [0x14012e334]
call fcn.1400e7c74
test rax, rax
je 0x14005cb7e
test rbx, rbx
jne 0x14005cb81
mov rbx, rdi
jmp 0x14005cb81
mov rbx, rsi
add rdi, 2
cmp word [rdi], 0
jne 0x14005cb60
test rbx, rbx
je 0x14005cbed
mov rax, qword [rsp + 0x30]
sub rbx, rax
sar rbx, 1
test ebx, ebx
jns 0x14005cbaa
mov ecx, 0x80070057
call fcn.140004f20
int3
mov edx, 1
sub edx, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, ebx
or ecx, edx
jge 0x14005cbcc
mov edx, ebx
lea rcx, [rsp + 0x30]
call fcn.1400092f0
mov rax, qword [rsp + 0x30]
cmp ebx, dword [rax - 0xc]
jg 0x14005cbe2
mov dword [rax - 0x10], ebx
movsxd rcx, ebx
mov rax, qword [rsp + 0x30]
mov word [rax + rcx*2], si
jmp 0x14005cbed
mov ecx, 0x80070057
call fcn.140004f20
int3
lea rdx, [0x14012e334]
lea rcx, [rsp + 0x30]
call fcn.14005d280
mov rcx, qword [rax]
cmp dword [rcx - 0x10], 0
jle 0x14005ce80
call fcn.14005d230
mov rdi, rax
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rsi
mov word [rsp + 0x38], si
xor r8d, r8d
lea rdx, [0x1401246c4]
lea rcx, [rsp + 0x38]
call fcn.140007750
nop
mov rax, qword [rdi + 0x50]
mov rbx, qword [rax]
cmp rbx, rax
je 0x14005cd0c
nop dword [rax + rax]
mov rcx, qword [rbx + 0x40]
add rcx, 8
mov r9, qword [rsp + 0x30]
cmp word [r9], 0
jne 0x14005cc69
mov rax, rsi
jmp 0x14005cc7b
mov rax, r14
nop dword [rax]
inc rax
cmp word [r9 + rax*2], 0
jne 0x14005cc70
mov qword [rsp + 0x20], rax
mov r8, qword [rcx + 0x10]
xor edx, edx
call fcn.1400348e0
test eax, eax
je 0x14005ccea
cmp byte [rbx + 0x19], 0
jne 0x14005ccde
mov rax, qword [rbx + 0x10]
cmp byte [rax + 0x19], 0
jne 0x14005ccbe
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
jne 0x14005ccde
nop dword [rax + rax]
mov rbx, rax
mov rax, qword [rax]
cmp byte [rax + 0x19], 0
je 0x14005ccb0
jmp 0x14005ccde
mov rax, qword [rbx + 8]
cmp byte [rax + 0x19], 0
jne 0x14005ccdb
cmp rbx, qword [rax + 0x10]
jne 0x14005ccdb
mov rbx, rax
mov rax, qword [rax + 8]
cmp byte [rax + 0x19], 0
je 0x14005ccc8
mov rbx, rax
cmp rbx, qword [rdi + 0x50]
jne 0x14005cc50
jmp 0x14005cd0c
mov rdx, qword [rbx + 0x40]
add rdx, 0x28
lea rax, [rsp + 0x38]
cmp rax, rdx
je 0x14005cd0c
mov r9, r14
xor r8d, r8d
lea rcx, [rsp + 0x38]
call fcn.140007600
mov r9, qword [rsp + 0x48]
test r9, r9
je 0x14005ce43
cmp qword [r15 + 0x28d8], 0
je 0x14005cdab
lea rcx, [r15 + 0x28c8]
lea rdx, [rsp + 0x38]
cmp qword [rsp + 0x50], 8
cmovae rdx, qword [rsp + 0x38]
mov r10, qword [rcx + 0x10]
cmp qword [rcx + 0x18], 8
jb 0x14005cd4e
mov rcx, qword [rcx]
mov r8, r9
cmp r10, r9
cmovb r8, r10
test r8, r8
jmp 0x14005cd84
movzx eax, word [rdx]
cmp word [rcx], ax
jne 0x14005cd75
add rcx, 2
add rdx, 2
dec r8
jmp 0x14005cd84
mov r8d, 1
cmp word [rcx], ax
cmovb r8d, r14d
jmp 0x14005cd89
jne 0x14005cd60
mov r8d, esi
movsxd rax, r8d
test r8d, r8d
jne 0x14005cda3
cmp r10, r9
jae 0x14005cd9b
mov eax, r14d
jmp 0x14005cda3
mov eax, esi
cmp r10, r9
setne al
test eax, eax
je 0x14005ce43
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9, qword [r15 + 8]
mov edx, reloc.OLEAUT32.dll_VarDecFix
lea rcx, [rsp + 0x70]
call fcn.1400b1560
mov rbx, rax
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9, qword [r15 + 8]
mov edx, 0x4f6
lea rcx, [rsp + 0x60]
call fcn.1400b1560
nop
xor r9d, r9d
mov r8, qword [rbx]
mov rdx, qword [rax]
mov rcx, qword [r15 + 0x10]
call fcn.1400b2170
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14005ce10
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x70]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14005ce29
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edx, 0x4e9
mov rcx, qword [r15 + 0x10]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rcx, rax
call qword [sym.imp.USER32.dll_SetFocus]
jmp 0x14005ce68
mov r8, qword [rsp + 0x30]
mov edx, 0x400
mov rcx, qword [r15 + 0x28c0]
call fcn.1400e7674
mov edx, 1
mov rcx, r12
call qword [sym.imp.USER32.dll_EndDialog]
nop
cmp qword [rsp + 0x50], 8
jb 0x14005ceff
mov rcx, qword [rsp + 0x38]
call fcn.1400e5d14
jmp 0x14005ceff
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9, qword [r15 + 8]
mov edx, reloc.OLEAUT32.dll_VarDecFix
lea rcx, [rsp + 0x58]
call fcn.1400b1560
mov rbx, rax
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov r9, qword [r15 + 8]
mov edx, 0x4f5
lea rcx, [rsp + 0x78]
call fcn.1400b1560
nop
xor r9d, r9d
mov r8, qword [rbx]
mov rdx, qword [rax]
mov rcx, qword [r15 + 0x10]
call fcn.1400b2170
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14005cee5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14005ceff
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14005cfb5
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14005cfb5
call fcn.140038740
mov r9, qword [rbp + 0x9e0]
mov r8, rbx
mov rdx, r12
mov rcx, r15
call fcn.14005cff0
cdqe
jmp 0x14005cfba
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x70], rax
xor r8d, r8d
xor esi, esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
mov edx, reloc.OLEAUT32.dll_VarDecFix
lea rcx, [rsp + 0x68]
call fcn.1400b1560
mov r8, qword [rax]
mov edx, 0x104
lea rcx, [rbp - 0x68]
call fcn.1400e7674
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14005cf8c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [rbp - 0x70]
lea rcx, [0x1400c99e0]
call qword [sym.imp.USER32.dll_EnumWindows]
mov rcx, qword [r15 + 0x28c0]
mov word [rcx], si
mov edx, 2
mov rcx, r12
call qword [sym.imp.USER32.dll_EndDialog]
mov eax, 1
lea r11, [rsp + 0xaa0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret