joyce8/EMBER2024-capa huggingface dataset:
Function at 0x410450
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x108
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push esi
push eax
lea eax, [ebp - 0x108]
mov esi, ecx
push 0x104
push eax
call fcn.0044a958
push 0x46f2d8
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.0044a9b2
add esp, 0x18
lea eax, [ebp - 0x108]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0x46f2e4
push 0xaa
push str.ENVIRONMENT
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push 0x46f2f0
push 0xae
push str.CANDIDATE
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push 0x46f300
push 0xa1
push str.ERRORURL
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push 0x46f310
push 0x8d
push 0x46f320
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push 0x46f32c
push 0xad
push str.INSTITUTION
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push 0x46f33c
push 0x85
push str.INTERVAL
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push 0x46f34c
push 0xaf
push str.LANGUAGE
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push 0x46f35c
push 0x8b
push str.LOGPATH
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.message.bin
push 0x9e
push str.MESSAGE
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push 0x46f384
push 0x88
push str.OPTIONS
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push 0x46f390
push 0xab
push str.PROGRAM
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push 0x46f39c
push 0x67
push 0x46f3a8
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push 0x46f3b0
push 0x8e
push 0x46f3bc
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push 0x46f3c4
push 0x6f
push 0x46f3d0
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push 0x46f3d8
push 0x96
push 0x46f3e8
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push 0x46f3f4
push 0x94
push str.UPDATEURL
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push 0x46f404
push 0x75
push 0x46df68
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push 0x46f40c
push 0xa8
push str.KILLLIST
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push 0x46f428
push 0x7c
push 0x46df80
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push str.ecminver.bin
push 0xa5
push str.ECMINVERSION
lea eax, [ebp - 0x108]
mov ecx, esi
push eax
call fcn.00410230
push 0x46f444
push 0xbc
push str.KILLONQUITLIST
lea eax, [ebp - 0x108]
push eax
mov ecx, esi
call fcn.00410230
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 4
Function at 0x410710
Capabilities:
Create directory
Delete file
Extract resource via kernel32 functions
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x114
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
mov dword [ebp - 0x10c], 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]
cmp dword [0x50f4ac], 1
jne 0x4107ad
push esi
call fcn.00454fb0
lea ecx, [ebp - 0x10c]
push ecx
push 0x46d7e0
push eax
call fcn.00454f6c
push dword [ebp - 0x10c]
call fcn.00454fb0
mov edx, esi
add esp, 0x14
sub edx, eax
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x4107a0
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 0x46dfc0
push esi
push edi
call fcn.0044a9b2
add esp, 0x18
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x46edec
push 0xf4
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 - 0x110], eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
test esi, esi
je 0x410885
push 0
lea eax, [ebp - 0x114]
push eax
push dword [ebp - 0x110]
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 0x4108f0
Capabilities:
Create directory
Delete file
Extract resource via kernel32 functions
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x108]
push edi
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameA]
push eax
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.00407d80
add esp, 0xc
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveExtensionA]
push esi
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.0044a958
push 0x46d7e0
lea eax, [ebp - 0x20c]
push 0x104
push eax
call fcn.0044a9b2
lea eax, [ebp - 0x20c]
push eax
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.0044a9b2
add esp, 0x24
lea eax, [ebp - 0x108]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0x46d7e0
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.0044a9b2
push str.SBRemoteHandler.tlb
lea eax, [ebp - 0x108]
push 0x104
push eax
call fcn.0044a9b2
add esp, 0x18
xor ecx, ecx
nop
mov al, byte [ebp + ecx - 0x108]
lea ecx, [ecx + 1]
mov byte [ecx + 0x53e9df], al
test al, al
jne 0x4109d0
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x46edec
push 0xa0
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 3
mov ebx, eax
lea eax, [ebp - 0x108]
push 0xc0000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
test esi, esi
je 0x410a73
push 0
lea eax, [ebp - 0x210]
push eax
push ebx
push edi
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 4
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
lea eax, [ebp - 0x108]
mov ecx, 0x511bf0
push eax
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
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 4
Function at 0x410ae0
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
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0x10]
push 0x104
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push ebx
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 ebx
call fcn.0044a958
push 0x46d7e0
push esi
push ebx
call fcn.0044a9b2
lea eax, [ebp - 0x108]
push eax
push esi
push ebx
call fcn.0044a9b2
add esp, 0x24
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0x46d7e0
push esi
push ebx
call fcn.0044a9b2
push 0x46f1e0
push esi
push ebx
call fcn.0044a9b2
push edi
push esi
push ebx
call fcn.0044a9b2
push 0x46f1f0
push esi
push ebx
call fcn.0044a9b2
add esp, 0x30
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x46edec
push 0x74
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 3
push 0xc0000000
push ebx
mov dword [ebp - 0x10c], eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
test esi, esi
je 0x410c0c
push 0
lea eax, [ebp - 0x110]
push eax
push dword [ebp - 0x10c]
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 0x410c20
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
mov ebx, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 0x10]
push 0x104
push ebx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push ebx
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 ebx
call fcn.0044a958
push 0x46d7e0
push esi
push ebx
call fcn.0044a9b2
lea eax, [ebp - 0x108]
push eax
push esi
push ebx
call fcn.0044a9b2
push 0x46d7e0
push esi
push ebx
call fcn.0044a9b2
push str.SBU.
push esi
push ebx
call fcn.0044a9b2
push edi
push esi
push ebx
call fcn.0044a9b2
add esp, 0x48
push str..exe
push esi
push ebx
call fcn.0044a9b2
add esp, 0xc
push ebx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0x46edec
push 0x92
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 3
push 0xc0000000
push ebx
mov dword [ebp - 0x10c], eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
test esi, esi
je 0x410d59
push 0
lea eax, [ebp - 0x110]
push eax
push dword [ebp - 0x10c]
push edi
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 0x10
push ebx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
push ebx
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 0x10
Function at 0x411410
Capabilities:
Encode data using base64

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, ecx
xor esi, esi
mov dword [ebp - 0x58], edi
mov eax, dword [edi + 0x2d9f8]
mov byte [eax], 0
cmp byte [ebx], 0
je 0x41153e
nop
xor edx, edx
xor eax, eax
mov cl, byte [esi + ebx]
mov byte [ebp + eax - 0x54], cl
test cl, cl
je 0x411453
inc edx
inc esi
jmp 0x411461
cmp eax, 3
jae 0x411551
mov byte [ebp + eax - 0x54], 0
inc eax
cmp eax, 3
jl 0x411444
test edx, edx
je 0x411534
movups xmm0, xmmword [0x46f550]
movzx eax, byte [0x46f590]
movzx ecx, byte [ebp - 0x54]
movzx edi, byte [ebp - 0x53]
movups xmmword [ebp - 0x50], xmm0
mov byte [ebp - 0x10], al
mov eax, ecx
movups xmm0, xmmword [0x46f560]
shr eax, 2
and ecx, 3
shl ecx, 4
movups xmmword [ebp - 0x40], xmm0
movups xmm0, xmmword [0x46f570]
movups xmmword [ebp - 0x30], xmm0
movups xmm0, xmmword [0x46f580]
movups xmmword [ebp - 0x20], xmm0
movzx eax, byte [ebp + eax - 0x50]
mov byte [ebp - 0xc], al
mov eax, edi
shr eax, 4
or eax, ecx
movzx eax, byte [ebp + eax - 0x50]
mov byte [ebp - 0xb], al
cmp edx, 1
jle 0x4114fd
mov cl, byte [ebp - 0x52]
and edi, 0xf
movzx eax, cl
shr eax, 6
shl edi, 2
or eax, edi
mov al, byte [ebp + eax - 0x50]
mov byte [ebp - 0xa], al
cmp edx, 2
jle 0x411501
movzx eax, cl
and eax, 0x3f
mov al, byte [ebp + eax - 0x50]
jmp 0x411503
mov byte [ebp - 0xa], 0x3d
mov al, 0x3d
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 9], al
mov byte [ebp - 8], 0
mov edx, dword [ecx + 0x2d9f8]
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x411518
sub ecx, edi
lea eax, [ebp - 0xc]
push 5
push eax
lea eax, [ecx + 6]
push eax
push edx
call fcn.00455476
add esp, 0x10
cmp byte [esi + ebx], 0
jne 0x411440
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 4
call fcn.00444ed2
int3
Function at 0x411ec0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push esi
push 0
push 2
push 4
push 0
push 2
push 0xc0000000
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
test esi, esi
je 0x411efa
push 0
lea eax, [ebp + 8]
push eax
push 0x64
push 0
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop esi
pop ebp
ret 4

Function at 0x411f80
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push ebp
mov ebp, esp
cmp dword [ebp + 0x1c], 8
lea eax, [ebp + 8]
push ebx
cmovae eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x411fa3
test al, 0x10
je 0x411fa3
mov bl, 1
jmp 0x411fa5
xor bl, bl
mov edx, dword [ebp + 0x1c]
cmp edx, 8
jb 0x411fdb
mov ecx, dword [ebp + 8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x411fd1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x411fe2
push edx
push ecx
call fcn.00444ae6
add esp, 8
mov al, bl
pop ebx
pop ebp
ret 0x18
call fcn.0044f710
int3
Function at 0x413430
Capabilities:
Register raw input devices

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [0x5420dc]
sub esp, 0xc
push edi
mov edi, ecx
test eax, eax
jne 0x413656
mov ecx, dword [0x504e50]
test ecx, ecx
je 0x413656
push esi
push 0x470d08
push ecx
call fcn.00440eb0
add esp, 8
push 0
push 0x32
push 0x404
push dword [0x506064]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, edi
call fcn.004182d0
mov ecx, 0x504e40
call fcn.00407db0
cmp dword [edi + 0x474], 0
je 0x4134be
mov esi, dword [edi + 0xafcc]
push 0x471690
push dword [0x50f094]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, eax
test ecx, ecx
je 0x4134be
push esi
lea eax, [edi + 0xa7fc]
push eax
push 1
call ecx
add esp, 0xc
push dword [edi + 0x9990]
mov dword [edi + 0x9980], 0x20
push 0x20
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
push dword [0x504e50]
call fcn.00440c80
add esp, 0x10
mov dword [edi + 0x998c], eax
cmp dword [edi + 0x484], 0
je 0x41363d
mov eax, dword [edi + 0x9990]
push 0xc
mov dword [ebp - 4], eax
lea eax, [ebp - 0xc]
push 1
push eax
mov dword [ebp - 0xc], 0x20001
mov dword [ebp - 8], 0x100
call dword [sym.imp.USER32.dll_RegisterRawInputDevices]
test eax, eax
jne 0x413534
push 0x471b38
push dword [0x504e50]
call fcn.00440eb0
add esp, 8
push 0x10
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
push 0x471ba4
push dword [0x504e50]
call fcn.00440eb0
push 0
push 0x471bb4
push 0x471bc0
push esi
push dword [0x504e50]
call fcn.004408b0
mov esi, eax
push esi
push 0x471c10
push dword [0x504e50]
call fcn.00440eb0
add esp, 0x28
test esi, esi
jle 0x413619
push 0x10
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, eax
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
push 0
push 0x471c24
push 0x471c34
push esi
push dword [0x504e50]
call fcn.004408b0
push 0
push 0x471c48
push dword [0x504e50]
call fcn.00440eb0
push 0x471b4c
lea esi, [edi + 0x9994]
mov dword [0x51d6b4], 1
push 0x64
push esi
mov dword [0x51d6b8], 1
call fcn.004539f4
push 0x471b88
push dword [0x504e50]
call fcn.00440eb0
add esp, 0x34
mov ecx, 0x511bf0
push 0
push 0
push 1
push 2
push esi
call fcn.004155d0
jmp 0x41363d
push esi
push 0x471c54
push dword [0x504e50]
call fcn.00440eb0
push 0x471b90
push dword [0x504e50]
call fcn.00440eb0
add esp, 0x14
push 0x470d20
push dword [0x504e50]
call fcn.00440eb0
mov eax, dword [0x5420dc]
add esp, 8
pop esi
pop edi
mov esp, ebp
pop ebp
ret
Function at 0x414480
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, dword [ebp + 8]
push 0
push 0x40000002
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov esi, eax
cmp esi, 0xffffffff
je 0x4144eb
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x12c], 0x128
push eax
push esi
call sub.KERNEL32.dll_Process32First
test eax, eax
je 0x4144eb
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.004555a7
add esp, 8
test eax, eax
je 0x4144ff
lea ecx, [ebp - 0x12c]
push ecx
push esi
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x4144c6
pop edi
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x124]
xor ecx, ebp
pop edi
pop esi
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 4

Function at 0x4148c0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x98], 0x94
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
cmp dword [ebp - 0x88], 2
jne 0x41490f
cmp dword [ebp - 0x94], 5
jb 0x41490f
mov eax, 1
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00444ab5
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
xor ecx, ebp
call fcn.00444ab5
mov esp, ebp
pop ebp
ret
Function at 0x417a10
Capabilities:
Reference http user-agent string

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 5
lea eax, [ebp - 0x1c]
mov ebx, ecx
push eax
push dword [0x50c274]
call fcn.00454d08
push 5
lea eax, [ebp - 0xc]
push eax
push dword [0x50ce78]
call fcn.00454d08
push 5
lea eax, [ebp - 0x14]
push eax
push dword [0x50ce7c]
call fcn.00454d08
add esp, 0x24
lea esi, [ebp - 0xc]
cmp dword [ebx + 0x454], 0
lea ecx, [ebx + 0x2ec4]
lea edx, [ebx + 0xb0d4]
lea eax, [ebx + 0x463c]
push esi
lea esi, [ebp - 0x14]
push esi
lea esi, [ebp - 0x1c]
push esi
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
lea edi, [ebx + 0x3e3c]
push 0x506018
push 0x506040
jne 0x417acc
lea edi, [ebx + 0x1cc0]
push edi
push 0x49808c
push ecx
push edx
push 0x505c18
push str.Mozilla_5.0___s__AppleWebKit_537.36_Chrome_84.0.4147.30_Edg__s__SecureBrowser__s__s__s_s__s__DKM:_s._s._s
push eax
call esi
push edi
push 0x49808c
lea eax, [ebx + 0x3e3c]
push 0x46e27c
push eax
call esi
add esp, 0x40
jmp 0x417af0
push 0x49808c
push ecx
push edx
push 0x505c18
push str.Mozilla_5.0___s__AppleWebKit_537.36_Chrome_84.0.4147.30_Edg__s__SecureBrowser__s__s_s__s__DKM:_s._s._s
push eax
call esi
push 0x49808c
push 0x46d888
push edi
call esi
add esp, 0x38
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0
push 0
push 0xffffffffffffffff
push 0x51622c
push 0
push 0xfde9
call edi
mov esi, eax
lea ecx, [esi + esi]
push ecx
push 0x40
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
push esi
push eax
push 0xffffffffffffffff
mov dword [ebx + 0xb0e8], eax
lea eax, [ebx + 0x463c]
push eax
push 0
push 0xfde9
call edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00444ab5
mov esp, ebp
pop ebp
ret
Function at 0x419690
Capabilities:
Enumerate processes
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push 0
push 0x40000002
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov esi, eax
cmp esi, 0xffffffff
je 0x4196fb
lea eax, [ebp - 0x12c]
mov dword [ebp - 0x12c], 0x128
push eax
push esi
call sub.KERNEL32.dll_Process32First
test eax, eax
je 0x4196fb
lea eax, [ebp - 0x108]
push 0x46dfc0
push eax
call fcn.004555a7
add esp, 8
test eax, eax
je 0x41970c
lea ecx, [ebp - 0x12c]
push ecx
push esi
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x4196d2
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00444ab5
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x124]
test eax, eax
je 0x4196fb
push eax
push 0
push 1
call dword [sym.imp.KERNEL32.dll_OpenProcess]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00444ab5
mov esp, ebp
pop ebp
ret

Function at 0x419740
Capabilities:
Delete file
Get common file path
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x218
mov eax, dword [0x4ca578]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
push dword [ebp + 8]
lea eax, [ebp - 0xc]
mov edi, ecx
push 0x46f680
push 5
push eax
call fcn.0041a140
add esp, 0x10
cmp dword [edi + 0xbb40], 0
je 0x4197c4
add edi, 0xbb44
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0
push 2
push 4
push 0
push 2
push 0xc0000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
test esi, esi
je 0x4197ba
push 0
lea eax, [ebp - 0x218]
push eax
push 0x64
push 0
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0xc]
push eax
push edi
jmp 0x419864
lea eax, [ebp - 0x214]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
je 0x419872
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x110]
push 0x104
push eax
call fcn.0044a958
push str.ITSExitCode.log
lea eax, [ebp - 0x110]
push 0x104
push eax
call fcn.0044a9b2
add esp, 0x18
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0
push 2
push 4
push 0
push 2
push 0xc0000000
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
test esi, esi
je 0x419859
push 0
lea eax, [ebp - 0x218]
push eax
push 0x64
push 0
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x110]
push eax
push dword [0x504e50]
call fcn.00440ee0
add esp, 0xc
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00444ab5
mov esp, ebp
pop ebp
ret 4