joyce8/EMBER2024-capa huggingface dataset:
Function at 0x40e570
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, dword [ebp + 0xc]
test edi, edi
jne 0x40e583
mov eax, 0x835
pop edi
pop ebp
ret
push ebx
push esi
mov esi, dword [ebp + 0x10]
test esi, esi
jle 0x40e5c2
mov ebx, dword [ebp + 8]
nop
mov eax, dword [ebp + 0x14]
push eax
push ebx
call fcn.004122d0
add esp, 8
cmp eax, 0xffffffff
je 0x40e5c9
cmp eax, 0x83b
je 0x40e5c9
push 0
push esi
push edi
push ebx
call dword [sym.imp.WS2_32.dll_recv]
test eax, eax
je 0x40e5f4
js 0x40e5fe
sub esi, eax
add edi, eax
test esi, esi
jg 0x40e590
pop esi
pop ebx
xor eax, eax
pop edi
pop ebp
ret
mov ecx, 0x20
mov esi, str.internal
mov edi, 0x461d6c
mov dword [0x461d68], eax
rep movsd dword es:[edi], dword [esi]
mov byte [0x461dec], 0
mov dword [0x461df0], 0
test eax, eax
jne 0x40e604
pop esi
pop ebx
mov eax, 0x838
pop edi
pop ebp
ret
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
pop esi
pop ebx
or eax, 0xffffffff
pop edi
pop ebp
ret

Function at 0x411360
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 0x10]
push esi
push 0x444388
push eax
mov dword [ebp - 4], 0
call fcn.0040ee30
mov esi, eax
add esp, 8
test esi, esi
jne 0x41138d
mov eax, 0xfa2
pop esi
mov esp, ebp
pop ebp
ret
push ebx
push edi
push 2
push 0
push esi
call fcn.004218fd
push esi
call fcn.0042180e
mov edi, dword [ebp + 0xc]
push eax
mov dword [edi], eax
call fcn.00417128
mov ebx, dword [ebp + 8]
add esp, 0x14
mov dword [ebx], eax
test eax, eax
jne 0x4113cd
push esi
mov edi, 0xfa4
call fcn.0041b822
add esp, 4
mov eax, edi
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret
push esi
call fcn.00420476
mov ecx, dword [edi]
mov edx, dword [ebx]
push esi
push 1
push ecx
push edx
call fcn.0042148c
mov edi, dword [ebp - 4]
add esp, 0x14
push esi
call fcn.0041b822
add esp, 4
mov eax, edi
pop edi
pop ebx
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x411d20
Capabilities:
Read file via mapping

Disassembly:
push edi
mov edi, eax
call fcn.00415f4f
mov dword [eax], 0
test edi, edi
je 0x411d7f
push esi
push 0
push edi
push 0
push 4
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateFileMappingA]
mov esi, eax
test esi, esi
je 0x411d65
push edi
push 0
push 0
push 6
push esi
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
jne 0x411d7a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
call fcn.00415f4f
mov dword [eax], esi
pop esi
or eax, 0xffffffff
pop edi
ret
pop esi
mov eax, edi
pop edi
ret
call fcn.00415f4f
mov dword [eax], 0x16
or eax, 0xffffffff
pop edi
ret
Function at 0x412110
Capabilities:
Connect socket
Get socket status
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x228
mov eax, dword [0x44a2a8]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x220], eax
lea edi, [eax + 1]
cmp dword [ebp + 0xc], eax
je 0x412156
lea eax, [ebp - 0x220]
push eax
push 0x8004667e
push ebx
mov dword [ebp - 0x220], edi
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov ecx, dword [ebp + 8]
push ecx
push esi
push ebx
call dword [sym.imp.WS2_32.dll_connect]
mov dword [ebp - 0x21c], eax
test eax, eax
je 0x412295
cmp dword [ebp + 0xc], 0
jne 0x41218b
mov eax, 0x839
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00413753
mov esp, ebp
pop ebp
ret
mov esi, dword [sym.imp.WS2_32.dll_WSAGetLastError]
call esi
cmp eax, 0x2733
je 0x4121a1
call esi
jmp 0x41228f
mov dword [ebp - 0x218], edi
mov dword [ebp - 0x110], edi
mov edi, dword [sym.imp.WS2_32.dll_select]
mov dword [ebp - 0x214], ebx
mov dword [ebp - 0x10c], ebx
lea esi, [ebx + 1]
mov edx, dword [ebp + 0xc]
xor eax, eax
mov dword [ebp - 0x228], eax
lea ecx, [ebp - 0x228]
push ecx
mov dword [ebp - 0x228], edx
lea edx, [ebp - 0x218]
push edx
lea ecx, [ebp - 0x110]
push ecx
push eax
mov dword [ebp - 0x224], eax
push esi
mov dword [ebp - 0x224], eax
call edi
mov dword [ebp - 0x21c], eax
cmp eax, 0xffffffff
jne 0x412221
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x2714
mov eax, dword [ebp - 0x21c]
jne 0x412295
cmp eax, 0xffffffff
je 0x4121c2
jmp 0x412295
test eax, eax
je 0x41228a
mov esi, dword [sym.imp.WS2_32.dll___WSAFDIsSet]
lea edx, [ebp - 0x218]
push edx
push ebx
call esi
test eax, eax
jne 0x412247
lea eax, [ebp - 0x110]
push eax
push ebx
call esi
test eax, eax
je 0x412285
lea ecx, [ebp + 8]
push ecx
lea edx, [ebp - 0x21c]
push edx
push 0x1007
push 0xffff
push ebx
mov dword [ebp + 8], 4
mov dword [ebp - 0x21c], 0
call dword [sym.imp.WS2_32.dll_getsockopt]
test eax, eax
js 0x412285
cmp dword [ebp - 0x21c], 0
jne 0x412285
xor eax, eax
jmp 0x41228f
or eax, 0xffffffff
jmp 0x41228f
mov eax, 0x83b
mov dword [ebp - 0x21c], eax
cmp dword [ebp + 0xc], 0
je 0x4122be
lea eax, [ebp - 0x220]
push eax
push 0x8004667e
push ebx
mov dword [ebp - 0x220], 0
call dword [sym.imp.WS2_32.dll_ioctlsocket]
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00413753
mov esp, ebp
pop ebp
ret

Function at 0x412470
Capabilities:
Encode data using xor

Disassembly:
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x412475
sub eax, edx
mov edx, eax
xor eax, eax
xor ecx, ecx
test edx, edx
jle 0x4124a9
push edi
lea esp, [esp]
movsx edi, byte [ecx + esi]
add eax, edi
imul eax, eax, 0x401
mov edi, eax
shr edi, 6
inc ecx
xor eax, edi
cmp ecx, edx
jl 0x412490
pop edi
lea ecx, [eax + eax*8]
mov eax, ecx
shr eax, 0xb
xor eax, ecx
imul eax, eax, 0x8001
ret

Function at 0x413753
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x44a2a8]
jne 0x41375d
repz ret
jmp fcn.00414de5
Function at 0x4144e4
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
xor esi, esi
cmp dword [ebp + 8], esi
jne 0x41450b
call fcn.00415f62
mov dword [eax], esi
call fcn.00415f4f
push 0x16
pop esi
mov dword [eax], esi
call fcn.00415efd
mov eax, esi
jmp 0x414560
test dword [ebp + 0xc], 0xfffffff9
jne 0x4144f1
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x414538
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00415f75
pop ecx
call fcn.00415f4f
mov eax, dword [eax]
jmp 0x414560
test al, 0x10
jne 0x41455e
test al, 1
je 0x41455e
test byte [ebp + 0xc], 2
je 0x41455e
call fcn.00415f62
mov dword [eax], 5
call fcn.00415f4f
mov dword [eax], 0xd
jmp 0x41452f
xor eax, eax
pop esi
pop ebp
ret

Function at 0x41ae85
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x44a2a8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0xc]
push esi
push edi
mov dword [ebp - 0x1c], eax
call fcn.00418119
and dword [ebp - 0x14], 0
cmp dword [0x44c42c], 0
mov dword [ebp - 0x18], eax
jne 0x41af38
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
test ebx, ebx
je 0x41afe0
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.MessageBoxW
push ebx
call edi
test eax, eax
je 0x41afe0
mov esi, dword [sym.imp.KERNEL32.dll_EncodePointer]
push eax
call esi
push str.GetActiveWindow
push ebx
mov dword [0x44c42c], eax
call edi
push eax
call esi
push str.GetLastActivePopup
push ebx
mov dword [0x44c430], eax
call edi
push eax
call esi
push str.GetUserObjectInformationW
push ebx
mov dword [0x44c434], eax
call edi
push eax
call esi
mov dword [0x44c43c], eax
test eax, eax
je 0x41af38
push str.GetProcessWindowStation
push ebx
call edi
push eax
call esi
mov dword [0x44c438], eax
mov eax, dword [0x44c438]
mov ecx, dword [ebp - 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_DecodePointer]
cmp eax, ecx
je 0x41af91
cmp dword [0x44c43c], ecx
je 0x41af91
push eax
call esi
push dword [0x44c43c]
mov edi, eax
call esi
mov ebx, eax
test edi, edi
je 0x41af91
test ebx, ebx
je 0x41af91
call edi
test eax, eax
je 0x41af88
lea ecx, [ebp - 0x24]
push ecx
push 0xc
lea ecx, [ebp - 0x10]
push ecx
push 1
push eax
call ebx
test eax, eax
je 0x41af88
test byte [ebp - 8], 1
jne 0x41af91
or dword [ebp + 0x10], 0x200000
jmp 0x41afc4
mov eax, dword [0x44c430]
cmp eax, dword [ebp - 0x18]
je 0x41afc4
push eax
call esi
test eax, eax
je 0x41afc4
call eax
mov dword [ebp - 0x14], eax
test eax, eax
je 0x41afc4
mov eax, dword [0x44c434]
cmp eax, dword [ebp - 0x18]
je 0x41afc4
push eax
call esi
test eax, eax
je 0x41afc4
push dword [ebp - 0x14]
call eax
mov dword [ebp - 0x14], eax
push dword [0x44c42c]
call esi
test eax, eax
je 0x41afe0
push dword [ebp + 0x10]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x14]
call eax
jmp 0x41afe2
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00413753
leave
ret
Function at 0x425d06
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, dword [0xa245c62e]
xor eax, 0x24a345c6
mov byte [ebp - 0x5c], 0x22
mov byte [ebp - 0x5b], 0x35
mov byte [ebp - 0x5a], 0x41
call fcn.00425925
push eax
push esi
push dword [ebp + 8]
call fcn.004258da
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x2c], bl
push eax
mov byte [ebp - 0x2b], bl
mov byte [ebp - 0x2a], 0xd4
mov byte [ebp - 0x29], bl
mov byte [ebp - 0x28], 0x67
mov byte [ebp - 0x27], 0x44
mov byte [ebp - 0x26], 0x4a
mov byte [ebp - 0x25], 0x4f
mov byte [ebp - 0x24], 0x67
mov byte [di - 0x23], 0x42
mov byte [ebp - 0x22], 0x49
mov byte [ebp - 0x21], 0x59
mov byte [ebp - 0x20], 0x4a
mov byte [ebp - 0x1f], 0x59
mov byte [ebp - 0x1e], 0x52
mov byte [ebp - 0x1d], 0x6a
mov byte [ebp - 0x1c], 0x2b
call fcn.00425925
push eax
push esi
push dword [ebp + 8]
call fcn.004258da
add esp, 0x30
mov dword [ebp - 0xb8], eax
call fcn.00425915
mov esi, 0x8887c7e8
popfd
jl 0x425d9a
invalid
invalid
Function at 0x425fa8
Capabilities:
Inspect section memory permissions

Disassembly:
cmp dword [eax], ebx
je 0x425fc9
mov edx, dword [eax + 4]
lea ecx, [eax + 8]
add edx, eax
mov dword [ebp + 8], ecx
cmp ecx, edx
jae 0x425fc4
mov ecx, dword [ebp + 8]
movzx ecx, word [ecx]
mov edx, ecx
and edx, 0xf000
cmp edx, 0x3000
jne 0x425fae
and ecx, 0xfff
mov edx, esi
sub edx, dword [edi + 0x34]
add ecx, esi
add ecx, dword [eax]
add dword [ecx], edx
jmp 0x425fb6
cmp edx, ebx
jne 0x426104
mov ecx, dword [eax + 4]
add dword [ebp + 8], 2
add ecx, eax
cmp dword [ebp + 8], ecx
jb 0x425f85
add eax, dword [eax + 4]
jmp 0x425f72
mov dword [ebp + 0xc], ebx
jmp 0x425fd4
mov edi, dword [ebp - 0x88]
mov eax, dword [ebp + 0xc]
cmp ax, word [edi + 6]
jne 0x425fec
mov edx, dword [ebp - 0xb4]
xor ecx, ecx
mov edi, 0x60000000
jmp 0x42600a
movzx eax, ax
lea eax, [eax + eax*4]
mov ecx, dword [edi + eax*8 + 0x104]
mov edx, dword [edi + eax*8 + 0x108]
lea eax, [edi + eax*8 + 0xf8]
mov edi, dword [eax + 0x24]
lea eax, [edx + ecx - 1]
xor edx, edx
div dword [ebp - 0xac]
xor edx, edx
mov dword [ebp - 0x44], eax
mov eax, ecx
div dword [ebp - 0xac]
cmp eax, dword [ebp - 0x44]
inc ebp
invalid
ja 0x426068
mov edx, edi
mov dword [ebp + 8], edi
and dword [ebp + 8], 0x40000000
mov dword [ebp + 0x10], edi
and edx, 0x20000000
and dword [ebp + 0x10], 0x80000000
mov ecx, dword [ebp + 0x18]
cmp edx, ebx
je 0x42604f
or byte [eax + ecx], 1
cmp dword [ebp + 8], ebx
je 0x426058
invalid
or byte [eax + ecx], 2
cmp dword [ebp + 0x10], ebx
je 0x426062
add ecx, eax
or byte [ecx], 4
inc eax
cmp eax, dword [ebp - 0x44]
jbe 0x426044
inc dword [ebp + 0xc]
mov eax, dword [ebp - 0x88]
mov cx, word [ebp + 0xc]
cmp cx, word [eax + 6]
jbe 0x425fce
mov dword [ebp + 8], esi
xor edi, edi
mov eax, dword [ebp + 0x18]
push 2
pop ecx
movzx eax, byte [edi + eax]
sub eax, ecx
je 0x4260b5
dec eax
je 0x4260ac
sub eax, 3
je 0x4260a3
mov dword [ebp - 4], 0x40
jmp 0x4260d2
mov dword [ebp - 4], 4
jmp 0x4260b8
mov dword [ebp - 4], 0x20
jmp 0x4260b8
mov dword [ebp - 4], ecx
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push dword [ebp - 0xac]
push dword [ebp + 8]
call dword [ebp - 0xbc]
test eax, eax
je 0x426104
mov eax, dword [ebp - 0xac]
add dword [ebp + 8], eax
inc edi
cmp edi, dword [ebp - 0x8c]
jbe 0x426084
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x28]
add edi, esi
call fcn.00425915
int 0xad
fld xword [ebx - 1]
jne 0x42610f
push 1
push esi
call edi
mov eax, esi
jmp 0x426110
rcr byte [edi + 0x5e], 0x5b
Function at 0x426024
Capabilities:
Inspect section memory permissions

Disassembly:
cmp dword [eax], ebx
je 0x425fc9
mov edx, dword [eax + 4]
lea ecx, [eax + 8]
add edx, eax
mov dword [ebp + 8], ecx
cmp ecx, edx
jae 0x425fc4
mov ecx, dword [ebp + 8]
movzx ecx, word [ecx]
mov edx, ecx
and edx, 0xf000
cmp edx, 0x3000
jne 0x425fae
and ecx, 0xfff
mov edx, esi
sub edx, dword [edi + 0x34]
add ecx, esi
add ecx, dword [eax]
add dword [ecx], edx
jmp 0x425fb6
cmp edx, ebx
jne 0x426104
mov ecx, dword [eax + 4]
add dword [ebp + 8], 2
add ecx, eax
cmp dword [ebp + 8], ecx
jb 0x425f85
add eax, dword [eax + 4]
jmp 0x425f72
mov dword [ebp + 0xc], ebx
jmp 0x425fd4
mov edi, dword [ebp - 0x88]
mov eax, dword [ebp + 0xc]
cmp ax, word [edi + 6]
jne 0x425fec
mov edx, dword [ebp - 0xb4]
xor ecx, ecx
mov edi, 0x60000000
jmp 0x42600a
movzx eax, ax
lea eax, [eax + eax*4]
mov ecx, dword [edi + eax*8 + 0x104]
mov edx, dword [edi + eax*8 + 0x108]
lea eax, [edi + eax*8 + 0xf8]
mov edi, dword [eax + 0x24]
lea eax, [edx + ecx - 1]
xor edx, edx
div dword [ebp - 0xac]
xor edx, edx
mov dword [ebp - 0x44], eax
mov eax, ecx
div dword [ebp - 0xac]
cmp eax, dword [ebp - 0x44]
inc ebp
invalid
ja 0x426068
mov edx, edi
mov dword [ebp + 8], edi
and dword [ebp + 8], 0x40000000
mov dword [ebp + 0x10], edi
and edx, 0x20000000
and dword [ebp + 0x10], 0x80000000
mov ecx, dword [ebp + 0x18]
cmp edx, ebx
je 0x42604f
or byte [eax + ecx], 1
cmp dword [ebp + 8], ebx
je 0x426058
invalid
or byte [eax + ecx], 2
cmp dword [ebp + 0x10], ebx
je 0x426062
add ecx, eax
or byte [ecx], 4
inc eax
cmp eax, dword [ebp - 0x44]
jbe 0x426044
inc dword [ebp + 0xc]
mov eax, dword [ebp - 0x88]
mov cx, word [ebp + 0xc]
cmp cx, word [eax + 6]
jbe 0x425fce
mov dword [ebp + 8], esi
xor edi, edi
mov eax, dword [ebp + 0x18]
push 2
pop ecx
movzx eax, byte [edi + eax]
sub eax, ecx
je 0x4260b5
dec eax
je 0x4260ac
sub eax, 3
je 0x4260a3
mov dword [ebp - 4], 0x40
jmp 0x4260d2
mov dword [ebp - 4], 4
jmp 0x4260b8
mov dword [ebp - 4], 0x20
jmp 0x4260b8
mov dword [ebp - 4], ecx
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push dword [ebp - 0xac]
push dword [ebp + 8]
call dword [ebp - 0xbc]
test eax, eax
je 0x426104
mov eax, dword [ebp - 0xac]
add dword [ebp + 8], eax
inc edi
cmp edi, dword [ebp - 0x8c]
jbe 0x426084
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x28]
add edi, esi
call fcn.00425915
int 0xad
fld xword [ebx - 1]
jne 0x42610f
push 1
push esi
call edi
mov eax, esi
jmp 0x426110
rcr byte [edi + 0x5e], 0x5b
Function at 0x426053
Capabilities:
Inspect section memory permissions

Disassembly:
cmp dword [eax], ebx
je 0x425fc9
mov edx, dword [eax + 4]
lea ecx, [eax + 8]
add edx, eax
mov dword [ebp + 8], ecx
cmp ecx, edx
jae 0x425fc4
mov ecx, dword [ebp + 8]
movzx ecx, word [ecx]
mov edx, ecx
and edx, 0xf000
cmp edx, 0x3000
jne 0x425fae
and ecx, 0xfff
mov edx, esi
sub edx, dword [edi + 0x34]
add ecx, esi
add ecx, dword [eax]
add dword [ecx], edx
jmp 0x425fb6
cmp edx, ebx
jne 0x426104
mov ecx, dword [eax + 4]
add dword [ebp + 8], 2
add ecx, eax
cmp dword [ebp + 8], ecx
jb 0x425f85
add eax, dword [eax + 4]
jmp 0x425f72
mov dword [ebp + 0xc], ebx
jmp 0x425fd4
mov edi, dword [ebp - 0x88]
mov eax, dword [ebp + 0xc]
cmp ax, word [edi + 6]
jne 0x425fec
mov edx, dword [ebp - 0xb4]
xor ecx, ecx
mov edi, 0x60000000
jmp 0x42600a
movzx eax, ax
lea eax, [eax + eax*4]
mov ecx, dword [edi + eax*8 + 0x104]
mov edx, dword [edi + eax*8 + 0x108]
lea eax, [edi + eax*8 + 0xf8]
mov edi, dword [eax + 0x24]
lea eax, [edx + ecx - 1]
xor edx, edx
div dword [ebp - 0xac]
xor edx, edx
mov dword [ebp - 0x44], eax
mov eax, ecx
div dword [ebp - 0xac]
cmp eax, dword [ebp - 0x44]
inc ebp
invalid
ja 0x426068
mov edx, edi
mov dword [ebp + 8], edi
and dword [ebp + 8], 0x40000000
mov dword [ebp + 0x10], edi
and edx, 0x20000000
and dword [ebp + 0x10], 0x80000000
mov ecx, dword [ebp + 0x18]
cmp edx, ebx
je 0x42604f
or byte [eax + ecx], 1
cmp dword [ebp + 8], ebx
je 0x426058
invalid
or byte [eax + ecx], 2
cmp dword [ebp + 0x10], ebx
je 0x426062
add ecx, eax
or byte [ecx], 4
inc eax
cmp eax, dword [ebp - 0x44]
jbe 0x426044
inc dword [ebp + 0xc]
mov eax, dword [ebp - 0x88]
mov cx, word [ebp + 0xc]
cmp cx, word [eax + 6]
jbe 0x425fce
mov dword [ebp + 8], esi
xor edi, edi
mov eax, dword [ebp + 0x18]
push 2
pop ecx
movzx eax, byte [edi + eax]
sub eax, ecx
je 0x4260b5
dec eax
je 0x4260ac
sub eax, 3
je 0x4260a3
mov dword [ebp - 4], 0x40
jmp 0x4260d2
mov dword [ebp - 4], 4
jmp 0x4260b8
mov dword [ebp - 4], 0x20
jmp 0x4260b8
mov dword [ebp - 4], ecx
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push dword [ebp - 0xac]
push dword [ebp + 8]
call dword [ebp - 0xbc]
test eax, eax
je 0x426104
mov eax, dword [ebp - 0xac]
add dword [ebp + 8], eax
inc edi
cmp edi, dword [ebp - 0x8c]
jbe 0x426084
mov eax, dword [ebp - 0x88]
mov edi, dword [eax + 0x28]
add edi, esi
call fcn.00425915
int 0xad
fld xword [ebx - 1]
jne 0x42610f
push 1
push esi
call edi
mov eax, esi
jmp 0x426110
rcr byte [edi + 0x5e], 0x5b

Function at 0x426136
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov byte [ebp - 0x352], 0xda
and byte [ebp - 0x351], 0
mov byte [ebp - 0x350], 0x62
mov byte [ebp - 0x34f], 0x40
mov byte [ebp - 0x34e], 0x51
mov byte [ebp - 0x34d], 0x75
mov byte [ebp - 0x34c], 0x57
mov byte [ebp - 0x34b], 0x4a
mov byte [ebp - 0x34a], 0x46
mov byte [ebp - 0x349], 0x40
mov byte [ebp - 0x348], 0x56
mov byte [ebp - 0x347], 0x56
mov byte [ebp - 0x346], 0x6d
mov byte [ebp - 0x345], 0x40
mov byte [ebp - 0x344], 0x44
Function at 0x42619f
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov byte [ebp - 0x343], 0x55
mov byte [ebp - 0x342], 0x25
lea eax, [ebp - 0x354]
push eax
call fcn.00425925
pop ecx
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.004258da
add esp, 0xc
mov dword [ebp - 0x68c], eax
call dword [ebp - 0x68c]
mov dword [ebp - 0x674], eax
mov dword [ebp - 0x384], 4
and byte [ebp - 0x334], 0
push 0x40
pop ecx
xor eax, eax
lea edi, [ebp - 0x333]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x670], 4
and byte [ebp - 0x3c4], 0
and byte [ebp - 0x3c3], 0
mov byte [ebp - 0x3c2], 0x99
and byte [ebp - 0x3c1], 0
mov byte [ebp - 0x3c0], 0x21
mov byte [ebp - 0x3bf], 3
mov byte [ebp - 0x3be], 0x12
mov byte [ebp - 0x3bd], 0x2b
mov byte [ebp - 0x3bc], 9
mov byte [ebp - 0x3bb], 2
mov byte [ebp - 0x3ba], 0x13
mov byte [ebp - 0x3b9], 0xa
mov byte [ebp - 0x3b8], 3
mov byte [ebp - 0x3b7], 0x20
mov byte [ebp - 0x3b6], 0xf
mov byte [ebp - 0x3b5], 0xa
mov byte [ebp - 0x3b4], 3
mov byte [ebp - 0x3b3], 0x28
mov byte [ebp - 0x3b2], 7
mov byte [ebp - 0x3b1], 0xb
mov byte [ebp - 0x3b0], 3
mov byte [ebp - 0x3af], 0x27
mov byte [ebp - 0x3ae], 0x66
lea eax, [ebp - 0x3c4]
push eax
call fcn.00425925
pop ecx
push eax
push dword [ebp + 0x18]
push dword [ebp + 0x14]
call fcn.004258da
add esp, 0xc
mov dword [ebp - 0x538], eax
invalid
movsd dword es:[edi], dword [esi]
adc al, 0xfc
invalid
invalid
Function at 0x1005d425
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
pushal
call 0x1005d434
pop dword [ebp - 0x30]
mov eax, 0xc5ab2452
add eax, 0x4a5aafe2
sub dword [ebp - 0x30], eax
mov dword [ebp - 0x40], 0xf576f200
add dword [ebp - 0x40], 0x58db534b
mov dword [ebp - 0x3c], 0xacf21ac5
sub dword [ebp - 0x3c], 0x7abece80
mov dword [ebp - 0x38], 0x3f354451
sub dword [ebp - 0x38], 0xf2e90023
mov dword [ebp - 0x34], 0x7ee7c400
add dword [ebp - 0x34], 0x81183c00
lea eax, [ebp - 0x40]
push eax
mov eax, 0xc843771c
sub eax, 0xb83b06e8
add eax, dword [ebp - 0x30]
call dword [eax]
mov dword [ebp - 0x40], 0x29011a24
sub dword [ebp - 0x40], 0xb48eb0ce
mov dword [ebp - 0x3c], 0x1cab16ce
sub dword [ebp - 0x3c], 0xdb3eb559
mov dword [ebp - 0x38], 0xf4ac60fb
sub dword [ebp - 0x38], 0x913cf48f
mov dword [ebp - 0x34], 0x38548d7d
add dword [ebp - 0x34], 0xc7ab7283
lea ebx, [ebp - 0x40]
push ebx
push eax
mov eax, 0x25ca9d4b
sub eax, 0x15c22d27
add eax, dword [ebp - 0x30]
call dword [eax]
push 0x40
push 0x1000
push 0x3ea88
push 0
call eax
mov ecx, 0xb70d34bb
sub ecx, 0xb70ce7b7
mov edi, eax
mov esi, 0x3a41a878
add esi, 0xd5c9e788
add esi, dword [ebp - 0x30]
mov ebx, 0x3dbe405
add ebx, 0xeff984d2
xor dword [ebp - 0x14], 0xb89fa58b
mov edx, dword [esi]
xor dword [ebp - 0x1c], edi
sub edx, ebx
sub dword [ebp - 0xc], 0x86345f44
mov dword [edi], edx
sub dword [ebp - 0x1c], 0x2afbb0d7
add edi, 0x76218f78
sub edi, 0x76218f74
add esi, 0xa86c0448
add esi, 0x5793fbbc
loop 0x1005d556
add eax, 0xd0e4a025
sub eax, 0xd0e37942
xor ebx, ebx
add ebx, eax
add eax, 5
mov ecx, 0xac56ab5d
sub ecx, 0x9c56ab5d
add ecx, dword [ebp - 0x30]
call ebx
leave
ret
Function at 0x401c57
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
pushal
call 0x401c66
pop dword [ebp - 0x48]
mov eax, 0x401c66
sub dword [ebp - 0x48], eax
mov dword [ebp - 0x58], 0xb37b21dd
sub dword [ebp - 0x58], 0x6528dc92
mov dword [ebp - 0x54], 0x9f3e9e89
add dword [ebp - 0x54], 0x92f4adbc
mov dword [ebp - 0x50], 0x3ca27b75
sub dword [ebp - 0x50], 0xf0563747
mov dword [ebp - 0x4c], 0x7019ecd7
add dword [ebp - 0x4c], 0x8fe61329
lea eax, [ebp - 0x58]
push eax
mov eax, 0xae855393
sub eax, 0xae45233f
add eax, dword [ebp - 0x48]
call dword [eax]
mov dword [ebp - 0x58], 0xda313e43
add dword [ebp - 0x58], 0x9a412b13
mov dword [ebp - 0x54], 0x2b4bb64c
add dword [ebp - 0x54], 0x1620ab29
mov dword [ebp - 0x50], 0xe58155c0
add dword [ebp - 0x50], 0x7dee16ac
mov dword [ebp - 0x4c], 0x8a6f6ca4
sub dword [ebp - 0x4c], 0x8a6f6ca4
lea ebx, [ebp - 0x58]
push ebx
push eax
mov eax, sym.imp.kernel32.dll_GetProcAddress
add eax, dword [ebp - 0x48]
call dword [eax]
push 0x40
push 0x1000
push 0x34916
push 0
call eax
mov ecx, 0xcf3ea6e5
sub ecx, 0xcf3e668c
mov edi, eax
mov ebx, 0xf597a821
add ebx, 0xaa8c7df
add ebx, dword [ebp - 0x48]
mov esi, 0x961e7284
xor dword [ebp - 8], eax
mov edx, dword [ebx]
sub dword [ebp - 0x3c], edi
xor edx, esi
xor dword [ebp - 0x10], ebx
mov dword [edi], edx
xor dword [ebp - 4], eax
add edi, 0xeaf71928
sub edi, 0xeaf71924
add ebx, 4
loop 0x401d78
add eax, 0xf437
xor ebx, ebx
add ebx, eax
add eax, 0xd03ce864
sub eax, 0xd03ce85f
mov ecx, 0x400000
add ecx, dword [ebp - 0x48]
call ebx
leave
ret

Function at 0x401fb2
Capabilities:
Delete file
Move file

Disassembly:
mov ecx, 0x404f28
jmp fcn.0040170c

Function at 0x401ff6
Capabilities:
Check if file exists
Delete directory
Get file attributes

Disassembly:
push esi
mov esi, 0x404f28
push esi
call dword [sym.imp.kernel32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x402013
push esi
call dword [sym.imp.kernel32.dll_RemoveDirectoryW]
test eax, eax
je 0x402018
push 1
pop eax
pop esi
ret
call fcn.00401fb2
pop esi
ret

Function at 0x403d61
Capabilities:
Encode data using xor

Disassembly:
push eax
push ebx
mov eax, 0x499
mov ecx, 0x404498
mov bl, byte [ecx]
sub bl, 0xf2
rol bl, 2
sub bl, cl
ror bl, 1
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d6d
mov eax, 0x261d
mov ecx, 0x403764
mov bl, byte [ecx]
rol bl, 7
ror bl, 2
sub bl, cl
xor bl, 0x91
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d8a
pop ebx
pop eax
add ecx, 0x2c1a
jmp ecx

Function at 0x403d61
Capabilities:
Encode data using xor

Disassembly:
push eax
push ebx
mov eax, 0x499
mov ecx, 0x404498
mov bl, byte [ecx]
sub bl, 0xf2
rol bl, 2
sub bl, cl
ror bl, 1
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d6d
mov eax, 0x261d
mov ecx, 0x403764
mov bl, byte [ecx]
rol bl, 7
ror bl, 2
sub bl, cl
xor bl, 0x91
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d8a
pop ebx
pop eax
add ecx, 0x2c1a
jmp ecx