joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100017b0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c4
push ebx
push esi
push edi
push 0x10034b20
lea eax, [ebp - 0x4c4]
push str._sPassword.ini
push eax
call fcn.1000fd5e
push 0x180
lea ecx, [ebp - 0x4c4]
push 0x8000
push ecx
call fcn.10016520
mov esi, eax
add esp, 0x18
cmp esi, 0xffffffff
je 0x100018af
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x44]
push edx
push str.__s_
push eax
call fcn.1000fd5e
lea edi, [ebp - 0x44]
or ecx, 0xffffffff
xor eax, eax
lea edx, [ebp - 0xc4]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [ebp - 4], ecx
mov ecx, dword [ebp + 0xc]
push ecx
push 0x100207c4
push edx
call fcn.1000fd5e
lea edi, [ebp - 0xc4]
or ecx, 0xffffffff
xor eax, eax
push 2
repne scasb al, byte es:[edi]
not ecx
dec ecx
push eax
mov edi, ecx
push esi
mov dword [ebp + 0xc], edi
call fcn.10012b15
push esi
call fcn.100169e6
push 0
push 0
push esi
mov ebx, eax
call fcn.10012b15
mov ecx, dword [ebp - 4]
lea eax, [ebx + edi]
lea edx, [eax + ecx + 4]
push edx
call fcn.1000fbdf
mov edi, eax
push ebx
push edi
push esi
mov dword [ebp + 8], edi
call fcn.100167f0
add esp, 0x44
push esi
call fcn.10015ca7
add esp, 4
xor edx, edx
test ebx, ebx
jle 0x100018a6
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
lea edi, [ebp - 0x44]
lea esi, [edx + eax]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x100018b8
inc edx
cmp edx, ebx
jl 0x1000188c
mov edi, dword [ebp + 8]
push edi
call fcn.1000fbb0
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
add edx, ecx
cmp edx, ebx
jge 0x100018ea
mov eax, dword [ebp + 8]
lea esi, [edx + eax]
mov dword [ebp - 4], esi
cmp byte [esi], 0x5b
je 0x100018ea
mov ecx, dword [ebp + 0xc]
lea edi, [ebp - 0xc4]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x100018ff
mov esi, dword [ebp - 4]
inc edx
inc esi
cmp edx, ebx
mov dword [ebp - 4], esi
jl 0x100018ca
mov ecx, dword [ebp + 8]
push ecx
call fcn.1000fbb0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
add eax, edx
cmp eax, ebx
jge 0x1000193d
mov ecx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov edi, eax
sub edi, edx
sub edi, ecx
mov cl, byte [eax + esi]
mov byte [ebp + edi - 0x24], cl
mov ecx, esi
mov cl, byte [eax + ecx]
cmp cl, 0xd
je 0x10001931
cmp cl, 0xa
je 0x10001931
inc eax
cmp eax, ebx
jl 0x10001908
jmp 0x1000193d
mov ecx, dword [ebp + 0xc]
sub eax, edx
sub eax, ecx
mov byte [ebp + eax - 0x24], 0
mov edx, dword [ebp + 8]
mov byte [ebp - 6], 0
push edx
call fcn.1000fbb0
lea eax, [ebp - 0x24]
push eax
call fcn.1000fe3b
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x10001dd0
Capabilities:
Check os version
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, 1
push eax
push ebx
mov dword [ebx], 0x10024dd8
mov dword [ebx + 0x48], edi
call fcn.10001050
xor esi, esi
add esp, 8
cmp eax, esi
mov dword [0x10024ddc], eax
jne 0x10001e0d
pop edi
pop esi
or ax, 0xffff
pop ebx
mov esp, ebp
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetVersion]
shr eax, 0x18
cmp eax, 5
jne 0x10001e27
mov dword [0x10023c38], 3
jmp 0x10001e49
cmp eax, 0x80
jne 0x10001e36
mov dword [0x10023c38], edi
jmp 0x10001e49
xor ecx, ecx
cmp eax, 0xc0
setne cl
add ecx, 2
mov dword [0x10023c38], ecx
push 0x400064
mov dword [0x10024dd8], ebx
mov dword [0x10024de0], esi
mov dword [0x10024de4], esi
mov dword [0x10024de8], esi
call fcn.1000fbdf
add esp, 4
cmp eax, esi
mov dword [0x10031224], eax
jne 0x10001e95
push 0x21
push str.JET_RIP
push str.LPT_Memory_Setting_Error
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
or ax, 0xffff
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1000f0f0
mov edi, 0x10033da0
or ecx, 0xffffffff
xor eax, eax
mov dl, byte [0x10026f8c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov byte [str.JET_Rip_Printer], dl
mov esi, edi
mov edx, ecx
mov edi, str.JET_Rip_Printer
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x10033da0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, 0x10031260
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x74]
push ecx
call fcn.100013f0
mov edx, dword [ebx + 0x74]
push edx
call fcn.1000cff0
add esp, 8
mov dword [0x10034a2c], eax
lea eax, [ebp + 8]
push eax
push str.SOFTWAREJangEunTechMulti
push connect
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
test eax, eax
je 0x10001f39
pop edi
pop esi
mov byte [str.Output_1], 0
xor ax, ax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 4
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], eax
mov dword [ebp + 0xc], eax
lea edx, [ebp - 8]
push ecx
mov ecx, dword [ebp + 8]
lea eax, [ebp - 4]
push edx
push eax
push 0
push str.Copy
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 8]
pop edi
shl eax, 5
pop esi
pop ebx
mov byte [eax + str.Output_1], 0
xor ax, ax
mov esp, ebp
pop ebp
ret
Function at 0x100049a0
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
lea eax, [ebp - 4]
push esi
push eax
push 0x100213b0
push connect
mov dword [ebp - 8], 0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
je 0x10004a01
lea ecx, [ebp - 4]
push ecx
push str.SystemCurrentControlSetControlExtraPlugin
push connect
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
je 0x100049eb
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 4]
push 0xb
push str.ExtraPlugin
push 1
push 0
push 0x1002141c
push edx
call esi
mov eax, dword [ebp + 8]
cmp eax, 0x64
jae 0x10004a47
mov ecx, dword [ebp + 0xc]
push eax
lea edx, [ebp - 0x44]
push 0x10021428
push edx
mov dword [ebp - 8], ecx
call fcn.1000fd5e
mov edx, dword [ebp - 4]
add esp, 0xc
lea eax, [ebp - 8]
lea ecx, [ebp - 0x44]
push 4
push eax
push 4
push 0
push ecx
push edx
call esi
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 8]
pop esi
mov esp, ebp
pop ebp
ret
cmp eax, 0xc8
jae 0x10004a8d
add eax, 0xffffff9c
mov dword [ebp - 0x10], 4
push eax
lea eax, [ebp - 0x44]
push str.Plugin_d
push eax
mov dword [ebp - 0xc], 4
call fcn.1000fd5e
add esp, 0xc
lea ecx, [ebp - 0xc]
lea edx, [ebp - 8]
lea eax, [ebp - 0x10]
push ecx
push edx
mov edx, dword [ebp - 4]
push eax
lea ecx, [ebp - 0x44]
push 0
push ecx
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 8]
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x1000dd60
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Connect udp socket
Create tcp socket
Create udp socket

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [0x10031210]
push 0x50
mov dword [ebp - 4], 0x3e8
mov word [0x10032910], 2
mov dword [0x10032914], eax
call dword [sym.imp.WSOCK32.dll_htons]
push 0
push 1
push 2
mov word [0x10032912], ax
call dword [sym.imp.WSOCK32.dll_socket]
cmp eax, 0xffffffff
mov dword [0x1003488c], eax
jne 0x1000dda8
xor eax, eax
mov esp, ebp
pop ebp
ret
push 0x10
push 0x10032910
push eax
call dword [sym.imp.WSOCK32.dll_connect]
cmp eax, 0xffffffff
jne 0x1000ddce
mov ecx, dword [0x1003488c]
push ecx
call dword [sym.imp.WSOCK32.dll_closesocket]
xor eax, eax
mov esp, ebp
pop ebp
ret
mov eax, dword [0x1003488c]
lea edx, [ebp - 4]
push edx
push 0x8004667e
push eax
mov dword [0x10027d60], eax
mov dword [ebp - 4], 1
call dword [sym.imp.WSOCK32.dll_ioctlsocket]
cmp eax, 0xffffffff
jne 0x1000de06
mov eax, dword [0x1003488c]
push eax
call dword [sym.imp.WSOCK32.dll_closesocket]
xor eax, eax
mov esp, ebp
pop ebp
ret
mov eax, 1
mov esp, ebp
pop ebp
ret
Function at 0x1000e4e0
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], 1
call fcn.1001020d
mov ecx, dword [0x10031240]
mov edx, dword [0x10023c24]
add edx, ecx
mov dword [0x10031f20], eax
cmp eax, edx
jge 0x1000e511
cmp eax, ecx
jl 0x1000e511
xor eax, eax
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x1003488c]
mov dword [0x10031240], eax
lea eax, [ebp - 4]
push eax
push 0x4004667f
push ecx
call dword [sym.imp.WSOCK32.dll_ioctlsocket]
mov eax, dword [ebp - 4]
test eax, eax
jle 0x1000e557
cmp eax, 0x2000
jle 0x1000e542
mov eax, 0x2000
mov dword [ebp - 4], eax
mov edx, dword [0x1003488c]
push 0
push eax
push 0x10027d80
push edx
call dword [sym.imp.WSOCK32.dll_recv]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
mov edx, dword [0x1003488c]
push 0
push eax
push ecx
push edx
call dword [sym.imp.WSOCK32.dll_send]
xor ecx, ecx
test eax, eax
setle cl
dec ecx
and eax, ecx
mov esp, ebp
pop ebp
ret
Function at 0x1000eba0
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
xor ebx, ebx
push edi
push ebx
push 0x4000000
push ebx
push ebx
push ebx
push ebx
push str..LPTPORT.VxD
mov dword [0x100349d8], ebx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [0x10033d90], eax
jne 0x1000ebeb
push 0x21
push str.JET_RIP_for_95
push str.LPTPORT.VxD_Loading_Error
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 4]
mov esi, dword [sym.imp.KERNEL32.dll_DeviceIoControl]
push ebx
push ecx
push 8
push 0x10031218
push ebx
push ebx
push 1
push eax
call esi
mov edx, dword [0x10026fb4]
mov ecx, dword [0x10033d90]
lea eax, [ebp - 4]
push ebx
neg edx
mov edi, 2
push eax
sbb edx, edx
push edi
push 0x100349d8
and edx, 0xffffff80
push 8
push 0x100349e0
add edx, 0x84
push edi
push ecx
mov dword [0x100349e0], edx
mov dword [0x100349e4], 0x10
call esi
mov eax, dword [0x10023c24]
lea edx, [ebp - 4]
push ebx
push edx
push edi
push 0x100349d8
mov dword [0x10034768], eax
mov dword [0x1003476c], eax
mov eax, dword [0x10033d90]
push 8
push 0x10034768
push 3
push eax
call esi
mov eax, dword [0x10033d90]
mov cx, word [0x10026fb8]
lea edx, [ebp - 4]
push ebx
push edx
push edi
push 0x100349d8
push 4
push 0x10034888
push 4
push eax
mov word [0x10034888], cx
mov word [0x1003488a], 1
call esi
cmp dword [0x100349d8], 0x43
jne 0x1000ecdc
push 0x10023e60
push connect
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov edx, dword [0x10033d90]
lea ecx, [ebp - 4]
push ebx
push ecx
push edi
push 0x100349d8
push 4
push 0x10034888
push 4
push edx
call esi
mov ecx, dword [0x10033d90]
lea eax, [ebp - 4]
push ebx
push eax
push edi
push 0x100349d8
push ebx
push ebx
push 6
push ecx
call esi
mov eax, dword [0x10033d90]
lea edx, [ebp - 4]
push 0
push edx
push 8
push 0x100349d0
push edi
push 0x100349f0
push 8
push eax
mov word [0x100349f0], di
call esi
mov edx, dword [0x10033d90]
lea ecx, [ebp - 4]
push 0
push ecx
push 4
push 0x10034764
push 0
push 0
push 9
push edx
call esi
cmp word [0x10034766], di
je 0x1000eda2
inc ebx
cmp ebx, 0x64
jg 0x1000ed95
mov ecx, dword [0x10033d90]
lea eax, [ebp - 4]
push 0
push eax
push 8
push 0x100349d0
push edi
push 0x100349f0
push 8
push ecx
mov word [0x100349f0], di
call esi
mov eax, dword [0x10033d90]
lea edx, [ebp - 4]
push 0
push edx
push 4
push 0x10034764
push 0
push 0
push 9
push eax
call esi
cmp word [0x10034766], di
jne 0x1000ed3d
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push 0x10023e8c
call fcn.10005e90
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1000ee10
Capabilities:
Delete registry key

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [0x10026fb8]
push esi
push edi
xor edi, edi
cmp eax, edi
mov dword [0x100349d8], edi
je 0x1000ee45
push edi
push edi
push 3
push edi
cmp eax, 1
push edi
push 0xc0000000
jne 0x1000ee3e
push 0x10023ea0
jmp 0x1000ee68
push 0x10023eb0
jmp 0x1000ee68
mov eax, dword [0x10023c28]
push edi
push edi
push 3
push edi
cmp eax, 0x378
push edi
push 0xc0000000
jne 0x1000ee63
push str..LPTPORT1
jmp 0x1000ee68
push str..LPTPORT2
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [0x10033d90], eax
jne 0x1000eeab
push 0x21
push str.JET_RIP_for_NT
push str.Printer_Port_Error
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
push str.Printer_Port_Error._or_LPTPORT.SYS_Loading_Error._n
call fcn.10005e90
push str.Check_Printer_Port._n
call fcn.10005e90
add esp, 8
or eax, 0xffffffff
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 4]
mov esi, dword [sym.imp.KERNEL32.dll_DeviceIoControl]
push edi
push ecx
push 8
push 0x10031218
push edi
push edi
push 0x162004
push eax
call esi
cmp dword [0x10026fb0], edi
je 0x1000eeea
mov edx, dword [0x10026fb4]
neg edx
sbb edx, edx
and edx, 0xffffff80
add edx, 0x84
mov dword [0x100349e0], edx
jmp 0x1000eeff
mov eax, dword [0x10026fb4]
neg eax
sbb eax, eax
and al, 0x80
add eax, 0x80
mov dword [0x100349e0], eax
mov edx, dword [0x10033d90]
lea ecx, [ebp - 4]
push edi
push ecx
push 2
push 0x100349d8
push 8
push 0x100349e0
push 0x162008
push edx
mov dword [0x100349e4], 0x10
call esi
mov eax, dword [0x10023c24]
mov ecx, dword [0x10033d90]
mov dword [0x10034768], eax
mov dword [0x1003476c], eax
lea eax, [ebp - 4]
push edi
push eax
push 2
push 0x100349d8
push 8
push 0x10034768
push 0x16200c
push ecx
call esi
mov eax, dword [0x10026fb8]
cmp eax, edi
je 0x1000ef6b
mov word [0x10034888], ax
jmp 0x1000ef84
mov ecx, dword [0x10023c28]
xor edx, edx
cmp ecx, 0x378
setne dl
inc edx
mov word [0x10034888], dx
mov ecx, dword [0x10033d90]
lea eax, [ebp - 4]
push edi
push eax
push 2
push 0x100349d8
push 4
push 0x10034888
push 0x162010
push ecx
mov word [0x1003488a], 1
call esi
cmp dword [0x100349d8], 0x43
jne 0x1000efe7
push str.SystemCurrentControlSetControlVersion
push connect
call dword [sym.imp.ADVAPI32.dll_RegDeleteKeyA]
mov eax, dword [0x10033d90]
lea edx, [ebp - 4]
push edi
push edx
push 2
push 0x100349d8
push 4
push 0x10034888
push 0x162010
push eax
call esi
mov edx, dword [0x10033d90]
lea ecx, [ebp - 4]
push edi
push ecx
push 2
push 0x100349d8
push edi
push edi
push 0x162018
push edx
call esi
mov eax, dword [0x10026fb8]
neg eax
sbb eax, eax
mov ecx, dword [0x10033d90]
and eax, 2
push 0
mov word [0x100349f0], ax
lea eax, [ebp - 4]
push eax
push 8
push 0x100349d0
push 2
push 0x100349f0
push 0x162020
push ecx
call esi
mov eax, dword [0x10033d90]
lea edx, [ebp - 4]
push 0
push edx
push 4
push 0x10034764
push 0
push 0
push 0x162024
push eax
call esi
mov eax, dword [0x10026fb8]
test eax, eax
je 0x1000f07b
cmp word [0x10034766], 2
je 0x1000f07b
inc edi
cmp edi, 0x64
jle 0x1000f008
push str.Error_in_ECP_Mode_n
call fcn.10005e90
add esp, 4
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x10012611
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1a4
mov edx, dword [ebp + 8]
xor ecx, ecx
mov eax, 0x10024398
cmp edx, dword [eax]
je 0x10012633
add eax, 8
inc ecx
cmp eax, 0x10024428
jl 0x10012624
push esi
mov esi, ecx
shl esi, 3
cmp edx, dword [esi + 0x10024398]
jne 0x10012761
mov eax, dword [0x10026fe4]
cmp eax, 1
je 0x1001273b
test eax, eax
jne 0x10012664
cmp dword [0x10026fe8], 1
je 0x1001273b
cmp edx, 0xfc
je 0x10012761
lea eax, [ebp - 0x1a4]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x1001269b
lea eax, [ebp - 0x1a4]
push str._program_name_unknown_
push eax
call fcn.10011d20
pop ecx
pop ecx
lea eax, [ebp - 0x1a4]
push edi
push eax
lea edi, [ebp - 0x1a4]
call fcn.10012e80
inc eax
pop ecx
cmp eax, 0x3c
jbe 0x100126de
lea eax, [ebp - 0x1a4]
push eax
call fcn.10012e80
mov edi, eax
lea eax, [ebp - 0x1a4]
sub eax, 0x3b
push 3
add edi, eax
push 0x1001754c
push edi
call fcn.1000fc60
add esp, 0x10
lea eax, [ebp - 0xa0]
push str.Runtime_Error__n_nProgram:
push eax
call fcn.10011d20
lea eax, [ebp - 0xa0]
push edi
push eax
call fcn.10011d30
lea eax, [ebp - 0xa0]
push 0x1001752c
push eax
call fcn.10011d30
push dword [esi + 0x1002439c]
lea eax, [ebp - 0xa0]
push eax
call fcn.10011d30
push 0x12010
lea eax, [ebp - 0xa0]
push str.Microsoft_Visual_C_Runtime_Library
push eax
call fcn.100145b5
add esp, 0x2c
pop edi
jmp 0x10012761
lea eax, [ebp + 8]
lea esi, [esi + 0x1002439c]
push 0
push eax
push dword [esi]
call fcn.10012e80
pop ecx
push eax
push dword [esi]
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
pop esi
leave
ret

Function at 0x100169f7
Capabilities:
Check if file exists
Get file attributes
Set file attributes

Disassembly:
push dword [esp + 4]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x10016a22
test byte [esp + 8], 0x80
je 0x10016a11
and al, 0xfe
jmp 0x10016a13
or al, 1
push eax
push dword [esp + 8]
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
test eax, eax
jne 0x10016a33
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.1001463e
pop ecx
or eax, 0xffffffff
ret
xor eax, eax
ret
Function at 0x407670
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, section.UPX1
lea edi, [esi - 0x6000]
push edi
jmp 0x40768a
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x407691
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x407680
mov eax, 1
add ebx, ebx
jne 0x4076a3
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x407698
jne 0x4076b4
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x407698
xor ecx, ecx
sub eax, 3
jb 0x4076c8
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x40773a
mov ebp, eax
add ebx, ebx
jne 0x4076d3
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x4076e0
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x407704
inc ecx
add ebx, ebx
jne 0x4076f0
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x4076e5
jne 0x407701
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x4076e5
add ecx, 2
cmp ebp, 0xfffff300
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x407724
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x407715
jmp 0x407686
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x407724
add edi, ecx
jmp 0x407686
pop esi
mov edi, esi
mov ecx, 3
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x407742
cmp byte [edi], 0
jne 0x407742
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 0x407747
lea edi, [esi + 0x5000]
mov eax, dword [edi]
or eax, eax
je 0x4077b6
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x71c4]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x7228]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x407774
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x7230]
or eax, eax
je 0x4077b0
mov dword [ebx], eax
add ebx, 4
jmp 0x407791
call dword [esi + 0x722c]
mov ebp, dword [esi + 0x7234]
lea edi, [esi - 0x1000]
mov ebx, pe_overlay
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x1ef]
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 0x4077ea
sub esp, 0xffffff80
jmp 0x401020
Function at 0x1009e270
Capabilities:
Packed with generic packer

Disassembly:
cmp byte [esp + 8], 1
jne 0x1009e454
pushal
mov esi, section.data
lea edi, [esi - 0x58000]
push edi
or ebp, 0xffffffff
jmp 0x1009e29a
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x1009e2a1
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x1009e290
mov eax, 1
add ebx, ebx
jne 0x1009e2b3
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x1009e2c4
jne 0x1009e2e3
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x1009e2e3
dec eax
add ebx, ebx
jne 0x1009e2d0
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
jmp 0x1009e2a8
add ebx, ebx
jne 0x1009e2df
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jmp 0x1009e335
xor ecx, ecx
sub eax, 3
jb 0x1009e2fb
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x1009e36a
sar eax, 1
mov ebp, eax
jmp 0x1009e306
add ebx, ebx
jne 0x1009e306
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x1009e2d4
inc ecx
add ebx, ebx
jne 0x1009e314
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x1009e2d4
add ebx, ebx
jne 0x1009e321
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x1009e316
jne 0x1009e332
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x1009e316
add ecx, 2
cmp ebp, 0xfffffb00
adc ecx, 2
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x1009e354
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x1009e346
jmp 0x1009e296
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x1009e354
add edi, ecx
jmp 0x1009e296
pop esi
mov edi, esi
mov ecx, 0xbe1
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x1009e372
cmp byte [edi], 0x12
jne 0x1009e372
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 0x1009e377
lea edi, [esi + 0x9b000]
mov eax, dword [edi]
or eax, eax
je 0x1009e3e6
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x9e0f0]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x9e118]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x1009e3a4
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x9e11c]
or eax, eax
je 0x1009e3e0
mov dword [ebx], eax
add ebx, 4
jmp 0x1009e3c1
popal
xor eax, eax
ret 0xc
add edi, 4
lea ebx, [esi - 4]
xor eax, eax
mov al, byte [edi]
inc edi
or eax, eax
je 0x1009e417
cmp al, 0xef
ja 0x1009e40a
add ebx, eax
mov eax, dword [ebx]
xchg ah, al
rol eax, 0x10
xchg ah, al
add eax, esi
mov dword [ebx], eax
jmp 0x1009e3ec
and al, 0xf
shl eax, 0x10
mov ax, word [edi]
add edi, 2
jmp 0x1009e3f9
mov ebp, dword [esi + 0x9e120]
lea edi, [esi - 0x1000]
mov ebx, 0x1000
push eax
push esp
push 4
push ebx
push edi
call ebp
lea eax, [edi + 0x227]
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 0x1009e44b
sub esp, 0xffffff80
jmp 0x10007d2e