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

Disassembly:
push ebx
push esi
push edi
mov esi, ecx
call fcn.004787b0
movzx ecx, word [esi + 0xe]
call fcn.0049fbb0
mov ebx, dword [0x5438f4]
xor edi, edi
mov word [esi + 0x38], 0
test ebx, ebx
jle 0x4729d3
call fcn.0049fbc0
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 0x4729b5
call fcn.0049fbc0
mov byte [esi + 0x3a], al
call fcn.0049fbc0
pop edi
mov byte [esi + 0x3b], al
mov byte [esi + 0x3c], 1
pop esi
pop ebx
jmp fcn.004787c0

Function at 0x472af0
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
push ebx
push esi
push edi
mov edi, ecx
call fcn.004787b0
movzx ecx, word [edi + 0xe]
call fcn.0049fbb0
xor esi, esi
xor bh, bh
xor bl, bl
cmp dword [0x5438f4], esi
jle 0x472b2b
add bh, byte [esi + edi + 0x40]
xor bl, byte [esi + edi + 0x40]
call fcn.0049fbc0
sub byte [esi + edi + 0x40], al
inc esi
cmp esi, dword [0x5438f4]
jl 0x472b11
call fcn.004787c0
cmp byte [edi + 0x38], bh
jne 0x472b43
cmp byte [edi + 0x39], bl
jne 0x472b43
pop edi
pop esi
mov eax, 1
pop ebx
ret
pop edi
pop esi
xor eax, eax
pop ebx
ret
Function at 0x473370
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x474
mov eax, dword [0x52a2f8]
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 0x473545
mov ecx, 1
call fcn.0046bdf0
mov ecx, 1
call fcn.004a7a90
push 0x30c
push 0
push ebx
call fcn.004d8080
add esp, 0xc
mov byte [esp + 0x78], 0
lea ebx, [esp + 0x78]
test edi, edi
je 0x47344e
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.00401fe0
mov ecx, dword [esi]
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x473410
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 0x473421
mov eax, dword [edi + esi]
sub edx, ecx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x473430
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 0x4733f5
push 0x58
lea eax, [esp + 0x24]
mov byte [ebx], 0
push 0
push eax
call fcn.004d8080
mov eax, dword [0x543e0c]
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], 0x510fa8
or ecx, eax
mov dword [esp + 0x54], ecx
sub edx, 0
je 0x47350e
sub edx, 1
je 0x473501
mov esi, 4
call fcn.004a7ae0
xor ecx, ecx
call fcn.0046bdf0
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x470]
xor ecx, esp
call fcn.004ccfb7
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x20]
push eax
call dword [0x4f4048]
jmp 0x473519
lea eax, [esp + 0x20]
push eax
call dword [0x4f4044]
mov esi, eax
neg esi
sbb esi, esi
neg esi
dec esi
call fcn.004a7ae0
xor ecx, ecx
call fcn.0046bdf0
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x470]
xor ecx, esp
call fcn.004ccfb7
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.004ccfb7
mov esp, ebp
pop ebp
ret
Function at 0x476310
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 0x4763eb
cmp esi, 0x20
jb 0x4763eb
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 0x476352
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 0x476447
mov ecx, esi
sub ecx, eax
cmp ecx, 2
mov ch, byte [ebp - 1]
jb 0x476423
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 0x476407
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp - 0x10]
cmp eax, esi
jae 0x476432
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 0x476460
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 0x476539
cmp esi, 0x20
jb 0x476539
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 0x4764a0
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 0x476584
mov ecx, esi
sub ecx, eax
cmp ecx, 2
mov ch, byte [ebp - 1]
jb 0x476571
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 0x476555
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0xc]
cmp eax, esi
jae 0x47657d
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 0x47659a
cmp byte [ebp + 0xc], bl
jne 0x47659a
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 0x49d420
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f1f18
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x52a2f8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
call fcn.0049dda0
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.004ed850
mulsd xmm0, qword [0x518fb0]
cvttsd2si esi, xmm0
xorps xmm0, xmm0
mov dword [edi + 0x90], esi
call fcn.004ed120
mulsd xmm0, qword [0x518fb0]
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 0x49d930
Capabilities:
Get number of processors

Disassembly:
push esi
mov esi, ecx
call fcn.0049d940
mov ecx, esi
pop esi
jmp fcn.0049d9d0
Function at 0x49d9d0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f1f7f
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x52a2f8]
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 0x49dab2
nop word [eax + eax]
push 0x1c
call fcn.004ccfcd
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.004da58e
xor edx, edx
div ebx
mov eax, dword [esi + 0x1c]
add eax, edx
mov dword [edi + 0x10], eax
call fcn.004da58e
cdq
mov ecx, 0x64
idiv ecx
mov eax, dword [esi + 0x20]
sub eax, edx
mov dword [edi + 0x14], eax
call fcn.004da58e
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.0049dde0
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
cmp eax, dword [esi + 0x50]
jl 0x49da20
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 0x49f630
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
mov eax, dword [0x52a2f8]
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 [0x4f41c0]
push eax
call dword [0x4f4028]
test eax, eax
je 0x49f6be
lea eax, [ebp - 0x20]
push eax
push str.SeDebugPrivilege
push esi
call dword [0x4f4018]
test eax, eax
je 0x49f6b5
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 [0x4f4014]
test eax, eax
je 0x49f6b3
call dword [0x4f42c0]
test eax, eax
jne 0x49f6b3
lea esi, [eax + 1]
jmp 0x49f6b5
xor esi, esi
push dword [ebp - 0x18]
call dword [0x4f42dc]
mov ecx, dword [ebp - 4]
mov eax, esi
pop edi
xor ecx, ebp
pop esi
call fcn.004ccfb7
mov esp, ebp
pop ebp
ret
Function at 0x4a0380
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [0x52a2f8]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov dword [ebp - 0x1c], ecx
call fcn.004787b0
lea eax, [ebp - 0x14]
push eax
call dword [0x4f4304]
movzx ecx, word [ebp - 6]
call fcn.0049fbb0
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 0x4a03e4
call fcn.0049fbc0
add byte [esi], al
lea esi, [esi + 1]
mov al, byte [esi - 1]
mov ecx, dword [ebp - 0x18]
movzx eax, al
xor ecx, eax
add ebx, eax
mov dword [ebp - 0x18], ecx
sub edi, 1
jne 0x4a03c2
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.004787c0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004ccfb7
mov esp, ebp
pop ebp
ret

Function at 0x4a0410
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.004787b0
mov ecx, dword [edi + 0x10]
call fcn.0049fbb0
push dword [edi + 0x14]
call fcn.004cd00b
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 0x4a0479
sub eax, esi
mov dword [ebp - 0xc], eax
nop
call fcn.0049fbc0
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 0x4a0450
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
cmp word [edx + 0x1c], cx
jne 0x4a0488
cmp word [edx + 0x1e], bx
je 0x4a04a1
push eax
call fcn.004ccfc8
add esp, 4
xor esi, esi
call fcn.004787c0
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 8]
call fcn.004787c0
pop edi
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x4a3f90
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.004ccfcd
mov ebx, eax
mov eax, dword [ebp + 8]
push ebx
push 0
push 0x4a3e70
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.004dcb63
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a3fea
push 2
push eax
mov dword [ebx], eax
call dword [0x4f42e8]
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret
push 0x1c
push ebx
call fcn.004ccffd
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret
Function at 0x4a5a40
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f2352
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push esi
push edi
mov eax, dword [0x52a2f8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
push 0x78
call fcn.004ccfcd
mov esi, eax
push 0x74
push 0
lea edx, [esi + 4]
push edx
call fcn.004d8080
mov ecx, dword [0x58de00]
add esp, 0x10
inc ecx
mov dword [0x58de00], ecx
mov dword [esi], ecx
push 0
push 1
push 1
push 0
call dword [0x4f42d8]
push 0xfa0
lea edi, [esi + 8]
mov dword [esi + 4], eax
push edi
call dword [0x4f4250]
lea eax, [ebp - 0x10]
mov dword [esi + 0x20], 0
push eax
push 0
push esi
push 0x4a5930
push 0
push 0
mov dword [esi + 0x24], 0
call fcn.004dcbf3
add esp, 0x18
test eax, eax
je 0x4a5b3b
push 0x160
mov dword [esi + 0x6c], eax
call fcn.004ccfcd
mov edx, eax
add esp, 4
mov dword [ebp - 0x14], edx
mov dword [ebp - 4], 0
mov ecx, dword [0x543cf8]
call fcn.00420660
push eax
mov ecx, edx
call fcn.00462e40
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x70], eax
mov eax, dword [0x58de04]
mov dword [esi + 0x74], eax
mov dword [0x58de04], esi
mov eax, dword [esi]
mov dword [ebx], eax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
call dword [0x4f42ec]
push dword [esi + 4]
call dword [0x4f42dc]
push 0x78
push esi
call fcn.004ccffd
add esp, 8
mov eax, 0xd
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 0x4a75c0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f17df
mov eax, dword fs:[0]
push eax
push ecx
mov eax, dword [0x52a2f8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 8
call fcn.004ccfcd
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], 0
mov ecx, eax
call fcn.0045c620
mov dword [ebp - 4], 0xffffffff
mov dword [0x58dee8], eax
call fcn.00401350
push 0xfa0
push 0x58de64
mov dword [0x58dea0], 1
call dword [0x4f4250]
push 0
push 0
push 0x4a7560
mov dword [0x58de7c], 1
call fcn.004dcb63
add esp, 0xc
cmp eax, 0xffffffff
je 0x4a7657
push 1
push eax
mov dword [0x58deec], eax
call dword [0x4f42e8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret

Function at 0x4a77c0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
push 0x18
mov edi, edx
mov esi, ecx
call fcn.004ccfcd
mov ebx, eax
mov eax, dword [ebp + 8]
push ebx
push 0
push 0x4a7720
mov dword [ebx + 4], 0
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], edi
mov dword [ebx + 0x14], eax
call fcn.004dcb63
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a7814
push 2
push eax
mov dword [ebx], eax
call dword [0x4f42e8]
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret
push 0x18
push ebx
call fcn.004ccffd
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret
Function at 0x4a7900
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
push 0x18
mov edi, edx
mov esi, ecx
call fcn.004ccfcd
mov ebx, eax
mov eax, dword [ebp + 8]
push ebx
push 0
push 0x4a7830
mov dword [ebx + 4], 0
mov dword [ebx + 8], esi
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], edi
mov dword [ebx + 0x14], eax
call fcn.004dcb63
add esp, 0x10
cmp eax, 0xffffffff
je 0x4a7954
push 2
push eax
mov dword [ebx], eax
call dword [0x4f42e8]
pop edi
pop esi
mov eax, ebx
pop ebx
pop ebp
ret
push 0x18
push ebx
call fcn.004ccffd
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret
Function at 0x4b0b80
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f2648
mov eax, dword fs:[0]
push eax
push ecx
mov eax, dword [0x52a2f8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], ecx
call fcn.004b1a10
mov dword [ebp - 4], 0
mov eax, dword [ebp + 8]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp + 0xc]
mov dword [ecx], vtable.YCMFPlayer.0
mov dword [ecx + 8], vtable.YCMFPlayer.1.0
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x20], 0
mov dword [ecx + 0x24], 0
mov dword [ecx + 0x28], 0
mov dword [ecx + 0x30], 0
mov dword [ecx + 0x34], 0
mov word [ecx + 0x38], 0
mov dword [ecx + 0x3c], 0
mov dword [ecx + 0x40], 0
mov byte [ecx + 0x44], 0
mov dword [ecx + 0x48], 0x80
mov dword [ebp - 4], 0xffffffff
mov eax, ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret 8
Function at 0x4c3060
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
mov ebx, dword [ecx + 4]
xor eax, eax
push esi
push edi
mov edi, dword [ecx]
xor esi, esi
mov dword [ebp - 4], ecx
mov dword [ebp - 8], edi
mov dword [edi + 0x16], eax
test ebx, ebx
jle 0x4c309d
nop
movzx edx, byte [edi + esi]
mov ecx, eax
shr ecx, 0x18
inc esi
xor edx, ecx
shl eax, 8
xor eax, dword [edx*4 + 0x50fe20]
cmp esi, ebx
jl 0x4c3080
mov ecx, dword [ebp - 4]
mov ebx, dword [ecx + 0xc]
xor esi, esi
test ebx, ebx
jle 0x4c30cd
mov edi, dword [ecx + 8]
nop dword [eax]
movzx edx, byte [edi + esi]
mov ecx, eax
shr ecx, 0x18
inc esi
xor edx, ecx
shl eax, 8
xor eax, dword [edx*4 + 0x50fe20]
cmp esi, ebx
jl 0x4c30b0
mov edi, dword [ebp - 8]
mov byte [edi + 0x16], al
mov ecx, eax
shr ecx, 8
mov byte [edi + 0x17], cl
mov ecx, eax
shr ecx, 0x10
mov byte [edi + 0x18], cl
shr eax, 0x18
mov byte [edi + 0x19], al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x4ca6c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, dword [ecx + 0x64]
xor ebx, ebx
imul edi, dword [ebp + 0x10]
xor esi, esi
mov dword [ebp - 4], ecx
test edi, edi
je 0x4ca72b
nop dword [eax]
mov edx, dword [ebp + 0xc]
mov eax, esi
shr eax, 1
movzx edx, byte [eax + edx]
lea eax, [ecx + 0xa8]
lea eax, [eax + ebx*8]
mov ecx, esi
push eax
mov eax, edx
shr edx, 4
and eax, 0xf
and cl, 1
cmove edx, eax
push edx
call fcn.004ccd60
mov ecx, dword [ebp + 8]
add esp, 8
mov word [ecx + esi*2], ax
mov eax, ebx
mov ecx, dword [ebp - 4]
xor eax, 1
inc esi
cmp dword [ecx + 0x64], 2
cmovne eax, ebx
mov ebx, eax
cmp esi, edi
jb 0x4ca6e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc

Function at 0x4cb0d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
xor esi, esi
mov eax, dword [edi + 0x64]
imul eax, dword [ebp + 0x10]
mov dword [ebp + 0x10], eax
test eax, eax
je 0x4cb12b
nop word [eax + eax]
push dword [edi + 0x8c]
lea eax, [edi + 0xa8]
lea eax, [eax + ebx*8]
push eax
mov eax, dword [ebp + 0xc]
movzx eax, byte [esi + eax]
push eax
call fcn.004ccde0
mov ecx, dword [ebp + 8]
add esp, 0xc
mov word [ecx + esi*2], ax
mov eax, ebx
xor eax, 1
inc esi
cmp dword [edi + 0x64], 2
cmovne eax, ebx
mov ebx, eax
cmp esi, dword [ebp + 0x10]
jb 0x4cb0f0
pop edi
pop esi
pop ebx
pop ebp
ret 0xc
Function at 0x4cc7f0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f3536
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x52a2f8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
lea ecx, [edi + 0x10]
mov dword [edi], vtable.CWaveStreamCtrl.0
call fcn.004eb530
mov dword [ebp - 4], 0
lea ecx, [edi + 0x30]
call fcn.004c6d30
mov byte [ebp - 4], 1
lea ecx, [edi + 0x10]
mov eax, dword [ebp + 8]
mov dword [edi + 0x28], eax
mov eax, dword [ebp + 0xc]
push 0xffffffffffffffff
mov dword [edi + 0x24], 0
mov dword [edi + 0x2c], eax
call fcn.004206c0
mov eax, dword [ebp + 0x10]
mov dword [edi + 8], eax
mov eax, dword [ebp + 0x14]
mov dword [edi + 4], eax
mov eax, dword [ebp + 0x18]
mov dword [edi + 0xc], 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 0x14