joyce8/EMBER2024-capa huggingface dataset:
Function at 0x44fb40
Capabilities:
Persist via run registry key

Disassembly:
push ebp
mov ebp, esp
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
xor eax, eax
push ebp
push 0x44fde9
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 4]
mov ecx, 0x44fdfc
mov edx, dword [0x467048]
call fcn.00404870
mov eax, dword [ebp - 4]
push eax
mov ecx, 0x44fe10
mov edx, 0x44fe20
mov eax, 0x80000002
call fcn.00408f70
mov eax, 0x467080
mov edx, 0x44fe58
call fcn.004045b8
lea eax, [ebp - 8]
mov ecx, 0x44fdfc
mov edx, dword [0x467048]
call fcn.00404870
mov eax, dword [ebp - 8]
push eax
mov ecx, 0x44fe10
mov edx, 0x44fe80
mov eax, 0x80000001
call fcn.00408f70
mov eax, 0x467080
mov edx, 0x44fec8
call fcn.004045b8
lea eax, [ebp - 0xc]
mov ecx, 0x44fdfc
mov edx, dword [0x467048]
call fcn.00404870
mov eax, dword [ebp - 0xc]
push eax
mov ecx, 0x44fe10
mov edx, 0x44ff24
mov eax, 0x80000002
call fcn.00408f70
mov eax, 0x467080
mov edx, 0x44ff64
call fcn.004045b8
lea eax, [ebp - 0x10]
mov ecx, 0x44ffa0
mov edx, dword [0x467048]
call fcn.00404870
mov eax, dword [ebp - 0x10]
push eax
mov edx, 0x44fe20
mov ecx, 0x44ffb4
mov eax, 0x80000001
call fcn.00408f70
lea eax, [ebp - 0x14]
mov ecx, 0x44ffc4
mov edx, dword [0x467048]
call fcn.00404870
mov eax, dword [ebp - 0x14]
push eax
mov edx, 0x44fe80
mov ecx, 0x44ffd8
mov eax, 0x80000002
call fcn.00408f70
cmp byte [0x4670c8], 0
jne 0x44fdce
mov eax, 0x467080
mov edx, 0x44ffe8
call fcn.004045b8
push 0
mov ecx, 0x450090
mov edx, 0x4500a8
mov eax, 0x80000002
call fcn.00408f70
push 0x4500dc
mov edx, 0x4500a8
mov ecx, 0x4500ec
mov eax, 0x80000002
call fcn.00408f70
push 0x450104
mov edx, 0x4500a8
mov ecx, 0x45013c
mov eax, 0x80000002
call fcn.00408f70
push 0x450150
mov edx, 0x4500a8
mov ecx, 0x45016c
mov eax, 0x80000002
call fcn.00408f70
mov eax, 0x467080
mov edx, 0x450180
call fcn.004045b8
push 0x45021c
mov edx, 0x4500a8
mov ecx, 0x450230
mov eax, 0x80000002
call fcn.00408f70
push 0x450240
mov edx, 0x4500a8
mov ecx, 0x450254
mov eax, 0x80000002
call fcn.00408f70
lea eax, [ebp - 0x18]
mov ecx, 0x44fdfc
mov edx, dword [0x467048]
invalid
inc edx
dec ebx
sti
Function at 0x45092c
Capabilities:
Check os version
Get common file path
Get disk information
Get disk size
Get geographical location
Get hostname
Get keyboard layout
Get memory capacity
Get session user name
Initialize winsock library
Resolve dns

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xc9
push 0
push 0
dec ecx
jne 0x450934
push ecx
push ebx
push esi
push edi
mov esi, 0x467080
mov edi, 0x467098
xor eax, eax
push ebp
push 0x451de9
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, esi
mov edx, 0x451e00
call fcn.004045b8
mov eax, edi
mov edx, 0x451e24
call fcn.004045b8
mov dword [ebp - 0xe4], 0x94
mov eax, esi
mov edx, 0x451e30
call fcn.004045b8
lea eax, [ebp - 0xe4]
push eax
call sub.kernel32.dll_GetVersionExA
mov ebx, dword [ebp - 0xd4]
cmp ebx, 2
jne 0x4509ab
lea eax, [ebp - 8]
mov edx, 0x451e74
call fcn.004045fc
jmp 0x4509cf
mov eax, ebx
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x5bc]
call fcn.004079c4
mov ecx, dword [ebp - 0x5bc]
lea eax, [ebp - 8]
mov edx, 0x451e90
call fcn.00404870
cmp byte [0x4670c8], 0
je 0x4509e7
lea eax, [ebp - 4]
mov edx, 0x451eac
call fcn.004045fc
jmp 0x4509f4
lea eax, [ebp - 4]
mov edx, 0x451ebc
call fcn.004045fc
mov eax, esi
mov edx, 0x451ecc
call fcn.004045b8
mov eax, dword [ebp - 0xe0]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x5c0]
call fcn.004079c4
push dword [ebp - 0x5c0]
push 0x451fa8
mov eax, dword [ebp - 0xdc]
and al, 0xff
invalid
push dword [ebx]
rcl byte [edx + 0x50], cl
lea eax, [ebp - 0x5c4]
call fcn.004079c4
push dword [ebp - 0x5c4]
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.004048e4
mov eax, dword [ebp - 0xc]
Function at 0x451761
Capabilities:
Get keyboard layout

Disassembly:
push dword [ebp - 4]
push 0x451e24
push 0x45301c
push dword [ebp - 8]
push 0x451e24
push 0x453030
push dword [ebp - 0xc]
push 0x451e24
push 0x453044
push dword [ebp - 0x10]
push 0x451e24
mov eax, edi
mov edx, 0x10
call fcn.004048e4
push dword [ebp - 0x14]
push 0x452094
push 0x45305c
push dword [ebp - 4]
push 0x45306c
push dword [ebp - 8]
push 0x453078
push dword [ebp - 0xc]
push 0x45306c
push dword [ebp - 0x10]
lea eax, [ebp - 0x14]
mov edx, 0xa
call fcn.004048e4
mov eax, esi
mov edx, 0x453084
call fcn.004045b8
lea eax, [ebp - 0x598]
xor ecx, ecx
mov edx, 7
call fcn.0040308c
lea eax, [ebp - 0x598]
push eax
push 8
call sub.user32.dll_GetKeyboardLayoutList
mov dword [ebp - 0x4c], eax
mov eax, esi
mov edx, 0x4530dc
call fcn.004045b8
push 0x453118
mov eax, dword [ebp - 0x4c]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x63c]
call fcn.004079c4
push dword [ebp - 0x63c]
push 0x451e24
lea eax, [ebp - 4]
mov edx, 3
call fcn.004048e4
mov eax, esi
mov edx, 0x453134
call fcn.004045b8
mov eax, dword [ebp - 0x4c]
dec eax
test eax, eax
jl 0x451cbc
inc eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x20], 0
lea ebx, [ebp - 0x598]

Function at 0x453d74
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 6
push 0
push 0
dec ecx
jne 0x453d7c
push ebx
push esi
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404a14
mov edi, 0x4671e0
xor eax, eax
push ebp
push 0x454aca
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x467080
mov edx, 0x454ae0
call fcn.004045b8
call fcn.00450744
mov eax, dword [ebp - 8]
call fcn.00404564
xor ebx, ebx
mov eax, 0x467080
mov edx, 0x454b7c
call fcn.004045b8
mov eax, dword [ebp - 4]
call fcn.00404824
cmp eax, 0x7f
jge 0x453e0b
push 0
push 0x467154
mov eax, dword [ebp - 4]
call fcn.00404a24
push eax
call sub.kernel32.dll_OpenFile
mov dword [0x467100], eax
cmp dword [0x467100], 0xffffffff
jne 0x453e3e
mov ebx, 1
jmp 0x453e3e
push 0
push 0x80
push 3
push 0
push 0
push 0x80000000
mov eax, dword [ebp - 4]
call fcn.00404a24
push eax
call sub.kernel32.dll_CreateFileA_1
Function at 0x453e2b
Capabilities:
Read file on windows

Disassembly:
mov dword [0x467100], eax
cmp dword [0x467100], 0xffffffff
jne 0x453e3e
mov ebx, 2
test ebx, ebx
jbe 0x453eb1
mov eax, 0x467080
mov edx, 0x454c1c
call fcn.004045b8
call sub.kernel32.dll_GetLastError_1
mov ebx, eax
mov eax, ebx
cmp eax, 0xcf
ja 0x453e68
bt dword [0x454c94], eax
jb 0x453ea1
cmp ebx, 0x4cf
je 0x453ea1
push 0x454cb8
push dword [ebp - 4]
push 0x454cc8
lea edx, [ebp - 0x10]
mov eax, ebx
call fcn.00408914
push dword [ebp - 0x10]
lea eax, [ebp - 0xc]
mov edx, 4
call fcn.004048e4
mov eax, dword [ebp - 0xc]
call fcn.00462344
mov eax, dword [0x467100]
push eax
call sub.kernel32.dll_CloseHandle_1
jmp 0x454aa7
mov eax, 0x467130
call fcn.00404564
mov eax, 0x467134
call fcn.00404564
mov eax, 0x467138
call fcn.00404564
xor eax, eax
mov dword [0x467124], eax
xor eax, eax
mov dword [0x467128], eax
mov eax, 0x467080
mov edx, 0x454cd4
call fcn.004045b8
xor eax, eax
mov dword [0x46712c], eax
xor eax, eax
mov dword [0x467120], eax
mov eax, 0x46713c
mov edx, 0x12
call fcn.00404bb0
mov eax, 0x467140
mov edx, 0x20
call fcn.00404bb0
mov eax, 0x467144
mov edx, 0x1a
call fcn.00404bb0
mov eax, 0x467148
mov edx, 0x2f
call fcn.00404bb0
mov eax, 0x46714c
mov edx, 0x12
call fcn.00404bb0
mov eax, 0x467150
mov edx, 0x20
call fcn.00404bb0
mov eax, dword [edi]
mov byte [eax], 0
jmp 0x4549c9
Function at 0x4567b4
Capabilities:
Enumerate network shares

Disassembly:
push ebp
mov ebp, esp
mov ecx, 5
push 0
push 0
dec ecx
jne 0x4567bc
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x456a2f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, 0x467080
mov edx, 0x456a48
call fcn.004045b8
lea eax, [ebp - 4]
push eax
push ebx
push 0x13
push 1
push 2
call sub.mpr.dll_WNetOpenEnumA
test eax, eax
jne 0x456a14
mov dword [ebp - 0xc], 0x7e0
mov eax, dword [ebp - 0xc]
call fcn.00402714
mov esi, eax
mov eax, esi
xor ecx, ecx
mov edx, dword [ebp - 0xc]
call fcn.0040308c
mov dword [ebp - 8], 0x3f
lea eax, [ebp - 0xc]
push eax
push esi
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 4]
push eax
call sub.mpr.dll_WNetEnumResourceA
test eax, eax
je 0x456842
cmp eax, 0xea
jne 0x4569df
mov eax, dword [ebp - 8]
dec eax
test eax, eax
jl 0x45681a
inc eax
mov dword [ebp - 0x10], eax
xor ebx, ebx
mov edi, ebx
shl edi, 2
test byte [esi + edi*8 + 0xc], 2
je 0x456864
lea eax, [esi + edi*8]
call fcn.004567b4
cmp dword [esi + edi*8 + 8], 3
jne 0x4569d0
mov eax, 0x467080
mov edx, 0x456aa0
call fcn.004045b8
lea eax, [ebp - 0x14]
mov edx, dword [esi + edi*8 + 0x14]
call fcn.0040475c
mov edx, dword [ebp - 0x14]
mov eax, 0x467068
mov ecx, 0x456b10
call fcn.00404870
inc dword [0x4670b0]
mov eax, 0x467080
mov edx, 0x456b1c
call fcn.004045b8
mov eax, dword [0x4670b0]
cmp eax, dword [0x4670b4]
jl 0x4569d0
mov eax, dword [0x4670b0]
push eax
mov ecx, 0x456b30
mov edx, 0x456b40
mov eax, 0x80000002
call fcn.00409060
mov eax, 0x467080
mov edx, 0x456b88
call fcn.004045b8
mov eax, dword [0x467068]
push eax
mov edx, 0x456b40
mov ecx, 0x456c34
mov eax, 0x80000002
call fcn.00408f70
xor eax, eax
mov dword [0x4670ac], eax
mov word [0x464e8c], 0
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [0x467044]
call fcn.00404824
mov ecx, eax
mov edx, 3
mov eax, dword [0x467068]
call fcn.00404a84
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x18]
call fcn.004079ec
mov eax, dword [ebp - 0x18]
mov edx, dword [0x467044]
call fcn.00404970
jne 0x45696c
lea eax, [ebp - 0x20]
mov ecx, dword [0x467068]
mov edx, 0x456c44
call fcn.00404870
mov eax, dword [ebp - 0x20]
call fcn.00462344
jmp 0x456991
mov eax, dword [0x467068]
call fcn.00455c50
lea eax, [ebp - 0x24]
mov ecx, dword [0x467068]
mov edx, 0x456c58
call fcn.00404870
mov eax, dword [ebp - 0x24]
call fcn.00462344
mov eax, 0x467080
mov edx, 0x456c68
call fcn.004045b8
xor eax, eax
mov dword [0x4670a8], eax
mov eax, dword [0x4670a8]
push eax
mov edx, 0x456b40
mov ecx, 0x456c80
mov eax, 0x80000002
call fcn.00409060
mov eax, 0x467080
mov edx, 0x456c90
call fcn.004045b8
inc ebx
dec dword [ebp - 0x10]
jne 0x456850
jmp 0x45681a
mov eax, esi
call fcn.00402734
mov eax, 0x467080
mov edx, 0x456d08
call fcn.004045b8
mov eax, dword [ebp - 4]
push eax
call sub.mpr.dll_WNetCloseEnum
test eax, eax
je 0x456a14
lea edx, [ebp - 0x28]
xor eax, eax
call fcn.00408914
mov eax, dword [ebp - 0x28]
call fcn.00462344
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x456a36
lea eax, [ebp - 0x28]
mov edx, 6
call fcn.00404588
ret
Function at 0x4586c0
Capabilities:
Hide graphical window

Disassembly:
mov eax, 0x467080
mov edx, 0x458744
call fcn.004045b8
push 0
push 0
push 0x4587f4
call sub.user32.dll_FindWindowA
push eax
call sub.user32.dll_ShowWindow
mov eax, 0x467080
mov edx, 0x458808
call fcn.004045b8
push 0
push 0
push 0x4588a0
call sub.user32.dll_FindWindowA
push eax
call sub.user32.dll_ShowWindow
mov eax, 0x467080
mov edx, 0x4588c8
call fcn.004045b8
push 0
push 0
push 0x458934
call sub.user32.dll_FindWindowA
push eax
call sub.user32.dll_ShowWindow
mov eax, 0x467080
mov edx, 0x45894c
call fcn.004045b8
ret

Function at 0x458958
Capabilities:
Check for foreground window switch
Get graphical window text
Hide graphical window

Disassembly:
push edx
push 0
lea eax, [ebp - 0x231d4]
mov ecx, dword [ebp - 0x28160]
mov edx, edi
call fcn.0042f489
cmp dword [ebp - 0x231d0], 0xffffffff
jne 0x458876
mov eax, 0x4ae120
mov ecx, edi
mov edx, dword [ebp - 0x2811c]
call fcn.00452cf5
mov eax, dword [ebp - 0x29b0c]
mov edx, dword [ebp - 0x29b08]
sub dword [ebp - 0xaba0], eax
sbb dword [ebp + 0x2e5464], edx
add byte [ebp + ecx*2 + 0x61], dl
imul ebp, dword [ebp + 0x72], 0x6d726f46
add bh, bh
invalid
fstp qword [esp + 0x24]
wait
lea eax, [esp + 0xc]
mov edx, 3
call 0x4587c5
sub eax, 1
jb 0x458898
je 0x45889c
dec eax
je 0x4588a0
dec eax
je 0x4588a4
jmp 0x4588a6
mov bl, 3
jmp 0x4588a6
mov bl, 0x2e
add byte [eax], al
dec edi
jne 0x458917
insb byte es:[edi], dx
outsd dx, dword [esi]
outsd dx, dword [esi]
imul esp, dword [eax], 0x45
js 0x45891b
jb 0x458912
jae 0x458922
and byte [edx + 0x72], al
outsd dx, dword [esi]
ja 0x458928
jb 0x4588d8
inc ebx
insb byte es:[edi], dx
popal
jae 0x458930
add byte [eax], al
add bh, bh
invalid
mov byte [edx - 0x51], cl
scasd eax, dword es:[edi]
imul dword [edi]
scasd eax, dword es:[edi]
ficom word gs:[ecx + 0x57ab67de]
outsd dx, dword [esi]
sub byte [ebx + 0x67], dl
scasd eax, dword es:[edi]
pop ds
mov bh, 0x21
dec edi
movsd dword es:[edi], dword [esi]
push eax
or eax, 0xaf67d937
fidiv word [esi - 0x4e]
jnp 0x45890e
invalid
scasd eax, dword es:[edi]
fidiv word [ecx - 0x50549f21]
pushal
stosd dword es:[edi], eax
scasd eax, dword es:[edi]
add dword [esi - 0x5e], ebp
cmp byte [ecx], dl
scasd eax, dword es:[di]
mov byte [0xaf671138], al
scasd eax, dword es:[edi]
push eax
or eax, 0xaf67d9b7
sahf
stosd dword es:[di], eax
leave
mov bh, 0x88
stosd dword es:[di], eax
dec esi
sbb eax, 0x2e05d7b7
add byte [eax], al
add byte cs:[eax], al
add byte [ebx + eax*2 + 0x6f], dl
outsb dx, byte [esi]
outsb dx, byte [esi]
arpl word gs:[ebp + ecx*2 + 0x6f], si
outsb dx, byte [esi]
imul esi, dword [edi + ebp*2 + 0x72], 0xffffff00
dec dword [ebx]
add byte [eax], al
add byte [eax + 0x46], al
add al, dl
inc si
add byte [eax], ch
inc eax
inc esi
add byte cs:[ebp - 0x75], dl
in al, dx
add esp, 0xffffffc8
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 8], edx
mov edi, 0x467080
xor eax, eax
push ebp

Function at 0x458a43
Capabilities:
Check for foreground window switch
Get graphical window text

Disassembly:
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x458a88
mov eax, edi
mov edx, 0x458db8
Function at 0x458a53
Capabilities:
Check for foreground window switch
Get graphical window text
Hide graphical window

Disassembly:
call fcn.004586c0
push 0x458d14
push 0
call sub.user32.dll_FindWindowA
mov ebx, eax
test ebx, ebx
je 0x458ac2
mov eax, edi
mov edx, 0x458d2c
call fcn.004045b8
xor eax, eax
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x18]
push eax
push ebx
call sub.user32.dll_GetClientRect
mov eax, edi
mov edx, 0x458d44
call fcn.004045b8
mov eax, dword [ebp - 0x10]
cmp eax, 0x14a
je 0x458a27
cmp eax, 0x15f
jne 0x458aba
cmp dword [ebp - 0xc], 0xc1
jne 0x458aba
push 0x458da8
push 0
push 0
push ebx
call sub.user32.dll_FindWindowExA
call fcn.004045b8
push 0
push 0
push 0x201
mov eax, dword [ebp - 4]
push eax
call sub.user32.dll_PostMessageA
push 0
push 0
push 0x202
mov eax, dword [ebp - 4]
push eax
call sub.user32.dll_PostMessageA
mov eax, edi
mov edx, 0x458e34
call fcn.004045b8
push ebx
call sub.user32.dll_SetForegroundWindow
test eax, eax
je 0x458ac2
push 0
push 0
push 0
push 0xd
call sub.user32.dll_keybd_event
push 0
push 2
push 0
push 0xd
call sub.user32.dll_keybd_event
mov eax, edi
mov edx, 0x458efc
call fcn.004045b8
jmp 0x458ac2
push 0
push ebx
call sub.user32.dll_ShowWindow
call sub.user32.dll_GetForegroundWindow
mov ebx, eax
mov eax, edi
mov edx, 0x458f7c
call fcn.004045b8
push 0x1e
lea eax, [ebp - 0x37]
push eax
push ebx
call sub.user32.dll_GetWindowTextA
lea eax, [ebp - 8]
lea edx, [ebp - 0x37]
mov ecx, 0x1f
call fcn.004047d4
mov eax, edi
mov edx, 0x458e34
call fcn.004045b8
mov eax, dword [ebp - 8]
call fcn.00404824
test eax, eax
jle 0x458bc7
mov edx, dword [ebp - 8]
mov eax, 0x459008
call fcn.00404b68
test eax, eax
jne 0x458bbf
mov edx, dword [ebp - 8]
mov eax, 0x459018
call fcn.00404b68
test eax, eax
jne 0x458bbf
mov edx, dword [ebp - 8]
mov eax, 0x459034
call fcn.00404b68
test eax, eax
invalid
jne 0x458bbf
mov edx, dword [ebp - 8]
mov eax, 0x45904c
call fcn.00404b68
test eax, eax
jne 0x458bbf
mov edx, dword [ebp - 8]
mov eax, 0x459064
call fcn.00404b68
test eax, eax
jne 0x458bbf
mov edx, dword [ebp - 8]
mov eax, 0x459074
call fcn.00404b68
test eax, eax
jne 0x458bbf
mov edx, dword [ebp - 8]
mov eax, 0x459084
call fcn.00404b68
test eax, eax
jne 0x458bbf
mov edx, dword [ebp - 8]
mov eax, 0x459094
call fcn.00404b68
test eax, eax
jne 0x458bbf
mov edx, dword [ebp - 8]
mov eax, 0x4590a4
call fcn.00404b68
test eax, eax
jne 0x458bbf
mov edx, dword [ebp - 8]
mov eax, 0x4590b0
call fcn.00404b68
test eax, eax
je 0x458bc7
push 0
push ebx
call sub.user32.dll_ShowWindow
push 0x320
call sub.kernel32.dll_Sleep
inc esi
cmp dword [0x4670c0], 0x1d9e2
je 0x458be7
cmp esi, 0x4b
jl 0x4589cb
push 0x927c0
call sub.kernel32.dll_Sleep
mov eax, 0x4590c0
call fcn.004081ec
mov eax, 0x4590d4
call fcn.004081ec
mov eax, edi
mov edx, 0x4590e8
call fcn.004045b8
mov eax, 0x4591c0
call fcn.004081ec
mov eax, edi
mov edx, 0x4591d4
call fcn.004045b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x458c44
lea eax, [ebp - 8]
call fcn.00404564
ret
Function at 0x459d94
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffefc
push ebx
xor eax, eax
mov dword [ebp - 4], eax
xor eax, eax
push ebp

Function at 0x459ed0
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov ecx, 8
push 0
push 0
dec ecx
jne 0x459ed8
push ecx
push ebx
push esi
push edi
mov edi, 0x467080
xor eax, eax
push ebp
push 0x45a222
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, edi
mov edx, 0x45a23c
call fcn.004045b8
mov byte [ebp - 1], 0
push 1
push 0
push 0
lea eax, [ebp - 0x14]
mov ecx, dword [0x46705c]
mov edx, 0x45a2c0
call fcn.00404870
mov eax, dword [ebp - 0x14]
call fcn.00404a24
push eax
push 0x45a2c8
push 0
call sub.shell32.dll_ShellExecuteA
mov ebx, eax
cmp ebx, 0x20
jae 0x459f78
push 0x45a2d8
mov eax, ebx
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x1c]
call fcn.004079c4
push dword [ebp - 0x1c]
push 0x45a2ec
lea edx, [ebp - 0x20]
xor eax, eax
call fcn.00408914
push dword [ebp - 0x20]
lea eax, [ebp - 0x18]
mov edx, 4
call fcn.004048e4
mov eax, dword [ebp - 0x18]
call fcn.00462344
xor ebx, ebx
call fcn.00459d94
test al, al
jne 0x459f9f
inc ebx
push 0x258
call sub.kernel32.dll_Sleep
mov eax, edi
mov edx, 0x45a2f8
call fcn.004045b8
cmp bl, 0xa
or dh, byte [edx - 0x25]
Function at 0x459fbb
Capabilities:
Create process on windows

Disassembly:
or dh, byte [edx - 0x25]
xor esi, esi
cmp bl, 0xa
jb 0x45a02f
push 0
push 0x45a3c0
call sub.user32.dll_FindWindowA
mov esi, eax
test esi, esi
jne 0x459fca
push cs
push 0
push 0x45a3cc
call sub.user32.dll_FindWindowA
mov esi, eax
push esi
call sub.user32.dll_SetForegroundWindow
call fcn.00459d94
test al, al
jne 0x45a025
push 1
push 0
push 0
mov edx, 0x45a2c0
lea eax, [ebp - 0x24]
mov ecx, dword [0x46705c]
call fcn.00404870
mov eax, dword [ebp - 0x24]
call fcn.00404a24
push eax
push 0x45a2c8
push 0
call sub.shell32.dll_ShellExecuteA
push 0x3e8
call sub.kernel32.dll_Sleep
push esi
call sub.user32.dll_SetForegroundWindow
mov eax, edi
mov edx, 0x45a3e0
call fcn.004045b8
jmp 0x45a02f
push 0x3e8
call sub.kernel32.dll_Sleep
mov eax, dword [0x465198]
push eax
mov ecx, 0x45a424
mov edx, 0x45a434
mov eax, 0x80000002
call fcn.00408de8
mov ebx, eax
inc ebx
mov eax, edi
mov edx, 0x45a47c
call fcn.004045b8
lea eax, [ebp - 0x28]
mov ecx, 0x45a4e8
mov edx, dword [0x467048]
call fcn.00404870
mov eax, dword [ebp - 0x28]
lea edx, [ebp - 0xc]
call fcn.00456e80
mov eax, edi
mov edx, 0x45a4fc
call fcn.004045b8
lea eax, [ebp - 0x2c]
mov ecx, 0x45a594
mov edx, dword [0x467048]
call fcn.00404870
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x10]
call fcn.00456e80
push 0x45a5a8
lea edx, [ebp - 0x30]
mov eax, 0x94
call fcn.004079a4
push dword [ebp - 0x30]
push 0x45a5b8
push dword [0x467064]
push 0x45a5b8
push 0x45a424
push 0x45a5c4
lea edx, [ebp - 0x34]
xor eax, eax
mov al, bl
call fcn.004079a4
push dword [ebp - 0x34]
push 0x45a5b8
push dword [ebp - 0xc]
push 0x45a5b8
push 0x45a5b8
push 0x45a5b8
push dword [ebp - 0x10]
lea eax, [ebp - 8]
mov edx, 0xe
call fcn.004048e4
mov eax, edi
mov edx, 0x45a5d0
call fcn.004045b8
mov eax, dword [ebp - 8]
call fcn.004089f0
test al, al
jne 0x45a127
mov eax, 0x45a678
call fcn.00462344
lea edx, [ebp - 0x3c]
mov eax, 0x45a688
call fcn.00409408
push dword [ebp - 0x3c]
push 0x45a69c
push 0x45a6a8
lea edx, [ebp - 0x40]
mov eax, 0x45a6b4
call fcn.00409408
push dword [ebp - 0x40]
push 0x45a69c
push 0x45a6c0
lea eax, [ebp - 0x38]
mov edx, 6
call fcn.004048e4
mov eax, dword [ebp - 0x38]
call fcn.00409514
push 0x3e8
call sub.kernel32.dll_Sleep
mov eax, 0x45a2ec
call fcn.004089f0
push 0
push esi
call sub.user32.dll_EnableWindow
mov eax, 0x45a6cc
call fcn.00409514
mov eax, edi
mov edx, 0x45a6e0
call fcn.004045b8
push 0x1f4
call sub.kernel32.dll_Sleep
lea edx, [ebp - 0x44]
mov eax, 0x45a748
call fcn.00409408
mov eax, dword [ebp - 0x44]
call fcn.00409514
xor eax, eax
mov al, bl
push eax
mov edx, 0x45a434
mov ecx, 0x45a424
mov eax, 0x80000002
call fcn.00409060
push 0x7530
call sub.kernel32.dll_Sleep
call fcn.00408878
test al, al
je 0x45a207
cmp bl, 3
jbe 0x45a207
mov byte [ebp - 1], 1
call fcn.004538ac
mov eax, edi
mov edx, 0x45a754
call fcn.004045b8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x45a229
lea eax, [ebp - 0x44]
mov edx, 0x10
call fcn.00404588
ret
Function at 0x45e0a0
Capabilities:
Get file size
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff50
push ebx
push esi
xor ecx, ecx
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.00404a14
mov eax, dword [ebp - 8]
call fcn.00404a14
xor eax, eax
push ebp
push 0x45e3d6
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
mov eax, dword [ebp - 4]
call fcn.00404824
test eax, eax
je 0x45e39d
mov eax, dword [ebp - 8]
call fcn.00404824
test eax, eax
je 0x45e39d
push 0
lea eax, [ebp - 0x9c]
push eax
mov eax, dword [ebp - 4]
call fcn.00404a24
push eax
call sub.kernel32.dll_OpenFile
mov esi, eax
cmp esi, 0xffffffff
jne 0x45e172
push 0x45e3f0
push dword [ebp - 4]
push 0x45e400
lea edx, [ebp - 0xa4]
xor eax, eax
call fcn.00408914
push dword [ebp - 0xa4]
lea eax, [ebp - 0xa0]
mov edx, 4
call fcn.004048e4
mov eax, dword [ebp - 0xa0]
call fcn.00462344
jmp 0x45e39d
push 0
push esi
call sub.kernel32.dll_GetFileSize_1
add eax, 5
mov dword [ebp - 0xc], eax
mov eax, 0x467080
mov edx, 0x45e40c
call fcn.004045b8
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 0x14]
mov ecx, 1
mov edx, dword [0x45e080]
call fcn.00405564
add esp, 4
mov edx, 0x464ed4
mov eax, dword [ebp - 0x14]
mov ecx, 5
call fcn.00406f5c
push 0
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ebp - 0xc]
sub eax, 5
push eax
mov eax, dword [ebp - 0x14]
add eax, 5
push eax
push esi
call sub.kernel32.dll_ReadFile_1
test eax, eax
jne 0x45e219
push 0x45e4b0
push dword [ebp - 4]
push 0x45e400
lea edx, [ebp - 0xac]
xor eax, eax
call fcn.00408914
push dword [ebp - 0xac]
lea eax, [ebp - 0xa8]
mov edx, 4
call fcn.004048e4
mov eax, dword [ebp - 0xa8]
call fcn.00462344
jmp 0x45e39d
mov eax, 0x467080
mov edx, 0x45e4c4
call fcn.004045b8
push esi
call sub.kernel32.dll_CloseHandle_1
cmp dword [ebp - 0xc], 0xa
jbe 0x45e2bd
mov eax, dword [ebp - 0x14]
mov al, byte [eax + 5]
cmp al, byte [0x464ed4]
jne 0x45e2bd
mov eax, dword [ebp - 0x14]
mov al, byte [eax + 6]
cmp al, byte [0x464ed5]
jne 0x45e2bd
mov eax, dword [ebp - 0x14]
mov al, byte [eax + 7]
cmp al, byte [0x464ed6]
jne 0x45e2bd
mov eax, dword [ebp - 0x14]
mov al, byte [eax + 8]
cmp al, byte [0x464ed7]
jne 0x45e2bd
dec ebp

Function at 0x45e7f0
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push ebx
push esi
push edi
mov edi, 0x467080
xor eax, eax
push ebp