joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400466e0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x1360]
mov eax, 0x1460
call fcn.140049510
sub rsp, rax
mov rax, qword [0x14005c040]
xor rax, rsp
mov qword [rbp + 0x1350], rax
movaps xmm0, xmmword [str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789]
movaps xmmword [rsp + 0x20], xmm0
movaps xmm1, xmmword [0x140051f00]
movaps xmmword [rsp + 0x30], xmm1
movaps xmm0, xmmword [0x140051f10]
movaps xmmword [rsp + 0x40], xmm0
movaps xmm1, xmmword [0x140051f20]
movaps xmmword [rsp + 0x50], xmm1
movaps xmm0, xmmword [0x140051f30]
movaps xmmword [rsp + 0x60], xmm0
movaps xmm1, xmmword [0x140051f40]
movaps xmmword [rsp + 0x70], xmm1
movaps xmm0, xmmword [0x140051f50]
movaps xmmword [rbp - 0x80], xmm0
movsd xmm0, qword [0x140051f60]
movsd qword [rbp - 0x70], xmm0
mov eax, dword [0x140051f68]
mov dword [rbp - 0x68], eax
movzx eax, word [0x140051f6c]
mov word [rbp - 0x64], ax
xorps xmm0, xmm0
movups xmmword [rbp - 0x60], xmm0
mov ecx, 0x20
call fcn.140048474
mov rdi, rax
mov qword [rbp - 0x60], rax
mov esi, 0xf
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], rsi
xor ebx, ebx
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbx
call qword [sym.imp.MSVCP140.dll_unsigned_int___cdecl_std::_Random_device_void_]
mov dword [rbp + 0x1344], 0xffffffff
mov dword [rbp - 0x3c], eax
mov edx, 1
nop dword [rax]
mov ecx, eax
shr ecx, 0x1e
xor ecx, eax
imul eax, ecx, 0x6c078965
add eax, edx
mov dword [rbp + rdx*4 - 0x3c], eax
inc rdx
cmp rdx, 0x270
jb 0x1400467e0
mov dword [rbp - 0x40], 0x270
mov r14d, 0x80000000
nop dword [rax]
lea rcx, [rbp - 0x40]
call fcn.1400481b0
mov ecx, eax
imul rax, rcx, 0x3e
cmp eax, 3
ja 0x140046838
lea rcx, [rbp - 0x40]
call fcn.1400481b0
mov ecx, eax
imul rax, rcx, 0x3e
cmp eax, 4
jb 0x140046824
shr rax, 0x20
sub rax, r14
xor rax, 0xffffffff80000000
movzx ecx, word [rsp + rax*2 + 0x20]
lea rax, [rbp - 0x60]
cmp rsi, 7
cmova rax, rdi
mov word [rbx + rax], cx
add rbx, 2
cmp rbx, 0x1e
jge 0x14004686e
mov rsi, qword [rbp - 0x48]
mov rdi, qword [rbp - 0x60]
jmp 0x140046810
lea rbx, [rbp - 0x60]
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x48]
cmp rdx, 7
cmova rbx, rcx
jbe 0x1400468b9
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400468b4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400468b4
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400486f8
mov rax, rbx
mov rcx, qword [rbp + 0x1350]
xor rcx, rsp
call fcn.140048370
lea r11, [rsp + 0x1460]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
Function at 0x1400481b0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
sub rsp, 8
mov r9, rcx
mov r10d, 0x270
mov ecx, dword [rcx]
cmp ecx, r10d
jne 0x140048211
lea r8, [r9 + 8]
nop dword [rax + rax]
mov edx, dword [r8 - 4]
xor edx, dword [r8]
lea r8, [r8 + 4]
btr edx, 0x1f
xor edx, dword [r8 - 8]
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x62c]
xor ecx, edx
mov dword [r8 + 0x9b8], ecx
sub r10, 1
jne 0x1400481d0
mov ecx, dword [r9]
jmp 0x1400482fb
cmp ecx, 0x4e0
jb 0x1400482fb
lea r10, [r9 + 0x9c4]
mov qword [rsp], rbx
mov r11d, dword [r10]
mov ebx, 0xe3
mov eax, r11d
mov r8, r10
mov r11d, dword [r10 + 4]
add r10, 4
mov edx, r11d
xor edx, eax
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 + 0x634]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub rbx, 1
jne 0x140048230
lea r10, [r9 + 0xd50]
mov ebx, 0x18c
mov r11d, dword [r10]
nop
mov eax, r11d
mov r8, r10
mov r11d, dword [r10 + 4]
mov edx, eax
xor edx, r11d
add r10, 4
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r8 - 0xd4c]
xor ecx, edx
mov dword [r8 - 0x9c0], ecx
sub rbx, 1
jne 0x140048280
mov eax, dword [r9 + 0x1380]
mov edx, eax
xor edx, dword [r9 + 4]
mov rbx, qword [rsp]
btr edx, 0x1f
xor edx, eax
mov eax, edx
and al, 1
neg al
sbb ecx, ecx
shr edx, 1
and ecx, 0x9908b0df
xor ecx, dword [r9 + 0x634]
xor ecx, edx
mov dword [r9 + 0x9c0], ecx
xor ecx, ecx
mov dword [r9], ecx
mov eax, ecx
mov edx, dword [r9 + rax*4 + 4]
lea eax, [rcx + 1]
mov dword [r9], eax
mov ecx, edx
mov eax, dword [r9 + 0x1384]
shr ecx, 0xb
and eax, ecx
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, edx
shr eax, 0x12
xor eax, edx
add rsp, 8
ret

Function at 0x140049108
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140049152
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140049152
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140049152
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140049152
cmp dword [rcx + 0x84], 0xe
jbe 0x140049152
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140049154
xor al, al
add rsp, 0x28
ret
Function at 0x14002dae4
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x28
call fcn.14002e600
add rsp, 0x28
jmp 0x14002dae4
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push r14
sub rsp, 0xb0
and dword [rsp + 0x20], 0
lea rcx, [rsp + 0x40]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetStartupInfoW]
nop
mov rax, qword gs:[0x30]
mov rbx, qword [rax + 8]
xor edi, edi
xor eax, eax
lock cmpxchg qword [0x1400c9b58], rbx
je 0x14002db2e
cmp rax, rbx
jne 0x14002db43
mov edi, 1
mov eax, dword [0x1400c9b60]
cmp eax, 1
jne 0x14002db50
lea ecx, [rax + 0x1e]
call fcn.140195000
jmp 0x14002dbbd
mov ecx, 0x3e8
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
jmp 0x14002db17
mov eax, dword [0x1400c9b60]
test eax, eax
jne 0x14002dbb3
mov dword [0x1400c9b60], 1
lea r14, [0x140093718]
lea rbx, [0x140093700]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x24], eax
cmp rbx, r14
jae 0x14002dba5
test eax, eax
jne 0x14002dba9
cmp qword [rbx], 0
je 0x14002db9a
mov rax, qword [rbx]
mov rcx, qword [case.0x14000702c.0]
call rcx
mov dword [rsp + 0x24], eax
add rbx, 8
mov qword [rsp + 0x30], rbx
jmp 0x14002db7b
test eax, eax
je 0x14002dbbd
mov eax, 0xff
jmp 0x14002dd12
mov dword [0x1400c9260], 1
mov eax, dword [0x1400c9b60]
cmp eax, 1
jne 0x14002dbe5
lea rdx, [0x1400936f8]
lea rcx, [0x140093508]
call sub.msvcrt.dll__initterm
mov dword [0x1400c9b60], 2
test edi, edi
jne 0x14002dbf2
xor eax, eax
xchg qword [0x1400c9b58], rax
cmp qword [0x1400c9b78], 0
je 0x14002dc26
lea rcx, [0x1400c9b78]
call fcn.14002e580
test eax, eax
je 0x14002dc26
xor r8d, r8d
lea edx, [r8 + 2]
xor ecx, ecx
mov rax, qword [0x1400c9b78]
mov r9, qword [case.0x14000702c.0]
call r9
mov rax, qword [sym.imp.msvcrt.dll__acmdln]
mov rbx, qword [rax]
mov qword [rsp + 0x28], rbx
mov edi, dword [rsp + 0x20]
mov cl, byte [rbx]
cmp cl, 0x20
ja 0x14002dcb1
test cl, cl
je 0x14002dc48
test edi, edi
jne 0x14002dcb1
dec cl
cmp cl, 0x1f
ja 0x14002dc5b
inc rbx
mov qword [rsp + 0x28], rbx
mov cl, byte [rbx]
jmp 0x14002dc48
test byte [rsp + 0x7c], 1
movzx eax, word [rsp + 0x80]
mov r9d, 0xa
cmovne r9d, eax
mov r8, rbx
xor edx, edx
lea rcx, [0x140000000]
call fcn.140024b10
mov dword [0x1400c925c], eax
cmp dword [0x1400c9280], 0
jne 0x14002dc9a
mov ecx, eax
call qword [sym.imp.msvcrt.dll_exit]
cmp dword [0x1400c9260], 0
jne 0x14002dcaf
call qword [sym.imp.msvcrt.dll__cexit]
mov eax, dword [0x1400c925c]
jmp 0x14002dd12
cmp cl, 0x22
jne 0x14002dcc3
xor eax, eax
test edi, edi
sete al
mov edi, eax
mov dword [rsp + 0x20], eax
movzx ecx, cl
call qword [sym.imp.msvcrt.dll__ismbblead]
test eax, eax
je 0x14002dcd8
inc rbx
mov qword [rsp + 0x28], rbx
inc rbx
mov qword [rsp + 0x28], rbx
jmp 0x14002dc39
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop r14
ret
Function at 0x1401863e8
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov edi, r8d
mov rsi, rdx
mov rbp, rcx
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x14018645f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rbx, rax
test rax, rax
je 0x14018645f
mov rdx, rsi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, eax
add rcx, rbx
and edi, 0xf
jbe 0x14018644c
cmp rbx, rcx
jae 0x14018645f
movzx eax, word [rbx]
lea rbx, [rbx + rax*2]
add rbx, 2
add edi, 0xffffffff
jne 0x140186437
cmp rbx, rcx
jae 0x14018645f
movzx eax, word [rbx]
neg ax
sbb rax, rax
and rax, rbx
jmp 0x140186461
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret

Function at 0x1401885bc
Capabilities:
Delete registry key

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x40
cmp qword [rcx], 0
mov rdi, r8
mov rsi, rdx
mov rbx, rcx
je 0x140188623
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140188637
lea rdx, str.RegDeleteKeyTransactedW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140188637
mov rcx, qword [rbx]
xor r9d, r9d
and qword [rsp + 0x28], 0
xor r8d, r8d
mov qword [rsp + 0x20], rcx
mov rdx, rdi
mov rcx, rsi
call qword [case.0x1401ad2be.0]
jmp 0x14018863c
cmp dword [rcx + 8], 0
je 0x140188637
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
jmp 0x14018863c
mov eax, 1
mov rbx, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x40
pop rdi
ret

Function at 0x14018b7b0
Capabilities:
Delete registry key

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
mov rdi, rdx
mov rbx, rcx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14018b7d6
mov r8, rdx
mov rdx, qword [rbx]
call fcn.1401885bc
jmp 0x14018b842
cmp byte [0x1403b82a0], 0
jne 0x14018b81a
lea rcx, str.Advapi32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14018b80a
lea rdx, str.RegDeleteKeyExW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x1403b8298], rax
jmp 0x14018b811
mov rax, qword [0x1403b8298]
mov byte [0x1403b82a0], 1
jmp 0x14018b821
mov rax, qword [0x1403b8298]
mov rdx, rdi
mov rcx, qword [rbx]
test rax, rax
je 0x14018b83b
xor r9d, r9d
mov r8d, dword [rbx + 8]
call qword [case.0x1401ad2be.0]
jmp 0x14018b842
call qword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
nop
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret

Function at 0x14018c138
Capabilities:
Get file size

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
lea rdx, [rsp + 0x34]
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [rsp + 0x30], eax
cmp eax, 0xffffffff
jne 0x14018c163
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x14018c16e
mov rax, qword [rsp + 0x30]
add rsp, 0x20
pop rbx
ret
lea rcx, [rbx + 0x18]
call fcn.14018523c
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov rdx, rbx
call fcn.14019835c
int3
Function at 0x14018c494
Capabilities:
Read file on windows

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
test r8d, r8d
jne 0x14018c4a6
xor eax, eax
jmp 0x14018c4c3
mov rcx, qword [rcx + 8]
lea r9, [rsp + 0x50]
and qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14018c4c9
mov eax, dword [rsp + 0x50]
add rsp, 0x30
pop rbx
ret
lea rcx, [rbx + 0x18]
call fcn.14018523c
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov rdx, rbx
call fcn.14019835c
int3

Function at 0x14018c61c
Capabilities:
Write file on windows

Disassembly:
test r8d, r8d
je 0x14018c65a
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x50]
mov rdi, rcx
mov ebx, r8d
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x14018c65b
cmp dword [rsp + 0x50], ebx
jne 0x14018c678
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
lea rcx, [rdi + 0x18]
call fcn.14018523c
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
mov rdx, rbx
call fcn.14019835c
int3
lea rcx, [rdi + 0x18]
call fcn.14018523c
or edx, 0xffffffff
mov r8, rax
lea ecx, [rdx + 0xe]
call fcn.140197eb8
int3
Function at 0x14018cd98
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x230
mov rax, qword [0x1403b1840]
xor rax, rsp
mov qword [rsp + 0x220], rax
xor ebp, ebp
mov rbx, rdx
mov rdi, rcx
test rcx, rcx
je 0x14018ce53
test rdx, rdx
je 0x14018ce53
mov rcx, rdx
call fcn.14030b934
xor edx, edx
mov word [rsp + 0x20], bp
mov r8d, 0x1fe
lea rcx, [rsp + 0x22]
mov rsi, rax
call fcn.140326a10
mov r8d, pe_nt_image_headers64
cmp rsi, r8
ja 0x14018ce24
lea rdx, [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.USER32.dll_GetWindowTextW]
cmp eax, esi
jne 0x14018ce24
mov rdx, rbx
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x14018ce30
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.USER32.dll_SetWindowTextW]
mov rcx, qword [rsp + 0x220]
xor rcx, rsp
call fcn.140304e10
mov rbx, qword [rsp + 0x260]
add rsp, 0x230
pop rdi
pop rsi
pop rbp
ret
call fcn.140184e88
int3

Function at 0x14018da08
Capabilities:
Get graphical window text

Disassembly:
sub rsp, 0x78
test rdx, rdx
je 0x14018da70
mov r10, qword [rcx + 0x10]
test r10, r10
je 0x14018da5a
cmp qword [rcx + 0x18], 0
jne 0x14018da55
mov eax, dword [rcx + 0xc]
cmp eax, dword [rcx + 0x30]
jae 0x14018da76
mov qword [rsp + 0x58], rdx
lea r9, [rsp + 0x20]
mov dword [rsp + 0x20], 0x50
mov edx, eax
mov dword [rsp + 0x24], 0x40
mov r8d, 1
mov rcx, qword [r10 + 8]
call qword [sym.imp.USER32.dll_SetMenuItemInfoW]
add rsp, 0x78
ret
mov rcx, qword [rcx + 0x20]
test rcx, rcx
je 0x14018da70
mov rcx, qword [rcx + 0x40]
add rsp, 0x78
jmp fcn.14018cd98
call fcn.140184e88
int3
call fcn.140184e88
int3

Function at 0x140190520
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
xor ebx, ebx
mov rdi, rdx
mov rsi, rcx
test rdx, rdx
je 0x14019057e
call fcn.140186fec
mov r8d, 0xf0
mov rdx, rdi
mov rbp, qword [rax + 0x18]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindResourceW]
test rax, rax
je 0x14019057e
mov rdx, rax
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x140190589
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rbx, rax
mov rdx, rbx
mov rcx, rsi
call fcn.14019bf30
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x140190728
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
mov rbx, r8
lea rcx, [0x140331aa0]
mov esi, edx
call fcn.14030b934
mov r8d, eax
lea rdx, [0x140331aa0]
mov rcx, rbx
call fcn.140185bb8
xor ebp, ebp
mov edx, esi
cmp qword [rdi + 0xc8], rbp
jne 0x14019080a
mov rcx, qword [rdi + 0x40]
call qword [sym.imp.USER32.dll_GetDlgItem]
mov rsi, rax
test rax, rax
je 0x140190822
mov rcx, rax
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
movsxd rdi, eax
test eax, eax
js 0x14019083d
mov rcx, qword [rbx]
lea r8d, [rbp + 1]
mov edx, dword [rcx - 0xc]
sub r8d, dword [rcx - 8]
sub edx, edi
or r8d, edx
jge 0x1401907bc
mov edx, edi
mov rcx, rbx
call fcn.140185aac
mov rdx, qword [rbx]
cmp edi, dword [rdx - 0xc]
jg 0x14019083d
mov dword [rdx - 0x10], edi
lea r8d, [rdi + 1]
mov rax, qword [rbx]
mov rcx, rsi
mov word [rax + rdi*2], bp
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov rcx, qword [rbx]
test rcx, rcx
jne 0x1401907e7
mov eax, ebp
jmp 0x1401907f4
movsxd rdx, dword [rcx - 0xc]
call fcn.14030ba60
test eax, eax
js 0x14019083d
mov rcx, qword [rbx]
cmp eax, dword [rcx - 0xc]
jg 0x14019083d
mov dword [rcx - 0x10], eax
mov ecx, eax
mov rax, qword [rbx]
mov word [rax + rcx*2], bp
jmp 0x140190822
mov rcx, rdi
call fcn.140196864
test rax, rax
je 0x140190822
mov rdx, rbx
mov rcx, rax
call fcn.140190cc0
mov rax, qword [rbx]
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov eax, dword [rax - 0x10]
add rsp, 0x20
pop rdi
ret
mov ecx, 0x80070057
call fcn.140184b4c
int3

Function at 0x140190cc0
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rsi, rcx
xor ebp, ebp
mov rcx, qword [rcx + 0xd0]
mov rbx, rdx
test rcx, rcx
jne 0x140190d6f
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
movsxd rdi, eax
test eax, eax
js 0x140190d94
mov rcx, qword [rbx]
lea r8d, [rbp + 1]
mov edx, dword [rcx - 0xc]
sub r8d, dword [rcx - 8]
sub edx, edi
or r8d, edx
jge 0x140190d20
mov edx, edi
mov rcx, rbx
call fcn.140185aac
mov rdx, qword [rbx]
cmp edi, dword [rdx - 0xc]
jg 0x140190d94
mov dword [rdx - 0x10], edi
lea r8d, [rdi + 1]
mov rax, qword [rbx]
mov word [rax + rdi*2], bp
mov rcx, qword [rsi + 0x40]
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov rcx, qword [rbx]
test rcx, rcx
jne 0x140190d4c
mov eax, ebp
jmp 0x140190d59
movsxd rdx, dword [rcx - 0xc]
call fcn.14030ba60
test eax, eax
js 0x140190d94
mov rcx, qword [rbx]
cmp eax, dword [rcx - 0xc]
jg 0x140190d94
mov dword [rcx - 0x10], eax
mov ecx, eax
mov rax, qword [rbx]
mov word [rax + rcx*2], bp
jmp 0x140190d7f
mov rax, qword [rcx]
mov rax, qword [rax + 0x118]
call qword [case.0x1401ad2be.0]
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
mov ecx, 0x80070057
call fcn.140184b4c
int3
Function at 0x140191334
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x20
mov rdi, rdx
mov rbx, rcx
test rcx, rcx
je 0x1401913ed
mov rcx, qword [rcx + 0x40]
test rcx, rcx
je 0x1401913ed
call qword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1401913ed
test rdi, rdi
je 0x1401913ed
xor r14d, r14d
xor esi, esi
call fcn.140186fec
lea r8, str.AFX_DIALOG_LAYOUT
mov rdx, rdi
mov rbp, qword [rax + 0x18]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rdi, rax
test rax, rax
je 0x1401913cd
mov rdx, rax
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov rdx, rdi
mov rcx, rbp
mov r14d, eax
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x1401913ed
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rsi, rax
mov r8d, r14d
mov rdx, rsi
mov rcx, rbx
call fcn.14019cb74
mov edi, eax
test eax, eax
je 0x1401913e9
mov rcx, rbx
call fcn.140190ffc
mov eax, edi
jmp 0x1401913ef
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret

Function at 0x14019236c
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rbp, rcx
mov rbx, r8
mov rcx, qword [rcx + 0x40]
call fcn.14018d0d8
mov rdi, rax
test rax, rax
je 0x1401923e8
mov rcx, rax
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
mov esi, eax
test rbx, rbx
je 0x1401923e3
cmp dword [rbx], 0x40
jb 0x1401923e3
mov rcx, qword [rbp + 0x40]
xor r9d, r9d
or dword [rbx + 4], 1
xor r8d, r8d
or qword [rbx + 0x30], 0xffffffffffffffff
mov edx, 0x87
mov qword [rbx + 8], rcx
mov rcx, rdi
mov qword [rbx + 0x10], rdi
call qword [sym.imp.USER32.dll_SendMessageW]
bt rax, 0xd
jb 0x1401923e3
or dword [rbx + 4], 0x80000002
mov rax, rsi
jmp 0x1401923ec
or rax, 0xffffffffffffffff
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x140196968
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
movsxd rsi, r8d
mov rbx, rdx
mov rdi, rcx
xor ebp, ebp
cmp qword [rcx + 0xd0], rbp
jne 0x1401969a2
mov r8d, esi
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetWindowTextW]
jmp 0x140196a46
call fcn.140187f64
mov rcx, rax
test rax, rax
je 0x140196a61
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x1401ad2be.0]
add rax, 0x18
mov qword [rsp + 0x30], rax
mov rcx, qword [rdi + 0xd0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x30]
mov rax, qword [rax + 0x118]
call qword [case.0x1401ad2be.0]
mov rdx, rsi
or rdi, 0xffffffffffffffff
mov r9, rdi
mov r8, qword [rsp + 0x30]
mov rcx, rbx
call fcn.14030b288
test eax, eax
je 0x140196a0a
cmp eax, 0xc
je 0x140196a5b
cmp eax, 0x50
jne 0x140196a6c
test rbx, rbx
jne 0x140196a13
mov ebx, ebp
jmp 0x140196a1e
mov rcx, rbx
call fcn.14030b934
mov rbx, rax
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov ecx, edi
lock xadd dword [rdx + 0x10], ecx
add ecx, edi
test ecx, ecx
jg 0x140196a44
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x1401ad2be.0]
mov eax, ebx
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
call fcn.140184eac
nop
mov ecx, 0x80004005
call fcn.140184b4c
nop
call fcn.140184e88
int3

Function at 0x14019790c
Capabilities:
Get graphical window text

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x20
mov rdi, r8
mov rbx, rcx
call fcn.140197a4c
xor r14d, r14d
mov esi, 1
mov rbp, rax
mov dword [rbx + 0x14], esi
mov rcx, rax
cmp dword [rbx], r14d
je 0x1401979c1
call qword [sym.imp.USER32.dll_GetWindowTextLengthW]
movsxd rbx, eax
test eax, eax
js 0x1401979e4
mov rcx, qword [rdi]
mov edx, dword [rcx - 0xc]
sub esi, dword [rcx - 8]
sub edx, ebx
or esi, edx
jge 0x140197970
mov edx, ebx
mov rcx, rdi
call fcn.140185aac
mov rdx, qword [rdi]
cmp ebx, dword [rdx - 0xc]
jg 0x1401979e4
mov dword [rdx - 0x10], ebx
lea r8d, [rbx + 1]
mov rax, qword [rdi]
mov rcx, rbp
mov word [rax + rbx*2], r14w
call qword [sym.imp.USER32.dll_GetWindowTextW]
mov rcx, qword [rdi]
test rcx, rcx
jne 0x14019799d
mov eax, r14d
jmp 0x1401979aa
movsxd rdx, dword [rcx - 0xc]
call fcn.14030ba60
test eax, eax
js 0x1401979e4
mov rcx, qword [rdi]
cmp eax, dword [rcx - 0xc]
jg 0x1401979e4
mov dword [rcx - 0x10], eax
mov ecx, eax
mov rax, qword [rdi]
mov word [rax + rcx*2], r14w
jmp 0x1401979c9
mov rdx, qword [rdi]
call fcn.14018cd98
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
mov ecx, 0x80070057
call fcn.140184b4c
int3