joyce8/EMBER2024-capa huggingface dataset:
Function at 0x407100
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [0x4bd008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
cmp ebx, 0xffffffff
jne 0x407130
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00444991
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x20]
push edi
mov ecx, dword [eax]
test ecx, ecx
je 0x40716c
mov edx, dword [esi + 0x30]
mov edi, dword [edx]
lea eax, [edi + ecx]
cmp ecx, eax
jae 0x40716c
lea ecx, [edi - 1]
mov dword [edx], ecx
mov edx, dword [esi + 0x20]
mov esi, dword [edx]
lea ecx, [esi + 1]
mov dword [edx], ecx
mov byte [esi], bl
pop edi
pop esi
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00444991
mov esp, ebp
pop ebp
ret 4
cmp dword [esi + 0x4c], 0
je 0x407251
mov edi, dword [esi + 0xc]
lea eax, [esi + 0x3c]
cmp dword [edi], eax
jne 0x407194
mov edx, dword [esi + 0x54]
mov ecx, dword [esi + 0x50]
sub edx, ecx
mov dword [edi], ecx
mov eax, dword [esi + 0x1c]
mov dword [eax], ecx
mov eax, dword [esi + 0x2c]
mov dword [eax], edx
mov ecx, dword [esi + 0x38]
test ecx, ecx
jne 0x4071c7
push dword [esi + 0x4c]
movsx eax, bl
push eax
call fcn.0045ac3b
add esp, 8
or ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, ebx
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00444991
mov esp, ebp
pop ebp
ret 4
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x28], bl
mov edx, dword [ecx]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x27]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [esi + 0x40]
push eax
call dword [edx + 0x1c]
test eax, eax
js 0x407251
cmp eax, 1
jle 0x407224
cmp eax, 3
jne 0x407251
push dword [esi + 0x4c]
push dword [ebp - 0x28]
call fcn.004050a0
add esp, 8
or ecx, 0xffffffff
test al, al
cmovne ecx, ebx
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00444991
mov esp, ebp
pop ebp
ret 4
mov edi, dword [ebp - 0x2c]
lea eax, [ebp - 0x24]
sub edi, eax
je 0x407241
push dword [esi + 0x4c]
push edi
push 1
push eax
call fcn.0045b670
add esp, 0x10
cmp edi, eax
jne 0x407251
lea eax, [ebp - 0x28]
mov byte [esi + 0x3d], 1
cmp dword [ebp - 0x30], eax
jne 0x407157
mov ecx, dword [ebp - 4]
or eax, 0xffffffff
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00444991
mov esp, ebp
pop ebp
ret 4
Function at 0x408610
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x4bd008]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
push edi
cmp dword [esi + 0x38], 0
je 0x4086b1
cmp byte [esi + 0x3d], 0
je 0x4086b1
mov eax, dword [esi]
push 0xffffffffffffffff
call dword [eax + 0xc]
cmp eax, 0xffffffff
je 0x408667
mov ecx, dword [esi + 0x38]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 4]
push eax
mov edx, dword [ecx]
lea eax, [ebp - 0x24]
push eax
lea eax, [esi + 0x40]
push eax
call dword [edx + 0x20]
sub eax, 0
je 0x408679
sub eax, 1
je 0x40867d
sub eax, 2
je 0x4086b1
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00444991
mov esp, ebp
pop ebp
ret
mov byte [esi + 0x3d], 0
mov edi, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
sub edi, eax
je 0x40869a
push dword [esi + 0x4c]
push edi
push 1
push eax
call fcn.0045b670
add esp, 0x10
cmp edi, eax
jne 0x408667
cmp byte [esi + 0x3d], 0
pop edi
sete al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00444991
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
xor ecx, ebp
pop esi
call fcn.00444991
mov esp, ebp
pop ebp
ret

Function at 0x408bb0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4897e0
mov eax, dword fs:[0]
push eax
push esi
push edi
mov eax, dword [0x4bd008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push 8
mov dword [edi], vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
call fcn.004449a2
mov esi, eax
xorps xmm0, xmm0
movq qword [esi], xmm0
push 1
mov dword [ebp - 4], 0
call fcn.00445db1
mov dword [esi + 4], eax
lea ecx, [edi + 8]
lea eax, [edi + 4]
mov dword [edi + 0x34], esi
mov dword [edi + 0xc], eax
add esp, 8
lea eax, [edi + 0x14]
mov dword [edi + 0x10], ecx
mov dword [edi + 0x1c], eax
lea eax, [edi + 0x18]
mov dword [edi + 0x20], eax
lea eax, [edi + 0x24]
mov dword [edi + 0x2c], eax
lea eax, [edi + 0x28]
mov dword [edi + 0x30], eax
mov dword [ecx], 0
mov eax, dword [edi + 0x20]
mov dword [eax], 0
mov eax, dword [edi + 0x30]
mov dword [eax], 0
mov eax, dword [edi + 0xc]
mov dword [eax], 0
mov eax, dword [edi + 0x1c]
mov dword [eax], 0
mov eax, dword [edi + 0x2c]
mov dword [eax], 0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x40be20
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 0xc]
mov edx, 0x811c9dc5
push edi
mov edi, dword [ebp + 8]
mov ecx, 0
sub esi, edi
je 0x40be51
nop dword [eax]
movzx eax, byte [ecx + edi]
inc ecx
xor eax, edx
imul edx, eax, 0x1000193
cmp ecx, esi
jb 0x40be40
pop edi
mov eax, edx
pop esi
pop ebp
ret 8
Function at 0x412fd0
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48a3e4
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x4bd008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], ecx
call fcn.004130c0
call fcn.00446a52
mov ebx, dword [ebp + 8]
mov edi, eax
push 0x88
call fcn.004449a2
mov esi, eax
mov dword [ebp + 8], esi
cmp ebx, edi
jae 0x413036
push 0x88
push 0
push esi
mov dword [ebp - 4], 0
call fcn.0044a330
add esp, 0x10
push edi
push ebx
jmp 0x41304f
push 0x88
push 0
push esi
mov dword [ebp - 4], 1
call fcn.0044a330
add esp, 0x10
push ebx
push edi
mov ecx, esi
call fcn.00440710
mov esi, dword [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
mov dword [esi], eax
test eax, eax
je 0x413094
mov edx, str.___ThreadPool_Init_Successed
mov ecx, 0x4c0058
call fcn.004091b0
push eax
call fcn.004138d0
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
push ecx
mov edx, str.____ThreadPool_Init_Failed
mov ecx, 0x4c0058
call fcn.004091b0
mov ecx, eax
call fcn.004138c0
push 0xffffffffffffffff
call fcn.0045c592
int3

Function at 0x4130c0
Capabilities:
Initialize winsock library
Terminate process

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x198
mov eax, dword [0x4bd008]
xor eax, esp
mov dword [esp + 0x194], eax
lea eax, [esp]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov ecx, 0x4c0058
test eax, eax
jne 0x413117
mov edx, str.___Socket_Init_Successed
call fcn.004091b0
push eax
call fcn.004138d0
mov ecx, dword [esp + 0x198]
add esp, 4
xor ecx, esp
call fcn.00444991
mov esp, ebp
pop ebp
ret
sub esp, 8
mov edx, str.____Socket_Init_Failed
call fcn.004091b0
add esp, 4
mov ecx, eax
call fcn.004138c0
push 0xffffffffffffffff
call fcn.0045c592
int3
Function at 0x415b40
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48a7de
mov eax, dword fs:[0]
push eax
sub esp, 8
push esi
push edi
mov eax, dword [0x4bd008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x14], esi
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov dword [ebp - 4], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
lea ecx, [esi + 0x40]
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov eax, dword [ebp + 0xc]
mov edx, dword [ebp + 0x20]
mov byte [ebp - 4], 2
mov dword [esi + 0x50], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x54], eax
mov eax, dword [ebp + 0x1c]
mov dword [esi + 0x5c], eax
mov eax, dword [ebp + 0x18]
mov dword [esi + 0x58], edi
mov dword [esi + 0x60], edx
mov byte [esi + 0x64], 0
mov dword [esi + 0x68], eax
test byte [edi + 8], 8
je 0x415c2a
test dl, 0x10
jne 0x415c2a
mov al, 1
jmp 0x415c2c
xor al, al
mov edx, dword [ebp + 0x10]
push ecx
mov byte [esi + 0x6c], al
mov dword [esi + 0x70], edx
push dword [edi + 0x18]
call fcn.0040d640
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0x1c
Function at 0x4354c0
Capabilities:
Get hostname

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49054b
mov eax, dword fs:[0]
push eax
mov eax, 0x8024
call fcn.00486f60
mov eax, dword [0x4bd008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
lea eax, [ebp - 0x8014]
mov dword [ebp - 0x8014], 0x7fff
push eax
lea eax, [ebp - 0x8010]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
lea ecx, [ebp - 0x8010]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x435520
sub ecx, edx
lea eax, [ebp - 0x8010]
push ecx
push eax
lea ecx, [esi + 0x78]
call fcn.00403320
cmp dword [esi + 0x88], 0
jne 0x4355ca
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x802c]
call fcn.00434ce0
mov esi, eax
mov edx, str.____init_base_ComputerName_Failed__The_Error_is
mov dword [ebp - 4], 0
mov ecx, 0x4c0058
call fcn.004091b0
cmp dword [esi + 0x14], 0x10
mov ecx, dword [esi + 0x10]
jb 0x43557c
mov esi, dword [esi]
push ecx
mov edx, esi
mov ecx, eax
call fcn.0042eb60
add esp, 4
push eax
call fcn.004138d0
mov edx, dword [ebp - 0x8018]
add esp, 4
cmp edx, 0x10
jb 0x4355e2
mov ecx, dword [ebp - 0x802c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4355be
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4355fc
push edx
push ecx
call fcn.004449d2
add esp, 8
jmp 0x4355e2
mov edx, str.____init_base_ComputerName_Succssed
mov ecx, 0x4c0058
call fcn.004091b0
push eax
call fcn.004138d0
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00444991
mov esp, ebp
pop ebp
ret
call fcn.0045abc1
int3

Function at 0x43a6f0
Capabilities:
Connect socket
Convert ip address from string

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x4bd008]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov eax, 2
mov word [ebp - 0x18], ax
call dword [sym.imp.WS2_32.dll_htons]
cmp dword [ebp + 0x24], 0x10
lea ecx, [ebp - 8]
mov word [ebp - 0x16], ax
lea eax, [ebp + 0x10]
cmovae eax, dword [ebp + 0x10]
push ecx
push eax
push 2
call dword [sym.imp.WS2_32.dll_inet_pton]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x18]
push 0x10
push eax
push dword [esi]
call dword [sym.imp.WS2_32.dll_connect]
mov edx, dword [ebp + 0x24]
lea esi, [eax + 1]
neg esi
sbb esi, esi
neg esi
cmp edx, 0x10
jb 0x43a77f
mov ecx, dword [ebp + 0x10]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43a775
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43a793
push edx
push ecx
call fcn.004449d2
add esp, 8
mov ecx, dword [ebp - 4]
lea eax, [esi - 1]
xor ecx, ebp
pop esi
call fcn.00444991
mov esp, ebp
pop ebp
ret 0x20
call fcn.0045abc1
int3
Function at 0x43a7d0
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x428
mov eax, dword [0x4bd008]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
mov ebx, dword [ebp + 0xc]
lea eax, [ebp - 0x40c]
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0x10]
push 0x400
push 0
push eax
call fcn.0044a330
add esp, 0xc
lea eax, [ebp - 0x40c]
push 0
push 0x400
push eax
push dword [esi]
call dword [sym.imp.WS2_32.dll_recv]
mov dword [edi], eax
cmp eax, 0xffffffff
jne 0x43a837
or eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00444991
mov esp, ebp
pop ebp
ret 0xc
push 0x400
lea eax, [ebp - 0x40c]
mov dword [ebp - 0x414], 0
push eax
lea ecx, [ebp - 0x424]
mov dword [ebp - 0x410], 0xf
mov byte [ebp - 0x424], 0
call fcn.00403320
lea eax, [ebp - 0x424]
mov ecx, ebx
push eax
call fcn.004030c0
mov edx, dword [ebp - 0x410]
cmp edx, 0x10
jb 0x43a8ad
mov ecx, dword [ebp - 0x424]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43a8a3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43a8c2
push edx
push ecx
call fcn.004449d2
add esp, 8
mov ecx, dword [ebp - 8]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00444991
mov esp, ebp
pop ebp
ret 0xc
call fcn.0045abc1
int3
Function at 0x43a920
Capabilities:
Connect to wmi namespace via wbemlocator

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x490bb0
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x4bd008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov esi, dword [ebp + 8]
push 0
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
js 0x43aac0
push 0
push 0
push 0
push 3
push 0
push 0
push 0
push 0xffffffffffffffff
push 0
call dword [sym.imp.ole32.dll_CoInitializeSecurity]
test eax, eax
js 0x43aac0
xor eax, eax
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
push 2
push 0x4ae15c
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], eax
call fcn.00439a30
mov edx, esi
lea ecx, [ebp - 0x40]
call fcn.00442600
mov edx, eax
mov byte [ebp - 4], 1
cmp dword [edx + 0x14], 8
jb 0x43a9c0
mov edx, dword [edx]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x43a9c5
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x28]
call fcn.00439a30
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x2c]
cmp edx, 8
jb 0x43aa1c
mov ecx, dword [ebp - 0x40]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43aa12
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ab20
push edx
push ecx
call fcn.004449d2
add esp, 8
push 0xb
push str._rootcimv2
lea ecx, [ebp - 0x28]
call fcn.00439a30
lea esi, [ebx + 0xc]
push esi
push 0x496e00
push 1
push 0
push 0x496df0
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x43aa7d
mov edx, dword [esi]
lea eax, [ebx + 8]
cmp dword [ebp - 0x14], 8
lea edi, [ebp - 0x28]
push eax
cmovae edi, dword [ebp - 0x28]
mov esi, dword [edx]
push 0
push 0
push 0
push 0
push 0
push 0
push edi
push edx
call dword [esi + 0xc]
mov ecx, ebx
test eax, eax
js 0x43aa7f
call fcn.0043a8d0
mov esi, 1
jmp 0x43aa86
mov ecx, ebx
call fcn.0043a8d0
xor esi, esi
mov edx, dword [ebp - 0x14]
cmp edx, 8
jb 0x43aabc
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x43aab2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43ab25
push edx
push ecx
call fcn.004449d2
add esp, 8
mov eax, esi
jmp 0x43ab02
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x43aad4
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebx + 8], 0
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x43aae8
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebx + 0xc], 0
mov ecx, dword [ebx]
test ecx, ecx
je 0x43aafa
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebx], 0
call dword [sym.imp.ole32.dll_CoUninitialize]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00444991
mov esp, ebp
pop ebp
ret 4
call fcn.0045abc1
call fcn.0045abc1
int3
Function at 0x43ab30
Capabilities:
Connect network resource

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x490be8
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x4bd008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
movlpd qword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
push 2
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0
push 0x4ae17c
push eax
mov dword [ebp - 0x18], 2
call fcn.0044aa10
add esp, 0xc
mov byte [ebp - 0x26], 0
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x43abad
mov ecx, dword [esi]
mov edi, dword [esi + 0x10]
mov esi, dword [ebp - 0x14]
mov eax, esi
mov edx, dword [ebp - 0x18]
sub eax, edx
push edi
push ecx
cmp edi, eax
ja 0x43abe2
lea eax, [edx + edi]
cmp esi, 0x10
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
lea esi, [eax + edx]
push esi
call fcn.0044aa10
add esp, 0xc
mov byte [esi + edi], 0
jmp 0x43abf2
mov byte [ebp - 0x4c], 0
lea ecx, [ebp - 0x28]
push dword [ebp - 0x4c]
push edi
call fcn.00403530
mov edx, dword [ebp - 0x14]
mov eax, edx
mov ecx, dword [ebp - 0x18]
sub eax, ecx
push 3
push 0x4ae180
cmp eax, 3
jb 0x43ac29
cmp edx, 0x10
lea esi, [ebp - 0x28]
lea eax, [ecx + 3]
cmovae esi, dword [ebp - 0x28]
add esi, ecx
mov dword [ebp - 0x18], eax
push esi
call fcn.0044aa10
add esp, 0xc
mov byte [esi + 3], 0
jmp 0x43ac3a
mov byte [ebp - 0x4c], 0
lea ecx, [ebp - 0x28]
push dword [ebp - 0x4c]
push 3
call fcn.00403530
cmp dword [ebp - 0x14], 0x10
lea eax, [ebp - 0x28]
push 4
cmovae eax, dword [ebp - 0x28]
push 0
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x48]
push 0
push eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x2c], 0
call dword [sym.imp.MPR.dll_WNetAddConnection2A]
mov esi, eax
test esi, esi
jne 0x43ac86
sub esp, 0x18
lea eax, [ebp - 0x28]
mov ecx, esp
push eax
call fcn.00403180
call fcn.0043afe0
mov edx, dword [ebp - 0x14]
cmp edx, 0x10
jb 0x43acb6
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43acac
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43acd5
push edx
push ecx
call fcn.004449d2
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00444991
mov esp, ebp
pop ebp
ret 4
call fcn.0045abc1
int3
Function at 0x447c3d
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x4bd008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
mov eax, 0xffff
push edi
mov edi, ecx
cmp ax, bx
jne 0x447c62
xor eax, eax
jmp 0x447cbe
mov eax, dword [edi + 0x20]
push esi
mov ecx, dword [eax]
test ecx, ecx
je 0x447c8f
mov edx, dword [edi + 0x30]
mov esi, dword [edx]
lea eax, [ecx + esi*2]
cmp ecx, eax
jae 0x447c8f
lea ecx, [esi - 1]
mov dword [edx], ecx
mov edx, dword [edi + 0x20]
mov esi, dword [edx]
lea ecx, [esi + 2]
mov dword [edx], ecx
mov word [esi], bx
jmp 0x447d43
cmp dword [edi + 0x4c], 0
je 0x447cb8
mov ecx, edi
call fcn.004478ab
mov eax, dword [edi + 0x38]
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x447cce
push dword [edi + 0x4c]
push ebx
call fcn.004472b5
pop ecx
test al, al
movzx eax, bx
pop ecx
jne 0x447cbd
mov eax, 0xffff
pop esi
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop ebx
call fcn.00444991
leave
ret 4
mov word [ebp - 0x28], bx
mov eax, dword [eax]
mov esi, dword [eax + 0x1c]
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 4]
mov ecx, esi
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x26]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [edi + 0x40]
push eax
call dword [0x493308]
mov ecx, dword [ebp - 0x2c]
call esi
test eax, eax
js 0x447cb8
cmp eax, 1
jle 0x447d16
cmp eax, 3
jne 0x447cb8
push dword [edi + 0x4c]
push dword [ebp - 0x28]
jmp 0x447caa
mov esi, dword [ebp - 0x30]
lea eax, [ebp - 0x24]
sub esi, eax
je 0x447d33
push dword [edi + 0x4c]
push esi
push 1
push eax
call fcn.0045b670
add esp, 0x10
cmp esi, eax
jne 0x447cb8
lea eax, [ebp - 0x28]
mov byte [edi + 0x3e], 1
cmp dword [ebp - 0x34], eax
je 0x447cb8
mov ax, bx
jmp 0x447cbd

Function at 0x464808
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.004644bd

Function at 0x464813
Capabilities:
Read file on windows

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
pop ebp
jmp fcn.00464640

Function at 0x472aca
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateThread]
pop ebp
ret
Function at 0x430000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
nop
mov eax, section..text
push 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop edi
nop
cmp eax, 0
nop
nop
nop
je 0x430072
nop
nop
nop
nop
mov ebx, 0x408f6c
nop
nop
nop
mov ecx, ebx
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
xor edx, edx
nop
nop
nop
nop
nop
nop
push eax
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
div edi
nop
nop
nop
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
nop
nop
pop eax
mov esi, 0x7d5f1239
nop
nop
nop
nop
xor dword [eax], esi
nop
nop
nop
nop
add eax, edi
nop
nop
nop
loop 0x430060
nop
nop
nop
mov eax, section..text_1
nop
cmp eax, 0
nop
nop
nop
nop
nop
nop
je 0x4300d2
mov ebx, 0x42e3d0
nop
nop
nop
nop
nop
mov ecx, ebx
nop
sub ecx, eax
nop
nop
nop
nop
nop
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
push eax
nop
nop
nop
mov eax, ecx
nop
nop
nop
nop
div edi
nop
xchg ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
nop
nop
mov esi, 0x1c230b3e
nop
nop
nop
xor dword [eax], esi
nop
nop
add eax, edi
nop
nop
nop
nop
nop
nop
nop
loop 0x4300c0
nop
nop
nop
popal
nop
nop
nop
jmp 0x401219

Function at 0x433000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
call 0x43300c
nop
nop
pop eax
nop
nop
nop
nop
add eax, 0x40a063
nop
sub eax, 0x40a009
nop
nop
nop
mov ebx, dword [eax]
nop
nop
mov ecx, dword [eax + 4]
nop
nop
nop
nop
mov edx, dword [eax + 8]
nop
nop
nop
xor dword [ebx], edx
nop
nop
nop
nop
nop
add ebx, 4
nop
nop
nop
cmp ebx, ecx
nop
nop
nop
nop
jl 0x433030
nop
nop
add eax, 0xc
nop
nop
nop
cmp dword [eax], 0
nop
nop
nop
nop
jne 0x43301e
nop
nop
popal
nop
nop
nop
nop
nop
jmp 0x431219
Function at 0x10001771
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
mov dword [ebp + 8], 0x10001824
mov eax, dword [ebp + 8]
leave
sub esp, 0x60
pushfd
pushal
push dword [esp + 0x84]
push 0
push eax
fnsave dword [esp + 0x30]
wait
push dword fs:[0]
mov dword fs:[0], esp
mov eax, 1
jmp dword [esp + 0xc]
Function at 0x40b140
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x50
push ebp
lea eax, [esp + 0x28]
push edi
push eax
call fcn.0040b2f0
mov ecx, dword [esp + 0x5c]
xor edx, edx
xor ebp, ebp
mov dword [esp + 0xc], 1
mov edi, dword [ecx]
mov dword [esp + 0x10], 8
mov dword [esp + 0x14], 2
mov dword [esp + 0x18], 4
mov dx, word [edi + 0x14]
cmp word [edi + 6], bp
mov dword [esp + 0x1c], 0x10
mov dword [esp + 0x20], 0x80
mov dword [esp + 0x24], 0x20
mov dword [esp + 0x28], 0x40
lea eax, [edx + edi + 0x18]
jbe 0x40b23e
push ebx
push esi
lea ebx, [eax + 0x24]
mov eax, dword [ebx]
mov ecx, eax
mov edx, eax
shr ecx, 0x1d
shr edx, 0x1e
mov esi, eax
and ecx, 1
and edx, 1
shr esi, 0x1f
test eax, 0x2000000
je 0x40b1e1
mov eax, dword [ebx - 0x14]
mov ecx, dword [ebx - 0x1c]
push 0x4000
push eax
push ecx
call dword [esp + 0x4c]
jmp 0x40b224
lea edx, [edx + ecx*2]
test eax, 0x4000000
lea ecx, [esi + edx*2]
mov esi, dword [esp + ecx*4 + 0x14]
je 0x40b1f8
or esi, 0x200
mov edx, dword [ebx - 0x14]
mov ecx, edx
test ecx, ecx
jne 0x40b213
test al, 0x40
je 0x40b20a
mov ecx, dword [edi + 0x20]
jmp 0x40b211
test al, 0x80
je 0x40b224
mov ecx, dword [edi + 0x24]
test ecx, ecx
jbe 0x40b224
mov ecx, dword [ebx - 0x1c]
lea eax, [esp + 0x10]
push eax
push esi
push edx
push ecx
call dword [esp + 0x44]
mov edx, dword [esp + 0x64]
xor eax, eax
inc ebp
add ebx, 0x28
mov edi, dword [edx]
mov ax, word [edi + 6]
cmp ebp, eax
jl 0x40b1b0
pop esi
pop ebx
pop edi
pop ebp
add esp, 0x50
ret