joyce8/EMBER2024-capa huggingface dataset:
Function at 0x432c80
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
add ecx, 0xdeadbeef
push ebx
mov ebx, dword [ebp + 8]
add ecx, edx
push esi
mov esi, ecx
mov dword [ebp + 0x10], esi
push edi
mov edi, ecx
cmp edx, 0xc
jbe switch.0x00432d8c
add edx, 0xfffffff3
mov eax, 0xaaaaaaab
mul edx
mov eax, edx
shr eax, 3
inc eax
mov dword [ebp - 4], eax
nop dword [eax + eax]
movzx esi, byte [ebx + 7]
movzx eax, byte [ebx + 6]
movzx edx, byte [ebx + 0xb]
shl esi, 8
add esi, eax
shl edx, 8
movzx eax, byte [ebx + 5]
shl esi, 8
add esi, eax
movzx eax, byte [ebx + 4]
add edi, eax
shl esi, 8
movzx eax, byte [ebx + 0xa]
add edi, esi
movzx esi, byte [ebx + 8]
add edx, eax
movzx eax, byte [ebx + 9]
add esi, ecx
shl edx, 8
add edx, eax
shl edx, 8
add esi, edx
mov edx, dword [ebp + 8]
mov ebx, esi
rol ebx, 4
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 2]
shl ecx, 8
add ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 8
add ecx, eax
movzx eax, byte [edx]
shl ecx, 8
add ecx, eax
sub ecx, esi
add esi, edi
add ecx, dword [ebp + 0x10]
xor ebx, ecx
sub edi, ebx
mov eax, ebx
add ebx, esi
rol eax, 6
xor eax, edi
sub esi, eax
mov edx, eax
rol edx, 8
add eax, ebx
xor edx, esi
sub ebx, edx
mov esi, edx
rol esi, 0x10
add edx, eax
xor esi, ebx
mov ebx, dword [ebp + 8]
mov edi, esi
sub eax, esi
ror edi, 0xd
add esi, edx
xor edi, eax
mov dword [ebp + 0x10], esi
sub edx, edi
mov ecx, edi
rol ecx, 4
add ebx, 0xc
xor ecx, edx
mov dword [ebp + 8], ebx
mov edx, dword [ebp + 0xc]
add edi, esi
sub edx, 0xc
sub dword [ebp - 4], 1
mov dword [ebp + 0xc], edx
jne 0x432cc0
cmp edx, 0xc
ja 0x432df8
jmp dword [edx*4 + 0x432e48]
movzx eax, byte [ebx + 0xb]
shl eax, 0x18
add ecx, eax
movzx eax, byte [ebx + 0xa]
shl eax, 0x10
add ecx, eax
movzx eax, byte [ebx + 9]
shl eax, 8
add ecx, eax
movzx eax, byte [ebx + 8]
add ecx, eax
movzx eax, byte [ebx + 7]
shl eax, 0x18
add edi, eax
movzx eax, byte [ebx + 6]
shl eax, 0x10
add edi, eax
movzx eax, byte [ebx + 5]
shl eax, 8
add edi, eax
movzx eax, byte [ebx + 4]
add edi, eax
movzx eax, byte [ebx + 3]
shl eax, 0x18
add esi, eax
movzx eax, byte [ebx + 2]
shl eax, 0x10
add esi, eax
movzx eax, byte [ebx + 1]
shl eax, 8
add esi, eax
movzx eax, byte [ebx]
add esi, eax
mov dword [ebp + 0x10], esi
xor ecx, edi
mov eax, edi
rol eax, 0xe
sub ecx, eax
mov eax, ecx
mov esi, ecx
xor esi, dword [ebp + 0x10]
rol eax, 0xb
sub esi, eax
xor edi, esi
mov eax, esi
ror eax, 7
sub edi, eax
mov eax, edi
xor ecx, edi
rol eax, 0x10
sub ecx, eax
mov eax, ecx
mov edx, ecx
rol eax, 4
xor edx, esi
sub edx, eax
mov eax, edx
xor edi, edx
rol eax, 0xe
sub edi, eax
mov eax, edi
xor ecx, edi
ror eax, 8
sub ecx, eax
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x444089
Capabilities:
Allocate thread local storage

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
push str.FlsAlloc
push 0x46c1d0
push str.FlsAlloc
push 0x1e
call fcn.00443f67
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4440bd
push dword [ebp + 8]
mov ecx, esi
call dword [0x46729c]
call esi
jmp 0x4440c3
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
pop esi
pop ebp
ret 4

Function at 0x444107
Capabilities:
Get thread local storage value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
push str.FlsGetValue
push 0x46c1f4
push str.FlsGetValue
push 0x20
call fcn.00443f67
mov esi, eax
add esp, 0x10
test esi, esi
je 0x44413e
push dword [ebp + 8]
mov ecx, esi
call dword [0x46729c]
call esi
pop esi
pop ebp
ret 4
pop esi
pop ebp
jmp dword [sym.imp.KERNEL32.dll_TlsGetValue]
Function at 0x44843c
Capabilities:
Query environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov esi, eax
test esi, esi
je 0x4484d9
push ebx
push esi
call fcn.00448405
xor ebx, ebx
sub eax, esi
push ebx
push ebx
push ebx
push ebx
sar eax, 1
push eax
push esi
push ebx
push ebx
mov dword [ebp - 8], eax
call fcn.00443d97
add esp, 0x24
mov dword [ebp - 4], eax
test eax, eax
jne 0x448486
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
xor eax, eax
jmp 0x4484d8
push edi
push eax
call fcn.00443253
mov edi, eax
pop ecx
push ebx
test edi, edi
jne 0x4484a6
call fcn.00443219
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
xor eax, eax
jmp 0x4484d7
push ebx
push dword [ebp - 4]
push edi
push dword [ebp - 8]
push esi
push ebx
push ebx
call fcn.00443d97
add esp, 0x20
test eax, eax
jne 0x4484c5
push edi
call fcn.00443219
jmp 0x4484cd
push ebx
call fcn.00443219
mov ebx, edi
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov eax, ebx
pop edi
pop ebx
pop esi
leave
ret
Function at 0x464ac0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
mov eax, dword [0x479d24]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, dword [ebp + 8]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
mov dword [ebp - 0x84], 0x420041
xor edx, edx
mov dword [ebp - 0x80], 0x440043
mov dword [ebp - 0x7c], 0x460045
mov dword [ebp - 0x78], 0x480047
mov dword [ebp - 0x74], 0x4a0049
mov dword [ebp - 0x70], 0x4c004b
mov dword [ebp - 0x6c], 0x4e004d
mov dword [ebp - 0x68], 0x50004f
mov dword [ebp - 0x64], 0x520051
mov dword [ebp - 0x60], 0x540053
mov dword [ebp - 0x5c], 0x560055
mov dword [ebp - 0x58], 0x580057
mov dword [ebp - 0x54], 0x5a0059
mov dword [ebp - 0x50], 0x620061
mov dword [ebp - 0x4c], 0x640063
mov dword [ebp - 0x48], 0x660065
mov dword [ebp - 0x44], 0x680067
mov dword [ebp - 0x40], 0x6a0069
mov dword [ebp - 0x3c], 0x6c006b
mov dword [ebp - 0x38], 0x6e006d
mov dword [ebp - 0x34], 0x70006f
mov dword [ebp - 0x30], 0x720071
mov dword [ebp - 0x2c], 0x740073
mov dword [ebp - 0x28], 0x760075
mov dword [ebp - 0x24], 0x780077
mov dword [ebp - 0x20], 0x7a0079
mov dword [ebp - 0x1c], 0x310030
mov dword [ebp - 0x18], 0x330032
mov dword [ebp - 0x14], 0x350034
mov dword [ebp - 0x10], 0x370036
mov dword [ebp - 0xc], 0x390038
mov dword [ebp - 8], 0x2f002b
test esi, esi
jle 0x464bff
nop word [eax + eax]
movzx ecx, word [edi + edx*2]
xor eax, eax
cmp word [ebp + eax*2 - 0x84], cx
je 0x464bfa
inc eax
cmp eax, 0x40
jb 0x464bd6
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004366be
mov esp, ebp
pop ebp
ret 4
inc edx
cmp edx, esi
jl 0x464bd0
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
xor ecx, ebp
pop esi
call fcn.004366be
mov esp, ebp
pop ebp
ret 4

Function at 0x464f90
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x218
mov eax, dword [0x479d24]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
push 0x208
mov dword [ebp - 0x214], eax
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.004380b0
add esp, 0xc
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocStringLen
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x465074
push ebx
lea eax, [ebp - 0x210]
mov dword [ebp - 0x210], 0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x46502b
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x46503d
mov eax, dword [ebp - 0x210]
xor ecx, ecx
add ecx, ebx
mov dword [esi], ecx
adc eax, 0
mov dword [esi + 4], eax
push dword [esi]
mov dword [ebp - 0x218], 0
call fcn.004368bd
mov ecx, dword [ebp - 0x214]
add esp, 4
push 0
mov dword [ecx], eax
lea ecx, [ebp - 0x218]
push ecx
push dword [esi]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop ebx
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.004366be
mov esp, ebp
pop ebp
ret 8
Function at 0x402590
Capabilities:
Delete file

Disassembly:
push ebp
mov eax, 0x2010
mov ebp, esp
push esi
push ebx
call fcn.005d34c0
sub esp, eax
cmp byte [0x82d041], 0
jne 0x402643
cmp byte [0x82f042], 0
jne 0x4025c0
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret
call fcn.00402120
mov dword [esp + 4], 0x7193f6
mov dword [esp], 0x82d042
lea ebx, [ebp - 0x2008]
call dword [sym.imp.msvcrt.dll__wfopen]
test eax, eax
mov esi, eax
jne 0x402608
jmp 0x40270f
mov dword [esp + 4], 0x82f044
mov dword [esp], ebx
call sub.msvcrt.dll_wcsstr
test eax, eax
jne 0x402700
mov dword [esp + 8], esi
mov dword [esp + 4], 0x1000
mov dword [esp], ebx
call sub.msvcrt.dll_fgetws
test eax, eax
jne 0x4025f0
mov dword [esp], esi
call sub.msvcrt.dll_fclose
or dword [0x8511c0], 0x210
mov dword [0x8511c4], 2
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret
call fcn.00402120
lea eax, [ebp - 0x1ff6]
lea ecx, [ebp - 0x2008]
mov dword [esp], 0x82d042
mov dword [ebp - 0x2004], 0
mov dword [ebp - 0x1ffc], pe_nt_image_headers32
mov dword [ebp - 0x2000], eax
xor eax, eax
mov byte [ebp - 0x1ff8], 0
mov dword [ebp - method.g.virtual_0], vtable.g.0
mov word [ebp - 0x1ff6], ax
call fcn.00403cc0
mov eax, dword [ebp - 0x2000]
sub esp, 4
mov ecx, 0x8534b8
mov dword [esp], eax
call sub.SHLWAPI.dll_PathRemoveFileSpecW
mov eax, dword [ebp - 0x2000]
sub esp, 4
mov ecx, 0x8534b8
mov dword [esp], eax
call fcn.00440870
sub esp, 4
mov ecx, 0x8534b8
mov dword [esp], 0x82d042
call sub.KERNEL32.dll_DeleteFileW
mov eax, dword [ebp - 0x2004]
sub esp, 4
mov dword [ebp - method.nInst.virtual_0], vtable.nInst.0
test eax, eax
je 0x4025b7
mov dword [esp], eax
call fcn.006e9860
lea esp, [ebp - 8]
pop ebx
pop esi
pop ebp
ret
mov dword [0x8534a0], 1
jmp 0x402620
mov dword [esp + 8], 0x82d042
mov dword [esp + 4], 0x7193fc
mov dword [esp], 0x833180
call fcn.0041e8c0
jmp 0x402628

Function at 0x4036e0
Capabilities:
Encode data using xor
Hash data using djb2

Disassembly:
push ebx
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 8]
test ebx, ebx
je 0x40370a
add ebx, edx
mov eax, 0x1505
mov ecx, eax
add edx, 1
shl ecx, 5
add eax, ecx
movsx ecx, byte [edx - 1]
xor eax, ecx
cmp edx, ebx
jne 0x4036f4
pop ebx
ret
mov eax, 0x1505
pop ebx
ret
Function at 0x404140
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
sub esp, 0xc
call fcn.0046e640
call fcn.0046e6e0
call fcn.0046e690
call fcn.0046e970
call fcn.0046e9e0
call fcn.0046ea80
call fcn.0046ea30
add esp, 0xc
jmp 0x45ca10
push ebx
xor edx, edx
sub esp, 8
lea esi, [esi]
lea edi, [edi]
mov eax, edx
mov ecx, edx
and eax, 1
shr ecx, 1
neg eax
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
and eax, 1
neg eax
shr ecx, 1
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
and eax, 1
neg eax
shr ecx, 1
and eax, 0xedb88320
xor eax, ecx
mov ecx, eax
and eax, 1
neg eax
shr ecx, 1
and eax, 0xedb88320
xor ecx, eax
mov eax, ecx
and ecx, 1
neg ecx
shr eax, 1
and ecx, 0xedb88320
xor eax, ecx
mov ecx, eax
and eax, 1
neg eax
shr ecx, 1
and eax, 0xedb88320
xor ecx, eax
mov eax, ecx
and ecx, 1
shr eax, 1
neg ecx
and ecx, 0xedb88320
xor eax, ecx
mov ecx, eax
and eax, 1
neg eax
shr ecx, 1
and eax, 0xedb88320
xor eax, ecx
mov dword [edx*4 + 0x857120], eax
add edx, 1
cmp edx, 0x100
jne SetupDiDestroyDeviceInfoList
mov edx, 0x857120
mov ebx, 0x858d20
mov eax, dword [edx]
add edx, 4
movzx ecx, al
shr eax, 8
xor eax, dword [ecx*4 + 0x857120]
mov dword [edx + 0x3fc], eax
cmp ebx, edx
jne 0x45cac4
mov dword [0x857100], reloc.SHELL32.dll_DragQueryFileW
mov dword [0x859120], 0x45cb20
mov dword [0x859124], 0x45cbf0
call fcn.0045f9f0
test eax, eax
jne DragFinish
mov dword [0x859120], 0x45cbf0
add esp, 8
pop ebx
ret
Function at 0x406490
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x14c
mov eax, dword [ebp + 8]
test eax, eax
je 0x4064a9
cmp word [eax], 0
jne 0x4064b3
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4
mov esi, ecx
lea edx, [ebp - 0x12c]
lea ecx, [ebp - 0x11a]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x8431c0
mov dword [ebp - 0x124], ecx
mov dword [esp + 4], str._s_themes_s
xor ecx, ecx
mov dword [esp], edx
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x120], pe_nt_image_headers32
mov byte [ebp - 0x11c], 0
mov dword [ebp - method.g.virtual_0], vtable.g.0
mov word [ebp - 0x11a], cx
call fcn.00403910
mov eax, dword [ebp - 0x124]
mov dword [esp + 4], 0x719ad2
mov dword [esp], eax
call dword [sym.imp.msvcrt.dll__wfopen]
test eax, eax
mov ebx, eax
je 0x406625
mov dword [esp + 0xc], 2
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp], eax
call fcn.005d94b0
mov dword [esp], ebx
call fcn.005d9210
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0
mov edi, eax
mov dword [esp + 8], 0
mov dword [esp], ebx
call fcn.005d94b0
mov dword [esp], edi
mov dword [ebp - 0x13c], edi
call fcn.006e98b0
mov edi, eax
mov eax, dword [ebp - 0x13c]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 1
mov dword [esp], edi
mov dword [esp + 8], eax
call sub.msvcrt.dll_fread
test eax, eax
mov dword [ebp - 0x13c], eax
je 0x406605
mov dword [esp], ebx
call sub.msvcrt.dll_fclose
mov eax, dword [ebp - 0x13c]
mov dword [esp], edi
mov ecx, esi
mov dword [esp + 4], eax
call fcn.004061d0
sub esp, 8
mov dword [esp], edi
call fcn.006e9860
mov eax, dword [ebp - 0x128]
mov dword [ebp - method.nInst.virtual_0], vtable.nInst.0
test eax, eax
je 0x4064a9
mov dword [esp], eax
call fcn.006e9860
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4
mov eax, dword [ebp - 0x124]
mov dword [esp + 4], str.ERROR_in_image_loadFile__:_cannnot_read_from_file__S_n
mov dword [esp], 0x833180
mov dword [esp + 8], eax
call fcn.0041e8c0
jmp 0x4065d3
mov eax, dword [ebp - 0x124]
mov dword [esp + 4], str.ERROR_in_image_loadFile__:_file__S_not_found_n
mov dword [esp], 0x833180
mov dword [esp + 8], eax
call fcn.0041e8c0
jmp 0x4065db
Function at 0x408e60
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov esi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x6c]
lea edi, [esp + 0x3c]
mov eax, dword [esp + 0x60]
mov dword [esp + 0x3c], 0
mov dword [ebp], 0
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], eax
call esi
sub esp, 0x18
cmp eax, 2
je 0x408ef5
test eax, eax
mov dword [esp + 0x2c], eax
je 0x408f00
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Key__S_n
mov dword [esp], 0x833180
call fcn.0041e8c0
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], str.RegQueryValueEx__
mov ecx, 0x833180
mov dword [esp], eax
call fcn.0041f190
sub esp, 8
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
mov eax, dword [esp + 0x64]
lea ecx, [eax + 0x80c]
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.00403110
sub esp, 4
mov dword [ebp], eax
mov edx, dword [esp + 0x64]
mov dword [esp + 0x14], edi
add eax, dword [edx + 0x828]
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp + 0x10], eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call esi
sub esp, 0x18
test eax, eax
mov esi, eax
je 0x408ef5
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Key__S_n
mov dword [esp], 0x833180
call fcn.0041e8c0
mov dword [esp], esi
mov dword [esp + 4], str.read_reg_val__
mov ecx, 0x833180
call fcn.0041f190
sub esp, 8
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
Function at 0x40baa0
Capabilities:
Read file on windows

Disassembly:
push ebp
push edi
mov eax, 0x301c
push esi
push ebx
call fcn.005d34c0
sub esp, eax
mov eax, dword [ecx + 0x138]
add eax, dword [ecx + 0x828]
lea ebx, [esp + 0x1010]
mov esi, ecx
mov byte [esp + 0x10], 0
mov dword [esp], ebx
mov dword [esp + 4], eax
call sub.msvcrt.dll_wcscpy
mov eax, dword [esp + 0x3030]
mov edi, dword [eax + 0x14]
add edi, dword [esi + 0x828]
mov dword [esp], ebx
call sub.msvcrt.dll_wcslen
lea eax, [ebx + eax*2 - 8]
mov dword [esp + 4], str.system32CatRootF750E6C3_38EE_11D1_85E5_00C04FC295EE_ws
mov dword [esp + 8], edi
mov dword [esp], eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov dword [esp], ebx
call sub.msvcrt.dll_wcslen
lea eax, [ebx + eax*2 - 6]
mov dword [esp + 4], 0x71a58c
mov dword [esp], eax
call sub.msvcrt.dll_wcscpy
mov dword [esp + 4], 0x71a594
mov dword [esp], ebx
call dword [sym.imp.msvcrt.dll__wfopen]
test eax, eax
je 0x40bbce
mov ebx, eax
mov dword [esp + 0xc], 2
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp], eax
call fcn.005d94b0
mov dword [esp], ebx
call fcn.005d9210
mov dword [esp + 0xc], 0
mov edi, eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp], ebx
call fcn.005d94b0
mov dword [esp], edi
call fcn.006e98b0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 1
mov ebp, eax
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov dword [esp], ebx
call sub.msvcrt.dll_fclose
lea eax, [esp + 0x10]
mov dword [esp + 8], edi
mov dword [esp + 4], ebp
mov dword [esp], eax
call fcn.00411b90
mov dword [esp], ebp
call fcn.006e9860
xor eax, eax
cmp byte [esp + 0x10], 0
je 0x40bbec
lea eax, [esp + 0x10]
lea ecx, [esi + 0x80c]
mov dword [esp], eax
call fcn.00402960
sub esp, 4
add esp, 0x301c
pop ebx
pop esi
pop edi
pop ebp
ret 4
Function at 0x411aa0
Capabilities:
Read file on windows

Disassembly:
push esi
push ebx
mov eax, 0x2024
call fcn.005d34c0
sub esp, eax
mov eax, dword [ecx + 0xc]
lea ebx, [esp + 0x20]
mov dword [esp + 4], ebx
mov eax, dword [eax]
mov dword [esp], eax
call fcn.00411950
sub esp, 8
mov dword [esp + 4], 0x71b170
mov dword [esp], ebx
call dword [sym.imp.msvcrt.dll__wfopen]
test eax, eax
je 0x411b4d
lea esi, [esp + 0x19]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 3
mov ebx, eax
mov dword [esp], esi
call sub.msvcrt.dll_fread
lea eax, [esp + 0x1c]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 1
mov dword [esp + 4], 4
mov dword [esp], eax
call sub.msvcrt.dll_fread
mov dword [esp], ebx
call sub.msvcrt.dll_fclose
mov dword [esp + 8], 3
mov dword [esp + 4], 0x71b176
mov dword [esp], esi
call sub.msvcrt.dll_memcmp
test eax, eax
mov edx, dword [esp + 0x1c]
je 0x411b60
cmp edx, 0x204
je 0x411b75
xor eax, eax
add esp, 0x2024
pop ebx
pop esi
ret
cmp edx, 0x205
mov eax, 1
je 0x411b4f
cmp edx, 0x204
jne 0x411b4d
add esp, 0x2024
mov eax, 1
pop ebx
pop esi
ret
Function at 0x41cb70
Capabilities:
Delete file
Enumerate files on windows

Disassembly:
push ebp
push edi
mov eax, 0x227c
push esi
push ebx
call fcn.005d34c0
sub esp, eax
mov ebx, dword [esp + 0x2290]
jmp 0x41cba3
mov dword [esp], ebx
mov dword [esp + 4], 0x5c
call sub.msvcrt.dll_wcschr
lea ebx, [eax + 2]
mov dword [esp + 4], 0x5c
mov dword [esp], ebx
call sub.msvcrt.dll_wcschr
test eax, eax
jne 0x41cb90
mov eax, dword [esp + 0x2290]
lea edi, [esp + 0x270]
lea esi, [esp + 0x20]
mov dword [esp], edi
mov dword [esp + 4], eax
call sub.msvcrt.dll_wcscpy
sub ebx, dword [esp + 0x2290]
mov dword [esp + 4], str..inF
lea eax, [edi + ebx]
mov dword [esp], eax
mov dword [esp + 0x1c], eax
call sub.msvcrt.dll_wcscpy
mov dword [esp + 4], esi
mov dword [esp], edi
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
sub esp, 8
cmp eax, 0xffffffff
mov ebx, eax
lea ebp, [esp + 0x4c]
jne 0x41cc24
jmp 0x41cc70
mov dword [esp + 4], esi
mov dword [esp], ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
sub esp, 8
test eax, eax
je 0x41cc70
test byte [esp + 0x20], 0x10
jne 0x41cc10
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], ebp
mov dword [esp], eax
call sub.msvcrt.dll_wcscpy
mov eax, dword [esp + 0x2290]
mov dword [esp + 4], ebp
mov dword [esp], eax
call sub.SHELL32.dll_StrStrIW
sub esp, 8
test eax, eax
je 0x41cc80
mov dword [esp + 8], edi
mov dword [esp + 4], str.keeping___S_n
mov dword [esp], 0x833180
call fcn.0041ee70
jmp 0x41cc10
add esp, 0x227c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp], edi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
sub esp, 4
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov dword [esp + 4], str.deleting__S___d__n
mov dword [esp], 0x833180
call fcn.0041ee70
jmp 0x41cc10

Function at 0x41e710
Capabilities:
Get hostname

Disassembly:
push edi
push esi
mov eax, 0x2040
push ebx
call fcn.005d34c0
sub esp, eax
mov edi, ecx
lea eax, [esp + 0x3c]
lea esi, [esp + 0x40]
mov dword [esp + 0x3c], 0x1000
mov dword [esp + 4], eax
mov dword [esp], esi
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
sub esp, 8
lea ebx, [esp + 0x38]
mov dword [esp], ebx
call sub.msvcrt.dll_time
mov dword [esp], ebx
call sub.msvcrt.dll_localtime
test byte [0x8511c1], 0x20
je 0x41e770
xor eax, eax
mov word [edi], ax
add esp, 0x2040
pop ebx
pop esi
pop edi
ret
mov dword [esp + 0x20], esi
mov edx, dword [eax]
mov dword [esp + 0x1c], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x18], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x14], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x10], edx
mov ecx, dword [eax + 0x10]
lea edx, [ecx + 1]
mov dword [esp + 0xc], edx
mov eax, dword [eax + 0x14]
mov dword [esp], edi
mov dword [esp + 4], str._4d__02d__02d___02d__02d__02d___s_
add eax, 0x76c
mov dword [esp + 8], eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x2040
pop ebx
pop esi
pop edi
ret
Function at 0x41e950
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x11a]
push ebx
sub esp, 0x14c
mov dword [ebp - 0x124], eax
xor eax, eax
test byte [0x8511c1], 8
mov esi, dword [ebp + 8]
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x120], pe_nt_image_headers32
mov byte [ebp - 0x11c], 0
mov dword [ebp - method.g.virtual_0], vtable.g.0
mov word [ebp - 0x11a], ax
je 0x41e9b0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4
mov ebx, ecx
mov dword [esp + 4], 0x71fc94
mov dword [esp], 0
call sub.msvcrt.dll_setlocale
mov ecx, ebx
call fcn.0041e710
lea edi, [ebp - 0x12c]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], str._s_slog.txt
mov dword [esp], edi
call fcn.00403910
mov eax, dword [ebp - 0x124]
mov ecx, 0x8534b8
mov dword [esp], eax
call fcn.00440560
sub esp, 4
test eax, eax
je 0x41ea70
mov dword [esp], esi
call fcn.004406d0
mov eax, dword [ebp - 0x124]
mov dword [esp + 4], 0x71fcfa
mov dword [esp], eax
mov eax, dword [sym.imp.msvcrt.dll__wfopen]
mov dword [ebp - 0x13c], eax
call eax
test eax, eax
mov dword [ebx + 0x2000], eax
je 0x41eb01
test byte [ebx + 0x200d], 8
je 0x41eae0
mov eax, dword [ebp - 0x128]
mov dword [ebp - method.nInst.virtual_0], vtable.nInst.0
test eax, eax
je 0x41e9a2
mov dword [esp], eax
call fcn.006e9860
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4
mov eax, dword [ebp - 0x124]
mov dword [esp + 4], str.ERROR_in_log_start__:_Write_protected__S_n
mov dword [esp], 0x833180
mov dword [esp + 8], eax
call fcn.0041e8c0
mov dword [esp + 8], 0x1000
mov dword [esp + 4], esi
mov dword [esp], 0x71fcdc
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
sub esp, 0xc
mov dword [esp + 4], str.SDI_logs
mov dword [esp], esi
call sub.msvcrt.dll_wcscat
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], str._s_slog.txt
mov dword [esp], edi
call fcn.00403910
jmp 0x41ea05
mov dword [esp + 8], 0x71fd06
mov dword [esp + 4], str.start_logging_n_s_n_n
mov dword [esp], 0x833180
call fcn.0041e7e0
jmp 0x41ea46
mov eax, dword [ebp - 0x124]
mov dword [esp + 4], str.ERROR_in_log_start__:_Write_protected__S_n
mov dword [esp], 0x833180
mov dword [esp + 8], eax
call fcn.0041e8c0
mov dword [esp + 8], 0x1000
mov dword [esp + 4], esi
mov dword [esp], 0x71fcdc
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
sub esp, 0xc
mov dword [esp + 4], str.SDI_logs
mov dword [esp], esi
call sub.msvcrt.dll_wcscat
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
mov dword [esp + 4], str._s_slog.txt
mov dword [esp], edi
call fcn.00403910
mov dword [esp], esi
call fcn.004406d0
mov eax, dword [ebp - 0x124]
mov dword [esp + 4], 0x71fd00
mov dword [esp], eax
mov eax, dword [ebp - 0x13c]
call eax
mov dword [ebx + 0x2000], eax
jmp 0x41ea39