joyce8/EMBER2024-capa huggingface dataset:
Function at 0x8fc058
Capabilities:
Decompress data using aplib

Disassembly:
call fcn.008fc1a8
push ebx
mov ebx, esp
push ebx
mov esi, dword [ebx + 8]
mov edi, dword [ebx + 0x10]
cld
mov dl, 0x80
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
mov ebx, 2
add dl, dl
jne 0x8fc07e
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x8fc06a
add dl, dl
jne 0x8fc089
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x8fc0dc
xor eax, eax
add dl, dl
jne 0x8fc096
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x8fc17d
add dl, dl
jne 0x8fc0a5
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x8fc0b0
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x8fc0bb
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x8fc0c6
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
je 0x8fc0d2
push edi
mov eax, eax
sub edi, eax
mov al, byte [edi]
pop edi
mov byte [edi], al
inc edi
mov ebx, 2
jmp 0x8fc075
mov eax, 1
add dl, dl
jne 0x8fc0ea
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x8fc0f5
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x8fc0e1
sub eax, ebx
mov ebx, 1
jne 0x8fc128
mov ecx, 1
add dl, dl
jne 0x8fc10e
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x8fc119
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x8fc105
push esi
mov esi, edi
sub esi, ebp
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x8fc075
dec eax
shl eax, 8
mov al, byte [esi]
inc esi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x8fc13f
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x8fc14a
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x8fc136
cmp eax, 0x7d00
jae 0x8fc16d
cmp eax, 0x500
jb 0x8fc168
inc ecx
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x8fc075
cmp eax, 0x7f
ja 0x8fc170
add ecx, 2
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x8fc075
mov al, byte [esi]
inc esi
xor ecx, ecx
shr al, 1
je 0x8fc19e
adc ecx, 2
mov ebp, eax
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
mov ebx, 1
jmp 0x8fc075
pop ebx
sub edi, dword [ebx + 0x10]
mov eax, edi
pop ebx
ret 0x10
Function at 0x40228c
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1014
call fcn.0043f5e0
mov eax, dword [0x496980]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push 0x1000
mov dword [ebp - 0x1008], eax
xor ebx, ebx
lea eax, [ebp - 0x1004]
push ebx
push eax
call fcn.00440bf0
mov ecx, dword [ebp - 0x1008]
add esp, 0xc
mov dword [ebp - 0x100c], ebx
test ecx, ecx
jne 0x4022db
xor eax, eax
jmp 0x4023c2
push esi
mov esi, dword [ebp + 0xc]
mov eax, 0x400
shr esi, 2
push edi
cmp esi, 0x40000
jbe 0x402350
mov esi, 0x10000
push 4
push esi
call fcn.0044a2f4
pop ecx
mov edi, eax
pop ecx
mov ecx, dword [ebp - 0x1008]
test edi, edi
jne 0x402316
mov esi, 0x400
lea edi, [ebp - 0x1004]
mov dword [ebp - 0x1010], ebx
cmp dword [0x478138], ebx
je 0x4023a9
cmp dword [ebp + 0x10], 0
je 0x40235b
push 0
lea eax, [ebp - 0x100c]
push eax
mov eax, esi
shl eax, 2
push eax
push edi
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [ebp - 0x100c]
shr ecx, 2
jmp 0x40236a
shr esi, 2
cmp esi, eax
ja 0x4022f5
mov esi, eax
jmp 0x402310
push ecx
push esi
push 4
push edi
call fcn.00444a17
add esp, 0x10
mov ecx, eax
mov dword [ebp - 0x100c], ecx
test ecx, ecx
je 0x402397
xor eax, eax
add ebx, dword [edi + eax*4]
inc eax
cmp eax, ecx
jb 0x402376
add ebx, ecx
mov dword [ebp - 0x1010], eax
cmp dword [0x478138], 0
mov ecx, dword [ebp - 0x1008]
jne 0x402328
jmp 0x40239d
mov eax, dword [ebp - 0x1010]
test ebx, ebx
jne 0x4023a9
xor ecx, ecx
inc ecx
test eax, eax
cmovne ebx, ecx
test edi, edi
je 0x4023be
lea eax, [ebp - 0x1004]
cmp edi, eax
je 0x4023be
push edi
call fcn.0044a2ff
pop ecx
pop edi
mov eax, ebx
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.0043f5c5
leave
ret
Function at 0x4052a6
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [0x496980]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x128]
push edi
push 0x124
xor edi, edi
push edi
push eax
call fcn.00440bf0
add esp, 0xc
test esi, esi
je 0x4053a3
cmp byte [esi], 0
je 0x4053a3
push edi
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x40530f
push dword [ebp + 0xc]
push esi
push str.CountProcesses__s___d__FAILED:_CreateToolhelp32Snapshot___FAILED_
call fcn.0040d324
add esp, 0xc
or eax, 0xffffffff
jmp 0x4053a5
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x12c], 0x128
push eax
push ebx
call sub.KERNEL32.dll_Process32First
test eax, eax
jne 0x405352
push dword [ebp + 0xc]
push esi
push str.CountProcesses__s___d__FAILED:_Process32First___FAILED_
call fcn.0040d324
add esp, 0xc
push 0x91e
push str.C:UsersOfficeDocumentsVisual_StudioHoodSoftUpdateConsole.c
push str.CountProcesses
push ebx
call fcn.0040e841
jmp 0x405307
cmp dword [ebp + 0xc], 0
lea eax, [ebp - 0x108]
push esi
push eax
je 0x40536d
call fcn.0044a5a7
pop ecx
pop ecx
test eax, eax
jne 0x405379
jmp 0x405378
call fcn.0042f0d8
pop ecx
pop ecx
test eax, eax
je 0x405379
inc edi
lea eax, [ebp - 0x12c]
push eax
push ebx
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x405352
push 0x942
push str.C:UsersOfficeDocumentsVisual_StudioHoodSoftUpdateConsole.c
push str.CountProcesses
push ebx
call fcn.0040e841
mov eax, edi
jmp 0x4053a5
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043f5c5
leave
ret
Function at 0x405a53
Capabilities:
Get session user name

Disassembly:
push ebp
mov ebp, esp
push ecx
cmp dword [0x49d274], 0
push esi
mov esi, 0x49d478
jne 0x405aad
lea eax, [ebp - 4]
mov dword [ebp - 4], 0x103
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
test eax, eax
je 0x405a93
push esi
call fcn.0042dd5b
pop ecx
test eax, eax
jne 0x405a93
mov dword [0x49d274], 1
jmp 0x405aad
push 0x104
push str.UNKNOWN_USER
push esi
call fcn.0042f204
add esp, 0xc
and dword [0x49d274], 0
mov eax, esi
pop esi
leave
ret

Function at 0x405ac8
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x214
mov eax, dword [0x496980]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x20c]
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, dword [ebp + 8]
push 0x208
push 0
push eax
mov dword [ebp - 0x214], esi
call fcn.00440bf0
push 0x208
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.00440bf0
push esi
call fcn.0042d261
push ebx
call fcn.0042dd5b
add esp, 0x20
test eax, eax
je 0x405b2a
xor eax, eax
jmp 0x405b94
lea eax, [ebp - 0x210]
mov esi, 0x207
push eax
lea eax, [ebp - 0x20c]
mov dword [ebp - 0x210], esi
push eax
push 0
push 0
push ebx
push edi
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov edi, eax
test edi, edi
je 0x405b72
push edi
push str._GetLastError_
push ebx
push str.:4:GetRegString___s___FAILED:_RegQueryValueEx___FAILED:__s_ld
call fcn.0040d7f3
add esp, 0x10
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x405b26
cmp dword [ebp + 0x14], 0
lea eax, [ebp - 0x20c]
cmovge esi, dword [ebp + 0x14]
dec esi
push esi
mov esi, dword [ebp - 0x214]
push eax
push esi
call fcn.0042f204
add esp, 0xc
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043f5c5
leave
ret
Function at 0x405c5f
Capabilities:
Get common file path
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
mov eax, dword [0x496980]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push 0x104
lea eax, [ebp - 0x108]
push 0
push eax
call fcn.00440bf0
add esp, 0xc
call fcn.00405e9b
or dword [0x48900c], 0xffffffff
xor esi, esi
or dword [0x489010], 0xffffffff
inc esi
and dword [0x49cc6c], 0
call dword [sym.imp.KERNEL32.dll_AllocConsole]
test eax, eax
jne 0x405cc3
push str._GetLastError_
push str.:7:InitConsole___FAILED:_AllocConsole___FAILED:__s
xor esi, esi
call fcn.0040d324
pop ecx
pop ecx
push ebx
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
push 7
push 0xfffffffffffffff6
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_SetConsoleMode]
push eax
call ebx
test eax, eax
jne 0x405cf1
push str._GetLastError_
push str.:7:InitConsole___FAILED:_SetConsoleMode_STD_INPUT_HANDLE__FAILED:__s
xor esi, esi
call fcn.0040d324
pop ecx
pop ecx
push 3
push 0xfffffffffffffff5
call edi
push eax
call ebx
mov ebx, str._GetLastError_
test eax, eax
jne 0x405d12
push ebx
push str.:7:InitConsole___FAILED:_SetConsoleMode_STD_OUTPUT_HANDLE__FAILED:__s
xor esi, esi
call fcn.0040d324
pop ecx
pop ecx
push 1
push 0x40576f
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
test eax, eax
jne 0x405d32
push ebx
push str.:7:InitConsole___FAILED:_SetConsoleCtrlHandler___FAILED:__s
xor esi, esi
call fcn.0040d324
pop ecx
pop ecx
mov edi, 0x35c
push edi
call dword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
test eax, eax
jne 0x405d51
push edi
push str.:9:InitConsole___FAILED:_SetConsoleOutputCP___FAILED:_could_not_set_code_page__d___
xor esi, esi
call fcn.0040d324
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov dword [0x49a818], eax
test eax, eax
jne 0x405d6f
push ebx
push str.:7:InitConsole___FAILED:_GetConsoleWindow___FAILED:__s
xor esi, esi
call fcn.0040d324
pop ecx
pop ecx
lea eax, [ebp - 0x108]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
pop edi
pop ebx
test eax, eax
je 0x405dbc
lea eax, [ebp - 0x108]
push eax
call fcn.0042e684
lea eax, [ebp - 0x108]
mov dword [esp], 0x464cb8
push eax
call fcn.0042f023
pop ecx
pop ecx
test eax, eax
jne 0x405dbc
push eax
push eax
call fcn.0042734e
pop ecx
pop ecx
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push str.Sounds_
push 0
call fcn.0042734e
push eax
call fcn.0042bf7b
mov eax, dword [ebp + 8]
add esp, 0xc
test eax, eax
je 0x405ddd
mov dword [0x49a814], eax
call fcn.00435f53
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.0044a34a
pop ecx
call fcn.0044a329
call fcn.0044a329
call fcn.0044a329
mov ecx, dword [ebp - 4]
mov eax, esi
xor ecx, ebp
pop esi
call fcn.0043f5c5
leave
ret
Function at 0x40645e
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
xor eax, eax
push esi
push edi
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], eax
call fcn.004058bd
movzx edi, word [ebp + 8]
mov esi, eax
movzx ebx, word [ebp + 0xc]
lea eax, [ebp - 0xc]
push eax
xor eax, eax
mov word [ebp + 8], di
mov word [ebp + 0xa], bx
inc eax
push dword [ebp + 8]
push eax
lea eax, [ebp - 8]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadConsoleOutputAttribute]
test eax, eax
jne 0x4064ab
or eax, 0xffffffff
jmp 0x40653b
mov ecx, dword [ebp - 8]
xor eax, eax
mov dword [ebp + 8], eax
mov dl, cl
inc eax
mov word [ebp - 0x12], bx
mov word [ebp + 0xc], ax
mov word [ebp + 0xe], ax
mov eax, dword [ebp + 0x10]
mov byte [ebp - 4], al
mov eax, ecx
xor eax, 8
movzx ecx, cx
test dl, 8
movzx eax, ax
mov word [ebp - 0x14], di
cmovne ecx, eax
mov word [ebp - 0xe], bx
cmp dword [ebp + 0x10], 0x20
mov word [ebp - 0x10], di
mov word [ebp - 2], cx
jge 0x406523
lea eax, [ebp + 0xc]
mov word [ebp + 8], di
push eax
mov word [ebp + 0xa], bx
lea eax, [ebp - 4]
push dword [ebp + 8]
push 1
push eax
push esi
call fcn.00407f7a
add esp, 0x14
lea eax, [ebp + 0xc]
push eax
push dword [ebp + 8]
lea eax, [ebp - 2]
push 1
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteConsoleOutputAttribute]
jmp 0x406538
lea eax, [ebp - 0x14]
push eax
push dword [ebp + 8]
lea eax, [ebp - 4]
push dword [ebp + 0xc]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteConsoleOutputA]
mov eax, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
leave
ret

Function at 0x4068ca
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
call fcn.00405e25
test eax, eax
je 0x4068db
xor eax, eax
inc eax
pop ebp
ret
pop ebp
jmp fcn.004068e1
Function at 0x4072a9
Capabilities:
Set console window title

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x49cf3c]
push ebx
xor ebx, ebx
push esi
mov esi, dword [ebp + 8]
inc ebx
push edi
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
test eax, eax
je 0x4072f0
mov dword [0x49cf40], ebx
test eax, eax
je 0x4072d7
push 0x19
call edi
mov eax, dword [0x49cf3c]
test esi, esi
je 0x4072e1
test eax, eax
jne 0x4072c4
jmp 0x4072f8
test eax, eax
je 0x407406
mov eax, ebx
jmp 0x407408
test esi, esi
je 0x407406
push 0x104
push esi
push 0x49cf48
call fcn.0042f204
push esi
call fcn.0042d261
xor ecx, ecx
add esp, 0x10
xor esi, esi
cmp byte [0x49cf48], cl
je 0x407362
mov dl, byte [ecx + 0x49cf48]
test esi, esi
je 0x407335
xor eax, eax
mov bl, 0x20
cmp dl, 0x29
cmovne eax, esi
mov esi, eax
jmp 0x407342
cmp dl, 0x28
jne 0x407340
mov esi, ebx
mov bl, 0x20
jmp 0x407342
mov bl, dl
mov byte [ecx + 0x49d050], bl
inc ecx
push 1
mov eax, ecx
pop ebx
cmp byte [ecx + 0x49cf48], 0
jne 0x40731d
cmp eax, 0x104
jae 0x40740f
push 0x49d050
mov esi, 0x49cf48
mov byte [ecx + 0x49d050], 0
push esi
call fcn.0044a460
pop ecx
pop ecx
test eax, eax
je 0x4073eb
call fcn.00405c35
test eax, eax
jne 0x4073eb
mov esi, dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
xor edi, edi
and dword [0x49cf40], edi
cmp dword [0x49a81c], 0
jne 0x4073db
mov dword [0x49cf3c], ebx
test edi, edi
je 0x4073b7
push 0x49d050
call esi
mov eax, 0x2ee
jmp 0x4073c3
push 0x49cf48
call esi
mov eax, 0x5dc
push 0x49cf40
push eax
call fcn.004365ad
pop ecx
xor edi, ebx
cmp dword [0x49cf40], 0
pop ecx
je 0x407396
push 0x49cf48
call esi
and dword [0x49cf3c], 0
jmp 0x407406
push esi
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
and dword [0x49cf3c], 0
push 0x3e8
mov dword [0x49cf40], ebx
call edi
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret 4
call fcn.0043f77b
int3

Function at 0x407415
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
cmp dword [ebp + 0xc], 0
jne 0x407422
xor eax, eax
pop ebp
ret
push edi
push 4
lea eax, [ebp + 0x10]
push eax
push 4
push 0
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov edi, eax
test edi, edi
je 0x407463
push edi
push str._GetLastError_
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push str.:4:SetRegDword___s____ld__FAILED:_RegSetValueEx___FAILED:__s_ld
call fcn.0040d7f3
add esp, 0x14
push edi
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x407466
xor eax, eax
inc eax
pop edi
pop ebp
ret
Function at 0x407d07
Capabilities:
Enumerate processes
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x130
mov eax, dword [0x496980]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x128]
push edi
push 0x124
push 0
push eax
call fcn.00440bf0
add esp, 0xc
test esi, esi
je 0x407e9b
cmp byte [esi], 0
je 0x407e9b
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov edi, eax
or ebx, 0xffffffff
cmp edi, ebx
jne 0x407d76
push str._GetLastError_
push dword [ebp + 0xc]
push esi
push str.:5:TerminateProcessByName__s___d__FAILED:_CreateToolhelp32Snapshot___FAILED:__s
call fcn.0040d324
add esp, 0x10
mov eax, ebx
jmp 0x407e9e
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x12c], 0x128
push eax
push edi
call sub.KERNEL32.dll_Process32First
test eax, eax
jne 0x407dbe
push str._GetLastError_
push dword [ebp + 0xc]
push esi
push str.:5:TerminateProcessByName__s___d__FAILED:_Process32First___FAILED:__s
call fcn.0040d324
add esp, 0x10
push 0x7a6
push str.C:UsersOfficeDocumentsVisual_StudioHoodSoftUpdateConsole.c
push str.TerminateProcessByNameCaseSens
push edi
call fcn.0040e841
jmp 0x407d6f
mov dword [ebp - 0x130], ebx
cmp dword [ebp + 0xc], 0
lea eax, [ebp - 0x108]
push esi
push eax
je 0x407df1
cmp dword [ebp + 0x10], 0
je 0x407ddf
call fcn.0044a460
jmp 0x407de4
call fcn.0044a5a7
pop ecx
pop ecx
test eax, eax
jne 0x407ded
inc eax
jmp 0x407e05
xor eax, eax
jmp 0x407e05
cmp dword [ebp + 0x10], 0
je 0x407dfe
call fcn.00440d50
jmp 0x407e03
call fcn.0042f0d8
pop ecx
pop ecx
test eax, eax
je 0x407e61
push dword [ebp - 0x124]
and dword [ebp - 0x130], 0
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov ebx, eax
test ebx, ebx
je 0x407e61
push 0xffffffffffffffff
push ebx
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
test eax, eax
jne 0x407e4c
push str._GetLastError_
lea eax, [ebp - 0x108]
push eax
push str.:1:TerminateProcessByName___encountered_a_problem:_TerminateProcess___FAILED_to_terminate__s:__s:_trying_once_more_with_higher_privilege...
call fcn.0040d7f3
add esp, 0xc
push 0x7d7
push str.C:UsersOfficeDocumentsVisual_StudioHoodSoftUpdateConsole.c
push str.TerminateProcessByNameCaseSens
push ebx
call fcn.0040e841
lea eax, [ebp - 0x12c]
push eax
push edi
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x407dc4
push 0x830
push str.C:UsersOfficeDocumentsVisual_StudioHoodSoftUpdateConsole.c
push str.TerminateProcessByNameCaseSens
push edi
call fcn.0040e841
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x130]
jmp 0x407e9e
or eax, 0xffffffff
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043f5c5
leave
ret
Function at 0x407f7a
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2024
call fcn.0043f5e0
mov eax, dword [0x496980]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
xor edi, edi
mov dword [ebp - 0x2010], eax
mov dword [ebp - 0x2008], ecx
mov esi, edi
mov dword [ebp - 0x2014], edx
mov eax, edi
test ebx, ebx
je 0x407fcc
cmp byte [edx + eax], 0x20
jl 0x407fc9
inc eax
cmp eax, ebx
jb 0x407fbc
jmp 0x407fcc
xor esi, esi
inc esi
test esi, esi
je 0x40809e
mov esi, dword [ebp + 0x14]
lea edx, [ebp - 0x2018]
mov eax, 0x2000
mov dword [ebp - 0x200c], edi
push edx
cmp ebx, eax
push esi
cmovb eax, ebx
push eax
mov dword [ebp - 0x201c], eax
lea eax, [ebp - 0x2004]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_ReadConsoleOutputAttribute]
lea eax, [ebp - 0x2020]
push eax
lea eax, [ebp - 0x2024]
push eax
call fcn.00405826
movsx eax, word [ebp + 0x16]
push eax
movsx eax, si
push eax
call fcn.004068ca
add esp, 0x10
push edi
push dword [ebp - 0x2010]
push ebx
push dword [ebp - 0x2014]
mov ebx, dword [ebp - 0x2008]
push ebx
call dword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov dword [ebp - 0x2008], eax
test eax, eax
jne 0x408059
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x200c], eax
lea eax, [ebp - 0x2018]
push eax
push esi
push dword [ebp - 0x201c]
lea eax, [ebp - 0x2004]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_WriteConsoleOutputAttribute]
push dword [ebp - 0x2020]
push dword [ebp - 0x2024]
call fcn.004068ca
pop ecx
pop ecx
cmp dword [ebp - 0x2008], edi
jne 0x4080b2
push dword [ebp - 0x200c]
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x4080b2
push dword [ebp - 0x2010]
push dword [ebp + 0x14]
push ebx
push edx
push ecx
call dword [sym.imp.KERNEL32.dll_WriteConsoleOutputCharacterA]
mov edi, eax
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043f5c5
leave
ret
Function at 0x40918e
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x408
mov eax, dword [0x496980]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x404]
push edi
mov ebx, 0x400
push ebx
push 0
push eax
call fcn.00440bf0
push esi
call fcn.0042dd5b
add esp, 0x10
test eax, eax
jne 0x409265
push 0xd25
push str.C:UsersOfficeDocumentsVisual_StudioHoodSoftUpdateCURL.c
push 0x4634fc
push esi
call fcn.00412892
mov edi, eax
add esp, 0x10
test edi, edi
je 0x409265
push edi
xor esi, esi
and dword [ebp - 0x408], esi
push ebx
xor ebx, ebx
inc ebx
jmp 0x409228
xor edx, edx
test ecx, ecx
jle 0x40921c
movzx eax, byte [ebp + edx - 0x404]
add eax, esi
cmp eax, 0x7ffffe56
inc edx
lea esi, [eax - 0x7ffffe56]
cmovb esi, eax
cmp edx, ecx
jl 0x4091ff
add dword [ebp - 0x408], ecx
push edi
push 0x400
lea eax, [ebp - 0x404]
push ebx
push eax
call fcn.00444a17
mov ecx, eax
add esp, 0x10
test ecx, ecx
jne 0x4091f9
mov ecx, dword [ebp - 0x408]
add ecx, esi
cmp ecx, 0x7ffffe56
push edi
lea edx, [ecx - 0x7ffffe56]
cmovb edx, ecx
test edx, edx
cmovne ebx, edx
call fcn.00412707
pop ecx
mov eax, ebx
jmp 0x409267
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043f5c5
leave
ret
Function at 0x40ef1b
Capabilities:
Timestomp file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
xorps xmm0, xmm0
push edi
mov edi, dword [ebp + 8]
push edi
movlpd qword [ebp - 0x1c], xmm0
movlpd qword [ebp - 0xc], xmm0
movlpd qword [ebp - 0x14], xmm0
call fcn.0042dd5b
pop ecx
test eax, eax
jne 0x40f069
mov esi, dword [ebp + 0xc]
push esi
call fcn.0042dd5b
pop ecx
test eax, eax
jne 0x40f069
push eax
push 0x20
push 3
push eax
push 7
push 0x80
push edi
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x40efd4
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileTime]
test eax, eax
je 0x40ef98
mov dword [ebp - 4], 1
jmp 0x40efbf
cmp dword [0x4894f4], 0
je 0x40efbf
and dword [0x4894f4], 0
push str._GetLastError_
push dword [ebp + 0x10]
push esi
push edi
push str.:6:CopyFileWithDates___s_____s____d__encountered_a_problem:_GetFileTime___FAILED:__s
call fcn.0040d324
add esp, 0x14
push 0x9df
push str.C:UsersOfficeDocumentsVisual_StudioHoodSoftUpdateFile.c
push str.CopyFileWithDates
push ebx
call fcn.0040e841
push dword [ebp + 0x10]
push esi
push edi
call fcn.00410b39
add esp, 0xc
test eax, eax
je 0x40f069
cmp dword [ebp - 4], 0
jne 0x40eff4
xor eax, eax
inc eax
jmp 0x40f06b
push 0
push SQLGetDiagRec
push 3
push 0
push 7
push 0x100
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x40efef
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_SetFileTime]
test eax, eax
jne 0x40f052
mov eax, dword [0x4a014c]
inc eax
mov dword [0x4a014c], eax
cmp eax, 0xa
jge 0x40f052
push str._GetLastError_
push dword [ebp + 0x10]
push esi
push edi
push str.:6:_1_of_10:_CopyFileWithDates___s_____s____d__encountered_a_problem:_SetFileTime___FAILED:__s
call fcn.0040d324
add esp, 0x14
push 0xa05
push str.C:UsersOfficeDocumentsVisual_StudioHoodSoftUpdateFile.c
push str.CopyFileWithDates
push ebx
call fcn.0040e841
jmp 0x40efef
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret