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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x18
mov eax, ecx
movaps xmm6, xmmword [0x53c7b0]
mov ecx, dword [edx]
mov dword [ebp - 8], ecx
push esi
mov ecx, dword [eax + 4]
mov esi, dword [eax]
sar ecx, 2
mov dword [ebp - 0x10], ecx
mov ecx, dword [edx + 4]
sar ecx, 2
push edi
mov edi, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [ebp - 4], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x14], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [ebp - 4]
cmp edx, eax
mov dword [ebp - 0xc], esi
cmova edx, eax
cmp edi, ecx
cmova edi, ecx
test edi, edi
je 0x464904
mov eax, dword [ebp - 0x10]
mov ecx, edx
shl eax, 2
and edx, 1
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
shr ecx, 1
shl eax, 2
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 8]
dec edi
mov eax, esi
mov esi, ecx
test ecx, ecx
je 0x464891
xorps xmm5, xmm5
movq xmm4, qword [eax]
mov ecx, edx
punpcklbw xmm4, xmm5
add edx, 8
movq xmm3, qword [ecx]
mov ecx, eax
punpcklbw xmm3, xmm5
add eax, 8
movaps xmm2, xmm3
movaps xmm1, xmm3
pmullw xmm3, xmm4
paddw xmm1, xmm4
psllw xmm1, 1
pcmpgtw xmm2, xmm6
movaps xmm0, xmm2
psrlw xmm0, 8
pand xmm1, xmm2
psrlw xmm3, 7
psubw xmm1, xmm0
pxor xmm3, xmm2
psubw xmm3, xmm2
paddw xmm1, xmm3
packuswb xmm1, xmm5
movq qword [ecx], xmm1
sub esi, 1
jne 0x464832
cmp dword [ebp - 4], 0
je 0x4648ea
movd xmm4, dword [edx]
xorps xmm5, xmm5
movd xmm3, dword [eax]
punpcklbw xmm4, xmm5
movaps xmm1, xmm4
punpcklbw xmm3, xmm5
movaps xmm2, xmm4
pcmpgtw xmm1, xmm6
pmullw xmm4, xmm3
paddw xmm2, xmm3
psllw xmm2, 1
movaps xmm0, xmm1
psrlw xmm0, 8
pand xmm2, xmm1
psubw xmm2, xmm0
psrlw xmm4, 7
pxor xmm4, xmm1
psubw xmm4, xmm1
paddw xmm2, xmm4
packuswb xmm2, xmm5
movd dword [eax], xmm2
mov esi, dword [ebp - 0xc]
add esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
add dword [ebp - 8], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0xc], esi
test edi, edi
jne 0x464823
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x4652e9
mov eax, dword [edx + 0x10]
sub eax, 1
je 0x4652ec
sub eax, 1
jne 0x4652e9
mov eax, dword [ecx + 0x10]
sub eax, 1
jne 0x4652e9
push esi
call fcn.00464350
add esp, 4
pop esi
pop ebp
ret
cmp dword [ecx + 0x10], 1
jne 0x4652e9
cmp esi, 0x100
jae 0x465306
push esi
call fcn.004645f0
add esp, 4
pop esi
pop ebp
ret
pop esi
pop ebp
jmp 0x4647a0
Function at 0x465310
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x18
mov eax, ecx
movaps xmm6, xmmword [0x53c7b0]
mov ecx, dword [edx]
mov dword [ebp - 8], ecx
push esi
mov ecx, dword [eax + 4]
mov esi, dword [eax]
sar ecx, 2
mov dword [ebp - 0x10], ecx
mov ecx, dword [edx + 4]
sar ecx, 2
push edi
mov edi, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [ebp - 4], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x14], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [ebp - 4]
cmp edx, eax
mov dword [ebp - 0xc], esi
cmova edx, eax
cmp edi, ecx
cmova edi, ecx
test edi, edi
je 0x464ec4
mov eax, dword [ebp - 0x10]
mov ecx, edx
shl eax, 2
and edx, 1
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
shr ecx, 1
shl eax, 2
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 8]
dec edi
mov eax, esi
mov esi, ecx
test ecx, ecx
je 0x464e51
xorps xmm5, xmm5
movq xmm4, qword [eax]
mov ecx, edx
punpcklbw xmm4, xmm5
add edx, 8
movaps xmm2, xmm4
pcmpgtw xmm2, xmm6
movq xmm3, qword [ecx]
movaps xmm0, xmm2
punpcklbw xmm3, xmm5
mov ecx, eax
movaps xmm1, xmm3
psrlw xmm0, 8
pmullw xmm3, xmm4
paddw xmm1, xmm4
psllw xmm1, 1
add eax, 8
pand xmm1, xmm2
psubw xmm1, xmm0
psrlw xmm3, 7
pxor xmm3, xmm2
psubw xmm3, xmm2
paddw xmm1, xmm3
packuswb xmm1, xmm5
movq qword [ecx], xmm1
sub esi, 1
jne 0x464df2
cmp dword [ebp - 4], 0
je 0x464eaa
movd xmm4, dword [edx]
xorps xmm5, xmm5
movd xmm3, dword [eax]
punpcklbw xmm4, xmm5
movaps xmm2, xmm4
punpcklbw xmm3, xmm5
pmullw xmm4, xmm3
paddw xmm2, xmm3
movaps xmm1, xmm3
psllw xmm2, 1
pcmpgtw xmm1, xmm6
movaps xmm0, xmm1
pand xmm2, xmm1
psrlw xmm0, 8
psrlw xmm4, 7
psubw xmm2, xmm0
pxor xmm4, xmm1
psubw xmm4, xmm1
paddw xmm2, xmm4
packuswb xmm2, xmm5
movd dword [eax], xmm2
mov esi, dword [ebp - 0xc]
add esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
add dword [ebp - 8], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0xc], esi
test edi, edi
jne 0x464de3
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x465339
mov eax, dword [edx + 0x10]
sub eax, 1
je 0x46533c
sub eax, 1
jne 0x465339
mov eax, dword [ecx + 0x10]
sub eax, 1
jne 0x465339
push esi
call fcn.00464910
add esp, 4
pop esi
pop ebp
ret
cmp dword [ecx + 0x10], 1
jne 0x465339
cmp esi, 0x100
jae 0x465356
push esi
call fcn.00464bb0
add esp, 4
pop esi
pop ebp
ret
pop esi
pop ebp
jmp 0x464d60
Function at 0x4972e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ecx + 0x14]
pop ebp
jmp fcn.00482aa0

Function at 0x49af80
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov ebx, dword [ebp + 8]
mov edx, 0x7c
push esi
mov esi, ecx
mov eax, ebx
xor ecx, ecx
mul edx
push edi
mov dword [esi], vtable.DCDstrbtdPrcssng.0
seto cl
mov dword [esi + 4], ebx
neg ecx
mov dword [esi + 8], ebx
or ecx, eax
mov dword [esi + 0xc], 2
push ecx
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 1
mov dword [esi + 0x20], 0
call fcn.00427619
imul ecx, ebx, 0x7c
mov dword [esi + 0x24], eax
push ecx
push 0
push eax
call fcn.00432620
add esp, 0x10
lea eax, [esi + 0x28]
push 0xfa0
push eax
call dword [0x51625c]
mov eax, dword [esi + 0x24]
push 0
push 0
push 1
mov dword [eax], 1
mov eax, dword [esi + 0x24]
push 0
mov dword [eax + 8], 0
mov eax, dword [esi + 0x24]
mov dword [eax + 0xc], 0
call dword [0x5162f0]
mov ecx, dword [esi + 0x24]
mov edi, 1
mov dword [ebp - 4], edi
mov dword [ecx + 0x10], eax
mov eax, dword [esi + 0x24]
mov dword [eax + 0x14], 0
mov eax, dword [esi + 0x24]
mov dword [eax + 0x18], esi
cmp ebx, edi
jbe 0x49b15b
mov ebx, 0x7c
mov dword [ebp - 8], ebx
mov eax, dword [esi + 0x24]
push 0
push 1
push 1
mov dword [ebx + eax], 0
mov eax, dword [esi + 0x24]
push 0
mov dword [ebx + eax + 8], edi
mov edi, dword [0x5162f0]
call edi
mov ecx, dword [esi + 0x24]
push 0
push 0
push 1
push 0
mov dword [ebx + ecx + 0xc], eax
call edi
mov ecx, dword [esi + 0x24]
mov edi, ebx
mov dword [ebx + ecx + 0x10], eax
mov eax, dword [esi + 0x24]
mov dword [ebx + eax + 0x14], 0
mov eax, dword [esi + 0x24]
mov dword [ebx + eax + 0x18], esi
mov ebx, 4
nop dword [eax + eax]
mov eax, dword [esi + 0x24]
add eax, 0x1c
push 0xfa0
add eax, edi
push eax
call dword [0x51625c]
add edi, 0x18
sub ebx, 1
jne 0x49b0b0
mov edi, dword [ebp - 4]
mov ecx, esi
push 2
push edi
call fcn.0049aa80
lea eax, [ebp - 0xc]
push eax
mov eax, dword [esi + 0x24]
push ebx
mov ebx, dword [ebp - 8]
add eax, ebx
push eax
push 0x49a860
push 0
push 0
call fcn.00438d7e
mov ecx, dword [esi + 0x24]
add esp, 0x18
push 0
push eax
mov dword [ebx + ecx + 4], eax
call dword [0x516300]
mov eax, dword [ebp + 8]
inc edi
add ebx, 0x7c
mov dword [ebp - 4], edi
mov dword [ebp - 8], ebx
cmp edi, eax
jb 0x49b056
mov ebx, dword [0x516308]
lea ecx, [eax - 1]
mov edi, 0x7c
mov dword [ebp + 8], ecx
nop
mov eax, dword [esi + 0x24]
cmp dword [edi + eax], 0
jne 0x49b150
nop dword [eax]
push 1
call ebx
mov eax, dword [esi + 0x24]
cmp dword [edi + eax], 0
je 0x49b140
mov ecx, dword [ebp + 8]
add edi, 0x7c
sub ecx, 1
mov dword [ebp + 8], ecx
jne 0x49b130
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x4c1c70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x474
mov eax, dword [0x5522f8]
xor eax, esp
mov dword [esp + 0x470], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, ecx
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x10]
push edi
mov edi, edx
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
cmp edi, 1
jb 0x4c1e45
mov ecx, 1
call fcn.004bb610
mov ecx, 1
call fcn.004faa40
push 0x30c
push 0
push ebx
call fcn.00432620
add esp, 0xc
mov byte [esp + 0x78], 0
lea ebx, [esp + 0x78]
test edi, edi
je 0x4c1d4e
mov edi, dword [esp + 0xc]
sub edi, esi
mov dword [esp + 0xc], edi
push dword [edi + esi]
push dword [esi]
push str._s__s
push ebx
call fcn.00401470
mov ecx, dword [esi]
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4c1d10
sub ecx, edx
mov byte [ecx + ebx], al
mov edx, dword [esi]
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x4c1d21
mov eax, dword [edi + esi]
sub edx, ecx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c1d30
sub eax, edi
add ebx, 2
mov edi, dword [esp + 0xc]
add eax, edx
add ebx, eax
add esi, 4
sub dword [esp + 0x10], 1
jne 0x4c1cf5
push 0x58
lea eax, [esp + 0x24]
mov byte [ebx], 0
push 0
push eax
call fcn.00432620
mov eax, dword [0x56ab2c]
xor ecx, ecx
mov edx, dword [ebp + 0x18]
add esp, 0xc
mov dword [esp + 0x24], eax
cmp edx, 1
lea eax, [esp + 0x78]
mov dword [esp + 0x20], 0x58
mov dword [esp + 0x2c], eax
sete cl
mov eax, dword [esp + 0x14]
mov esi, 0x1000
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x4c], eax
lea ecx, [ecx*2 + 0x804]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x50], eax
xor eax, eax
test edx, edx
mov dword [esp + 0x38], 1
mov dword [esp + 0x40], 0x30c
cmove eax, esi
mov dword [esp + 0x5c], 0x5337dc
or ecx, eax
mov dword [esp + 0x54], ecx
sub edx, 0
je 0x4c1e0e
sub edx, 1
je 0x4c1e01
mov esi, 4
call fcn.004faa90
xor ecx, ecx
call fcn.004bb610
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x470]
xor ecx, esp
call fcn.004275c5
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x20]
push eax
call dword [0x516048]
jmp 0x4c1e19
lea eax, [esp + 0x20]
push eax
call dword [0x516044]
mov esi, eax
neg esi
sbb esi, esi
neg esi
dec esi
call fcn.004faa90
xor ecx, ecx
call fcn.004bb610
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x470]
xor ecx, esp
call fcn.004275c5
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x47c]
mov eax, 7
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004275c5
mov esp, ebp
pop ebp
ret
Function at 0x4c2580
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
push ebx
push esi
push edi
mov edi, ecx
call fcn.004c8000
movzx ecx, word [edi + 0xe]
call fcn.004f1b60
xor esi, esi
xor bh, bh
xor bl, bl
cmp dword [0x56ae40], esi
jle 0x4c25be
add bh, byte [esi + edi + 0x40]
xor bl, byte [esi + edi + 0x40]
call fcn.004f1b70
movzx eax, ax
sub byte [esi + edi + 0x40], al
inc esi
cmp esi, dword [0x56ae40]
jl 0x4c25a1
call fcn.004c7ff0
cmp byte [edi + 0x38], bh
jne 0x4c25d6
cmp byte [edi + 0x39], bl
jne 0x4c25d6
pop edi
pop esi
mov eax, 1
pop ebx
ret
pop edi
pop esi
xor eax, eax
pop ebx
ret

Function at 0x4c26e0
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push ebx
push esi
push edi
mov esi, ecx
call fcn.004c8000
movzx ecx, word [esi + 0xe]
call fcn.004f1b60
mov ebx, dword [0x56ae40]
xor edi, edi
mov word [esi + 0x38], 0
test ebx, ebx
jle 0x4c2726
call fcn.004f1b70
movzx eax, ax
add byte [edi + esi + 0x40], al
movzx eax, byte [edi + esi + 0x40]
add byte [esi + 0x38], al
movzx eax, byte [edi + esi + 0x40]
inc edi
xor byte [esi + 0x39], al
cmp edi, ebx
jl 0x4c2705
call fcn.004f1b70
mov byte [esi + 0x3a], al
call fcn.004f1b70
pop edi
mov byte [esi + 0x3b], al
mov byte [esi + 0x3c], 1
pop esi
pop ebx
jmp fcn.004c7ff0

Function at 0x4c5340
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
mov esi, edx
mov edi, ecx
xor cl, cl
mov dword [ebp - 0x10], esi
xor bl, bl
mov dword [ebp - 0xc], edi
xor eax, eax
mov dword [ebp - 8], ecx
test esi, esi
je 0x4c5419
cmp esi, 0x20
jb 0x4c5419
mov ecx, esi
xorps xmm2, xmm2
and ecx, 0xffffffe0
xorps xmm4, xmm4
xorps xmm3, xmm3
xorps xmm5, xmm5
nop
movups xmm1, xmmword [edi + eax]
movaps xmm0, xmm1
pxor xmm5, xmm1
movups xmm1, xmmword [edi + eax + 0x10]
add eax, 0x20
paddb xmm2, xmm0
movaps xmm0, xmm1
pxor xmm3, xmm1
paddb xmm4, xmm0
cmp eax, ecx
jb 0x4c5380
pxor xmm3, xmm5
paddb xmm4, xmm2
movaps xmm0, xmm3
psrldq xmm0, 8
pxor xmm3, xmm0
movups xmm0, xmm3
psrldq xmm0, 4
pxor xmm3, xmm0
movups xmm0, xmm3
psrldq xmm0, 2
pxor xmm3, xmm0
movups xmm0, xmm3
psrldq xmm0, 1
pxor xmm3, xmm0
movaps xmm0, xmm4
psrldq xmm0, 8
paddb xmm4, xmm0
movd ebx, xmm3
movups xmm0, xmm4
psrldq xmm0, 4
paddb xmm4, xmm0
movups xmm0, xmm4
psrldq xmm0, 2
paddb xmm4, xmm0
movups xmm0, xmm4
psrldq xmm0, 1
paddb xmm4, xmm0
movd ecx, xmm4
mov dword [ebp - 8], ecx
xor dh, dh
mov byte [ebp - 1], 0
cmp eax, esi
jae 0x4c5464
mov ecx, esi
sub ecx, eax
cmp ecx, 2
mov ch, byte [ebp - 1]
jb 0x4c5451
lea edi, [esi - 1]
mov esi, dword [ebp - 0xc]
mov dl, byte [esi + eax]
mov cl, byte [esi + eax + 1]
add ch, dl
xor dl, cl
add eax, 2
add dh, cl
xor bl, dl
cmp eax, edi
jb 0x4c5435
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
cmp eax, esi
jae 0x4c545d
mov al, byte [eax + edi]
add byte [ebp - 8], al
xor bl, al
add dh, ch
mov ecx, dword [ebp - 8]
add cl, dh
cmp byte [ebp + 8], cl
jne 0x4c547a
cmp byte [ebp + 0xc], bl
jne 0x4c547a
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4c5490
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
mov esi, dword [ebp + 0xc]
xor bl, bl
push edi
mov dword [ebp - 0xc], ecx
mov edi, edx
xor cl, cl
mov dword [ebp - 0x10], edi
xor eax, eax
mov dword [ebp - 8], ecx
test esi, esi
je 0x4c556b
cmp esi, 0x20
jb 0x4c556b
mov edx, dword [ebp + 8]
mov ecx, esi
and ecx, 0xffffffe0
xorps xmm2, xmm2
xorps xmm4, xmm4
xorps xmm3, xmm3
xorps xmm5, xmm5
movups xmm1, xmmword [edx + eax]
movaps xmm0, xmm1
pxor xmm5, xmm1
movups xmm1, xmmword [edx + eax + 0x10]
add eax, 0x20
paddb xmm2, xmm0
movaps xmm0, xmm1
pxor xmm3, xmm1
paddb xmm4, xmm0
cmp eax, ecx
jb 0x4c54d2
pxor xmm3, xmm5
paddb xmm4, xmm2
movaps xmm0, xmm3
psrldq xmm0, 8
pxor xmm3, xmm0
movups xmm0, xmm3
psrldq xmm0, 4
pxor xmm3, xmm0
movups xmm0, xmm3
psrldq xmm0, 2
pxor xmm3, xmm0
movups xmm0, xmm3
psrldq xmm0, 1
pxor xmm3, xmm0
movaps xmm0, xmm4
psrldq xmm0, 8
paddb xmm4, xmm0
movd ebx, xmm3
movups xmm0, xmm4
psrldq xmm0, 4
paddb xmm4, xmm0
movups xmm0, xmm4
psrldq xmm0, 2
paddb xmm4, xmm0
movups xmm0, xmm4
psrldq xmm0, 1
paddb xmm4, xmm0
movd ecx, xmm4
mov dword [ebp - 8], ecx
xor dh, dh
mov byte [ebp - 1], 0
cmp eax, esi
jae 0x4c55c7
mov ecx, esi
sub ecx, eax
cmp ecx, 2
mov ch, byte [ebp - 1]
jb 0x4c55a3
lea edi, [esi - 1]
mov esi, dword [ebp + 8]
mov dl, byte [esi + eax]
mov cl, byte [esi + eax + 1]
add ch, dl
xor dl, cl
add eax, 2
add dh, cl
xor bl, dl
cmp eax, edi
jb 0x4c5587
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp - 0x10]
cmp eax, esi
jae 0x4c55b2
mov esi, dword [ebp + 8]
mov al, byte [eax + esi]
add byte [ebp - 8], al
xor bl, al
mov eax, dword [ebp - 8]
add dh, ch
add al, dh
mov edx, dword [ebp - 0xc]
mov byte [edx], al
mov byte [edi], bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0xc]
mov byte [edx], cl
mov byte [edi], bl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4ef9a0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x514589
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x5522f8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov ebx, dword [esi + 0x28]
mov eax, dword [esi + 0x30]
sub eax, dword [esi + 0x24]
sub ebx, dword [esi + 0x1c]
cmp dword [esi + 0x50], 0
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0
jle 0x4efa82
nop word [eax + eax]
push 0x1c
call fcn.004275db
mov edi, eax
add esp, 4
mov dword [ebp - 0x18], edi
mov dword [ebp - 4], 0
mov dword [edi], 1
mov dword [ebp - 4], 0xffffffff
call fcn.00434b2e
xor edx, edx
div ebx
mov eax, dword [esi + 0x1c]
add eax, edx
mov dword [edi + 0x10], eax
call fcn.00434b2e
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + 0x20]
sub eax, edx
mov dword [edi + 0x14], eax
call fcn.00434b2e
xor edx, edx
mov ecx, esi
div dword [ebp - 0x14]
mov eax, dword [esi + 0x24]
add eax, edx
mov dword [edi + 0x18], eax
movq xmm0, qword [edi + 0x10]
movq qword [edi + 4], xmm0
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x68]
sub dword [edi + 4], eax
mov eax, dword [esi + 0x6c]
sub dword [edi + 8], eax
mov eax, dword [esi + 0x70]
sub dword [edi + 0xc], eax
push edi
call fcn.0040a8e0
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [esi + 0x50]
jl 0x4ef9f0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x4efb30
Capabilities:
Get number of processors

Disassembly:
push esi
mov esi, ecx
call fcn.004efae0
mov ecx, esi
pop esi
jmp fcn.004ef9a0
Function at 0x4efed0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5145cf
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x5522f8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
call fcn.0040a8a0
mov dword [ebp - 4], 0
xorps xmm0, xmm0
mov dword [edi + 0x1c], 0xffffff9c
mov dword [edi + 0x20], 0x64
mov dword [edi + 0x24], 0xffffff9c
mov dword [edi + 0x28], 0x64
mov dword [edi + 0x2c], 0xffffff9c
mov dword [edi + 0x30], 0x64
mov dword [edi + 0x34], 0
mov dword [edi + 0x38], 0xffffffff
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], 0x3c00
mov dword [edi + 0x44], 0x15e00
mov dword [edi + 0x5c], 0
mov dword [edi + 0x60], 0xffffffc4
mov dword [edi + 0x64], 0
mov dword [edi + 0x68], 0
mov dword [edi + 0x6c], 0xfffffea2
mov dword [edi + 0x70], 0
mov dword [edi + 0x48], 0xffffffff
mov dword [edi + 0x4c], 0
mov dword [edi + 0x50], 0x64
mov dword [edi + 0x54], 0x14
mov dword [edi + 0x58], 1
mov dword [edi + 0x74], 0
mov dword [edi + 0x78], 0
mov dword [edi + 0x7c], 0
mov dword [edi + 0x80], 0
mov dword [edi + 0x84], 0
mov dword [edi + 0x88], 0
mov dword [edi + 0x8c], 0xa
call fcn.0050be60
mulsd xmm0, qword [0x53c378]
cvttsd2si esi, xmm0
xorps xmm0, xmm0
mov dword [edi + 0x90], esi
call fcn.0050b730
mulsd xmm0, qword [0x53c378]
mov dword [edi + 0x98], esi
mov dword [edi + 0xa0], esi
mov dword [edi + 0x14], 0
cvttsd2si eax, xmm0
mov dword [edi + 0x94], eax
mov dword [edi + 0x9c], eax
mov dword [edi + 0xa4], eax
mov dword [ebp - 4], 0xffffffff
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x4f18f0
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x5522f8]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
lea eax, [ebp - 0x18]
mov edi, edx
push eax
push 0x20
xor esi, esi
call dword [0x516340]
push eax
call dword [section..rdata]
test eax, eax
je 0x4f197e
lea eax, [ebp - 0x20]
push eax
push str.SeDebugPrivilege
push esi
call dword [0x516018]
test eax, eax
je 0x4f1975
mov eax, dword [ebp - 0x20]
neg edi
push esi
push esi
mov dword [ebp - 0x10], eax
sbb edi, edi
mov eax, dword [ebp - 0x1c]
and edi, 2
push 0x10
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x14]
push eax
push esi
push dword [ebp - 0x18]
mov dword [ebp - 0x14], 1
mov dword [ebp - 8], edi
call dword [0x516014]
test eax, eax
je 0x4f1973
call dword [0x5162b4]
test eax, eax
jne 0x4f1973
lea esi, [eax + 1]
jmp 0x4f1975
xor esi, esi
push dword [ebp - 0x18]
call dword [0x5162f4]
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
xor ecx, ebp
pop esi
call fcn.004275c5
mov esp, ebp
pop ebp
ret
Function at 0x4f1e40
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], edi
call fcn.004c8000
mov ecx, dword [edi + 0x10]
call fcn.004f1b60
push dword [edi + 0x14]
call fcn.00427619
lea esi, [edi + 0x20]
mov dword [ebp - 8], eax
mov edi, dword [edi + 0x14]
xor ecx, ecx
add esp, 4
mov dword [ebp - 4], ecx
xor ebx, ebx
test edi, edi
je 0x4f1ea9
sub eax, esi
mov dword [ebp - 0xc], eax
nop
call fcn.004f1b70
mov cl, byte [esi]
lea esi, [esi + 1]
sub cl, al
mov eax, dword [ebp - 0xc]
mov byte [eax + esi - 1], cl
movzx eax, byte [esi - 1]
mov ecx, dword [ebp - 4]
xor ebx, eax
add ecx, eax
mov dword [ebp - 4], ecx
sub edi, 1
jne 0x4f1e80
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
cmp word [edx + 0x1c], cx
jne 0x4f1eb8
cmp word [edx + 0x1e], bx
je 0x4f1ed1
push eax
call fcn.004275d6
add esp, 4
xor esi, esi
call fcn.004c7ff0
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 8]
call fcn.004c7ff0
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x4f1ef0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x5522f8]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0x1c], ecx
call fcn.004c8000
lea eax, [ebp - 0x14]
push eax
call dword [0x5161c4]
movzx ecx, word [ebp - 6]
call fcn.004f1b60
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
xor ebx, ebx
mov dword [ebp - 0x18], ecx
mov edi, dword [eax + 0x14]
lea esi, [eax + 0x20]
test edi, edi
je 0x4f1f58
call fcn.004f1b70
mov ecx, dword [ebp - 0x18]
lea esi, [esi + 1]
movzx eax, ax
add byte [esi - 1], al
mov al, byte [esi - 1]
movzx eax, al
xor ecx, eax
add ebx, eax
mov dword [ebp - 0x18], ecx
sub edi, 1
jne 0x4f1f32
mov eax, dword [ebp - 0x1c]
movzx edx, word [ebp - 6]
mov dword [eax + 0x10], edx
mov word [eax + 0x1c], bx
mov word [eax + 0x1e], cx
call fcn.004c7ff0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004275c5
mov esp, ebp
pop ebp
ret

Function at 0x4f65e0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
push 0x1c
mov edi, edx
mov esi, ecx
call fcn.004275db
mov ebx, eax
mov eax, dword [ebp + 8]
push ebx
push 0
push 0x4f6430
mov dword [ebx + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [ebx + 4], 0
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], edi
mov dword [ebx + 0x18], eax
call fcn.00438cf0
add esp, 0x10
cmp eax, 0xffffffff
je 0x4f663a
push 2
push eax
mov dword [ebx], eax
call dword [0x516300]
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret
push 0x1c
push ebx
call fcn.0042760b
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret