joyce8/EMBER2024-capa huggingface dataset:
Function at 0x195ef10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, dword [esp + 0xc]
sub esp, 0x10c
push ebx
push ebp
mov ebp, dword [esp + 0x11c]
push esi
push edi
lea ebx, [eax + ebp]
cmp eax, 8
jbe 0x195f0c7
mov edi, dword [esp + 0x120]
lea esi, [ebp + 8]
push 0x800
lea eax, [edi + 0x5410]
push eax
mov eax, ebx
sub eax, esi
push eax
lea eax, [edi + 0x140c]
push esi
push eax
call fcn.01962440
add esp, 0x14
cmp eax, 0xffffff88
ja 0x195f0c7
add esi, eax
mov dword [esp + 0x14], 0x1c
mov eax, ebx
sub eax, esi
push eax
push esi
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.0195f110
add esp, 0x14
mov dword [esp + 0x10], eax
cmp eax, 0xffffff88
ja 0x195f0c7
mov eax, dword [esp + 0x1c]
cmp eax, 8
ja 0x195f0c7
push eax
push dword [esp + 0x18]
lea eax, [esp + 0x34]
push eax
lea eax, [edi + 0x804]
push eax
call fcn.0195f530
add esp, 0x10
cmp eax, 0xffffff88
ja 0x195f0c7
add esi, dword [esp + 0x10]
mov eax, ebx
sub eax, esi
mov dword [esp + 0x18], 0x34
push eax
push esi
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0xc0]
push eax
call fcn.0195f110
add esp, 0x14
mov dword [esp + 0x10], eax
cmp eax, 0xffffff88
ja 0x195f0c7
mov eax, dword [esp + 0x20]
cmp eax, 9
ja 0x195f0c7
push eax
push dword [esp + 0x1c]
lea eax, [esp + 0xb8]
push eax
lea eax, [edi + 0xc08]
push eax
call fcn.0195f530
add esp, 0x10
cmp eax, 0xffffff88
ja 0x195f0c7
add esi, dword [esp + 0x10]
mov eax, ebx
sub eax, esi
mov dword [esp + 0x10], 0x23
push eax
push esi
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x78]
push eax
call fcn.0195f110
add esp, 0x14
mov dword [esp + 0x28], eax
cmp eax, 0xffffff88
ja 0x195f0c7
mov eax, dword [esp + 0x24]
cmp eax, 9
ja 0x195f0c7
push eax
push dword [esp + 0x14]
lea eax, [esp + 0x70]
push eax
push edi
call fcn.0195f530
add esp, 0x10
cmp eax, 0xffffff88
ja 0x195f0c7
add esi, dword [esp + 0x28]
lea eax, [esi + 0xc]
cmp eax, ebx
ja 0x195f0c7
sub ebx, esi
xor edx, edx
sub ebx, 0xc
add edi, 0x5c10
nop
mov ecx, dword [esi]
add esi, 4
test ecx, ecx
je 0x195f0c7
cmp ecx, ebx
jae 0x195f0c7
mov dword [edi], ecx
inc edx
add edi, 4
cmp edx, 3
jl 0x195f0a0
sub esi, ebp
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x10c
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffffe2
pop ebx
add esp, 0x10c
ret
Function at 0x1962070
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
shr eax, 8
test al, al
je 0x1962086
mov dword [esp + 0x14], ecx
jmp fcn.01961290
mov dword [esp + 0x14], ecx
jmp fcn.01960700
Function at 0x424ee0
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x38
mov eax, 0
mov dword [ebp - 0x10], 0
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.DLL_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.DLL_CommandLineToArgvW]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x10]
inc eax
shl eax, 2
push eax
call dword [sym.imp.MSVCRT.DLL_malloc]
add esp, 4
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x40], eax
mov eax, 0
mov edx, dword [ebp - 0x38]
cmp eax, edx
jne 0x424f52
push 0
push str.CommandLineToArgvW_failed_
push 6
push 0xc
lea esi, [esp + 4]
push esi
push 1
call fcn.004253f7
jmp 0x424fdf
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x18], eax
jmp 0x424fcc
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.DLL_WideCharToMultiByte]
mov dword [ebp - 0x30], eax
push dword [ebp - 0x30]
call dword [sym.imp.MSVCRT.DLL_malloc]
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x40]
mov dword [eax], edx
push 0
push 0
push dword [ebp - 0x30]
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
push eax
push 0xffffffffffffffff
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.DLL_WideCharToMultiByte]
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x38]
add eax, 4
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x18]
dec eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
cmp eax, 0
jg 0x424f5a
push dword [ebp - 0x28]
call dword [sym.imp.KERNEL32.DLL_LocalFree]
mov eax, 0
xchg edx, eax
mov eax, dword [ebp - 0x40]
mov dword [eax], edx
mov eax, dword [ebp - 0x20]
xchg edx, eax
mov eax, dword [0x54802c]
mov dword [eax + 4], edx
mov eax, dword [ebp - 0x10]
xchg edx, eax
mov eax, dword [0x54802c]
mov dword [eax], edx
mov eax, 0
xchg edx, eax
mov eax, dword [0x54802c]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0x20]
xchg edx, eax
mov eax, dword [0x548080]
mov dword [eax], edx
leave
ret
Function at 0x42a8b0
Capabilities:
Manipulate console buffer

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x14
push dword [0x57052c]
push dword [0x548004]
call dword [sym.imp.KERNEL32.DLL_GetConsoleScreenBufferInfo]
mov eax, 0
mov dword [ebp - 0xc], 0
mov eax, dword [0x57052c]
mov eax, dword [eax]
and eax, 0xffff
mov dword [ebp - 0x18], eax
mov eax, dword [0x57052c]
mov eax, dword [eax]
shr eax, 0x10
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 8]
cmp eax, 0
je 0x42a93f
cmp eax, 1
je 0x42a976
cmp eax, 2
je 0x42a99f
cmp eax, 4
je 0x42a9ba
cmp eax, 5
je 0x42a9ee
cmp eax, 3
je 0x42aa16
call fcn.0042a936
mov eax, dword [0x57052c]
mov eax, dword [eax + 4]
shr eax, 0x10
mov edx, eax
mov eax, dword [ebp - 0x18]
imul edx
mov dword [ebp - 0x10], eax
mov eax, 0
mov dword [ebp - 0x14], 0
jmp 0x42aa38
mov eax, dword [ebp - 0x18]
push edx
mov edx, dword [ebp - 0x1c]
imul edx
pop edx
mov dword [ebp - 0x10], eax
mov eax, 0
mov dword [ebp - 0x14], 0
jmp 0x42aa38
mov eax, dword [0x57052c]
mov eax, dword [eax]
and eax, 0xffff
push eax
mov eax, dword [0x57052c]
mov eax, dword [eax + 4]
and eax, 0xffff
pop edx
xchg edx, eax
sub eax, edx
mov dword [ebp - 0x10], eax
mov eax, dword [0x57052c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x14], eax
jmp 0x42aa38
mov eax, dword [0x57052c]
mov eax, dword [eax + 4]
and eax, 0xffff
mov dword [ebp - 0x10], eax
mov eax, dword [0x57052c]
mov eax, dword [eax + 4]
and eax, 0xffff0000
mov dword [ebp - 0x14], eax
jmp 0x42aa38
mov eax, dword [0x57052c]
mov eax, dword [eax]
and eax, 0xffff
mov dword [ebp - 0x10], eax
mov eax, dword [0x57052c]
mov eax, dword [eax + 4]
and eax, 0xffff0000
mov dword [ebp - 0x14], eax

Function at 0x42adc9
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x28
mov dword [ebp - 0xc], 0
mov eax, dword [ebp + 0xc]
cmp eax, 1
je 0x42ae00
cmp eax, 2
je 0x42ae30
cmp eax, 4
je 0x42ae60
call fcn.0042adf7
mov eax, dword [ebp + 8]
mov al, byte [eax + 2]
cmp al, 0x5b
je 0x42ae47
mov eax, 0
jmp 0x42b79a
mov eax, dword [ebp + 8]
add eax, 4
mov dword [ebp + 8], eax
mov eax, 4
mov dword [ebp - 0x10], 4
jmp 0x42ae8e
mov eax, dword [ebp + 8]
mov al, byte [eax + 4]
cmp al, 0x5b
je 0x42ae77
mov eax, 0
jmp 0x42b79a
mov eax, dword [ebp + 8]
add eax, 8
mov dword [ebp + 8], eax
mov eax, 8
mov dword [ebp - 0x10], 8
Function at 0x42bdeb
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0xc
mov eax, dword [0x57051c]
cmp eax, 0
je 0x42be3b
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
jmp 0x42be25
and eax, 0xff
mov esi, dword [ebp - 0xc]
mov al, byte [esi]
and eax, 0xff
push eax
call fcn.0042b807
mov eax, dword [ebp - 0xc]
inc eax
mov dword [ebp - 0xc], eax
mov esi, dword [ebp - 0xc]
mov al, byte [esi]
cmp al, 0
jne 0x42be09
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp + 8]
sub eax, edx
mov dword [ebp - 0x10], eax
jmp 0x42be6e
push dword [ebp + 8]
call dword [sym.imp.MSVCRT.DLL_strlen]
add esp, 4
mov dword [ebp - 0x10], eax
mov eax, 0
mov dword [ebp - 0x14], 0
push 0
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x10]
push dword [ebp + 8]
push dword [0x548004]
call dword [sym.imp.KERNEL32.DLL_WriteFile]
xor eax, eax
push eax
push dword [ebp - 0x10]
push dword [ebp + 8]
call fcn.0042f521
mov eax, dword [ebp + 8]
leave
ret 4

Function at 0x42c09e
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 8
push 0
push 0
call dword [sym.imp.KERNEL32.DLL_GetCurrentDirectoryW]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
shl eax, 1
push eax
call dword [sym.imp.MSVCRT.DLL_malloc]
add esp, 4
mov dword [ebp - 0x10], eax
push dword [ebp - 0x10]
push dword [ebp - 0xc]
call dword [sym.imp.KERNEL32.DLL_GetCurrentDirectoryW]
mov eax, dword [ebp - 0xc]
dec eax
mov edx, eax
mov eax, dword [ebp + 8]
mov dword [eax], edx
mov eax, dword [ebp - 0x10]
leave
ret 4
Function at 0x434c30
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x28
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
and eax, 0x1f
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2c], eax
push dword [ebp - 0x10]
pop eax
bsr eax, eax
mov edx, eax
mov eax, dword [ebp - 0x2c]
mov cl, dl
shl eax, cl
xchg edx, eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xc]
add eax, edx
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 0x38
jne 0x434ca9
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0xc]
cmp eax, 0
jl 0x434ca9
jmp 0x434cad
xor eax, eax
jmp 0x434cb0
xor eax, eax
inc eax
cmp eax, 0
je 0x434ce8
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x28], eax
push dword [ebp - 0x10]
pop eax
bsr eax, eax
mov edx, eax
mov eax, dword [ebp - 0x28]
mov cl, dl
shl eax, cl
mov edx, eax
mov eax, dword [ebp - 0x14]
add eax, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x28]
shl eax, 2
mov dword [ebp - 0x28], eax
jmp 0x434d10
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x14]
sub eax, edx
push eax
push dword [ebp - 0x10]
pop eax
bsr eax, eax
pop edx
xchg edx, eax
mov cl, dl
sar eax, cl
shl eax, 2
mov dword [ebp - 0x28], eax
mov eax, dword [0x5766b4]
mov dword [ebp - 0x20], eax
jmp 0x434e26
Function at 0x4350cd
Capabilities:
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
mov eax, dword [ebp + 8]
shr eax, 0x10
mov edx, dword [ebp + 8]
xor eax, edx
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
push edx
mov edx, 0x85ebca6b
mov ecx, edx
imul ecx
pop edx
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
shr eax, 0xd
mov edx, dword [ebp + 8]
xor eax, edx
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
push edx
mov edx, 0xc2b2ae35
mov ecx, edx
imul ecx
pop edx
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
shr eax, 0x10
mov edx, dword [ebp + 8]
xor eax, edx
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
leave
ret 4
Function at 0x43ce9a
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x14
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov edx, dword [0x576768]
cmp eax, edx
jle 0x43cec1
mov eax, dword [ebp - 0xc]
mov dword [0x576768], eax
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
mov eax, dword [0x5705bc]
mov edx, eax
mov eax, dword [ebp - 0xc]
push edx
mov edx, 0xc
mov ecx, edx
imul ecx
pop edx
add eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], edx
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.DLL_strlen]
add esp, 4
dec eax
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 4], edx
mov eax, dword [0x57873c]
cmp eax, 0
je 0x43cf42
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
push eax
call fcn.0044f956
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax + 8], edx
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 8]
sub eax, 3
mov dword [ebp + 8], eax
mov eax, dword [ebp + 8]
cmp eax, 0x3e
je 0x43cfc8
push 0
push dword [str._n_r_t__e]
push 3
push 0
push 0x3e
push 2
push 0
push 0x582948
push 6
push 0
push dword [str._n_r_t__e]
push 3
push 0
push dword [ebp + 8]
push 2
push 0
push str._Found:
push 6
push 0
push dword [str._n_r_t__e]
push 3
push 0
push dword [ebp - 0xc]
push 2
push 0
push str._Datatype_Error:_invalid_actions_count_for_type:
push 6
push 0x6c
lea esi, [esp + 4]
push esi
push 9
call fcn.004253d9
push 0
call dword [sym.imp.MSVCRT.DLL_exit]
add esp, 4
mov eax, dword [ebp - 0xc]
shl eax, 8
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
cmp eax, 0
je 0x43cfea
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
cmp eax, 0xffffffff
jne 0x43cfea
jmp 0x43cfee
xor eax, eax
jmp 0x43cff1
xor eax, eax
inc eax
cmp eax, 0
je 0x43d01f
mov eax, dword [ebp - 0x14]
shl eax, 8
inc eax
push eax
mov eax, 0x3e
mov edx, dword [ebp + 8]
sub eax, edx
pop edx
xchg edx, eax
add eax, edx
mov dword [ebp - 0x18], eax
mov eax, dword [0x5705c0]
mov edi, dword [ebp - 0x18]
dec edi
mov eax, dword [eax + edi*4]
jmp 0x43d024
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov edx, eax
mov eax, dword [0x5705c0]
mov edi, dword [ebp - 0x10]
dec edi
mov dword [eax + edi*4], edx
mov eax, dword [ebp - 0x10]
inc eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0xc]
add eax, 4
mov dword [ebp + 0xc], eax
mov eax, dword [ebp + 8]
dec eax
mov dword [ebp + 8], eax
mov eax, 0
mov edx, dword [ebp + 8]
cmp eax, edx
jne 0x43cfd2
leave
pop esi
pop ecx
pop ecx
pop ecx
add esp, ecx
push esi
ret
Function at 0x444c43
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x10
push 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
push eax
push 0
push dword [0x5708cc]
push dword [ebp + 8]
call fcn.0043970d
mov dword [ebp - 0x18], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0xc]
xchg edx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
xchg edx, eax
xchg edx, eax
shl eax, 4
add eax, edx
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
jmp 0x444ce8
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 3
je 0x444cdd
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
cmp eax, edx
sete al
xor ah, ah
cwde
xor al, 1
cmp eax, 0
je 0x444cd2
push dword [ebp - 0x14]
push dword [ebp - 0x10]
call fcn.0042f7c5
mov eax, dword [ebp - 0x14]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
add eax, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 0x10]
mov edx, eax
mov eax, dword [ebp - 0x10]
cmp eax, edx
jb 0x444c9f
mov eax, dword [ebp - 0x14]
xchg edx, eax
mov eax, dword [ebp - 0xc]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0x18]
cmp eax, 0
je 0x444d2d
push 0
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
push eax
push 0
push dword [0x5708d0]
push dword [ebp + 8]
call fcn.0043970d
mov eax, dword [ebp + 8]
leave
ret 0x1c

Function at 0x44782b
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 4
mov eax, dword [ebp + 0x10]
cmp eax, 0
jne 0x447846
call fcn.0048aca9
jmp 0x447849
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xc], eax
mov eax, 2
xchg edx, eax
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov eax, 0
xchg edx, eax
mov eax, dword [ebp - 0xc]
mov dword [eax + 4], edx
mov eax, 0
xchg edx, eax
mov eax, dword [ebp - 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 0x14]
cmp eax, 0
je 0x4478aa
cmp eax, 0xffffffff
je 0x4478c2
push 0
push str._Loading_Error:_input_encoding_unsupported
push 6
push 0xc
lea esi, [esp + 4]
push esi
push 1
call fcn.004253d9
push 0
call dword [sym.imp.MSVCRT.DLL_exit]
add esp, 4
jmp 0x4478dd
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0043276d
mov edx, eax
mov eax, dword [ebp - 0xc]
mov dword [eax + 8], edx
jmp 0x4478dd
xor eax, eax
push eax
push 0
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.004328ed
mov edx, eax
mov eax, dword [ebp - 0xc]
mov dword [eax + 8], edx
mov eax, 7
xchg edx, eax
mov eax, dword [ebp - 0xc]
mov dword [eax], edx
mov eax, dword [ebp - 0xc]
leave
ret 0x10
Function at 0x44f4a5
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x20
push dword [ebp + 0x14]
push 0
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00440f6c
push eax
call fcn.0044f386
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
add eax, 0x14
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x18], eax
mov eax, 0
mov dword [ebp - 0x28], 0
jmp 0x44f581
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
and eax, 0xff
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
cmp eax, 0xf
je 0x44f545
mov eax, dword [ebp - 0x24]
cmp eax, 0x12
je 0x44f545
mov eax, dword [ebp - 0x24]
cmp eax, 0x11
je 0x44f545
mov eax, dword [ebp - 0x24]
cmp eax, 0x13
je 0x44f545
xor eax, eax
jmp 0x44f548
xor eax, eax
inc eax
cmp eax, 0
je 0x44f576
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x24]
push eax
xor eax, eax
inc eax
push eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 8]
push eax
push dword [ebp - 0x10]
call fcn.0044ea4f
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x14]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
cmp eax, edx
jb 0x44f50c
mov eax, dword [ebp + 0xc]
xor al, 1
cmp eax, 0
je 0x44f5c3
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0xc]
mov edx, eax
mov eax, dword [ebp - 0x28]
shl eax, 4
add eax, edx
mov edx, eax
mov eax, dword [ebp - 0x20]
mov dword [eax + 0x10], edx
mov eax, dword [ebp - 0xc]
leave
ret 0x10
Function at 0x451ddb
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x1c
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x10], eax
mov eax, 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], 0
jmp 0x451ef2
mov eax, dword [ebp - 0xc]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 0xf
je 0x451e58
cmp eax, 0x11
je 0x451e68
cmp eax, 0x12
je 0x451e68
cmp eax, 0x13
je 0x451e84
cmp eax, 0x10
je 0x451ee2
mov eax, 0
jmp 0x451ee7
mov dword [ebp - 0x24], 1
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x451ee7
mov eax, dword [ebp - 0x24]
xor al, 1
cmp eax, 0
je 0x451e7b
xor eax, eax
jmp 0x451f0e
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
jmp 0x451ee7
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 8]
push eax
call fcn.0044e8d0
mov dword [ebp - 0x20], eax
mov eax, dword [0x5709ac]
mov eax, dword [eax + 8]
mov edx, eax
mov eax, dword [ebp - 0x20]
cmp eax, edx
je 0x451ec8
mov eax, dword [0x5709b0]
mov eax, dword [eax + 8]
mov edx, eax
mov eax, dword [ebp - 0x20]
cmp eax, edx
je 0x451ec8
xor eax, eax
jmp 0x451ecb
xor eax, eax
inc eax
cmp eax, 0
je 0x451ed9
jmp 0x451f00
xor eax, eax
jmp 0x451f0e
jmp 0x451f00
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
cmp eax, edx
jb 0x451e1d
mov eax, dword [ebp - 0x1c]
cmp eax, 2
sete al
xor ah, ah
cwde
leave
ret 4
Function at 0x459318
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0
push 0
sub esp, 0x3c
mov eax, dword [0x576d54]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 8]
cmp eax, 8
jne 0x45933c
mov eax, dword [ebp - 0xc]
jmp 0x45968a
mov eax, dword [ebp - 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
and eax, 0xff
cmp eax, 0x1e
je 0x459393
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
and eax, 0xff
push eax
call fcn.0043d098
push eax
push 0xc
push dword [0x57fff0]
call fcn.00455ee3
push eax
push 3
push dword [0x57ffe0]
call fcn.00455ee3
push eax
push 0xc
lea esi, [esp + 4]
push esi
push 3
call fcn.0042f986
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 8]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x10]
xchg edx, eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
xchg edx, eax
sub eax, edx
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0x10]
xchg edx, eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0xc]
xchg edx, eax
sub eax, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
cmp eax, edx
jle 0x459409
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
and eax, 0x80000
push eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
and eax, 0x80000
pop edx
xchg edx, eax
cmp eax, edx
sete al
xor ah, ah
cwde
mov dword [ebp - 0x44], eax
push 0
push dword [ebp - 0x40]
call fcn.0042df61
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x44]
xor al, 1
cmp eax, 0
je 0x459469
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
or eax, 0x80000
mov edx, eax
mov eax, dword [ebp - 0x1c]
mov dword [eax], edx
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x2c], eax
mov eax, 0
mov dword [ebp - 0x30], 0
jmp 0x459536