joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100098c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push esi
push edi
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2c]
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
push edi
push esi
push edi
push esi
mov ebx, esp
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x38]
push eax
push ebx
cmp ecx, 0
je 0x100099a4
and ebp, 0xfffffff8
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
je 0x1000993f
mov ecx, dword [esi]
mov edx, dword [esi + 4]
xor eax, ecx
xor ebx, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
call fcn.10009460
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [edi], eax
mov dword [edi + 4], ebx
add esi, 8
add edi, 8
sub ebp, 8
jne 0x1000990d
mov ebp, dword [esp + 0x3c]
and ebp, 7
je 0x10009a5d
call fcn.10009951
and ebp, 0xfffffff8
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
je 0x100099fc
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
call fcn.10009590
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor ecx, eax
xor edx, ebx
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov dword [edi], ecx
mov dword [edi + 4], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebx
add esi, 8
add edi, 8
sub ebp, 8
jne 0x100099b5
mov ebp, dword [esp + 0x3c]
and ebp, 7
je 0x10009a5d
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
call fcn.10009590
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor ecx, eax
xor edx, ebx
mov eax, dword [esi]
mov ebx, dword [esi + 4]
ror edx, 0x10
mov byte [edi + 6], dl
shr edx, 0x10
mov byte [edi + 5], dh
mov byte [edi + 4], dl
mov dword [edi], ecx
jmp 0x10009a58
jmp 0x10009a5d
mov ecx, dword [esp + 0x4c]
add esp, 0x20
mov dword [ecx], eax
mov dword [ecx + 4], ebx
pop edi
pop esi
pop ebx
pop ebp
ret
Function at 0x10015980
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push esi
push edi
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
push edi
push esi
push edi
push esi
mov ebx, esp
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
push eax
push ebx
cmp ecx, 0
je 0x10015a6a
and ebp, 0xfffffff8
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0xc]
je 0x100159fd
mov ecx, dword [esi]
mov edx, dword [esi + 4]
xor eax, ecx
xor ebx, edx
bswap eax
bswap ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
call fcn.10015140
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0xc]
bswap eax
bswap ebx
mov dword [edi], eax
mov dword [edi + 4], ebx
add esi, 8
add edi, 8
sub ebp, 8
jne 0x100159c3
mov ebp, dword [esp + 0x34]
and ebp, 7
je 0x10015b33
call fcn.10015a0f
and ebp, 0xfffffff8
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
je 0x10015aca
mov eax, dword [esi]
mov ebx, dword [esi + 4]
bswap eax
bswap ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
call fcn.10015560
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0xc]
bswap eax
bswap ebx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
xor ecx, eax
xor edx, ebx
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov dword [edi], ecx
mov dword [edi + 4], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
add esi, 8
add edi, 8
sub ebp, 8
jne 0x10015a7b
mov ebp, dword [esp + 0x34]
and ebp, 7
je 0x10015b33
mov eax, dword [esi]
mov ebx, dword [esi + 4]
bswap eax
bswap ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
call fcn.10015560
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0xc]
bswap eax
bswap ebx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
xor ecx, eax
xor edx, ebx
mov eax, dword [esi]
mov ebx, dword [esi + 4]
ror edx, 0x10
mov byte [edi + 6], dl
shr edx, 0x10
mov byte [edi + 5], dh
mov byte [edi + 4], dl
mov dword [edi], ecx
jmp 0x10015b2e
jmp 0x10015b33
mov ecx, dword [esp + 0x3c]
add esp, 0x18
mov dword [ecx], eax
mov dword [ecx + 4], ebx
pop edi
pop esi
pop ebx
pop ebp
ret

Function at 0x10016860
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
movups xmm0, xmmword [edx]
shl ecx, 4
movups xmm1, xmmword [edx + 0x10]
xorps xmm2, xmm0
pxor xmm3, xmm0
movups xmm0, xmmword [edx + 0x20]
lea edx, [edx + ecx + 0x20]
neg ecx
add ecx, 0x10
aesenc xmm2, xmm1
aesenc xmm3, xmm1
movups xmm1, xmmword [edx + ecx]
add ecx, 0x20
aesenc xmm2, xmm0
aesenc xmm3, xmm0
movups xmm0, xmmword [edx + ecx - 0x10]
jne 0x1001687e
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenclast xmm2, xmm0
aesenclast xmm3, xmm0
ret
Function at 0x100168c0
Capabilities:
Decrypt data using aes via x86 extensions

Disassembly:
movups xmm0, xmmword [edx]
shl ecx, 4
movups xmm1, xmmword [edx + 0x10]
xorps xmm2, xmm0
pxor xmm3, xmm0
movups xmm0, xmmword [edx + 0x20]
lea edx, [edx + ecx + 0x20]
neg ecx
add ecx, 0x10
aesdec xmm2, xmm1
aesdec xmm3, xmm1
movups xmm1, xmmword [edx + ecx]
add ecx, 0x20
aesdec xmm2, xmm0
aesdec xmm3, xmm0
movups xmm0, xmmword [edx + ecx - 0x10]
jne 0x100168de
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdeclast xmm2, xmm0
aesdeclast xmm3, xmm0
ret

Function at 0x10016920
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
movups xmm0, xmmword [edx]
shl ecx, 4
movups xmm1, xmmword [edx + 0x10]
xorps xmm2, xmm0
pxor xmm3, xmm0
pxor xmm4, xmm0
movups xmm0, xmmword [edx + 0x20]
lea edx, [edx + ecx + 0x20]
neg ecx
add ecx, 0x10
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
movups xmm1, xmmword [edx + ecx]
add ecx, 0x20
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
movups xmm0, xmmword [edx + ecx - 0x10]
jne 0x10016942
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenclast xmm2, xmm0
aesenclast xmm3, xmm0
aesenclast xmm4, xmm0
ret

Function at 0x100169a0
Capabilities:
Decrypt data using aes via x86 extensions

Disassembly:
movups xmm0, xmmword [edx]
shl ecx, 4
movups xmm1, xmmword [edx + 0x10]
xorps xmm2, xmm0
pxor xmm3, xmm0
pxor xmm4, xmm0
movups xmm0, xmmword [edx + 0x20]
lea edx, [edx + ecx + 0x20]
neg ecx
add ecx, 0x10
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdec xmm4, xmm1
movups xmm1, xmmword [edx + ecx]
add ecx, 0x20
aesdec xmm2, xmm0
aesdec xmm3, xmm0
aesdec xmm4, xmm0
movups xmm0, xmmword [edx + ecx - 0x10]
jne 0x100169c2
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdec xmm4, xmm1
aesdeclast xmm2, xmm0
aesdeclast xmm3, xmm0
aesdeclast xmm4, xmm0
ret

Function at 0x10016a20
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
movups xmm0, xmmword [edx]
movups xmm1, xmmword [edx + 0x10]
shl ecx, 4
xorps xmm2, xmm0
pxor xmm3, xmm0
pxor xmm4, xmm0
pxor xmm5, xmm0
movups xmm0, xmmword [edx + 0x20]
lea edx, [edx + ecx + 0x20]
neg ecx
nop dword [eax]
add ecx, 0x10
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenc xmm5, xmm1
movups xmm1, xmmword [edx + ecx]
add ecx, 0x20
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
movups xmm0, xmmword [edx + ecx - 0x10]
jne 0x10016a4a
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenc xmm5, xmm1
aesenclast xmm2, xmm0
aesenclast xmm3, xmm0
aesenclast xmm4, xmm0
aesenclast xmm5, xmm0
ret
Function at 0x10016ab0
Capabilities:
Decrypt data using aes via x86 extensions

Disassembly:
movups xmm0, xmmword [edx]
movups xmm1, xmmword [edx + 0x10]
shl ecx, 4
xorps xmm2, xmm0
pxor xmm3, xmm0
pxor xmm4, xmm0
pxor xmm5, xmm0
movups xmm0, xmmword [edx + 0x20]
lea edx, [edx + ecx + 0x20]
neg ecx
nop dword [eax]
add ecx, 0x10
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdec xmm4, xmm1
aesdec xmm5, xmm1
movups xmm1, xmmword [edx + ecx]
add ecx, 0x20
aesdec xmm2, xmm0
aesdec xmm3, xmm0
aesdec xmm4, xmm0
aesdec xmm5, xmm0
movups xmm0, xmmword [edx + ecx - 0x10]
jne 0x10016ada
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdec xmm4, xmm1
aesdec xmm5, xmm1
aesdeclast xmm2, xmm0
aesdeclast xmm3, xmm0
aesdeclast xmm4, xmm0
aesdeclast xmm5, xmm0
ret

Function at 0x10016b40
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
movups xmm0, xmmword [edx]
shl ecx, 4
movups xmm1, xmmword [edx + 0x10]
xorps xmm2, xmm0
pxor xmm3, xmm0
pxor xmm4, xmm0
aesenc xmm2, xmm1
pxor xmm5, xmm0
pxor xmm6, xmm0
aesenc xmm3, xmm1
lea edx, [edx + ecx + 0x20]
neg ecx
aesenc xmm4, xmm1
pxor xmm7, xmm0
movups xmm0, xmmword [edx + ecx]
add ecx, 0x10
jmp 0x10016b9f

Function at 0x10016bae
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenc xmm5, xmm1
aesenc xmm6, xmm1
aesenc xmm7, xmm1
movups xmm1, xmmword [edx + ecx]
add ecx, 0x20
aesenc xmm2, xmm0
aesenc xmm3, xmm0
aesenc xmm4, xmm0
aesenc xmm5, xmm0
aesenc xmm6, xmm0
aesenc xmm7, xmm0
movups xmm0, xmmword [edx + ecx - 0x10]
jne 0x10016b90
aesenc xmm2, xmm1
aesenc xmm3, xmm1
aesenc xmm4, xmm1
aesenc xmm5, xmm1
aesenc xmm6, xmm1
aesenc xmm7, xmm1
aesenclast xmm2, xmm0
aesenclast xmm3, xmm0
aesenclast xmm4, xmm0
aesenclast xmm5, xmm0
aesenclast xmm6, xmm0
aesenclast xmm7, xmm0
ret

Function at 0x10016c20
Capabilities:
Decrypt data using aes via x86 extensions

Disassembly:
movups xmm0, xmmword [edx]
shl ecx, 4
movups xmm1, xmmword [edx + 0x10]
xorps xmm2, xmm0
pxor xmm3, xmm0
pxor xmm4, xmm0
aesdec xmm2, xmm1
pxor xmm5, xmm0
pxor xmm6, xmm0
aesdec xmm3, xmm1
lea edx, [edx + ecx + 0x20]
neg ecx
aesdec xmm4, xmm1
pxor xmm7, xmm0
movups xmm0, xmmword [edx + ecx]
add ecx, 0x10
jmp 0x10016c7f

Function at 0x10016c8e
Capabilities:
Decrypt data using aes via x86 extensions

Disassembly:
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdec xmm4, xmm1
aesdec xmm5, xmm1
aesdec xmm6, xmm1
aesdec xmm7, xmm1
movups xmm1, xmmword [edx + ecx]
add ecx, 0x20
aesdec xmm2, xmm0
aesdec xmm3, xmm0
aesdec xmm4, xmm0
aesdec xmm5, xmm0
aesdec xmm6, xmm0
aesdec xmm7, xmm0
movups xmm0, xmmword [edx + ecx - 0x10]
jne 0x10016c70
aesdec xmm2, xmm1
aesdec xmm3, xmm1
aesdec xmm4, xmm1
aesdec xmm5, xmm1
aesdec xmm6, xmm1
aesdec xmm7, xmm1
aesdeclast xmm2, xmm0
aesdeclast xmm3, xmm0
aesdeclast xmm4, xmm0
aesdeclast xmm5, xmm0
aesdeclast xmm6, xmm0
aesdeclast xmm7, xmm0
ret
Function at 0x10019300
Capabilities:
Encode data using xor
Encrypt data using aes via x86 extensions

Disassembly:
push ebp
push ebx
test eax, eax
je 0x10019820
test edx, edx
je 0x10019820
call fcn.10019317
mov eax, 0xffffffff
pop ebx
pop ebp
ret

Function at 0x10019860
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
call fcn.10019300
mov edx, dword [esp + 0xc]
shl ecx, 4
test eax, eax
jne 0x100198d1
lea eax, [edx + ecx + 0x10]
movups xmm0, xmmword [edx]
movups xmm1, xmmword [eax]
movups xmmword [eax], xmm0
movups xmmword [edx], xmm1
lea edx, [edx + 0x10]
lea eax, [eax - 0x10]
movups xmm0, xmmword [edx]
movups xmm1, xmmword [eax]
aesimc xmm0, xmm0
aesimc xmm1, xmm1
lea edx, [edx + 0x10]
lea eax, [eax - 0x10]
movups xmmword [eax + 0x10], xmm0
movups xmmword [edx - 0x10], xmm1
cmp eax, edx
ja 0x10019896
movups xmm0, xmmword [edx]
aesimc xmm0, xmm0
movups xmmword [edx], xmm0
pxor xmm0, xmm0
pxor xmm1, xmm1
xor eax, eax
ret

Function at 0x1001a1e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push esi
push edi
sub esp, 0x10
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov eax, dword [esi]
mov ebx, dword [esi + 4]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
bswap eax
bswap ebx
bswap ecx
bswap edx
mov dword [edi], eax
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
cmp ebp, 0x80
je 0x1001a264
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0x14]
cmp ebp, 0xc0
je 0x1001a23c
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x1c]
jmp 0x1001a244
mov ecx, eax
mov edx, ebx
not ecx
not edx
bswap eax
bswap ebx
bswap ecx
bswap edx
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ebx
mov dword [edi + 0x28], ecx
mov dword [edi + 0x2c], edx
xor eax, dword [edi]
xor ebx, dword [edi + 4]
xor ecx, dword [edi + 8]
xor edx, dword [edi + 0xc]
nop
call fcn.1001a269
Function at 0x10061020
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
push 0x1040f7fc
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
jne 0x10061043
push 0x1040f808
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov byte [ebp - 0x11c], 0
push 0x103
push 0
lea eax, [ebp - 0x11b]
push eax
call fcn.101fd960
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x11c]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x10061135
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x11c]
push ecx
call dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeA]
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
push edx
call fcn.101fff31
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x10061125
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
push 0
lea edx, [ebp - 0x11c]
push edx
call dword [sym.imp.VERSION.dll_GetFileVersionInfoA]
test eax, eax
je 0x10061125
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 4]
push ecx
push 0x1040f814
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.VERSION.dll_VerQueryValueA]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x10061125
cmp dword [ebp - 4], 0
je 0x10061125
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov dword [edx + ecx], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov dword [edx + ecx], eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.101ff0c2
add esp, 4
mov al, 1
jmp 0x10061137
xor al, al
mov esp, ebp
pop ebp
ret
Function at 0x10061140
Capabilities:
Get file version info

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
push 0x1040f818
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test eax, eax
jne 0x10061163
push str.version.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov byte [ebp - 0x11c], 0
push 0x103
push 0
lea eax, [ebp - 0x11b]
push eax
call fcn.101fd960
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x11c]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x1006124e
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x11c]
push ecx
call dword [sym.imp.VERSION.dll_GetFileVersionInfoSizeA]
mov dword [ebp - 0xc], eax
mov edx, dword [ebp - 0xc]
push edx
call fcn.101fff31
add esp, 4
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x1006123e
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp - 0xc]
push ecx
push 0
lea edx, [ebp - 0x11c]
push edx
call dword [sym.imp.VERSION.dll_GetFileVersionInfoA]
test eax, eax
je 0x1006123e
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 4]
push ecx
push 0x1040f830
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.VERSION.dll_VerQueryValueA]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x1006123e
cmp dword [ebp - 4], 0
je 0x1006123e
mov eax, 4
imul ecx, eax, 0
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xc]
mov dword [edx + ecx], eax
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov dword [edx + ecx], eax
mov ecx, dword [ebp - 8]
push ecx
call fcn.101ff0c2
add esp, 4
mov al, 1
jmp 0x10061250
xor al, al
mov esp, ebp
pop ebp
ret

Function at 0x10061260
Capabilities:
Enumerate process modules

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x228
mov eax, dword [ebp + 8]
push eax
push 8
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
je 0x100612db
mov dword [ebp - 0x228], 0x224
lea ecx, [ebp - 0x228]
push ecx
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_Module32First]
test eax, eax
je 0x100612ca
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebp - 0x20c]
jne 0x100612b5
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp - 0x21c]
mov dword [ecx], edx
jmp 0x100612ca
lea eax, [ebp - 0x228]
push eax
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_Module32Next]
test eax, eax
jne 0x1006129d
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x100612dd
xor eax, eax
mov esp, ebp
pop ebp
ret
Function at 0x10061cf0
Capabilities:
Accept command line arguments
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102e80a4
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3c
mov dword [ebp - 0x10], ecx
push 0
push 0
push 0
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x10], eax
cmp dword [ebp + 8], 0
je 0x10061d3f
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [edx + 0x14], ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
mov dword [edx + 0x18], ecx
push 0
push 0
mov edx, dword [ebp - 0x10]
push edx
push 0x10061b30
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x1c], eax
mov edx, dword [ebp - 0x10]
cmp dword [edx + 0x1c], 0
je 0x10061edb
cmp dword [ebp + 8], 0
je 0x10061e37
push 0xa0
call fcn.100a9677
add esp, 4
mov dword [ebp - 0x2c], eax
mov dword [ebp - 4], 0
cmp dword [ebp - 0x10], 0
je 0x10061da8
mov eax, dword [ebp - 0x10]
add eax, 0xc
mov dword [ebp - 0x14], eax
jmp 0x10061daf
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x14]
push ecx
mov ecx, dword [ebp - 0x2c]
call fcn.100628a0
mov dword [ebp - 0x18], eax
jmp 0x10061dc7
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x30], edx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x30]
push eax
lea ecx, [ebp - 0x40]
call fcn.10062270
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x40]
call fcn.10053f00
cmp dword [eax + 8], 0
je 0x10061e23
lea ecx, [ebp - 0x40]
call fcn.10053f00
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x40]
push ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1c]
mov edx, dword [eax]
call edx
test eax, eax
je 0x10061e23
lea eax, [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x20
call fcn.10062170
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x40]
call fcn.1004bf60
jmp 0x10061edb
push 0x120
call fcn.100a9677
add esp, 4
mov dword [ebp - 0x34], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0x10], 0
je 0x10061e5f
mov ecx, dword [ebp - 0x10]
add ecx, 0xc
mov dword [ebp - 0x20], ecx
jmp 0x10061e66
mov dword [ebp - 0x20], 0
mov edx, dword [ebp - 0x20]
push edx
mov ecx, dword [ebp - 0x34]
call fcn.10052e70
mov dword [ebp - 0x24], eax
jmp 0x10061e7e
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x38], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
push ecx
lea ecx, [ebp - 0x48]
call fcn.100622a0
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x48]
call fcn.10053f00
mov dword [ebp - 0x28], eax
lea edx, [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x28]
mov eax, dword [edx]
call eax
test eax, eax
je 0x10061ecc
lea ecx, [ebp - 0x48]
push ecx
mov ecx, dword [ebp - 0x10]
add ecx, 0x20
call fcn.10062170
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x48]
call fcn.1004bf60
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4
Function at 0x100662b0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x44
push esi
push edi
mov eax, dword [ebp + 8]
xor ecx, ecx
push 1
push 0
push ecx
push eax
call fcn.101fa590
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0
jl 0x100662e5
jg 0x100662df
cmp dword [ebp - 0x30], 0x7fffffff
jbe 0x100662e5
mov byte [ebp - 1], 1
jmp 0x100662e9
mov byte [ebp - 1], 0
mov edx, dword [ebp + 8]
xor eax, eax
push 1
push 0
push eax
push edx
call fcn.100aa020
push 1
push 0
push edx
push eax
call fcn.100aa100
mov esi, eax
mov edi, edx
movzx eax, byte [ebp - 1]
cdq
push 1
push 0
push edx
push eax
call fcn.100aa100
add esi, eax
adc edi, edx
mov dword [ebp - 8], esi
mov ecx, dword [ebp - 8]
xor edx, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x38], 0
jne 0x10066340
cmp dword [ebp - 0x34], 0x8000
jne 0x10066340
mov dword [ebp - 8], bind
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, 0x104e7170
call fcn.10054200
lea edx, [ebp - 0x1c]
push edx
lea eax, [ebp - 0x28]
push eax
mov ecx, 0x104e7170
call fcn.10053cf0
mov ecx, eax
call fcn.10053af0
movzx ecx, al
test ecx, ecx
je 0x100664af
mov edx, dword [ebp - 8]
mov dword [ebp - 0xc], edx
movsx eax, byte [0x104e7122]
imul eax, dword [0x104e7124]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], 0
cmp dword [ebp - 0xc], 0
jne 0x100663b1
mov eax, 0x10000
xor edx, edx
div dword [0x104e7124]
imul eax, dword [0x104e7124]
mov dword [ebp - 0xc], eax
push 1
push 0x2000
mov ecx, dword [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x10066472
push 0x40
push 0x1000
mov eax, dword [0x104e7124]
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x10066459
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x10]
sub eax, dword [0x104e7124]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
mov dword [edx + 8], 1
mov eax, dword [ebp - 0x18]
mov dword [eax], 0
mov ecx, dword [ebp - 0x18]
mov edx, dword [0x104e7124]
mov dword [ecx + 4], edx
lea eax, [ebp - 8]
push eax
mov ecx, 0x104e7170
call fcn.10067d40
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov edx, dword [ebp - 0x40]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 8], ecx
lea edx, [ebp - 8]
push edx
mov ecx, 0x104e7170
call fcn.10067d40
jmp 0x100664ba
mov dword [ebp - 0x20], 0x13f
push 0x1041add8
lea eax, [ebp - 0x20]
push eax
call fcn.101fdc9b
xor eax, eax
jmp 0x100664ba
mov ecx, dword [ebp - 0xc]
add ecx, dword [0x104e7124]
mov dword [ebp - 0xc], ecx
jne 0x100663b1
mov edx, dword [ebp - 0x10]
sub edx, dword [0x104e7124]
mov dword [ebp - 0x10], edx
jne 0x100663b1
mov dword [ebp - 0x24], 0x146
push 0x1041add8
lea eax, [ebp - 0x24]
push eax
call fcn.101fdc9b
xor eax, eax
jmp 0x100664ba
lea ecx, [ebp - 0x1c]
call fcn.10053ad0
add eax, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x10067c00
Capabilities:
Allocate thread local storage
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov dword [ebp - 0xc], ecx
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [0x104e7128], eax
cmp dword [0x104e7128], 0xffffffff
jne 0x10067c32
mov dword [ebp - 4], 0x47a
push 0x1041add8
lea eax, [ebp - 4]
push eax
call fcn.101fdc9b
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [0x104e710c], eax
cmp dword [0x104e710c], 0
jne 0x10067c61
mov dword [ebp - 8], 0x47f
push 0x1041add8
lea ecx, [ebp - 8]
push ecx
call fcn.101fdc9b
lea edx, [ebp - 0x30]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov byte [0x104e7120], 1
mov byte [0x104e7121], 0
mov byte [0x104e7122], 1
mov eax, dword [ebp - 0x2c]
mov dword [0x104e7124], eax
mov dword [0x104e711c], 0x100664c0
mov dword [0x104e7118], 0x100666e0
mov dword [0x104e7114], 0x100667c0
mov dword [0x104e7110], 0x10066920
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret