joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1050733
Capabilities:
Set registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x408
mov eax, dword [0x1080bec]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 0x14]
push edx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ecx
push eax
push 0x1647
call fcn.0106bcca
push eax
lea eax, [ebp - 0x408]
push 0x1005a34
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
push esi
call dword [sym.imp.msvcrt.dll_wcslen]
add esp, 0x1c
push eax
push esi
push 1
lea eax, [ebp - 0x408]
push eax
push Ordinal_4
call dword [sym.imp.ADVAPI32.dll_RegSetValueW]
mov ecx, dword [ebp - 4]
neg eax
sbb eax, eax
inc eax
pop esi
call fcn.01070ac3
leave
ret 0x10

Function at 0x10507aa
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x80c
mov eax, dword [0x1080bec]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
and dword [ebp - 0x808], 0
push ebx
push esi
mov esi, dword [ebp + 0x14]
push edi
push edx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ecx
push eax
mov dword [ebp - 0x80c], esi
mov esi, dword [ebp + 0x18]
push 0x1647
call fcn.0106bcca
push eax
lea eax, [ebp - 0x804]
push 0x1005a34
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [ebp - 0x804]
push eax
push 0x1005a90
call fcn.01072741
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueW]
add esp, 0x20
lea eax, [ebp - 0x808]
push eax
push 0
lea eax, [ebp - 0x804]
push eax
mov ebx, Ordinal_4
push ebx
call edi
test eax, eax
je 0x105084e
push eax
lea eax, [ebp - 0x804]
push eax
push 0x1005a64
call fcn.01072741
add esp, 0xc
and dword [esi], 0
xor eax, eax
jmp 0x10508ad
mov eax, dword [ebp - 0x808]
cmp eax, dword [esi]
jle 0x105085c
mov dword [esi], eax
jmp 0x105084a
and dword [esi], 0
lea eax, [ebp - 0x808]
push eax
push dword [ebp - 0x80c]
lea eax, [ebp - 0x804]
push eax
push ebx
call edi
test eax, eax
je 0x1050891
push eax
lea eax, [ebp - 0x804]
push eax
push 0x1005a64
call fcn.01072741
add esp, 0xc
jmp 0x105084a
push dword [ebp - 0x80c]
push dword [ebp - 0x808]
push 0x1005a4c
call fcn.01072741
xor eax, eax
add esp, 0xc
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01070ac3
leave
ret 0x14
Function at 0x10508c1
Capabilities:
Query or enumerate registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x80c
mov eax, dword [0x1080bec]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 0x18]
cmp ebx, 0x400
push esi
mov esi, dword [ebp + 0x14]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x80c], esi
mov dword [ebp - 0x808], ebx
jbe 0x10508fd
xor eax, eax
jmp 0x105096c
push edi
push edx
push ecx
push eax
push 0x1647
call fcn.0106bcca
push eax
lea eax, [ebp - 0x804]
push 0x1005a34
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueW]
add esp, 0x18
lea eax, [ebp - 0x808]
push eax
push 0
lea eax, [ebp - 0x804]
push eax
mov edi, Ordinal_4
push edi
call esi
test eax, eax
je 0x1050947
xor eax, eax
jmp 0x105096b
cmp dword [ebp - 0x808], ebx
jg 0x1050943
lea eax, [ebp - 0x808]
push eax
push dword [ebp - 0x80c]
lea eax, [ebp - 0x804]
push eax
push edi
call esi
neg eax
sbb eax, eax
inc eax
pop edi
mov ecx, dword [ebp - 4]
pop esi
pop ebx
call fcn.01070ac3
leave
ret 0x14

Function at 0x105097f
Capabilities:
Delete registry key

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x408
mov eax, dword [0x1080bec]
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push edx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ecx
push eax
push 0x1647
call fcn.0106bcca
push eax
lea eax, [ebp - 0x408]
push 0x1005a34
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
lea eax, [ebp - 0x408]
push eax
push Ordinal_4
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyW]
mov ecx, dword [ebp - 4]
neg eax
sbb eax, eax
inc eax
call fcn.01070ac3
leave
ret 0xc
Function at 0x1052b25
Capabilities:
Read .ini file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1074
call fcn.010720e0
mov eax, dword [0x1080bec]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
push ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
test eax, eax
push esi
push edi
mov dword [ebp - 0x1070], ecx
mov dword [ebp - 0x106c], edx
je 0x1052cbf
test ecx, ecx
je 0x1052cbf
mov edi, dword [eax + 0xc]
test edi, edi
mov dword [ebp - 0x1074], edi
je 0x1052cbf
push ecx
push 0x400
lea eax, [ebp - 0x868]
push eax
push 0x1002088
push 0
mov esi, 0x1005acc
push esi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x1052bec
cmp word [ebp - 0x868], 0
lea ebx, [ebp - 0x868]
je 0x1052bec
mov edi, 0x1005b18
push edi
call dword [sym.imp.msvcrt.dll_wcslen]
push eax
push edi
push ebx
call dword [sym.imp.msvcrt.dll_wcsncmp]
add esp, 0x10
test eax, eax
jne 0x1052bd4
push dword [ebp - 0x1070]
push eax
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
push ebx
call dword [sym.imp.msvcrt.dll_wcslen]
lea ebx, [ebx + eax*2 + 2]
cmp word [ebx], 0
pop ecx
jne 0x1052ba9
mov edi, dword [ebp - 0x1074]
push dword [ebp - 0x1070]
push dword [ebp - 0x106c]
push 0x1005adc
push esi
call fcn.0106cc01
test eax, eax
jne 0x1052cc2
push dword [ebp - 0x1070]
mov ebx, dword [sym.imp.msvcrt.dll__itow]
push 0xa
lea eax, [ebp - 0x1068]
push eax
push dword [edi]
call ebx
add esp, 0xc
push eax
push 0x1005b0c
push esi
call fcn.0106cc01
test eax, eax
jne 0x1052cc2
and dword [ebp - 0x106c], eax
cmp dword [edi], eax
jle 0x1052cbb
xor edi, edi
lea eax, [ebp - 0x68]
push 0x1005b18
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
push 0xa
lea eax, [ebp - 0x1068]
push eax
lea eax, [edi + 1]
push eax
call ebx
push eax
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.msvcrt.dll_wcscat]
add esp, 0x1c
lea eax, [ebp - 0x868]
push eax
mov eax, dword [ebp - 0x1074]
push dword [eax + edi*4 + 4]
call fcn.010514d3
push dword [ebp - 0x1070]
lea eax, [ebp - 0x868]
push eax
lea eax, [ebp - 0x68]
push eax
push esi
call fcn.0106cc01
test eax, eax
jne 0x1052cc2
inc dword [ebp - 0x106c]
movzx edi, word [ebp - 0x106c]
mov eax, dword [ebp - 0x1074]
cmp edi, dword [eax]
jl 0x1052c47
xor eax, eax
jmp 0x1052cc2
push 0x4c
pop eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01070ac3
leave
ret 0xc
Function at 0x105381f
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [ebp + 0xc]
push ebx
xor ebx, ebx
cmp word [ebp + 0x10], 0xffff
push esi
mov dword [ebp - 4], eax
mov dword [ebp + 0xc], ebx
je 0x105385d
movsx eax, word [ebp + 0x10]
push ebx
push eax
push 0x199
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp + 0xc], eax
movsx eax, word [eax + 4]
inc ax
mov dword [ebp - 0xc], eax
jmp 0x1053863
mov dword [ebp + 0x10], eax
mov dword [ebp - 0xc], ebx
push 0x164d
call fcn.0106bcca
push eax
call dword [sym.imp.USER32.dll_RegisterClipboardFormatW]
mov esi, eax
cmp esi, ebx
je 0x10538a3
push esi
call dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
je 0x10538a3
push ebx
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x10538a3
push esi
call dword [sym.imp.USER32.dll_GetClipboardData]
mov esi, eax
cmp esi, ebx
jne 0x10538aa
call dword [sym.imp.USER32.dll_CloseClipboard]
xor eax, eax
jmp 0x1053971
push edi
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov edi, eax
cmp edi, ebx
jne 0x10538c5
call dword [sym.imp.USER32.dll_CloseClipboard]
xor eax, eax
jmp 0x1053970
push esi
call dword [sym.imp.KERNEL32.dll_GlobalSize]
push eax
call sub.NMSUPP.dll_AllocMemory
mov ebx, eax
test ebx, ebx
mov dword [ebp - 0x10], ebx
jne 0x10538e4
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
jmp 0x10538b8
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call dword [sym.imp.USER32.dll_CloseClipboard]
push 9
mov edi, ebx
push ebx
mov ebx, dword [sym.imp.msvcrt.dll_wcschr]
call ebx
mov esi, eax
test esi, esi
pop ecx
pop ecx
je 0x1053914
and word [esi], 0
inc esi
inc esi
push dword [ebp + 0x14]
and dword [ebp - 8], 0
push edi
lea eax, [ebp - 8]
push eax
call fcn.01052dac
test eax, eax
je 0x105394c
push dword [ebp - 4]
mov edi, dword [ebp - 8]
mov ax, word [ebp - 0xc]
add word [edi + 4], ax
push edi
push dword [ebp + 8]
call fcn.010524af
inc dword [ebp - 4]
cmp dword [ebp + 0xc], 0
jne 0x105394c
mov dword [ebp + 0xc], edi
test esi, esi
mov edi, esi
je 0x1053957
push 9
push esi
jmp 0x1053904
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.010523f9
push dword [ebp - 0x10]
call sub.NMSUPP.dll_FreeMemory
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 0x10
Function at 0x1053c7d
Capabilities:
Read .ini file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x1084
call fcn.010720e0
mov eax, dword [0x1080bec]
mov ecx, dword [ebp + 0xc]
and dword [ebp - 0x107c], 0
push ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
test eax, eax
push esi
push edi
mov dword [ebp - 0x1080], eax
mov dword [ebp - 0x1084], ecx
je 0x1053e51
test ecx, ecx
je 0x1053e51
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push eax
push 0x400
lea eax, [ebp - 0x868]
push eax
mov ebx, 0x1002088
push ebx
push 0x1005b0c
mov edi, 0x1005acc
push edi
call esi
test eax, eax
je 0x1053e51
lea eax, [ebp - 0x868]
push eax
call dword [sym.imp.msvcrt.dll__wtoi]
test eax, eax
pop ecx
mov dword [ebp - 0x1070], eax
jne 0x1053d22
lea eax, [ebp - 0x868]
push 0x1005b28
push eax
call dword [sym.imp.msvcrt.dll_wcscmp]
test eax, eax
pop ecx
pop ecx
jne 0x1053e51
push dword [ebp - 0x1070]
push 0
call fcn.01052690
test eax, eax
mov dword [ebp - 0x1078], eax
je 0x1053e51
mov ecx, dword [ebp - 0x1070]
and dword [ebp - 0x106c], 0
test ecx, ecx
mov dword [eax], ecx
jbe 0x1053df4
add eax, 4
mov dword [ebp - 0x1074], eax
lea eax, [ebp - 0x68]
push 0x1005b18
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
mov eax, dword [ebp - 0x106c]
push 0xa
lea ecx, [ebp - 0x1068]
inc eax
push ecx
push eax
mov dword [ebp - 0x106c], eax
call dword [sym.imp.msvcrt.dll__itow]
push eax
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.msvcrt.dll_wcscat]
add esp, 0x1c
push dword [ebp - 0x1080]
lea eax, [ebp - 0x868]
push 0x400
push eax
push ebx
lea eax, [ebp - 0x68]
push eax
push edi
call esi
test eax, eax
je 0x1053e46
push dword [ebp - 0x1084]
lea eax, [ebp - 0x868]
push eax
push dword [ebp - 0x1074]
call fcn.01052dac
test eax, eax
je 0x1053e46
mov eax, dword [ebp - 0x106c]
add dword [ebp - 0x1074], 4
cmp eax, dword [ebp - 0x1070]
mov dword [ebp - 0x106c], eax
jb 0x1053d5d
lea eax, [ebp - 0x68]
push 0x1005b18
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
push 0xa
lea eax, [ebp - 0x1068]
push eax
mov eax, dword [ebp - 0x1070]
inc eax
push eax
call dword [sym.imp.msvcrt.dll__itow]
push eax
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.msvcrt.dll_wcscat]
add esp, 0x1c
push dword [ebp - 0x1080]
lea eax, [ebp - 0x868]
push 0x400
push eax
push ebx
lea eax, [ebp - 0x68]
push eax
push edi
call esi
test eax, eax
je 0x1053e62
push dword [ebp - 0x1078]
call fcn.0105270a
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01070ac3
leave
ret 8
push dword [ebp - 0x1078]
lea eax, [ebp - 0x107c]
push eax
call fcn.010527b6
mov eax, dword [ebp - 0x107c]
jmp 0x1053e53
Function at 0x1053fb7
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x818
mov eax, dword [0x1080bec]
and dword [ebp - 0x808], 0
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push edi
mov edi, dword [ebp + 8]
push 4
push 8
mov dword [ebp - 4], eax
mov dword [ebp - 0x818], edi
mov dword [ebp - 0x810], ebx
call esi
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
mov dword [ebp - 0x80c], eax
je 0x1054156
movsx eax, bx
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push eax
push 0x199
push edi
call ebx
cmp eax, 0xffffffff
je 0x1054156
mov cx, word [eax + 4]
mov word [ebp - 0x814], cx
push eax
call fcn.0105397c
test eax, eax
mov dword [ebp - 0x808], eax
je 0x1054156
mov cx, word [ebp - 0x814]
sub word [eax + 4], cx
lea ecx, [ebp - 0x804]
push ecx
push eax
call fcn.010514d3
test eax, eax
je 0x1054156
push dword [ebp - 0x808]
call fcn.010524e0
and dword [ebp - 0x808], 0
lea eax, [ebp - 0x804]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
push dword [ebp - 0x80c]
lea edi, [eax + eax + 2]
push 0
call esi
push eax
call dword [sym.imp.KERNEL32.dll_HeapSize]
add edi, eax
push edi
push dword [ebp - 0x80c]
push 8
call esi
push eax
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov edi, eax
test edi, edi
je 0x1054156
push edi
mov dword [ebp - 0x80c], edi
call dword [sym.imp.msvcrt.dll_wcslen]
test eax, eax
pop ecx
jbe 0x10540d6
push 0x1004988
push edi
call dword [sym.imp.msvcrt.dll_wcscat]
pop ecx
pop ecx
lea eax, [ebp - 0x804]
push eax
push edi
call dword [sym.imp.msvcrt.dll_wcscat]
inc dword [ebp - 0x810]
movsx eax, word [ebp - 0x810]
pop ecx
pop ecx
push 0
push eax
push 0x199
push dword [ebp - 0x818]
call ebx
cmp eax, 0xffffffff
je 0x105411d
test eax, eax
je 0x105411d
mov cx, word [ebp - 0x814]
cmp word [eax + 4], cx
jg 0x105402f
push 0x164d
call fcn.0106bcca
push eax
call dword [sym.imp.USER32.dll_RegisterClipboardFormatW]
mov ebx, eax
test ebx, ebx
je 0x1054156
push 0
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x1054156
call dword [sym.imp.USER32.dll_EmptyClipboard]
test eax, eax
je 0x1054156
push edi
push ebx
call dword [sym.imp.USER32.dll_SetClipboardData]
test eax, eax
jne 0x1054176
push dword [ebp - 0x808]
call fcn.010524e0
push dword [ebp - 0x80c]
push 0
call esi
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
xor esi, esi
jmp 0x1054179
xor esi, esi
inc esi
call dword [sym.imp.USER32.dll_CloseClipboard]
mov ecx, dword [ebp - 4]
pop edi
mov eax, esi
pop esi
pop ebx
call fcn.01070ac3
leave
ret 8
Function at 0x1054aa9
Capabilities:
Get graphical window text

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x1080bec]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push edi
push 0x7d4
push ebx
mov dword [ebp - 4], eax
call esi
push 0x7d5
push ebx
mov dword [ebp - 0x210], eax
call esi
mov esi, dword [sym.imp.USER32.dll_GetWindowTextW]
mov dword [ebp - 0x214], eax
mov edi, 0x104
push edi
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x210]
call esi
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.msvcrt.dll__wtol]
cmp eax, 1
pop ecx
jae 0x1054b25
push 0x1402
call fcn.0106bcca
push eax
push ebx
call fcn.0106bdb1
jmp 0x1054b4c
cmp eax, dword [0x10812a4]
jbe 0x1054b57
push 0x10
push 0x1389
call fcn.0106bcca
push eax
push 0x8022
call fcn.0106bcca
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxW]
push dword [ebp - 0x210]
jmp 0x1054bd8
mov ecx, dword [0x108129c]
mov dword [ecx], eax
push edi
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x214]
call esi
push 0x1401
call fcn.0106bcca
push eax
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
pop ecx
pop ecx
jne 0x1054b94
mov eax, 0xffff
jmp 0x1054bae
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.msvcrt.dll__wtol]
cmp eax, 0x20
pop ecx
jb 0x1054bc1
cmp eax, 0xffff
ja 0x1054bc1
mov ecx, dword [0x10812a0]
push 1
push ebx
mov dword [ecx], eax
call dword [sym.imp.USER32.dll_EndDialog]
jmp 0x1054bde
push 0x1406
call fcn.0106bcca
push eax
push ebx
call fcn.0106bdb1
push dword [ebp - 0x214]
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01070ac3
leave
ret 0x10

Function at 0x105593e
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push 0x3a8
call sub.NMSUPP.dll_AllocMemory
mov esi, eax
xor ebx, ebx
cmp esi, ebx
je 0x1055a23
or word [esi], 0xffff
and byte [esi + 4], 0xf9
and word [esi + 0x8c], 0xe000
push 6
pop eax
mov dword [esi + 5], eax
mov dword [esi + 0x1b], eax
mov dword [esi + 0x258], ebx
mov byte [esi + 0x25d], bl
mov word [esi + 0x269], bx
mov word [esi + 0x26b], bx
mov dword [esi + 0x27d], ebx
mov word [esi + 2], 1
movzx eax, word [0x1085d5c]
shl eax, 2
push eax
call sub.NMSUPP.dll_AllocMemory
cmp eax, ebx
mov dword [esi + 0x90], eax
jne 0x10559c5
push 0x13
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call fcn.0106bdff
cmp word [0x1085d5c], bx
mov edx, 0x10837a0
mov dword [ebp - 4], ebx
jbe 0x1055a1f
mov ecx, 0x1fff
push edi
mov ebx, dword [edx]
mov edi, dword [esi + 0x90]
xor eax, eax
mov ax, word [esi + 0x8c]
add edx, 4
and eax, ecx
mov dword [edi + eax*4], ebx
xor eax, eax
mov ax, word [esi + 0x8c]
lea edi, [eax + 1]
xor edi, eax
and di, cx
xor edi, eax
inc dword [ebp - 4]
mov word [esi + 0x8c], di
movzx eax, word [0x1085d5c]
cmp dword [ebp - 4], eax
jl 0x10559dc
pop edi
mov eax, esi
jmp 0x1055a33
push 0x13
call dword [sym.imp.USER32.dll_GetFocus]
push eax
call fcn.0106bdff
xor eax, eax
pop esi
pop ebx
leave
ret
Function at 0x1056831
Capabilities:
Get graphical window text

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x240
mov eax, dword [0x1080bec]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push 0x8b
push esi
mov dword [ebp - 4], eax
call dword [sym.imp.USER32.dll_GetDlgItem]
push esi
push dword [0x1085d10]
mov ebx, eax
call fcn.0106be8a
cmp dword [0x10812c0], 0
jne 0x10568a9
push 0xfe
lea eax, [ebp - 0x204]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowTextW]
push 0x40
push 0x1389
call fcn.0106bcca
push eax
push 0x1433
call fcn.0106bcca
push eax
push esi
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [0x10812c0], 1
push dword [0x10812a8]
push esi
call fcn.010552ca
push esi
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
test edi, edi
je 0x10568fd
lea eax, [ebp - 0x240]
push eax
push edi
call dword [sym.imp.GDI32.dll_GetTextMetricsW]
push edi
push esi
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [ebp - 0x228]
imul eax, eax, 0x104
push 0
push eax
push 0x194
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
push ebx
call dword [sym.imp.USER32.dll_SetFocus]
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01070ac3
leave
ret 0xc
Function at 0x10574d1
Capabilities:
Delete file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x580
mov eax, dword [0x1080bec]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push 0x8b
push esi
mov dword [ebp - 4], eax
mov dword [ebp - 0x528], esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push 0x41
pop ecx
xor eax, eax
xor ebx, ebx
lea edi, [ebp - 0x10c]
push 0x140f
mov word [ebp - 0x110], bx
rep stosd dword es:[edi], eax
call fcn.0106bcca
push eax
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
mov word [ebp + eax*2 - 0x10a], 0x2a
add esp, 0xc
inc eax
inc eax
mov word [ebp + eax*2 - 0x10c], 0x2e
lea eax, [eax + eax + 2]
mov word [ebp + eax - 0x10c], 0x63
mov word [ebp + eax - 0x10a], 0x66
lea eax, [ebp - 0x10c]
mov dword [ebp - 0x574], eax
lea eax, [ebp - 0x318]
mov dword [ebp - 0x564], eax
mov edi, 0x104
lea eax, [ebp - 0x524]
push 0x1410
mov word [ebp - 0x318], bx
mov word [ebp - 0x524], bx
mov dword [ebp - 0x580], 0x58
mov dword [ebp - 0x57c], esi
mov dword [ebp - 0x570], ebx
mov dword [ebp - 0x56c], ebx
mov dword [ebp - 0x568], ebx
mov dword [ebp - 0x560], edi
mov dword [ebp - 0x554], 0x1084c98
mov dword [ebp - 0x55c], eax
mov dword [ebp - 0x558], edi
call fcn.0106bcca
push 0x1411
mov dword [ebp - 0x550], eax
call fcn.0106bcca
mov dword [ebp - 0x544], eax
mov dword [ebp - 0x53c], 0x1060670
mov dword [ebp - 0x54c], 0x80036
jmp 0x10576d4
lea eax, [ebp - 0x318]
push 0x5c
push eax
call dword [sym.imp.msvcrt.dll_wcsrchr]
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
je 0x1057656
push edi
lea eax, [ebp - 0x318]
push eax
push 0x1084c98
call dword [sym.imp.msvcrt.dll_wcsncpy]
lea eax, [ebp - 0x318]
sub esi, eax
add esp, 0xc
sar esi, 1
mov word [0x1084ea0], bx
mov word [esi*2 + 0x1084c9a], bx
call fcn.0105593e
mov esi, eax
cmp esi, ebx
je 0x105771e
push esi
push dword [ebp - 0x528]
call fcn.010556c7
lea eax, [ebp - 0x318]
push 0x1005e18
push eax
call dword [sym.imp.msvcrt.dll__wfopen]
cmp eax, ebx
pop ecx
pop ecx
je 0x10576f2
push eax
call dword [sym.imp.msvcrt.dll_fclose]
pop ecx
push ebx
lea eax, [ebp - 0x318]
push eax
push esi
call fcn.0105634e
test eax, eax
jne 0x1057718
lea eax, [ebp - 0x318]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea eax, [ebp - 0x318]
push eax
push 0x1412
call fcn.0106bcca
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0x528]
call fcn.0106c859
lea eax, [ebp - 0x318]
push eax
lea eax, [ebp - 0x580]
push eax
push ebx
call fcn.010511dd
test eax, eax
jne 0x1057610
jmp 0x105771e
lea eax, [ebp - 0x318]
push eax
push 0x1412
call fcn.0106bcca
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0x528]
call fcn.0106c859
jmp 0x105771e
push esi
call fcn.010567fd
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.01070ac3
leave
ret 0x10
Function at 0x1058b18
Capabilities:
Get graphical window text

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
push 0x64c
push dword [ebp + 8]
xor edi, edi
mov dword [ebp - 4], edi
mov dword [ebp - 8], edi
call dword [sym.imp.USER32.dll_GetDlgItem]
mov ebx, eax
lea eax, [ebp - 4]
push eax
push ebx
call fcn.01052534
xor esi, esi
inc esi
cmp word [ebp + 0xc], si
jne 0x1058bd4
lea ecx, [ebp - 8]
push ecx
push dword [ebp - 4]
push eax
push ebx
call fcn.0105263a
test eax, eax
je 0x1058bd4
push edi
push edi
push ebx
mov dword [0x1081518], esi
call dword [sym.imp.USER32.dll_InvalidateRect]
mov esi, dword [sym.imp.USER32.dll_UpdateWindow]
push ebx
call esi
push 0xff
push 0x10812c8
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetWindowTextW]
push 0x21
push 0x1389
call fcn.0106bcca
push eax
push 0x138f
call fcn.0106bcca
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 2
push edi
push edi
mov dword [0x1081518], edi
push ebx
jne 0x1058bc8
call dword [sym.imp.USER32.dll_InvalidateRect]
push ebx
call esi
jmp 0x1058c3f
call dword [sym.imp.USER32.dll_InvalidateRect]
push ebx
call esi
xor esi, esi
inc esi
push edi
push edi
push 0xb
mov dword [0x108150c], esi
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push ebx
call esi
cmp word [ebp + 0xc], 1
push dword [ebp - 4]
push ebx
jne 0x1058bf9
call fcn.01053e81
jmp 0x1058bfe
call fcn.01053f01
push edi
push edi
push 0x18b
push ebx
call esi
movsx edx, word [ebp - 4]
movsx ecx, ax
dec ecx
cmp edx, ecx
jle 0x1058c18
dec eax
mov dword [ebp - 4], eax
movsx eax, word [ebp - 4]
push edi
push eax
push 0x186
push ebx
call esi
push edi
push 1
push 0xb
push ebx
call esi
push edi
push edi
push ebx
call dword [sym.imp.USER32.dll_InvalidateRect]
push dword [ebp + 8]
call fcn.010584a0
pop edi
pop esi
pop ebx
leave
ret 8

Function at 0x1058c4b
Capabilities:
Get graphical window text

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push 0xff
push 0x10812c8
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetWindowTextW]
push 0x21
push 0x1389
call fcn.0106bcca
push eax
push 0x1390
call fcn.0106bcca
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 2
je 0x1058cd6
push ebx
push esi
push edi
push 0x64c
push dword [ebp + 8]
mov dword [0x108150c], 1
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
xor edi, edi
push edi
push edi
mov ebx, eax
push 0xb
push ebx
call esi
push edi
push ebx
call fcn.01053e81
push edi
push 1
push 0xb
push ebx
call esi
push edi
push edi
push ebx
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop esi
pop ebx
pop ebp
jmp fcn.010584a0
pop ebp
ret 4