joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140255fb0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0xb8
mov rcx, qword [rsp + 0xd0]
add rcx, 0xb0
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0xb0]
mov r8, qword [rsp + 0xd8]
lea rdx, [rsp + 0x30]
call qword [rax + reloc.OLEAUT32.dll_VariantTimeToSystemTime]
mov eax, dword [rax]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x24], 0
jmp 0x14025600f
mov eax, dword [rsp + 0x24]
add eax, 1
mov dword [rsp + 0x24], eax
mov rax, qword [rsp + 0xd0]
mov rax, qword [rax + 0x548]
mov qword [rsp + 0x70], rax
movsxd rax, dword [rsp + 0x24]
cmp rax, qword [rsp + 0x70]
jge 0x140256104
movsxd rax, dword [rsp + 0x24]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0xd0]
add rax, 0x538
mov qword [rsp + 0x80], rax
cmp qword [rsp + 0x88], 0
jl 0x140256096
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x10]
cmp qword [rsp + 0x88], rax
jge 0x140256096
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx + 8]
mov rax, qword [rsp + 0x88]
lea rax, [rcx + rax*8]
mov qword [rsp + 0x78], rax
jmp 0x14025609b
call sub.mfc90u.dll_AfxOleUnregisterServerClass
mov rax, qword [rsp + 0x78]
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x44], 0
lea rdi, [rsp + 0x50]
lea rsi, [rsp + 0x38]
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0xa0], xmm0
mov rdi, qword [rsp + 0x28]
lea rsi, [rsp + 0xa0]
add rdi, 0x34
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
jmp 0x140256004
mov rax, qword [rsp + 0xd0]
mov ecx, dword [rax + 0x10]
add ecx, dword [rsp + 0x20]
mov rax, qword [rsp + 0xd0]
mov dword [rax + 0x18], ecx
lea rdi, [rsp + 0x60]
mov rsi, qword [rsp + 0xd0]
add rsi, 0x10
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x90], xmm0
mov rdi, qword [rsp + 0xd0]
lea rsi, [rsp + 0x90]
add rdi, 0xe4
mov ecx, reloc.WS2_32.dll_recv
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0xd0]
mov dword [rax + 0xa0], 0
mov rax, qword [rsp + 0xd0]
mov dword [rax + AfxOleInit], 0
mov rax, qword [rsp + 0xd0]
mov dword [rax + reloc.mfc90u.dll_AfxOleLockApp], 0
add rsp, 0xb8
pop rdi
pop rsi
ret
Function at 0x1402a0930
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0xae0], 0
jne 0x1402a0981
cmp qword [rsp + 0x60], 0x79
je 0x1402a0970
cmp qword [rsp + 0x60], 0x12
je 0x1402a0970
mov dword [rsp + 0x2c], 0
jmp 0x1402a0978
mov dword [rsp + 0x2c], 1
mov eax, dword [rsp + 0x2c]
jmp 0x1402a0ae0
mov ecx, setsockopt
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1402a09a0
mov dword [rsp + 0x30], 1
jmp 0x1402a09a8
mov dword [rsp + 0x30], 0
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x1402a09cf
mov dword [rsp + 0x34], 1
jmp 0x1402a09d7
mov dword [rsp + 0x34], 0
mov eax, dword [rsp + 0x34]
mov dword [rsp + 0x24], eax
cmp qword [rsp + 0x60], 0x12
je 0x1402a0a0a
cmp qword [rsp + 0x60], 0x79
je 0x1402a0a0a
mov edx, 2
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_KillTimer]
xor eax, eax
jmp 0x1402a0ae0
cmp qword [0x1404e7670], 0
jne 0x1402a0ade
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + reloc.mfc90u.dll_AfxOleLockApp]
and eax, 2
test eax, eax
jne 0x1402a0ade
cmp qword [rsp + 0x60], 0x12
je 0x1402a0a58
cmp qword [rsp + 0x60], 0x79
jne 0x1402a0ade
cmp dword [rsp + 0x20], 0
jne 0x1402a0ade
cmp dword [rsp + 0x24], 0
jne 0x1402a0ade
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call sub.mfc90u.dll_CDaoDatabase::Execute
cmp rax, qword [rsp + 0x50]
jne 0x1402a0a91
mov rax, qword [rsp + 0x68]
and rax, 0x40000000
test rax, rax
jne 0x1402a0a91
cmp qword [rsp + 0x60], 0x79
jne 0x1402a0a91
mov rcx, qword [rsp + 0x58]
call sub.mfc90u.dll_CDHtmlDialog::ResizeBorder
jmp 0x1402a0ad7
cmp qword [rsp + 0x60], 0x79
jne 0x1402a0aa5
mov rcx, qword [rsp + 0x50]
call sub.mfc90u.dll_CDHtmlDialog::ResizeBorder
jmp 0x1402a0ad7
mov rax, qword [rsp + 0x50]
cmp dword [rax + 0xae8], 0
jge 0x1402a0ad7
mov dword [rsp + 0x28], 0xc8
xor r9d, r9d
mov r8d, dword [rsp + 0x28]
mov edx, 2
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_SetTimer]
mov eax, 1
jmp 0x1402a0ae0
xor eax, eax
add rsp, 0x48
ret
Function at 0x1402b3c30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0xa8
mov qword [rsp + 0x88], 0xfffffffffffffffe
mov rax, qword [rsp + 0xb0]
cmp dword [rax + 0x148], 0
je 0x1402b3c95
mov dword [rsp + 0x38], 0
mov dword [rsp + 0x3c], 0
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0xb8]
mov qword [rax], rcx
mov rax, qword [rsp + 0xb8]
jmp 0x1402b3e64
mov rcx, qword [rsp + 0xb0]
add rcx, 0x18
call qword [sym.imp.mfc90u.dll_CStatusBar::GetThisMessageMap]
movzx eax, al
test eax, eax
je 0x1402b3cdb
lea rcx, [rsp + 0x28]
call fcn.14021e3c0
nop
mov rcx, qword [rsp + 0xb0]
add rcx, 0x18
mov edx, 0x4279
call qword [sym.imp.mfc90u.dll_CPreviewDC::GrayStringW]
nop
lea rcx, [rsp + 0x28]
call fcn.14021e420
mov rax, qword [rsp + 0xb0]
cmp qword [rax + 0x140], 0
je 0x1402b3d45
mov rax, qword [rsp + 0xb0]
mov rax, qword [rax + 0x140]
mov rcx, qword [rsp + 0xb0]
mov rcx, qword [rcx + 0x140]
mov rax, qword [rax]
call qword [rax + reloc.mfc90u.dll_CHtmlEditCtrl::CHtmlEditCtrl]
test eax, eax
jne 0x1402b3d45
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x44], 0
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0xb8]
mov qword [rax], rcx
mov rax, qword [rsp + 0xb8]
jmp 0x1402b3e64
call fcn.140001270
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov rax, qword [rax]
mov rcx, qword [rsp + 0x90]
call qword [rax + reloc.mfc90u.dll_CCmdTarget::EnableAggregation]
mov dword [rsp + 0x20], eax
cmp dword [0x1404e667c], 0
je 0x1402b3d8e
cmp dword [0x1404e90a8], 0
jne 0x1402b3d8e
mov dword [rsp + 0x98], 2
jmp 0x1402b3d99
mov dword [rsp + 0x98], 1
mov eax, dword [rsp + 0x98]
mov dword [rsp + 0x24], eax
cmp dword [rsp + 0xd0], 0
je 0x1402b3e05
mov rax, qword [rsp + 0xc8]
mov eax, dword [rax + 4]
mov dword [rsp + 0x7c], eax
lea rcx, [rsp + 0x50]
call fcn.140211dc0
mov ecx, dword [rax]
imul ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
lea eax, [rcx + rax*2]
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x4c], eax
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0xb8]
mov qword [rax], rcx
mov rax, qword [rsp + 0xb8]
jmp 0x1402b3e64
lea rcx, [rsp + 0x60]
call fcn.140211dc0
mov ecx, dword [rax + 4]
imul ecx, dword [rsp + 0x24]
mov eax, dword [rsp + 0x20]
lea eax, [rcx + rax*2]
mov dword [rsp + 0x84], eax
mov rax, qword [rsp + 0xc8]
mov eax, dword [rax]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x58], eax
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0x5c], eax
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0xb8]
mov qword [rax], rcx
mov rax, qword [rsp + 0xb8]
add rsp, 0xa8
ret
Function at 0x1402baba0
Capabilities:
Create process on windows

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rdi
sub rsp, 0x58
mov rcx, qword [rsp + 0x70]
add rcx, 0x28
call qword [sym.imp.mfc90u.dll_CStatusBar::GetThisMessageMap]
movzx eax, al
test eax, eax
je 0x1402babc8
xor eax, eax
jmp 0x1402bac55
call fcn.140001240
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
jne 0x1402babe5
mov qword [rsp + 0x40], 0
jmp 0x1402babf3
mov rax, qword [rsp + 0x38]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x70]
add rcx, 0x18
call qword [sym.imp.mfc90u.dll_CDumpContext::operator___1]
mov rdi, rax
mov rcx, qword [rsp + 0x70]
add rcx, 0x10
call qword [sym.imp.mfc90u.dll_CDumpContext::operator___1]
mov rbx, rax
mov rcx, qword [rsp + 0x70]
add rcx, 0x28
call qword [sym.imp.mfc90u.dll_CDumpContext::operator___1]
mov dword [rsp + 0x28], 1
mov qword [rsp + 0x20], rdi
mov r9, rbx
mov r8, rax
xor edx, edx
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp rax, 0x20
jae 0x1402bac50
xor eax, eax
jmp 0x1402bac55
mov eax, 1
add rsp, 0x58
pop rdi
pop rbx
ret
Function at 0x1402bb690
Capabilities:
Create thread

Disassembly:
mov dword [rsp + 8], ecx
sub rsp, 0x38
mov qword [rsp + 0x28], 0xfffffffffffffffe
cmp dword [0x1404de860], 0
jne 0x1402bb6af
jmp 0x1402bb7c0
cmp dword [0x1404e0fbc], 0xfffffffe
jne 0x1402bb7a2
cmp dword [rsp + 0x40], 0xffffffff
jne 0x1402bb6c8
jmp 0x1402bb7c0
mov eax, dword [0x1404e9118]
and eax, 1
test eax, eax
jne 0x1402bb72b
mov eax, dword [0x1404e9118]
or eax, 1
mov dword [0x1404e9118], eax
xor edx, edx
lea rcx, [0x1404e90e0]
call sub.mfc90u.dll_CSingleDocTemplate::CSingleDocTemplate
nop
lea rax, vtable.CCriticalSection.0
mov qword [0x1404e90e0], rax
lea rcx, [0x1404e90e0]
call fcn.140142a70
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 0
jne 0x1402bb71e
call sub.mfc90u.dll_AfxParseURL
nop
lea rcx, [0x1403f0ad0]
call fcn.1403ade90
nop
lea rcx, [0x1404e90e0]
call fcn.1401403c0
xor r8d, r8d
xor edx, edx
lea rcx, [0x1402bb5f0]
call qword [sym.imp.MSVCR90.dll__beginthread]
mov qword [0x1404e90d8], rax
cmp qword [0x1404e90d8], 0
jbe 0x1402bb784
cmp qword [0x1404e90d8], 0xffffffffffffffff
je 0x1402bb784
mov edx, 0xffffffff
mov rcx, qword [0x1404e90d8]
call qword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov r11d, dword [rsp + 0x40]
mov dword [0x1404e0fbc], r11d
jmp 0x1402bb78f
mov qword [0x1404e90d8], 0
lea rcx, [0x1404e90e0]
add rcx, 0x10
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1402bb7c0
mov eax, dword [rsp + 0x40]
mov dword [0x1404e0fbc], eax
cmp dword [0x1404e0fbc], 0xffffffff
jne 0x1402bb7c0
mov qword [0x1404e90d8], 0
add rsp, 0x38
ret
Function at 0x1402f9170
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x98
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov rcx, qword [rsp + 0xa0]
call qword [0x1403f4428]
nop
xor edx, edx
xor ecx, ecx
call qword [sym.imp.MSVCR90.dll__wsetlocale]
mov rdx, rax
lea rcx, [rsp + 0x38]
call qword [0x1403f4480]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x78], rax
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0xa0]
call qword [sym.imp.mfc90u.dll_CToolBarCtrl::CToolBarCtrl]
nop
lea rcx, [rsp + 0x38]
call qword [sym.imp.mfc90u.dll_CView::CView]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1001
mov ecx, reloc.mfc90u.dll_CDHtmlControlSink::AddRef
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
add eax, 1
movsxd rcx, eax
mov eax, 2
mul rcx
mov rcx, rax
mov rax, 0xffffffffffffffff
cmovo rcx, rax
call sub.mfc90u.dll_new__
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rax
movsxd rdx, dword [rsp + 0x28]
xor ecx, ecx
mov rax, qword [rsp + 0x30]
mov word [rax + rdx*2], cx
mov r9d, dword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov edx, 0x1001
mov ecx, reloc.mfc90u.dll_CDHtmlControlSink::AddRef
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov dword [rsp + 0x28], eax
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x48]
call qword [0x1403f4480]
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x88], rax
lea r8, [0x1403ffbb8]
mov rdx, qword [rsp + 0x88]
lea rcx, [rsp + 0x20]
call fcn.140002470
nop
lea rcx, [rsp + 0x48]
call qword [sym.imp.mfc90u.dll_CView::CView]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x50]
call sub.mfc90u.dll_delete__
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1002
mov ecx, reloc.mfc90u.dll_CDHtmlControlSink::AddRef
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x28]
add eax, 1
movsxd rcx, eax
mov eax, 2
mul rcx
mov rcx, rax
mov rax, 0xffffffffffffffff
cmovo rcx, rax
call sub.mfc90u.dll_new__
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x30], rax
movsxd rdx, dword [rsp + 0x28]
xor ecx, ecx
mov rax, qword [rsp + 0x30]
mov word [rax + rdx*2], cx
mov r9d, dword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov edx, 0x1002
mov ecx, reloc.mfc90u.dll_CDHtmlControlSink::AddRef
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov dword [rsp + 0x28], eax
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc90u.dll_COleCurrency::operator_]
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x60]
call sub.mfc90u.dll_delete__
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc90u.dll_CDumpContext::operator___1]
mov rdx, rax
xor ecx, ecx
call qword [sym.imp.MSVCR90.dll__wsetlocale]
nop
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc90u.dll_CView::CView]
nop
mov rax, qword [rsp + 0xa0]
add rsp, 0x98
ret
Function at 0x140300e70
Capabilities:
Log keystrokes via polling

Disassembly:
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x58
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x1418], 0
jne 0x140300ea0
mov rax, qword [rsp + 0x60]
cmp qword [rax + reloc.mfc90u.dll_CToolBar::OnNcPaint], 0
je 0x140300ee7
cmp dword [rsp + 0x68], 0x1b
jne 0x140300ee7
mov rcx, qword [rsp + 0x60]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call sub.mfc90u.dll_CDaoDatabase::Execute
mov qword [rsp + 0x30], rax
xor r9d, r9d
xor r8d, r8d
mov edx, reloc.WS2_32.dll_recv
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x140300fe3
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x10d0]
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
je 0x140300fe1
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x40], rax
cmp qword [rsp + 0x40], 0
jne 0x140300f25
call sub.mfc90u.dll_AfxOleUnregisterServerClass
mov rax, qword [rsp + 0x40]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x40]
add rax, 0x10
mov qword [rsp + 0x48], rax
call fcn.1402fc1a0
mov rdx, qword [rsp + 0x48]
mov rdx, qword [rdx]
mov rcx, rax
call sub.mfc90u.dll_AfxCheckError
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 0
je 0x140300fdc
mov rcx, qword [rsp + 0x28]
mov eax, dword [rsp + 0x70]
cmp dword [rcx + 0xa8], eax
jne 0x140300fdc
mov rcx, qword [rsp + 0x28]
mov eax, dword [rsp + 0x68]
cmp dword [rcx + 0x98], eax
je 0x140300f95
mov rcx, qword [rsp + 0x28]
mov eax, dword [rsp + 0x68]
cmp dword [rcx + 0x9c], eax
jne 0x140300fdc
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0xac], 0
je 0x140300fbd
mov ecx, setsockopt
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
jne 0x140300fbd
jmp 0x140300f02
mov rax, qword [rsp + 0x60]
mov rax, qword [rax]
mov rdx, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x60]
call qword [rax + CDHtmlDialog::DDX_DHtml_CheckBox]
mov eax, 1
jmp 0x140300fe3
jmp 0x140300f02
xor eax, eax
add rsp, 0x58
ret
Function at 0x140306440
Capabilities:
Log keystrokes via polling

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x78
mov qword [rsp + 0x60], 0xfffffffffffffffe
cmp dword [rsp + 0x88], 0x79
jne 0x140306475
mov ecx, reloc.WS2_32.dll_recv
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
jne 0x14030647f
cmp dword [rsp + 0x88], 0x5d
jne 0x1403064b3
mov dword [rsp + 0x40], 0xffffffff
mov dword [rsp + 0x44], 0xffffffff
mov r8, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x80]
call fcn.1403065d0
mov eax, 1
jmp 0x1403065c4
mov edx, dword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx + 0x1400]
call fcn.14029f260
test eax, eax
je 0x1403064dc
mov eax, 1
jmp 0x1403065c4
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0x13e0], 0
je 0x14030654f
lea rcx, [rsp + 0x20]
call fcn.14029f600
nop
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x13e0]
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx + 0x13e0]
mov rax, qword [rax]
mov edx, dword [rsp + 0x88]
call qword [rax + 0x80]
mov dword [rsp + 0x48], eax
lea rax, vtable.CBCGPDisableMenuAnimation.0
mov qword [rsp + 0x20], rax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x54]
mov dword [0x1404e766c], eax
mov eax, dword [rsp + 0x48]
jmp 0x1403065c4
mov rax, qword [rsp + 0x80]
cmp qword [rax + 0x13e8], 0
je 0x1403065c2
lea rcx, [rsp + 0x30]
call fcn.14029f600
nop
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x13e8]
mov rcx, qword [rsp + 0x80]
mov rcx, qword [rcx + 0x13e8]
mov rax, qword [rax]
mov edx, dword [rsp + 0x88]
call qword [rax + 0xa0]
mov dword [rsp + 0x4c], eax
lea rax, vtable.CBCGPDisableMenuAnimation.0
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x38]
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x5c]
mov dword [0x1404e766c], eax
mov eax, dword [rsp + 0x4c]
jmp 0x1403065c4
xor eax, eax
add rsp, 0x78
ret
Function at 0x14030a7c0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov rax, qword [rsp + 0x58]
cmp dword [rax + 8], 0x100
jne 0x14030a9d7
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x28], rax
cmp qword [rsp + 0x28], 9
je 0x14030a807
cmp qword [rsp + 0x28], 0x1b
je 0x14030a893
jmp 0x14030a8be
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call sub.mfc90u.dll_CDaoDatabase::Execute
test rax, rax
je 0x14030a891
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetParent]
mov rcx, rax
call sub.mfc90u.dll_CDaoDatabase::Execute
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x50], 0
jne 0x14030a852
mov qword [rsp + 0x30], 0
jmp 0x14030a860
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x30], rax
xor r8d, r8d
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x20]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetNextDlgTabItem]
mov rcx, rax
call sub.mfc90u.dll_CDaoDatabase::Execute
mov rcx, rax
call sub.mfc90u.dll_CDHtmlDialog::ResizeBorder
mov eax, 1
jmp 0x14030a9e6
jmp 0x14030a8be
mov rcx, qword [rsp + 0x50]
call sub.mfc90u.dll_CDialog::GetThisClass
test rax, rax
je 0x14030a8be
mov rcx, qword [rsp + 0x50]
call sub.mfc90u.dll_CDialog::GetThisClass
mov rcx, rax
call sub.mfc90u.dll_CDHtmlDialog::ResizeBorder
mov eax, 1
jmp 0x14030a9e6
call qword [sym.imp.USER32.dll_GetFocus]
mov rcx, rax
call sub.mfc90u.dll_CDaoDatabase::Execute
cmp rax, qword [rsp + 0x50]
jne 0x14030a9d7
mov ecx, setsockopt
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x14030a9d7
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0x2e
je 0x14030a9b6
cmp qword [rsp + 0x38], 0x43
je 0x14030a953
cmp qword [rsp + 0x38], 0x56
je 0x14030a92f
cmp qword [rsp + 0x38], 0x58
je 0x14030a974
cmp qword [rsp + 0x38], 0x5a
je 0x14030a995
jmp 0x14030a9d7
xor r9d, r9d
xor r8d, r8d
mov edx, reloc.mfc90u.dll_CSharedFile::CSharedFile
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x14030a9e6
xor r9d, r9d
xor r8d, r8d
mov edx, reloc.mfc90u.dll_CSemaphore::CSemaphore
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x14030a9e6
xor r9d, r9d
xor r8d, r8d
mov edx, reloc.mfc90u.dll_CScrollView::CScrollView
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x14030a9e6
xor r9d, r9d
xor r8d, r8d
mov edx, 0xc7
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x14030a9e6
xor r9d, r9d
xor r8d, r8d
mov edx, reloc.mfc90u.dll_CSingleDocTemplate::CSingleDocTemplate
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_SendMessageW]
mov eax, 1
jmp 0x14030a9e6
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
call fcn.140299c60
add rsp, 0x48
ret
Function at 0x14032eae0
Capabilities:
Get geographical location

Disassembly:
sub rsp, 0x38
mov r9d, 2
lea r8, [rsp + 0x20]
mov edx, 0x23
mov ecx, reloc.mfc90u.dll_CDHtmlControlSink::AddRef
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
movzx r11d, word [rsp + 0x20]
cmp r11d, 0x31
jne 0x14032eb15
mov dword [rsp + 0x24], 1
jmp 0x14032eb1d
mov dword [rsp + 0x24], 0
mov eax, dword [rsp + 0x24]
add rsp, 0x38
ret

Function at 0x14032eb30
Capabilities:
Get geographical location

Disassembly:
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov dword [rsp + 0x28], 0
lea rcx, [rsp + 0x20]
call qword [0x1403f4428]
nop
cmp dword [rsp + 0x58], 0
je 0x14032eb6b
mov dword [rsp + 0x38], 0x28
jmp 0x14032eb73
mov dword [rsp + 0x38], 0x29
mov edx, 0xa
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc90u.dll_CStdioFile::Flush]
mov r9d, 0xa
mov r8, rax
mov edx, dword [rsp + 0x38]
mov ecx, reloc.mfc90u.dll_CDHtmlControlSink::AddRef
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov edx, 0xffffffff
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc90u.dll_CDataPathProperty::Open]
lea rdx, [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
mov eax, dword [rsp + 0x28]
or eax, 1
mov dword [rsp + 0x28], eax
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc90u.dll_CView::CView]
mov rax, qword [rsp + 0x50]
add rsp, 0x48
ret

Function at 0x14032ebe0
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x48
mov qword [rsp + 0x30], 0xfffffffffffffffe
mov dword [rsp + 0x28], 0
lea rcx, [rsp + 0x20]
call qword [0x1403f4428]
nop
mov edx, 0xa
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc90u.dll_CStdioFile::Flush]
mov r9d, 0xa
mov r8, rax
mov edx, 0x1e
mov ecx, reloc.mfc90u.dll_CDHtmlControlSink::AddRef
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov edx, 0xffffffff
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc90u.dll_CDataPathProperty::Open]
lea rdx, [rsp + 0x20]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.mfc90u.dll_ATL::CStringT_wchar_t_class_StrTraitMFC_DLL_wchar_t_class_ATL::ChTraitsCRT_wchar_t_____::CStringT_wchar_t_class]
mov eax, dword [rsp + 0x28]
or eax, 1
mov dword [rsp + 0x28], eax
lea rcx, [rsp + 0x20]
call qword [sym.imp.mfc90u.dll_CView::CView]
mov rax, qword [rsp + 0x50]
add rsp, 0x48
ret

Function at 0x14032ec70
Capabilities:
Get geographical location

Disassembly:
sub rsp, 0x38
mov r9d, 2
lea r8, [rsp + 0x20]
mov edx, 0x21
mov ecx, reloc.mfc90u.dll_CDHtmlControlSink::AddRef
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
movzx r11d, word [rsp + 0x20]
cmp r11d, 0x31
jne 0x14032eca5
mov dword [rsp + 0x24], 1
jmp 0x14032ecad
mov dword [rsp + 0x24], 0
mov eax, dword [rsp + 0x24]
add rsp, 0x38
ret