joyce8/EMBER2024-capa huggingface dataset:
Function at 0x40f350
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1854
call fcn.00444d50
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push str.ENVIRONMENT
push 0xaa
push 0
mov dword [ebp - 0x1854], 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push 0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
mov dword [ebp - 0x1850], esi
cmp esi, 0x800
jae 0x40f42e
test esi, esi
je 0x40f41a
test edi, edi
je 0x40f3d5
cmp esi, 0x800
ja 0x40f3d5
push esi
lea eax, [ebp - 0x804]
push edi
push eax
call fcn.00447180
add esp, 0xc
jmp 0x40f41a
push 0x800
lea eax, [ebp - 0x804]
push 0
push eax
call fcn.00447700
add esp, 0xc
test edi, edi
jne 0x40f3fc
call fcn.0044f7da
mov dword [eax], 0x16
jmp 0x40f40f
cmp esi, 0x800
jbe 0x40f420
call fcn.0044f7da
mov dword [eax], 0x22
call fcn.0044f700
mov esi, dword [ebp - 0x1850]
cmp esi, 0x800
jae 0x40f4e8
mov byte [ebp + esi - 0x804], 0
lea eax, [ebp - 0x184c]
push eax
push dword [0x49845c]
push 0x498460
call fcn.004041a0
lea eax, [ebp - 0x1850]
push eax
lea eax, [ebp - 0x804]
push eax
call fcn.00403df0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x40f4d2
lea eax, [ebp - 0x184c]
push eax
lea eax, [ebp - 0x1850]
push eax
push esi
call fcn.00403ec0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x40f4cb
mov eax, dword [ebp - 0x1850]
test eax, eax
je 0x40f4c4
push edi
push eax
lea eax, [ebp - 0x804]
mov ecx, 0x5420e0
push eax
call fcn.004417e0
lea eax, [ebp - 0x804]
cmp dword [eax], 0x3a444945
jne 0x40f4c4
lea eax, [ebp - 0x1854]
push eax
lea eax, [ebp - 0x800]
push 0x46d754
push eax
call fcn.00402ca0
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1854]
xor ecx, ebp
pop edi
pop esi
call fcn.00444ab5
mov esp, ebp
pop ebp
ret
call fcn.00444ed2
int3
Function at 0x40f4f0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1854
call fcn.00444d50
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push str.INSTITUTION
push 0xad
push 0
mov dword [ebp - 0x1854], 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push 0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
mov dword [ebp - 0x1850], esi
cmp esi, 0x800
jae 0x40f5ce
test esi, esi
je 0x40f5ba
test edi, edi
je 0x40f575
cmp esi, 0x800
ja 0x40f575
push esi
lea eax, [ebp - 0x804]
push edi
push eax
call fcn.00447180
add esp, 0xc
jmp 0x40f5ba
push 0x800
lea eax, [ebp - 0x804]
push 0
push eax
call fcn.00447700
add esp, 0xc
test edi, edi
jne 0x40f59c
call fcn.0044f7da
mov dword [eax], 0x16
jmp 0x40f5af
cmp esi, 0x800
jbe 0x40f5c0
call fcn.0044f7da
mov dword [eax], 0x22
call fcn.0044f700
mov esi, dword [ebp - 0x1850]
cmp esi, 0x800
jae 0x40f688
mov byte [ebp + esi - 0x804], 0
lea eax, [ebp - 0x184c]
push eax
push dword [0x49845c]
push 0x498460
call fcn.004041a0
lea eax, [ebp - 0x1850]
push eax
lea eax, [ebp - 0x804]
push eax
call fcn.00403df0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x40f672
lea eax, [ebp - 0x184c]
push eax
lea eax, [ebp - 0x1850]
push eax
push esi
call fcn.00403ec0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x40f66b
mov eax, dword [ebp - 0x1850]
test eax, eax
je 0x40f664
push edi
push eax
lea eax, [ebp - 0x804]
mov ecx, 0x5420e0
push eax
call fcn.004417e0
lea eax, [ebp - 0x804]
cmp dword [eax], 0x3a444949
jne 0x40f664
lea eax, [ebp - 0x1854]
push eax
lea eax, [ebp - 0x800]
push 0x46d754
push eax
call fcn.00402ca0
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1854]
xor ecx, ebp
pop edi
pop esi
call fcn.00444ab5
mov esp, ebp
pop ebp
ret
call fcn.00444ed2
int3
Function at 0x40f690
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1854
call fcn.00444d50
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push str.INTERVAL
push 0x85
push 0
mov dword [ebp - 0x1854], 0x1d4c0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push 0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
mov dword [ebp - 0x1850], esi
cmp esi, 0x800
jae 0x40f76e
test esi, esi
je 0x40f75a
test edi, edi
je 0x40f715
cmp esi, 0x800
ja 0x40f715
push esi
lea eax, [ebp - 0x804]
push edi
push eax
call fcn.00447180
add esp, 0xc
jmp 0x40f75a
push 0x800
lea eax, [ebp - 0x804]
push 0
push eax
call fcn.00447700
add esp, 0xc
test edi, edi
jne 0x40f73c
call fcn.0044f7da
mov dword [eax], 0x16
jmp 0x40f74f
cmp esi, 0x800
jbe 0x40f760
call fcn.0044f7da
mov dword [eax], 0x22
call fcn.0044f700
mov esi, dword [ebp - 0x1850]
cmp esi, 0x800
jae 0x40f828
mov byte [ebp + esi - 0x804], 0
lea eax, [ebp - 0x184c]
push eax
push dword [0x49845c]
push 0x498460
call fcn.004041a0
lea eax, [ebp - 0x1850]
push eax
lea eax, [ebp - 0x804]
push eax
call fcn.00403df0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x40f812
lea eax, [ebp - 0x184c]
push eax
lea eax, [ebp - 0x1850]
push eax
push esi
call fcn.00403ec0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x40f80b
mov eax, dword [ebp - 0x1850]
test eax, eax
je 0x40f804
push edi
push eax
lea eax, [ebp - 0x804]
mov ecx, 0x5420e0
push eax
call fcn.004417e0
lea eax, [ebp - 0x804]
cmp dword [eax], 0x3a544e49
jne 0x40f804
lea eax, [ebp - 0x1854]
push eax
lea eax, [ebp - 0x800]
push 0x46d754
push eax
call fcn.00402ca0
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1854]
xor ecx, ebp
pop edi
pop esi
call fcn.00444ab5
mov esp, ebp
pop ebp
ret
call fcn.00444ed2
int3
Function at 0x40f8a0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1054
call fcn.00444d50
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
movzx ecx, word [ebp + 8]
push ebx
push esi
push edi
push eax
push ecx
xor esi, esi
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov edi, eax
push edi
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov ebx, eax
test ebx, ebx
je 0x40f9ef
push edi
push esi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [ebp - 0x1050], eax
inc eax
push eax
push 0x2040
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
mov eax, dword [ebp - 0x1050]
test eax, eax
je 0x40f955
lea ecx, [eax + 1]
test edi, edi
jne 0x40f922
call fcn.0044f7da
mov dword [eax], 0x16
jmp 0x40f94a
cmp ecx, eax
jb 0x40f933
push eax
push ebx
push edi
call fcn.00447180
add esp, 0xc
jmp 0x40f94f
push ecx
push 0
push edi
call fcn.00447700
add esp, 0xc
call fcn.0044f7da
mov dword [eax], 0x22
call fcn.0044f700
mov eax, dword [ebp - 0x1050]
mov byte [edi + eax], 0
lea eax, [ebp - 0x104c]
push eax
push dword [0x49845c]
push 0x498460
call fcn.004041a0
lea eax, [ebp - 0x1050]
push eax
push edi
call fcn.00403df0
mov ebx, dword [sym.imp.KERNEL32.dll_GlobalFree]
add esp, 0x14
mov dword [ebp - 0x1054], eax
push edi
call ebx
mov eax, dword [ebp - 0x1054]
test eax, eax
je 0x40f9ef
lea ecx, [ebp - 0x104c]
push ecx
lea ecx, [ebp - 0x1050]
push ecx
push eax
call fcn.00403ec0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x40f9e6
mov eax, dword [ebp - 0x1050]
test eax, eax
je 0x40f9e3
shr eax, 1
inc eax
push eax
push 0x2040
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push edi
push dword [ebp - 0x1050]
mov esi, eax
mov ecx, 0x5420e0
push esi
call fcn.004417e0
push edi
call ebx
mov eax, dword [ebp - 0x1054]
push eax
call ebx
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 8
Function at 0x40fa10
Capabilities:
Delete file
Extract resource via kernel32 functions
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
push 0x104
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push edi
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
push eax
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.00407d80
add esp, 0xc
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveExtensionA]
push esi
mov esi, dword [ebp + 0xc]
push esi
push edi
call fcn.0044a958
push 0x46d7e0
push esi
push edi
call fcn.0044a9b2
lea eax, [ebp - 0x108]
push eax
push esi
push edi
call fcn.0044a9b2
push 0x46d7e0
push esi
push edi
call fcn.0044a9b2
push str.Audio
push esi
push edi
call fcn.0044a9b2
push 0x46f1f0
push esi
push edi
call fcn.0044a9b2
add esp, 0x48
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x46edec
push 0xb8
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push 0
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push 0
push 0x80
push 2
push 0
push 3
push 0xc0000000
push edi
mov dword [ebp - 0x10c], eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
test esi, esi
je 0x40fb3b
push 0
lea eax, [ebp - 0x110]
push eax
push dword [ebp - 0x10c]
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 0xc
push edi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
push edi
push str._dllPath_
push str.You_do_not_have_write_and_execute_permissions_to_at_least_one_of_the_following_folders._To_use_this_application__you_must_have_write_execute_access._r_n_dllPath_.
push str.NoFolderAccess
mov ecx, 0x511bf0
call fcn.004193b0
push 1
mov ecx, 0x511bf0
mov dword [0x51d838], 1
mov dword [0x506050], 1
call fcn.00419740
mov ecx, 0x511bf0
call fcn.00411b20
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 0xc
Function at 0x40fba0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1858
call fcn.00444d50
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push str.OPTIONS
push 0x88
xorps xmm0, xmm0
push 0
movlpd qword [ebp - 0x1858], xmm0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push 0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
mov dword [ebp - 0x1850], esi
cmp esi, 0x800
jae 0x40fc7f
test esi, esi
je 0x40fc6b
test edi, edi
je 0x40fc26
cmp esi, 0x800
ja 0x40fc26
push esi
lea eax, [ebp - 0x804]
push edi
push eax
call fcn.00447180
add esp, 0xc
jmp 0x40fc6b
push 0x800
lea eax, [ebp - 0x804]
push 0
push eax
call fcn.00447700
add esp, 0xc
test edi, edi
jne 0x40fc4d
call fcn.0044f7da
mov dword [eax], 0x16
jmp 0x40fc60
cmp esi, 0x800
jbe 0x40fc71
call fcn.0044f7da
mov dword [eax], 0x22
call fcn.0044f700
mov esi, dword [ebp - 0x1850]
cmp esi, 0x800
jae 0x40fd4a
mov byte [ebp + esi - 0x804], 0
lea eax, [ebp - 0x184c]
push eax
push dword [0x49845c]
push 0x498460
call fcn.004041a0
lea eax, [ebp - 0x1850]
push eax
lea eax, [ebp - 0x804]
push eax
call fcn.00403df0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x40fd2e
lea eax, [ebp - 0x184c]
push eax
lea eax, [ebp - 0x1850]
push eax
push esi
call fcn.00403ec0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x40fd27
mov eax, dword [ebp - 0x1850]
test eax, eax
je 0x40fd20
push edi
push eax
lea eax, [ebp - 0x804]
mov ecx, 0x5420e0
push eax
call fcn.004417e0
lea ecx, [ebp - 0x804]
mov eax, 0x5354504f
cmp eax, dword [ecx]
jne 0x40fd20
mov eax, 0x3a
cmp al, byte [ecx + 4]
jne 0x40fd20
lea eax, [ebp - 0x1858]
push eax
lea eax, [ebp - 0x7ff]
push 0x46f188
push eax
call fcn.00402ca0
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1858]
xor ecx, ebp
mov edx, dword [ebp - 0x1854]
pop edi
pop esi
call fcn.00444ab5
mov esp, ebp
pop ebp
ret
call fcn.00444ed2
int3
Function at 0x40fd50
Capabilities:
Create directory
Delete file
Extract resource via kernel32 functions
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
push 0x104
push edi
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push edi
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
push eax
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.00407d80
add esp, 0xc
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveExtensionA]
push esi
mov esi, dword [ebp + 0xc]
push esi
push edi
call fcn.0044a958
push 0x46d7e0
push esi
push edi
call fcn.0044a9b2
lea eax, [ebp - 0x108]
push eax
push esi
push edi
call fcn.0044a9b2
add esp, 0x24
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0x46d7e0
push esi
push edi
call fcn.0044a9b2
push 0x46edfc
push esi
push edi
call fcn.0044a9b2
add esp, 0x18
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x46edec
push 0xf5
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push 0
mov ebx, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push 0
push 0x80
push 2
push 0
push 3
push 0xc0000000
push edi
mov dword [ebp - 0x10c], eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
test esi, esi
je 0x40fe7b
push 0
lea eax, [ebp - 0x110]
push eax
push dword [ebp - 0x10c]
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 0xc
push edi
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
push edi
push str._dllPath_
push str.You_do_not_have_write_and_execute_permissions_to_at_least_one_of_the_following_folders._To_use_this_application__you_must_have_write_execute_access._r_n_dllPath_.
push str.NoFolderAccess
mov ecx, 0x511bf0
call fcn.004193b0
push 1
mov ecx, 0x511bf0
mov dword [0x51d838], 1
mov dword [0x506050], 1
call fcn.00419740
mov ecx, 0x511bf0
call fcn.00411b20
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 0xc
Function at 0x40fee0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1854
call fcn.00444d50
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push str.PROGRAM
push 0xab
push 0
mov dword [ebp - 0x1854], 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push 0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
mov dword [ebp - 0x1850], esi
cmp esi, 0x800
jae 0x40ffbe
test esi, esi
je 0x40ffaa
test edi, edi
je 0x40ff65
cmp esi, 0x800
ja 0x40ff65
push esi
lea eax, [ebp - 0x804]
push edi
push eax
call fcn.00447180
add esp, 0xc
jmp 0x40ffaa
push 0x800
lea eax, [ebp - 0x804]
push 0
push eax
call fcn.00447700
add esp, 0xc
test edi, edi
jne 0x40ff8c
call fcn.0044f7da
mov dword [eax], 0x16
jmp 0x40ff9f
cmp esi, 0x800
jbe 0x40ffb0
call fcn.0044f7da
mov dword [eax], 0x22
call fcn.0044f700
mov esi, dword [ebp - 0x1850]
cmp esi, 0x800
jae 0x410078
mov byte [ebp + esi - 0x804], 0
lea eax, [ebp - 0x184c]
push eax
push dword [0x49845c]
push 0x498460
call fcn.004041a0
lea eax, [ebp - 0x1850]
push eax
lea eax, [ebp - 0x804]
push eax
call fcn.00403df0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x410062
lea eax, [ebp - 0x184c]
push eax
lea eax, [ebp - 0x1850]
push eax
push esi
call fcn.00403ec0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x41005b
mov eax, dword [ebp - 0x1850]
test eax, eax
je 0x410054
push edi
push eax
lea eax, [ebp - 0x804]
mov ecx, 0x5420e0
push eax
call fcn.004417e0
lea eax, [ebp - 0x804]
cmp dword [eax], 0x3a444950
jne 0x410054
lea eax, [ebp - 0x1854]
push eax
lea eax, [ebp - 0x800]
push 0x46d754
push eax
call fcn.00402ca0
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1854]
xor ecx, ebp
pop edi
pop esi
call fcn.00444ab5
mov esp, ebp
pop ebp
ret
call fcn.00444ed2
int3
Function at 0x410080
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1854
call fcn.00444d50
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push 0x46f464
push 0xa2
push 0
mov dword [ebp - 0x1854], 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push 0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
mov dword [ebp - 0x1850], esi
cmp esi, 0x800
jae 0x41015e
test esi, esi
je 0x41014a
test edi, edi
je 0x410105
cmp esi, 0x800
ja 0x410105
push esi
lea eax, [ebp - 0x804]
push edi
push eax
call fcn.00447180
add esp, 0xc
jmp 0x41014a
push 0x800
lea eax, [ebp - 0x804]
push 0
push eax
call fcn.00447700
add esp, 0xc
test edi, edi
jne 0x41012c
call fcn.0044f7da
mov dword [eax], 0x16
jmp 0x41013f
cmp esi, 0x800
jbe 0x410150
call fcn.0044f7da
mov dword [eax], 0x22
call fcn.0044f700
mov esi, dword [ebp - 0x1850]
cmp esi, 0x800
jae 0x410223
mov byte [ebp + esi - 0x804], 0
lea eax, [ebp - 0x184c]
push eax
push dword [0x49845c]
push 0x498460
call fcn.004041a0
lea eax, [ebp - 0x1850]
push eax
lea eax, [ebp - 0x804]
push eax
call fcn.00403df0
mov esi, eax
add esp, 0x14
test esi, esi
je 0x41020d
lea eax, [ebp - 0x184c]
push eax
lea eax, [ebp - 0x1850]
push eax
push esi
call fcn.00403ec0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x410206
mov eax, dword [ebp - 0x1850]
test eax, eax
je 0x4101ff
push edi
push eax
lea eax, [ebp - 0x804]
mov ecx, 0x5420e0
push eax
call fcn.004417e0
lea ecx, [ebp - 0x804]
mov eax, 0x44494552
cmp eax, dword [ecx]
jne 0x4101ff
mov eax, 0x3a
cmp al, byte [ecx + 4]
jne 0x4101ff
lea eax, [ebp - 0x1854]
push eax
lea eax, [ebp - 0x7ff]
push 0x46d754
push eax
call fcn.00402ca0
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x1854]
xor ecx, ebp
pop edi
pop esi
call fcn.00444ab5
mov esp, ebp
pop ebp
ret
call fcn.00444ed2
int3
Function at 0x410230
Capabilities:
Delete file
Extract resource via kernel32 functions
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10c
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0xc]
push eax
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.0044a958
push 0x46d7e0
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.0044a9b2
push esi
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.0044a9b2
add esp, 0x24
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
movzx eax, word [ebp + 0x10]
push edi
push eax
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push 0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push 0
push 0x80
push 2
push 0
push 0
mov ebx, eax
lea eax, [ebp - 0x108]
push 2
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
test esi, esi
je 0x410301
push 0
lea eax, [ebp - 0x10c]
push eax
push ebx
push edi
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 0x10

Function at 0x410320
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1804
call fcn.00444d50
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
movzx ecx, word [ebp + 8]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
push eax
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push esi
push 0
mov edi, eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov esi, eax
mov eax, dword [ebp + 0x14]
cmp esi, eax
jae 0x4103c5
test esi, esi
je 0x4103bd
test edi, edi
je 0x41038f
push esi
lea eax, [ebp - 0x804]
push edi
push eax
call fcn.00447180
add esp, 0xc
jmp 0x4103b1
push eax
lea eax, [ebp - 0x804]
push 0
push eax
call fcn.00447700
add esp, 0xc
call fcn.0044f7da
mov dword [eax], 0x16
call fcn.0044f700
cmp esi, 0x800
jae 0x410449
mov byte [ebp + esi - 0x804], 0
push 0x800
lea eax, [ebp - 0x1804]
mov ecx, 0x4d2d28
push eax
push 0x800
lea eax, [ebp - 0x804]
push eax
call fcn.004029a0
lea ecx, [ebp - 0x1804]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4103f0
mov esi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea eax, [ebp - 0x1804]
push 0
push 0
push 0
push 0
sub ecx, edx
sar ecx, 1
push ecx
push eax
push 0
push 0xfde9
call esi
push 0
push 0
push eax
push ebx
push 0xffffffffffffffff
lea eax, [ebp - 0x1804]
push eax
push 0
push 0xfde9
call esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 0x10
call fcn.00444ed2
int3