joyce8/EMBER2024-capa huggingface dataset:
Function at 0x44fcd0
Capabilities:
Log keystrokes via input method manager

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push 0xfffffffffffffff0
push dword [esi]
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x40000000
je 0x44fd7f
push dword [esi]
call dword [sym.imp.USER32.dll_GetParent]
mov ebx, eax
mov ecx, 0x5139d4
mov dword [ebp - 4], ebx
call fcn.0047ffe0
dec eax
mov dword [ebp + 8], eax
js 0x44fdc1
push eax
mov ecx, 0x5139d4
call fcn.00445f40
cmp dword [ebp - 4], 0
mov edi, eax
je 0x44fd68
mov ecx, edi
call fcn.0044a440
cmp dword [esi], eax
je 0x44fd3b
mov ecx, edi
call fcn.0044a440
cmp ebx, eax
jne 0x44fd5b
push esi
mov ecx, edi
call fcn.0044fc70
test al, al
jne 0x44fd76
lea eax, [ebp - 8]
mov ecx, edi
push eax
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esi + 4]
call fcn.0044d9e0
push ebx
call dword [sym.imp.USER32.dll_GetParent]
mov ebx, eax
test ebx, ebx
jne 0x44fd25
mov eax, dword [ebp + 8]
dec eax
mov dword [ebp + 8], eax
js 0x44fdc1
mov ebx, dword [ebp - 4]
jmp 0x44fd12
pop edi
pop esi
mov al, 1
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x5139d4
xor edi, edi
call fcn.0047ffe0
test eax, eax
jle 0x44fdc1
nop
mov ecx, 0x5139d4
call fcn.0047ffe0
push edi
mov ecx, 0x5139d4
call fcn.00445f40
mov ebx, eax
mov ecx, ebx
call fcn.0044a440
cmp dword [esi], eax
je 0x44fdca
mov ecx, 0x5139d4
inc edi
call fcn.0047ffe0
cmp edi, eax
jl 0x44fd90
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret
push esi
mov ecx, ebx
call fcn.0044fc70
test al, al
jne 0x44fd76
cmp dword [esi + 8], 0xe5
jne 0x44fde9
push dword [esi]
call sub.IMM32.dll_ImmGetVirtualKey
mov dword [esi + 8], eax
lea eax, [ebp - 8]
mov ecx, ebx
push eax
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esi + 4]
call fcn.0044d9e0
pop edi
test al, al
pop esi
setne al
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4628c0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cdfa8
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x50c4d8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea eax, [ebp - 0x40]
push eax
call fcn.00462710
push str.colors.ini
push eax
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0
push eax
call fcn.00411140
add esp, 0x10
cmp dword [ebp - 0x2c], 8
mov byte [ebp - 4], 2
jb 0x46291f
push dword [ebp - 0x40]
call fcn.00473460
add esp, 4
xor eax, eax
mov dword [ebp - 0x2c], 7
cmp dword [ebp - 0x14], 8
mov word [ebp - 0x40], ax
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
mov dword [ebp - 0x30], 0
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x462ae5
push dword [ebp - 0x44]
lea eax, [ebp - 0x49]
push eax
push dword [0x513e34]
push dword [0x513e30]
call fcn.00409130
mov eax, dword [0x513e30]
add esp, 0x10
mov dword [0x513e34], eax
lea eax, [ebp - 0x28]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x44], esp
push str.FF06061F
call fcn.00407230
sub esp, 0x18
mov byte [ebp - 4], 3
mov ecx, esp
push str.mainToolbar
call fcn.00407230
mov byte [ebp - 4], 2
call fcn.00462cf0
add esp, 0x34
lea eax, [ebp - 0x28]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x48], esp
push str.FF20203A
call fcn.00407230
sub esp, 0x18
mov byte [ebp - 4], 4
mov ecx, esp
push str.mainContent
call fcn.00407230
mov byte [ebp - 4], 2
call fcn.00462cf0
add esp, 0x34
lea eax, [ebp - 0x28]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x48], esp
push str.FF1F1F39
call fcn.00407230
sub esp, 0x18
mov byte [ebp - 4], 5
mov ecx, esp
push str.mainToolbarPopup
call fcn.00407230
mov byte [ebp - 4], 2
call fcn.00462cf0
add esp, 0x34
lea eax, [ebp - 0x28]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x48], esp
push str.FF06061F
call fcn.00407230
sub esp, 0x18
mov byte [ebp - 4], 6
mov ecx, esp
push str.toolbar
call fcn.00407230
mov byte [ebp - 4], 2
call fcn.00462cf0
add esp, 0x34
lea eax, [ebp - 0x28]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x48], esp
push str.FF20203A
call fcn.00407230
sub esp, 0x18
mov byte [ebp - 4], 7
mov ecx, esp
push str.content
call fcn.00407230
mov byte [ebp - 4], 2
call fcn.00462cf0
add esp, 0x34
lea eax, [ebp - 0x28]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x48], esp
push str.FF20203A
call fcn.00407230
sub esp, 0x18
mov byte [ebp - 4], 8
mov ecx, esp
push str.setupLeftBar
call fcn.00407230
mov byte [ebp - 4], 2
call fcn.00462cf0
add esp, 0x34
lea eax, [ebp - 0x28]
push eax
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x48], esp
push str.FF36364D
call fcn.00407230
sub esp, 0x18
mov byte [ebp - 4], 9
mov ecx, esp
push str.setupBottomBar
call fcn.00407230
mov byte [ebp - 4], 2
call fcn.00462cf0
add esp, 0x34
cmp dword [ebp - 0x14], 8
jb 0x462af6
push dword [ebp - 0x28]
call fcn.00473460
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00491c63
mov esp, ebp
pop ebp
ret
Function at 0x462cf0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ce03b
mov eax, dword fs:[0]
push eax
sub esp, 0x81c
mov eax, dword [0x50c4d8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0x38]
xor eax, eax
mov dword [ebp - 4], 1
push 0x7fe
push eax
mov word [ebp - 0x810], ax
lea eax, [ebp - 0x80e]
push eax
call fcn.0049a790
add esp, 0xc
cmp dword [esi + 0x14], 8
jb 0x462d4d
mov esi, dword [esi]
cmp dword [ebp + 0x1c], 8
lea ecx, [ebp - 0x810]
push esi
push 0x400
push ecx
lea eax, [ebp + 8]
cmovae eax, dword [ebp + 8]
push 0x4e9c80
push eax
push 0x4edca8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
xor eax, eax
mov dword [ebp - 0x814], 7
mov dword [ebp - 0x818], 0
mov word [ebp - 0x828], ax
cmp word [ebp - 0x810], ax
jne 0x462da0
xor ecx, ecx
jmp 0x462dbf
lea ecx, [ebp - 0x810]
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x462db0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x828]
call fcn.00407100
cmp dword [ebp - 0x818], 0
setne bl
cmp dword [ebp - 0x814], 8
jb 0x462df3
push dword [ebp - 0x828]
call fcn.00473460
add esp, 4
test bl, bl
je 0x462e80
xor eax, eax
mov dword [ebp - 0x814], 7
mov dword [ebp - 0x818], 0
mov word [ebp - 0x828], ax
cmp word [ebp - 0x810], ax
jne 0x462e25
xor ecx, ecx
jmp 0x462e3f
lea ecx, [ebp - 0x810]
lea edx, [ecx + 2]
mov edi, edi
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x462e30
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x810]
push eax
lea ecx, [ebp - 0x828]
call fcn.00407100
lea eax, [ebp - 0x828]
mov byte [ebp - 4], 2
push eax
mov ecx, 0x513e30
call fcn.00408cf0
cmp dword [ebp - 0x814], 8
jb 0x462e8e
push dword [ebp - 0x828]
call fcn.00473460
add esp, 4
jmp 0x462e8e
lea eax, [ebp + 0x20]
mov ecx, 0x513e30
push eax
call fcn.00408db0
cmp dword [ebp + 0x1c], 8
jb 0x462e9f
push dword [ebp + 8]
call fcn.00473460
add esp, 4
xor eax, eax
mov dword [ebp + 0x1c], 7
cmp dword [ebp + 0x34], 8
mov dword [ebp + 0x18], 0
mov word [ebp + 8], ax
jb 0x462ec4
push dword [ebp + 0x20]
call fcn.00473460
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00491c63
mov esp, ebp
pop ebp
ret

Function at 0x465f50
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, ecx
cmp dword [esi + 0x79c], 0
je 0x465fbf
cmp dword [ebp + 8], 0x100
jne 0x465faf
cmp word [ebp + 0xc], 0xd
jne 0x465faf
cmp byte [esi + 0x7a2], 0
je 0x465f8e
push 0x11
call dword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jns 0x465faf
cmp byte [esi + 0x7a3], 0
jne 0x465faf
mov ecx, dword [esi + 0x5c]
test ecx, ecx
je 0x465fa8
push 1
push 0
push 0
push 0
push str.return
push esi
call fcn.0044e900
xor eax, eax
pop esi
pop ebp
ret 0x10
mov eax, dword [esi + 0x79c]
pop esi
mov ecx, dword [eax + 0xc]
mov eax, dword [ecx]
pop ebp
jmp dword [eax + 0xc]
mov eax, 1
pop esi
pop ebp
ret 0x10
Function at 0x470090
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
push edi
mov eax, dword [esi + 8]
mov edi, eax
and edi, 7
je 0x4700b7
cmp eax, edi
jge 0x4700af
push esi
call fcn.0046bf00
add esp, 4
mov ecx, edi
shr dword [esi + 0xc], cl
sub dword [esi + 8], edi
mov edx, dword [esi + 8]
xor ecx, ecx
test edx, edx
jle 0x4700e0
mov edi, dword [esi + 0xc]
mov al, byte [esi + 0xc]
sub edx, 8
mov byte [ebp + ecx + 8], al
inc ecx
shr edi, 8
mov dword [esi + 0xc], edi
test edx, edx
jg 0x4700c3
mov dword [esi + 8], edx
cmp ecx, 4
jge 0x4700fc
mov edi, dword [esi + 4]
mov eax, dword [esi]
cmp eax, edi
jb 0x4700ed
xor dl, dl
jmp 0x4700f2
mov dl, byte [eax]
inc eax
mov dword [esi], eax
mov byte [ebp + ecx + 8], dl
inc ecx
cmp ecx, 4
jl 0x4700e3
mov eax, dword [ebp + 8]
movzx ecx, byte [ebp + 0xb]
movzx edi, ah
movzx eax, al
shl edi, 8
add edi, eax
shl ecx, 8
movzx eax, byte [ebp + 0xa]
add ecx, eax
mov eax, edi
xor eax, 0xffff
cmp ecx, eax
je 0x470131
pop edi
pop esi
mov dword [ebp + 8], str.zlib_corrupt
pop ebp
jmp fcn.0046be10
mov eax, dword [esi]
add eax, edi
cmp eax, dword [esi + 4]
jbe 0x470149
pop edi
pop esi
mov dword [ebp + 8], str.read_past_buffer
pop ebp
jmp fcn.0046be10
mov ecx, dword [esi + 0x10]
lea eax, [ecx + edi]
cmp eax, dword [esi + 0x18]
jbe 0x470167
push edi
push ecx
push esi
call fcn.00473310
add esp, 0xc
test eax, eax
jne 0x470167
pop edi
pop esi
pop ebp
ret
push edi
push dword [esi]
push dword [esi + 0x10]
call fcn.00499130
add dword [esi], edi
add esp, 0xc
add dword [esi + 0x10], edi
mov eax, 1
pop edi
pop esi
pop ebp
ret
Function at 0x48ae50
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cf37b
mov eax, dword fs:[0]
push eax
sub esp, 0x98
mov eax, dword [0x50c4d8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov esi, dword [ebp + 8]
lea eax, [ebp - 0xa4]
push eax
mov dword [edi + 0x10], esi
call fcn.0048a490
mov ecx, esi
call fcn.00452520
mov ecx, dword [edi + 0x10]
mov esi, eax
or esi, 0x40000080
call fcn.00477770
test al, 1
je 0x48aeb2
or esi, 1
jmp 0x48aeb9
test al, 2
je 0x48aeb9
or esi, 2
mov ebx, dword [edi + 0x10]
mov ecx, ebx
call fcn.0048b090
test al, al
je 0x48aeca
or esi, 0x20
movdqu xmm0, xmmword [ebp - 0xa4]
push 0
sub esp, 0x10
mov ecx, ebx
mov eax, esp
push 0
movdqu xmmword [eax], xmm0
mov eax, dword [ebx]
push esi
push 0
call dword [eax + 0x24]
mov ecx, eax
call fcn.0044a440
push eax
mov ecx, edi
call fcn.00446ff0
mov ecx, dword [edi + 0x10]
call fcn.00454500
cmp eax, 0xffffffff
je 0x48af19
mov ecx, dword [edi + 0x10]
push eax
mov eax, dword [ecx]
call dword [eax + 0x24]
mov ecx, eax
call fcn.00449dd0
test eax, eax
jne 0x48af2a
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x24]
mov ecx, eax
call fcn.00449cf0
mov eax, dword [eax]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 1
push eax
push 0x30
push dword [edi + 4]
call esi
mov ecx, dword [edi + 0x10]
push 0
call fcn.0048aa60
push eax
push 0xc5
push dword [edi + 4]
call esi
mov ebx, dword [edi + 0x10]
mov ecx, ebx
call fcn.0048b090
test al, al
je 0x48af74
push 0
mov ecx, ebx
call fcn.0048aa90
movzx eax, ax
push eax
push 0xcc
push dword [edi + 4]
call esi
mov ecx, dword [edi + 0x10]
lea edx, [ebp - 0x94]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov ecx, eax
mov dword [ebp - 4], 0
call fcn.0040c9b0
push eax
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetWindowTextW]
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xffffffff
call fcn.00445e30
push 0
push 0
push 0xb9
push dword [edi + 4]
call esi
push 0
push 3
push 0xd3
mov ecx, edi
call fcn.00447440
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0xec]
call eax
xor ecx, ecx
cmp al, 1
sete cl
push ecx
push dword [edi + 4]
call dword [sym.imp.USER32.dll_EnableWindow]
mov ecx, dword [edi + 0x10]
push 0
call fcn.0048b0a0
xor ecx, ecx
cmp al, 1
sete cl
push ecx
push 0xcf
push dword [edi + 4]
call esi
push 4
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetFocus]
mov ecx, dword [edi + 0x10]
call fcn.0048b080
push dword [edi + 4]
test al, al
je 0x48b03d
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
test eax, eax
mov ecx, 1
cmove eax, ecx
push eax
push 0
jmp 0x48b045
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
push eax
push eax
push 0xb1
push dword [edi + 4]
call esi
mov byte [edi + 0x18], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00491c63
mov esp, ebp
pop ebp
ret 4
Function at 0x48b0b0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x50c4d8]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push dword [ebp + 0x10]
mov esi, ecx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00456ec0
mov ecx, dword [esi + 0x7e8]
test ecx, ecx
je 0x48b141
lea eax, [ebp - 0x14]
push eax
call fcn.0048a490
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
je 0x48b117
mov ecx, dword [esi + 0x7e8]
push 0
call fcn.0047ffe0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00491c63
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
sub eax, edx
mov ecx, dword [ebp - 0x14]
push 0x54
push eax
mov eax, dword [ebp - 0xc]
sub eax, ecx
push eax
push edx
push ecx
mov ecx, dword [esi + 0x7e8]
push 0
call fcn.0047ffe0
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00491c63
mov esp, ebp
pop ebp
ret 0xc

Function at 0x48b160
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [0x50c4d8]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
cmp byte [esi + 0x18], 0
je 0x48b1eb
cmp dword [esi + 0x10], 0
je 0x48b1eb
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
lea edi, [eax + 1]
lea eax, [edi + edi]
call fcn.0049fb80
mov ebx, esp
test ebx, ebx
je 0x48b1eb
push edi
push ebx
push dword [esi + 4]
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov ecx, dword [esi + 0x10]
push ebx
add ecx, 0x1e4
call fcn.00445ed0
mov ecx, dword [esi + 0x10]
push 1
push 0
push 0
mov eax, dword [ecx]
push 0
push str.textchanged
push ecx
call dword [eax + 0x24]
mov ecx, eax
call fcn.0044e900
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x24]
mov ecx, eax
call fcn.0044abd0
test al, al
je 0x48b1eb
mov ecx, dword [esi + 0x10]
call fcn.00456d90
xor eax, eax
lea esp, [ebp - 0x10]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00491c63
mov esp, ebp
pop ebp
ret 0x10
Function at 0x48c000
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x50c4d8]
xor eax, ebp
mov dword [ebp - 4], eax
movdqu xmm0, xmmword [ebp + 8]
push esi
push dword [ebp + 0x18]
mov esi, ecx
sub esp, 0x10
mov eax, esp
movdqu xmmword [eax], xmm0
call fcn.00459660
mov ecx, dword [esi + 0x7e8]
test ecx, ecx
je 0x48c099
lea eax, [ebp - 0x14]
push eax
call fcn.0048a490
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
je 0x48c06f
mov ecx, dword [esi + 0x7e8]
push 0
call fcn.0047ffe0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00491c63
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
sub eax, edx
mov ecx, dword [ebp - 0x14]
push 0x54
push eax
mov eax, dword [ebp - 0xc]
sub eax, ecx
push eax
push edx
push ecx
mov ecx, dword [esi + 0x7e8]
push 0
call fcn.0047ffe0
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00491c63
mov esp, ebp
pop ebp
ret 0x14

Function at 0x48d740
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cf37b
mov eax, dword fs:[0]
push eax
sub esp, 0x98
mov eax, dword [0x50c4d8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 8]
mov dword [edi + 0x10], eax
mov dword [eax + 0x7f8], 0
cmp dword [edi + 4], 0
jne 0x48d7ed
lea eax, [ebp - 0xa4]
push eax
call fcn.0048d290
mov ecx, dword [edi + 0x10]
movdqu xmm0, xmmword [ebp - 0xa4]
push 0
sub esp, 0x10
mov eax, esp
push 0
movdqu xmmword [eax], xmm0
mov eax, dword [ecx]
push 0x40000000
push 0
call dword [eax + 0x24]
mov ecx, eax
call fcn.0044a440
push eax
mov ecx, edi
call fcn.00446ff0
mov esi, dword [edi + 0x10]
mov ecx, esi
call fcn.00454500
push eax
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x24]
mov ecx, eax
call fcn.00449f70
push 1
push dword [eax]
push 0x30
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [edi + 0x10]
lea edx, [ebp - 0x94]
push edx
mov eax, dword [ecx]
call dword [eax + 0x38]
mov ecx, eax
mov dword [ebp - 4], 0
call fcn.004467c0
lea ecx, [ebp - 0x94]
mov dword [ebp - 4], 0xffffffff
mov bl, al
call fcn.00445e30
test bl, bl
je 0x48d831
mov eax, dword [edi + 0x10]
add eax, 0x7e8
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [edi + 0x10]
add eax, 0x7e8
push eax
push 0
push 0x1002
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
push 4
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetFocus]
mov byte [edi + 0x18], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00491c63
mov esp, ebp
pop ebp
ret 4
Function at 0x48d880
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x50c4d8]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push dword [ebp + 0x10]
mov esi, ecx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00456ec0
mov ecx, dword [esi + 0x800]
test ecx, ecx
je 0x48d911
lea eax, [ebp - 0x14]
push eax
call fcn.0048d290
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
je 0x48d8e7
mov ecx, dword [esi + 0x800]
push 0
call fcn.0047ffe0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00491c63
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
sub eax, edx
mov ecx, dword [ebp - 0x14]
push 0x54
push eax
mov eax, dword [ebp - 0xc]
sub eax, ecx
push eax
push edx
push ecx
mov ecx, dword [esi + 0x800]
push 0
call fcn.0047ffe0
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00491c63
mov esp, ebp
pop ebp
ret 0xc

Function at 0x48da20
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x50c4d8]
xor eax, ebp
mov dword [ebp - 4], eax
movdqu xmm0, xmmword [ebp + 8]
push esi
push dword [ebp + 0x18]
mov esi, ecx
sub esp, 0x10
mov eax, esp
movdqu xmmword [eax], xmm0
call fcn.00459660
mov ecx, dword [esi + 0x800]
test ecx, ecx
je 0x48dab9
lea eax, [ebp - 0x14]
push eax
call fcn.0048d290
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
je 0x48da8f
mov ecx, dword [esi + 0x800]
push 0
call fcn.0047ffe0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00491c63
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
sub eax, edx
mov ecx, dword [ebp - 0x14]
push 0x54
push eax
mov eax, dword [ebp - 0xc]
sub eax, ecx
push eax
push edx
push ecx
mov ecx, dword [esi + 0x800]
push 0
call fcn.0047ffe0
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00491c63
mov esp, ebp
pop ebp
ret 0x14
Function at 0x491600
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 4]
push edi
push eax
push esi
mov ebx, ecx
mov dword [ebp - 4], 0
call fcn.0044a460
mov edi, eax
add esp, 8
test edi, edi
jne 0x4916a4
push eax
push 0x80
push 3
push eax
push 1
push SysReAllocString
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
je 0x491699
push edi
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 4], eax
test eax, eax
je 0x491699
push eax
mov dword [ebp + 8], edi
call fcn.004443b9
add esp, 4
mov edi, eax
lea eax, [ebp + 8]
push 0
push eax
push dword [ebp - 4]
push edi
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 4]
cmp dword [ebp + 8], eax
je 0x491695
push edi
call fcn.00492873
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
test edi, edi
jne 0x4916a7
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebp - 4]
push eax
push edi
mov ecx, ebx
call fcn.004916d0
push edi
mov esi, eax
call fcn.00492873
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4

Function at 0x495929
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateThread]
pop ebp
ret