joyce8/EMBER2024-capa huggingface dataset:
Function at 0x5b2a38
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 4
mov dword [ebp - 4], 0
add esp, 0xffffffec
push esi
push ebx
push edi
push edx
push ecx
mov eax, dword [ebp + 0x10]
xor edx, edx
xchg edx, eax
mov esi, 0x3c
add esi, dword [ebp + 0xc]
mov eax, dword [esi]
add eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x78]
add esi, 0x18
add esi, dword [ebp + 0xc]
mov eax, dword [esi]
mov dword [ebp - 0x14], eax
add esi, 4
lea edi, [ebp - 8]
lodsd eax, dword [esi]
add eax, dword [ebp + 0xc]
stosd dword es:[edi], eax
mov dword [ebp - 8], eax
lodsd eax, dword [esi]
add eax, dword [ebp + 0xc]
push eax
stosd dword es:[edi], eax
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
add eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
pop esi
mov dword [ebp - 4], 0
push esi
mov eax, dword [esi]
add eax, dword [ebp + 0xc]
xchg edi, eax
mov ebx, edi
push edi
xor al, al
scasb al, byte es:[edi]
jne 0x5b2aa4
pop esi
sub edi, ebx
push edx
cld
xor ecx, ecx
dec ecx
mov edx, ecx
xor eax, eax
xor ebx, ebx
lodsb al, byte [esi]
xor al, cl
mov cl, ch
mov ch, dl
mov dl, dh
mov dh, 8
shr bx, 1
rcr ax, 1
jae 0x5b2ad1
xor ax, 0x8320
xor bx, 0xedb8
dec dh
jne 0x5b2ac0
xor ecx, eax
xor edx, ebx
dec edi
jne 0x5b2ab1
not edx
not ecx
mov eax, edx
rol eax, 0x10
mov ax, cx
pop edx
cmp edx, eax
je 0x5b2af7
pop esi
add esi, 4
add dword [ebp - 4], 1
jmp 0x5b2a98
pop esi
mov eax, dword [ebp - 4]
shl eax, 1
add eax, dword [ebp - 0x10]
xor esi, esi
xchg esi, eax
mov ax, word [esi]
shl ax, 2
add eax, dword [ebp - 8]
xchg esi, eax
mov eax, dword [esi]
add eax, dword [ebp + 0xc]
pop ecx
pop edx
pop edi
pop ebx
pop esi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x5b2b23
mov esp, ebp
pop ebp
ret 0xc

Function at 0x5b378d
Capabilities:
Access peb ldr_data
Resolve function by hash

Disassembly:
push ebp
mov ebp, esp
sub esp, 4
mov dword [ebp - 4], 0
cld
xor edx, edx
mov edx, dword fs:[edx + 0x30]
mov edx, dword [edx + 0xc]
mov edx, dword [edx + 0x14]
mov esi, dword [edx + 0x28]
push 0x18
pop ecx
xor edi, edi
xor eax, eax
lodsb al, byte [esi]
cmp al, 0x61
jl 0x5b37bb
sub al, 0x20
ror edi, 0xd
add edi, eax
loop 0x5b37b2
cmp edi, 0x6a4abc5b
mov ebx, dword [edx + 0x10]
mov edx, dword [edx]
jne 0x5b37aa
mov eax, ebx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x5b37dc
mov esp, ebp
pop ebp
ret
Function at 0x5b37e0
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 4
mov dword [ebp - 4], 0
add esp, 0xffffffec
push esi
push ebx
push edi
push edx
push ecx
mov eax, dword [ebp + 0x10]
xor edx, edx
xchg edx, eax
mov esi, 0x3c
add esi, dword [ebp + 0xc]
mov eax, dword [esi]
add eax, dword [ebp + 0xc]
mov esi, dword [eax + 0x78]
add esi, 0x18
add esi, dword [ebp + 0xc]
mov eax, dword [esi]
mov dword [ebp - 0x14], eax
add esi, 4
lea edi, [ebp - 8]
lodsd eax, dword [esi]
add eax, dword [ebp + 0xc]
stosd dword es:[edi], eax
mov dword [ebp - 8], eax
lodsd eax, dword [esi]
add eax, dword [ebp + 0xc]
push eax
stosd dword es:[edi], eax
mov dword [ebp - 0xc], eax
mov eax, dword [esi]
add eax, dword [ebp + 0xc]
mov dword [ebp - 0x10], eax
pop esi
mov dword [ebp - 4], 0
push esi
mov eax, dword [esi]
add eax, dword [ebp + 0xc]
xchg edi, eax
mov ebx, edi
push edi
xor al, al
scasb al, byte es:[edi]
jne 0x5b384c
pop esi
sub edi, ebx
push edx
cld
xor ecx, ecx
dec ecx
mov edx, ecx
xor eax, eax
xor ebx, ebx
lodsb al, byte [esi]
xor al, cl
mov cl, ch
mov ch, dl
mov dl, dh
mov dh, 8
shr bx, 1
rcr ax, 1
jae 0x5b3879
xor ax, 0x8320
xor bx, 0xedb8
dec dh
jne 0x5b3868
xor ecx, eax
xor edx, ebx
dec edi
jne 0x5b3859
not edx
not ecx
mov eax, edx
rol eax, 0x10
mov ax, cx
pop edx
cmp edx, eax
je 0x5b389f
pop esi
add esi, 4
add dword [ebp - 4], 1
jmp 0x5b3840
pop esi
mov eax, dword [ebp - 4]
shl eax, 1
add eax, dword [ebp - 0x10]
xor esi, esi
xchg esi, eax
mov ax, word [esi]
shl ax, 2
add eax, dword [ebp - 8]
xchg esi, eax
mov eax, dword [esi]
add eax, dword [ebp + 0xc]
pop ecx
pop edx
pop edi
pop ebx
pop esi
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
jmp 0x5b38cb
mov esp, ebp
pop ebp
ret 0xc
Function at 0x5c1cd7
Capabilities:
Reference the vmware io port

Disassembly:
push ebp
mov ebp, esp
sub esp, 4
mov dword [ebp - 4], 0
mov eax, 0x564d5868
mov ebx, 0
mov ecx, 0xa
mov edx, 0x5658
in eax, dx
cmp ebx, 0x564d5868
sete byte [ebp - 4]
mov eax, dword [ebp - 4]
jmp 0x5c1d0e
mov esp, ebp
pop ebp
ret
Function at 0x602c91
Capabilities:
Get number of processors

Disassembly:
mov dword [esp + 0x44], 0
jmp 0x5fde26
call fcn.00628129
push 0x3e8
cbw
lea eax, [esp + 0x20]
jmp 0x6f5518
push 0
push ecx
jmp 0x6ba651
mov dword [esi + 0xd0], eax
jmp 0x6d58ac
call fcn.00693ed9
mov ecx, dword [esi + 0x48]
cmp ebp, edx
mov eax, dword [esi + 0x4c]
add ecx, 0x64
lea esp, [esp + 0xc]
cmc
mov dword [esp + 4], ecx
lea ecx, [esp + 4]
add eax, 0x96
push ecx
not ch
bswap cx
movzx ecx, si
lea ecx, [esp + 0x20]
jmp 0x6c39f9
jmp 0x6e6f08
call fcn.0069e18f
mov ecx, dword [esp + 0x30]
pop esi
mov dword fs:[0], ecx
add esp, 0x38
jmp 0x63b13e
jge 0x614730
mov eax, 0xc8
mov ecx, esi
jmp 0x5f8221
call dword [0x1008f3b4]
mov eax, dword [esp + 0x18]
cmp eax, esi
clc
mov edx, dword [esp + 0x10]
sal cx, 0x3e
sub eax, edx
rol dl, 0x71
shl dl, 0x78
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
or dx, sp
lea eax, [eax + eax*4]
mov cx, 0x18d
shl eax, 3
and cl, 0x99
cdq
movsx ecx, dx
idiv dword [esp + 8]
rol cx, 0xa0
mov edx, dword [esp + 0xc]
xchg ecx, ecx
mov ecx, eax
dec eax
sal ax, cl
shrd eax, edi, 0x36
mov eax, dword [esp + 0x14]
sub eax, edx
lea eax, [eax + eax*4]
cdq
lea eax, [eax + eax*4]
add dx, 0x397d
sal edx, cl
lea eax, [eax + eax*4]
xor edx, ebp
shl eax, 3
cdq
stc
cmp edi, 0x1d5622cc
jmp 0x6a1cdb
ret 8
push eax
jmp 0x61af9b
idiv dword [esp + 4]
cmp si, bx
cmp dword [esp + 0x44], 1
jne 0x6d4593
cmp dword [esp + 0x40], 1
jmp 0x6bacb2
push eax
jmp 0x5e8bb1
push esi
mov esi, ecx
xchg ch, ch
movzx cx, bh
mov cx, si
push 0
mov ch, al
jmp 0x6eab2f
call dword [0x1008f3b8]
lea ecx, [esp + 0x1c]
jmp 0x6d07a3
jne 0x6d4590
cmp ecx, eax
jmp 0x6d458a
mov dword [esp + 0xc], eax
call fcn.0060fe70
mov eax, dword [esi + 0x1c]
movzx edx, bp
xchg dx, dx
lea edx, [esp + 0xc]
push edx
jmp 0x69aed4
mov dword [esp + 0x38], 0xffffffff
jmp 0x60e314
sub esp, 0x2c
jmp 0x6ac0ac
jge 0x6d4593
mov eax, ecx
clc
cmp eax, 0xc8
jmp 0x614725
call fcn.006d47f9
mov ecx, dword [esi + 0x1c]
jmp 0x6ebd4e
push 0xffffffffffffffff
push 0x1008d708
cbw
btr ax, di
mov eax, dword fs:[0]
stc
push eax
test cx, bp
cmp sp, si
mov dword fs:[0], esp
cmp edi, eax
jmp 0x6d4331
lea ecx, [esp + 0x20]
jmp 0x5ec142
push 1
jmp 0x5f081c
push 0x3e8
jmp 0x6a4675
Function at 0x685606
Capabilities:
Encrypt data using rc4 prga

Disassembly:
call fcn.006dc614
push 8
test si, 0x2a65
mov dword [ebp + 0xc], eax
pop ecx
sub eax, eax
lea edi, [ebp - 0x20]
push 7
rep stosd dword es:[edi], eax
pop edi
mov dl, byte [esi]
setp bl
jmp 0x60817a
jmp 0x5fbba1
push edi
jmp 0x5ea0de
je 0x6f1e57
movzx esi, al
cmp edi, edi
add al, 0xa6
xor ax, bp
mov ecx, esi
test bp, ax
push 1
and ecx, edi
adc eax, 0x65d12a75
pop eax
clc
cmp di, bx
shl eax, cl
shr esi, 3
xadd cl, cl
mov cl, byte [ebp + esi - 0x20]
test cl, al
jne 0x6f1e53
inc edx
jmp 0x5eb026
push esi
mov esi, dword [ebp + 0xc]
jmp 0x5ed32a
mov ebx, edx
sub al, bl
mov al, byte [edx]
test di, di
test al, al
jmp 0x5ed613
mov bl, 1
btr cx, 0x89
movzx ecx, dl
mov eax, ecx
cmp ax, sp
and ecx, edi
cmp ebx, edi
shr eax, 3
test eax, ebp
cmp ebp, ecx
shl bl, cl
jmp 0x6b6322
inc esi
test dl, dl
jmp 0x62e819
je 0x5fbb9d
test al, al
jmp 0x68a8ef
pop ebx
leave
jmp 0x63421b
jne 0x5ea0f8
mov edx, dword [ebp + 8]
cmc
test dx, bp
test edx, edx
jne 0x62e842
mov eax, dword [ebp + 0xc]
bsf si, cx
add esi, 0x7aed6305
cmc
mov edx, dword [eax + 0x18]
bts ecx, edi
mov al, byte [edx]
neg esi
bt si, cx
adc esi, ebx
push 1
or bh, 0x18
clc
bt ecx, esi
movzx esi, al
btc bx, ax
mov ecx, esi
cmovnp ebx, eax
bts bx, di
mov bh, dh
pop ebx
cmp bl, 0x77
and ecx, edi
cmp di, 0x174d
stc
clc
shl ebx, cl
test si, 0x3e59
shr esi, 3
mov cl, byte [ebp + esi - 0x20]
test cl, bl
jmp 0x60d3a2
ret
push ebp
btr bp, 0xf5
dec ebp
movzx ebp, cx
mov ebp, esp
test dl, 0x13
sub esp, 0x20
jmp 0x6c0c56
je 0x5fbb9d
inc edx
jmp 0x6ec5d6
lea eax, [ebp + eax - 0x20]
jmp 0x6be179
or byte [eax], bl
jmp 0x60cea1
push ebx
jmp 0x5f6fbc
jmp 0x62e842
and byte [edx], 0
inc edx
mov eax, dword [ebp + 0xc]
dec di
pop edi
movsx esi, sp
or si, dx
bts esi, ebx
pop esi
cmc
test bx, 0x48cb
mov dword [eax + 0x18], edx
shld ax, sp, 0x92
and ah, 0x2a
sal al, 0x26
mov eax, ebx
test ebx, 0x74c13264
cmp bp, bp
sub eax, edx
test di, 0x274d
stc
neg eax
sbb eax, eax
clc
and eax, ebx
movsx bx, bh
jmp 0x61497d
Function at 0x6a92d9
Capabilities:
Check for software breakpoints

Disassembly:
ret 4
ret 4
je 0x6861a9
pop edi
movzx esi, si
xchg esi, esi
pop esi
jmp 0x6c96a9
ret 4
pop edi
bswap esi
movzx esi, dx
cmovo esi, esp
pop esi
jmp 0x6994d4
pop edi
pop esi
jmp 0x6bc119
mov edx, dword [ecx + 0x3c]
cmc
cmp edi, esp
xor eax, eax
test sp, 0x6d58
stc
test di, bp
test edx, edx
jle 0x6df212
mov esi, 0x100af154
test edi, ebx
stc
cmp dword [esi], edi
jmp 0x6dda99
je 0x63b7b7
pop edi
cmovge si, ax
pop esi
jmp 0x6d5e04
push edi
rol edi, 0x8a
or edi, 0x79177a08
sbb di, 0xd7d
mov edi, dword [esp + 0xc]
stc
cmp edi, 0xffffffff
je 0x63b7b7
cmp edi, 0xff000000
jne 0x6861a9
mov eax, dword [ecx + 0x58]
cmovno dx, di
ror edx, cl
rcr dl, 0xc4
mov edx, dword [eax - 8]
test ebp, esp
test edx, edx
jmp 0x62fa18
mov dword [ecx + 0x54], eax
jmp 0x62bc95
push esi
jmp 0x695a4c
mov dword [ecx + 0x54], 0xffffffff
jmp 0x630f16
mov dword [ecx + 0x54], 0xfffffffd
jmp 0x627908
mov dword [ecx + 0x54], 0xfffffffe
ret 4
je 0x637956
inc eax
clc
cmc
test ax, 0x5f4
lea esi, [esi + 8]
jmp 0x6df20a
cmp eax, edx
jl 0x6861ca
mov edx, dword [ecx + 0x5c]
bt eax, esp
not eax
ror ax, cl
mov eax, dword [edx - 8]
cmp dl, 0xcc
test eax, eax
jmp 0x68cf6e
Function at 0x6cca9e
Capabilities:
Access peb ldr_data

Disassembly:
je 0x607bf2
jne 0x6ccafe
pop edx
bswap ax
mov eax, ebp
cbw
mov eax, dword [edx + 0x18]
jmp 0x607bf2
leave
jmp 0x6e5416
je 0x6ac83f
cmp ebx, 0x20
jmp 0x6a4109
je 0x6ac83f
cmp ebx, 0xffffffe0
jmp 0x6ac833
je 0x6ac83f
jne 0x6bc31a
add eax, 1
cmp ah, 0x2e
stc
cmp esi, eax
jmp 0x6bc30e
je 0x5ea195
jne 0x6ccb06
pop edx
neg bx
mov edx, dword [edx]
dec bl
xor eax, eax
pop ebx
stc
cmp ebx, edx
push ebx
jmp 0x5ea189
push ebp
xor bp, 0x7e13
mov ebp, esp
sbb bh, 0x95
sub esi, 0x47d20c8
mov edi, dword [ebp + 8]
neg si
mov edi, dword [edi]
ror si, 0x82
push edi
sub eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
sbb dh, 0xf3
shld esi, ebx, 0x55
pop edi
rdtsc
btr eax, edx
mov esi, ecx
cdq
shr ecx, 0xd
not esi
cbw
mov eax, dword fs:[0x30]
sal dh, cl
mov eax, dword [eax + 0xc]
clc
rol cx, cl
rcl ecx, 0x9f
mov edx, dword [eax + 0xc]
lea eax, [eax + 0x10]
push dword [eax]
xor eax, eax
movzx ecx, cx
sal bh, cl
ror cl, 0x17
push edx
clc
bsf ecx, esi
mov ecx, dword [edx + 0x30]
movzx ebx, byte [eax + edi]
bsr dx, sp
movzx edx, byte [ecx + eax*2]
test al, bl
sub ebx, edx
stc
cmp esp, 0x2663540b
cmp ebx, 0
jmp 0x61a3a0
ret 4
Function at 0x6d47f9
Capabilities:
Get number of processors

Disassembly:
push ecx
jmp 0x5fbf67
dec ecx
cmp ebx, eax
test sp, 0x72f9
and eax, ecx
mov ecx, esi
jmp 0x6ce86d
and eax, edx
jmp 0x6d1d66
push eax
push edx
jmp 0x6d2bae
call dword [0x1008f3b4]
push 0
lea ecx, [esp + 0x20]
jmp 0x6cd999
call fcn.0060fe70
mov ecx, dword [esp + 4]
test bx, si
btc dx, 0xd8
mov eax, dword [esp + 0x14]
rol dx, cl
sar dx, cl
bts edx, eax
mov edx, dword [esp + 0xc]
jmp 0x6343e5
call fcn.00693ed9
mov eax, dword [esi + 0x4c]
rol cl, 0x62
jmp 0x6f5614
sub ecx, eax
add ecx, edx
clc
mov eax, 0x88888889
sal edx, 0xbe
shl edx, 0x21
and dx, si
imul ecx
cmp ebp, 0x42f31bb
shld ax, di, 0xe
btr eax, esi
add edx, ecx
bt cx, di
and ax, 0x778b
push 1
stc
sar edx, 4
sub eax, ebp
add cl, 0x2f
mov ecx, edx
shr ecx, 0x1f
lea eax, [edx + ecx + 1]
bsf cx, di
sub edx, edx
shl dl, cl
not cx
test eax, eax
setl dl
seta cl
cmovl ecx, ebp
bswap ecx
dec edx
sal ecx, 0x10
test al, ch
mov ecx, esi
jmp 0x5f191c
mov dword [esp + 8], eax
not ax
lahf
lea eax, [esp + 4]
jmp 0x6bb5c1
push eax
jmp 0x5fb86a
push 0
jmp 0x6e6408
mov dword [esp + 0x38], 0xffffffff
jmp 0x6eb403
call fcn.005fcead
push 1
setp ch
movzx cx, cl
bswap ecx
push 0
cmovge cx, bp
mov ch, 0xa6
push 1
mov ecx, esi
jmp 0x6bd1f3
sub esp, 0x2c
movsx eax, dx
push esi
mov esi, 0x50706383
mov esi, ecx
lahf
cbw
mov ecx, 0x69c91fca
lea eax, [esp + 0xc]
xchg cl, ch
mov ecx, dword [esi + 0x1c]
push eax
jmp 0x5db77c
mov dword [esp + 4], ecx
movzx ecx, dx
push eax
movzx ecx, ax
lea ecx, [esp + 0x20]
jmp 0x61a8dc
call fcn.005fcead
lea ecx, [esp + 0x1c]
jmp 0x6b549b
call fcn.00628129
mov eax, dword [esi + 0xd0]
jmp 0x6e715b
push eax
jmp 0x6af280
push eax
jmp 0x6d21d0
push 0
jmp 0x6f588c
mov dword [esp + 0x44], 0
jmp 0x633bb1
push 0xffffffffffffffff
ror al, cl
shr al, cl
push 0x1008d6e8
xor eax, ebx
mov eax, dword fs:[0]
clc
push eax
btr ax, ax
sub ax, di
mov dword fs:[0], esp
jmp 0x6ba26f
push 0
setg cl
mov ecx, esi
jmp 0x6b922c
push 1
call fcn.006d526b
push 1
movsx ecx, bx
mov cx, di
push 0
not ch
jmp 0x6dee58
lea edx, [esp + 0x1c]
jmp 0x692eab
call fcn.0069e18f
mov ecx, dword [esp + 0x30]
ror esi, 0xf2
cmp bp, 0x4155
pop esi
test cx, ax
stc
mov dword fs:[0], ecx
cmc
add esp, 0x38
ret
mov ecx, dword [esi + 0x48]
cmp bl, al
lea eax, [eax + 0x64]
cmp di, 0x1776
lea esp, [esp + 0xc]
test bp, ax
add ecx, 0x64
jmp 0x637c14
push 0
call fcn.006d526b
mov ecx, dword [esp + 0x10]
shl ax, cl
cbw
mov eax, dword [esp + 0x18]
cdq
shr dh, cl
mov edx, dword [esp + 8]
clc
sub ecx, eax
add ecx, edx
rol al, 0xf2
shr dx, 0x54
lahf
mov eax, 0x88888889
imul ecx
xor ax, 0x7dd3
add edx, ecx
xor ecx, ecx
cbw
bsf ax, cx
sar edx, 4
shl cl, cl
mov eax, edx
push 1
ror cl, cl
shr eax, 0x1f
adc cl, 0xbe
lea eax, [edx + eax + 1]
rcl cl, 0xf9
test eax, eax
setl cl
jmp 0x5ee947
Function at 0x6d7b0b
Capabilities:
Resolve function by parsing pe exports

Disassembly:
dec esi
push esi
jmp 0x6e1c89
je 0x5e6dd5
add eax, 4
inc esi
movsx esi, ax
pop esi
jmp 0x5c66c4
leave
jmp 0x622f93
pop esi
xor eax, ebp
btr cx, dx
rol ah, 0x6b
pop ecx
sar ah, cl
adc eax, edi
jmp 0x6d8abe
ret 8
ret 8
je 0x6e1c8f
mov eax, dword [ebx + 0x3c]
lea eax, [eax + ebx]
neg ch
xchg edi, esi
mov edx, dword [eax + 0x78]
or cx, di
add edx, ebx
cwde
and ch, al
stc
mov ecx, dword [edx + 0x18]
and si, si
rcl si, 0xe8
sbb eax, 0x5c0a2e36
mov eax, dword [edx + 0x20]
add edi, 0x4d0d4eb0
ror di, 0x44
push ecx
shl di, 0x86
ror esi, 0x78
push ecx
push eax
btr si, 0xb9
sub eax, eax
and di, bx
sar esi, 0xf6
or ecx, 0xffffffff
or di, 0x37bf
ror si, 0x74
mov edi, dword [ebp + 0xc]
or esi, edi
mov edi, dword [edi]
repne scasb al, byte es:[edi]
stc
not ecx
btc esi, 0x4b
pop eax
push ecx
cmp ebp, eax
mov edi, dword [ebp + 0xc]
mov edi, dword [edi]
cmp ax, sp
rcl esi, 0xa2
mov esi, dword [eax + ebx]
test dl, bl
add esi, ebx
clc
repe cmpsb byte [esi], byte es:[edi]
mov cl, 0xdd
movsx ecx, si
movzx ecx, cx
pop ecx
jmp 0x5d322c
cmp ebx, 0
jmp 0x68e629
push ebp
mov ebp, esp
sal bh, 0x7d
mov ebx, dword [ebp + 8]
jmp 0x6c2026
sub ecx, esi
cbw
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
cmp ebp, 0x7b1f7d0f
shr cx, cl
movzx eax, word [eax + ebx]
rcl ecx, cl
mov ecx, dword [edx + 0x1c]
lea eax, [ecx + eax*4]
test bp, dx
mov eax, dword [eax + ebx]
cmp bp, 0x7553
add eax, ebx
jmp 0x6e2f7a
jne 0x68e695
xor eax, eax
jmp 0x5e507a
leave
jmp 0x621957
Function at 0x406de0
Capabilities:
Hide graphical window

Disassembly:
push 0
mov eax, dword [0x40a930]
push eax
call sub.user32.dll_ShowWindow
push 0xffffffffffffffec
mov eax, dword [0x40a930]
push eax
call sub.user32.dll_GetWindowLongA
or eax, 0x80
push eax
push 0xffffffffffffffec
mov eax, dword [0x40a930]
push eax
call sub.user32.dll_SetWindowLongA
push 5
mov eax, dword [0x40a930]
push eax
call sub.user32.dll_ShowWindow
ret

Function at 0x403d61
Capabilities:
Encode data using xor

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

Function at 0x403d61
Capabilities:
Encode data using xor

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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x230
mov eax, dword [0x457080]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edx
push 8
mov dword [ebp - 0x230], ecx
mov dword [ebp - 0x22c], 0
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
push 0x220
mov esi, eax
lea eax, [ebp - 0x224]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp - 0x228], 0x224
lea eax, [ebp - 0x228]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_Module32First]
test eax, eax
je 0x401764
push ebx
mov ebx, dword [sym.imp.api_ms_win_crt_multibyte_l1_1_0.dll__mbscmp]
push edi
mov edi, dword [sym.imp.KERNEL32.dll_Module32Next]
nop
push dword [ebp - 0x230]
lea eax, [ebp - 0x208]
push eax
call ebx
add esp, 8
test eax, eax
je 0x401756
lea eax, [ebp - 0x228]
push eax
push esi
call edi
test eax, eax
jne 0x401730
jmp 0x401762
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x22c], eax
pop edi
pop ebx
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x22c]
xor ecx, ebp
pop esi
call fcn.0043d49d
mov esp, ebp
pop ebp
ret
Function at 0x404e20
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43edfd
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, dword [0x457080]
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, ecx
push 0x10
call fcn.0043d4ab
mov ecx, eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x14], ecx
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [ecx + 8], eax
mov eax, dword [ebp + 8]
mov dword [ecx + 0xc], eax
lea edi, [esi + 4]
mov dword [ebp - 4], 0
push edi
push 0
push ecx
push 0x405ba0
push 0
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
add esp, 0x1c
mov dword [esi], eax
test eax, eax
je 0x404eba
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.0043d49d
mov esp, ebp
pop ebp
ret 0x10
push 6
mov dword [edi], 0
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3

Function at 0x404ed0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43edfd
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, dword [0x457080]
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, ecx
push 0x10
call fcn.0043d4ab
mov ecx, eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x14], ecx
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 0x401ab0
lea edi, [esi + 4]
mov dword [ebp - 4], 0
push edi
push 0
push ecx
push 0x405ba0
push 0
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
add esp, 0x1c
mov dword [esi], eax
test eax, eax
je 0x404f6b
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.0043d49d
mov esp, ebp
pop ebp
ret 0x10
push 6
mov dword [edi], 0
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
Function at 0x404f80
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x43ee3d
mov eax, dword fs:[0]
push eax
sub esp, 8
mov eax, dword [0x457080]
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, ecx
push 0xc
call fcn.0043d4ab
mov ecx, eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x14], ecx
mov eax, dword [eax]
mov dword [ecx], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0x401b50
lea edi, [esi + 4]
mov dword [ebp - 4], 0
push edi
push 0
push ecx
push 0x405c10
push 0
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
add esp, 0x1c
mov dword [esi], eax
test eax, eax
je 0x405013
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.0043d49d
mov esp, ebp
pop ebp
ret 0xc
push 6
mov dword [edi], 0
call dword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
Function at 0x40ae69
Capabilities:
Resolve dns
Set socket configuration

Disassembly:
push 0x44
mov eax, 0x43f556
call fcn.0043dbfe
mov edi, dword [ebp + 8]
xor eax, eax
mov ebx, dword [ebp + 0xc]
push 0x20
push eax
mov dword [ebp - 4], eax
mov esi, eax
lea eax, [ebp - 0x50]
push eax
call sub.VCRUNTIME140.dll_memset
xor eax, eax
mov dword [ebp - 0x48], 1
add esp, 0xc
mov dword [ebp - 0x44], eax
cmp dword [ebx + 0x10], eax
je 0x40aeb8
cmp dword [ebx + 0x14], 0x10
mov esi, ebx
jb 0x40aeac
mov esi, dword [ebx]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], 4
jmp 0x40aed3
cmp dword [edi + 0x10], eax
je 0x40aec7
cmp dword [edi + 0x14], 0x10
mov esi, edi
jb 0x40aec7
mov esi, dword [edi]
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x50], eax
push dword [ebp + 0x10]
lea eax, [ebp - 0x28]
push eax
call fcn.00408a29
pop ecx
pop ecx
cmp dword [ebp - 0x14], 0x10
lea ecx, [ebp - 0x30]
push ecx
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 1
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push ecx
push eax
push esi
call dword [sym.imp.WS2_32.dll_getaddrinfo]
test eax, eax
jne 0x40afb6
mov esi, dword [ebp - 0x30]
test esi, esi
je 0x40afaf
mov ebx, dword [sym.imp.WS2_32.dll_setsockopt]
push 0x81
push 0
push 0
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_WSASocketW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x40af4e
push dword [esi + 0xc]
push dword [esi + 8]
push dword [esi + 4]
call dword [sym.imp.WS2_32.dll_socket]
mov edi, eax
cmp edi, 0xffffffff
je 0x40afa1
cmp byte [ebp + 0x1c], 0
je 0x40af66
push 4
xor ecx, ecx
lea eax, [ebp - 0x2c]
push eax
inc ecx
push ecx
push 6
push edi
mov dword [ebp - 0x2c], ecx
call ebx
cmp dword [ebp + 0x44], 0
je 0x40af75
push edi
lea ecx, [ebp + 0x20]
call fcn.00412fd4
cmp dword [esi + 4], 0x17
jne 0x40af8c
and dword [ebp - 0x2c], 0
lea eax, [ebp - 0x2c]
push 4
push eax
push 0x1b
push 0x29
push edi
call ebx
push esi
push edi
lea ecx, [ebp + 0x48]
call fcn.00412932
test al, al
jne 0x40afd1
push edi
call dword [sym.imp.WS2_32.dll_closesocket]
mov esi, dword [esi + 0x1c]
test esi, esi
jne 0x40af19
mov esi, dword [ebp - 0x30]
push esi
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
or edi, 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004043b0
lea ecx, [ebp + 0x20]
call fcn.004180f7
mov eax, edi
call fcn.0043dbbc
ret
push dword [ebp - 0x30]
call dword [sym.imp.WS2_32.dll_freeaddrinfo]
jmp 0x40afb9

Function at 0x410eeb
Capabilities:
Initialize winsock library

Disassembly:
sub esp, 0x194
mov eax, dword [0x457080]
xor eax, esp
mov dword [esp + 0x190], eax
push esi
mov esi, ecx
lea eax, [esp + 4]
push eax
push 2
mov byte [esi], 0
call dword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
jne 0x410f19
mov byte [esi], 1
mov ecx, dword [esp + 0x194]
mov eax, esi
pop esi
xor ecx, esp
call fcn.0043d49d
add esp, 0x194
ret