joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4c990d
Capabilities:
Access peb ldr_data

Disassembly:
mov eax, 0x61c92a
call fcn.0060d220
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
mov dword [ebx], vtable.libtorrent::alert.0
mov eax, dword [esi + 8]
mov dword [ebx + 8], eax
mov eax, dword [esi + 0xc]
push edi
mov dword [ebx + 0xc], eax
and dword [ebp - 4], 0
lea ecx, [esi + 0x10]
lea eax, [ebx + 0x10]
mov dword [ebx], vtable.libtorrent::dht_announce_alert.0
call fcn.00454bd1
mov eax, dword [esi + 0x2c]
push 5
add esi, 0x30
lea edi, [ebx + 0x30]
pop ecx
mov dword [ebx + 0x2c], eax
rep movsd dword es:[edi], dword [esi]
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov eax, ebx
pop ebx
mov dword fs:[0], ecx
leave
ret 4

Function at 0x4d1f90
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x627721
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push esi
mov eax, dword [0x6e377c]
xor eax, esp
push eax
lea eax, [esp + 0x18]
mov dword fs:[0], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], vtable.CryptoPP::AlgorithmParameters.0
mov dword [esp + 0x10], 0
mov byte [esp + 0x14], 1
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
push eax
push ecx
push edx
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 1
call fcn.004d2250
mov esi, dword [esp + 0x28]
push eax
mov ecx, esi
call fcn.004ddf70
mov byte [esp + 0x20], 0
mov ecx, dword [esp + 0x10]
mov dword [esp + 8], 1
test ecx, ecx
je 0x4d201a
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov eax, esi
mov ecx, dword [esp + 0x18]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x1c
ret

Function at 0x4d3280
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x61d968
mov eax, dword fs:[0]
push eax
push esi
push edi
mov eax, dword [0x6e377c]
xor eax, esp
push eax
lea eax, [esp + 0xc]
mov dword fs:[0], eax
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x14], 0
mov edx, dword [esi + 0x30]
mov ecx, dword [esi + 0x2c]
mov edi, edx
xor al, al
push edx
rep stosb byte es:[edi], al
call fcn.005b5a6b
mov dword [esp + 0x18], 0xffffffff
mov ecx, dword [esi + 0xc]
add esp, 4
test ecx, ecx
je 0x4d32da
mov eax, dword [ecx]
mov edx, dword [eax]
push 1
call edx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0xc
ret 4
Function at 0x4d50d0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x627581
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push esi
push edi
mov eax, dword [0x6e377c]
xor eax, esp
push eax
lea eax, [esp + 0x1c]
mov dword fs:[0], eax
mov esi, dword [esp + 0x2c]
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], vtable.CryptoPP::AlgorithmParameters.0
mov dword [esp + 0x14], 0
mov byte [esp + 0x18], 1
mov eax, dword [esp + 0x30]
push eax
push ecx
lea edi, [esp + 0x18]
mov dword [esp + 0x2c], 1
call fcn.004d5170
push eax
mov ecx, esi
call fcn.004ddf70
mov byte [esp + 0x24], 0
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc], 1
test ecx, ecx
je 0x4d5152
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov eax, esi
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x1c
ret
Function at 0x4dac50
Capabilities:
Encode data using xor

Disassembly:
push ecx
push ebx
mov ebx, dword [esp + 0xc]
push esi
mov esi, dword [esp + 0x14]
push edi
mov edi, dword [esp + 0x1c]
mov ecx, edi
shr ecx, 2
xor eax, eax
test ecx, ecx
jbe 0x4dac96
mov edi, ebx
sub esi, edx
mov eax, edx
sub edi, edx
mov dword [esp + 0xc], ecx
push ebp
mov ebp, dword [esi + eax]
xor ebp, dword [eax]
add eax, 4
sub ecx, 1
mov dword [edi + eax - 4], ebp
jne 0x4dac78
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
pop ebp
add eax, eax
add eax, eax
sub edi, eax
je 0x4dacc1
add ebx, eax
add esi, eax
add edx, eax
test edi, edi
jbe 0x4dacc1
mov ecx, esi
mov esi, ebx
sub ecx, edx
mov eax, edx
sub esi, edx
mov dl, byte [eax + ecx]
xor dl, byte [eax]
inc eax
sub edi, 1
mov byte [eax + esi - 1], dl
jne 0x4dacb2
pop edi
pop esi
pop ebx
pop ecx
ret

Function at 0x4dacd0
Capabilities:
Encode data using xor

Disassembly:
push ecx
push ebp
mov ebp, dword [esp + 0x10]
push esi
mov esi, dword [esp + 0x10]
push edi
mov edi, eax
mov eax, ebp
shr eax, 2
xor ecx, ecx
xor edx, edx
test eax, eax
jbe 0x4dad0c
mov edx, edi
sub esi, edi
mov dword [esp + 0xc], eax
push ebx
mov ebx, dword [esi + edx]
xor ebx, dword [edx]
add edx, 4
or ecx, ebx
sub eax, 1
jne 0x4dacf4
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
pop ebx
lea eax, [edx*4]
sub ebp, eax
jne 0x4dad23
pop edi
xor eax, eax
test ecx, ecx
pop esi
sete al
pop ebp
pop ecx
ret
add esi, eax
add edi, eax
mov eax, ecx
shr eax, 0x18
mov edx, ecx
shr edx, 0x10
or al, dl
mov edx, ecx
shr edx, 8
or al, dl
or al, cl
test ebp, ebp
jbe 0x4dad53
mov ecx, edi
sub esi, edi
mov edi, ebp
mov dl, byte [ecx + esi]
xor dl, byte [ecx]
inc ecx
or al, dl
sub edi, 1
jne 0x4dad46
xor ecx, ecx
test al, al
pop edi
sete cl
pop esi
mov al, cl
pop ebp
pop ecx
ret
Function at 0x4dc450
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x61ff48
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x6e377c]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x18], 0
mov edx, dword [esi + 0x34]
mov ecx, dword [esi + 0x30]
mov edi, edx
xor al, al
push edx
rep stosb byte es:[edi], al
call fcn.005b5a6b
add esp, 4
mov ecx, esi
mov dword [esp + 0x18], 0xffffffff
call fcn.004dccd0
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x10
ret

Function at 0x4dcdc0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x62894b
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0x6e377c]
xor eax, esp
push eax
lea eax, [esp + 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 8], esi
call fcn.004dcf20
xor eax, eax
mov dword [esp + 0x14], 1
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], eax
mov dword [esp + 0x14], 0xffffffff
mov eax, esi
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x10
ret

Function at 0x4dd060
Capabilities:
Hash data using sha1

Disassembly:
push esi
mov esi, ecx
call fcn.004dd230
lea eax, [esi + 0x60]
mov dword [eax + 0x48], 0x10
mov byte [eax + 0x41], 1
mov dword [eax + 0x4c], eax
mov eax, dword [esi + 0xac]
mov dword [eax], 0x67452301
mov dword [eax + 4], 0xefcdab89
mov dword [eax + 8], 0x98badcfe
mov dword [eax + 0xc], 0x10325476
mov dword [eax + 0x10], 0xc3d2e1f0
mov eax, esi
pop esi
ret
Function at 0x4de2c0
Capabilities:
Encrypt data using twofish

Disassembly:
mov ecx, eax
shl ecx, 8
or ecx, eax
shl ecx, 8
or ecx, eax
shl ecx, 8
or eax, ecx
mov ecx, dword [esp + 4]
sub ecx, 2
je 0x4de37c
sub ecx, 1
je 0x4de334
sub ecx, 1
jne 0x4de407
mov edx, eax
shr edx, 0x18
movzx ecx, byte [edx + 0x67c7b0]
mov edx, eax
shr edx, 0x10
movzx edx, dl
movzx edx, byte [edx + 0x67c6b0]
shl ecx, 8
xor ecx, edx
mov edx, eax
shr edx, 8
movzx edx, dl
movzx edx, byte [edx + 0x67c6b0]
shl ecx, 8
movzx eax, al
xor ecx, edx
movzx edx, byte [eax + 0x67c7b0]
shl ecx, 8
xor ecx, edx
xor ecx, dword [esi + 0x18]
mov eax, ecx
mov ecx, eax
shr ecx, 0x18
movzx edx, byte [ecx + 0x67c6b0]
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
movzx ecx, byte [ecx + 0x67c6b0]
shl edx, 8
xor edx, ecx
mov ecx, eax
shr ecx, 8
movzx ecx, cl
movzx ecx, byte [ecx + 0x67c7b0]
shl edx, 8
movzx eax, al
xor edx, ecx
movzx ecx, byte [eax + 0x67c7b0]
shl edx, 8
xor edx, ecx
xor edx, dword [esi + 0x10]
mov eax, edx
mov edx, eax
shr edx, 0x18
movzx ecx, byte [edx + 0x67c7b0]
mov edx, eax
shr edx, 0x10
movzx edx, dl
movzx edx, byte [edx + 0x67c6b0]
shl ecx, 8
xor ecx, edx
mov edx, eax
shr edx, 8
movzx edx, dl
movzx edx, byte [edx + 0x67c7b0]
movzx eax, al
shl ecx, 8
xor ecx, edx
movzx edx, byte [eax + 0x67c6b0]
shl ecx, 8
xor ecx, edx
xor ecx, dword [esi + 8]
mov edx, ecx
shr edx, 0x10
movzx edx, dl
movzx edx, byte [edx + 0x67c7b0]
mov eax, ecx
shr eax, 0x18
movzx eax, byte [eax + 0x67c7b0]
shl eax, 8
xor eax, edx
mov edx, ecx
shr edx, 8
movzx edx, dl
movzx edx, byte [edx + 0x67c6b0]
shl eax, 8
xor eax, edx
movzx ecx, cl
movzx edx, byte [ecx + 0x67c6b0]
shl eax, 8
xor eax, edx
xor eax, dword [esi]
ret
Function at 0x4df280
Capabilities:
Encode data using xor
Encrypt data using xtea

Disassembly:
mov edx, dword [esp + 4]
mov eax, dword [edx]
push esi
mov esi, dword [edx + 4]
push edi
mov edi, dword [ecx + 0x2c]
xor edx, edx
bswap eax
bswap esi
test edi, edi
je 0x4df2e7
mov ecx, dword [ecx + 0x28]
push ebx
push ebp
lea ecx, [ecx]
mov ebx, esi
shr ebx, 5
mov ebp, esi
shl ebp, 4
xor ebx, ebp
add ebx, esi
mov ebp, edx
and ebp, 3
mov ebp, dword [ecx + ebp*4]
add ebp, edx
xor ebx, ebp
add eax, ebx
mov ebx, eax
shr ebx, 5
mov ebp, eax
shl ebp, 4
xor ebx, ebp
sub edx, 0x61c88647
mov ebp, edx
shr ebp, 0xb
and ebp, 3
mov ebp, dword [ecx + ebp*4]
add ebx, eax
add ebp, edx
xor ebx, ebp
add esi, ebx
cmp edx, edi
jne 0x4df2a0
pop ebp
pop ebx
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x4df2f3
mov edx, dword [ecx]
jmp 0x4df2f5
xor edx, edx
bswap eax
xor eax, edx
mov edx, dword [esp + 0x14]
mov dword [edx], eax
test ecx, ecx
je 0x4df318
lea eax, [ecx + 4]
test eax, eax
je 0x4df318
mov eax, dword [eax]
bswap esi
xor esi, eax
pop edi
mov dword [edx + 4], esi
pop esi
ret 0xc
bswap esi
xor eax, eax
xor esi, eax
pop edi
mov dword [edx + 4], esi
pop esi
ret 0xc
Function at 0x4e1760
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x629c80
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x6e377c]
xor eax, esp
mov dword [esp + 0x30], eax
push esi
mov eax, dword [0x6e377c]
xor eax, esp
push eax
lea eax, [esp + 0x40]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, dword [ecx]
xor edx, edx
push 1
push 0x6e9218
push edx
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
push eax
lea edx, [esp + 0x1c]
mov dword [esp + 0x34], eax
push edx
mov edx, dword [esi + 0x80]
lea eax, [esp + 0x28]
push eax
mov dword [esp + 0x2c], vtable.CryptoPP::ArraySink.1.0
mov dword [esp + 0x30], vtable.CryptoPP::ArraySink.0
call edx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x40]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.005bae23
mov esp, ebp
pop ebp
ret 8

Function at 0x4e1bd0
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x629c50
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x6e377c]
xor eax, esp
mov dword [esp + 0x2c], eax
mov eax, dword [0x6e377c]
xor eax, esp
push eax
lea eax, [esp + 0x38]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x18], eax
mov eax, dword [ebp + 0xc]
xor edx, edx
push 1
mov dword [esp + 0x20], eax
mov dword [esp + 8], eax
push 0x6e9218
lea eax, [esp + 0xc]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x10], edx
mov edx, dword [ecx]
mov edx, dword [edx + 0x7c]
push eax
lea eax, [esp + 0x18]
push eax
mov dword [esp + 0x1c], vtable.CryptoPP::ArraySink.1.0
mov dword [esp + 0x20], vtable.CryptoPP::ArraySink.0
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x38]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.005bae23
mov esp, ebp
pop ebp
ret 8
Function at 0x4e69fd
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
mov esi, eax
mov eax, dword [esi]
xor ecx, ecx
inc ecx
cmp dword [esi + ecx*4], eax
jne 0x4e6a17
inc ecx
cmp ecx, 0x10
jl 0x4e6a0c
cmp ecx, 0x10
jne 0x4e6a8c
movzx edx, byte [esi + 2]
movzx ecx, byte [esi + 1]
movzx eax, al
lea esi, [edx + edx]
add eax, eax
movzx dx, byte [eax + 0x71b530]
movzx ax, byte [eax + 0x71b531]
add ecx, ecx
movzx bx, byte [ecx + 0x71b330]
movzx cx, byte [ecx + 0x71b331]
shl dx, 6
or dx, bx
movzx bx, byte [esi + 0x71b530]
shl ax, 6
or ax, cx
movzx cx, byte [esi + 0x71b531]
shl dx, 5
or dx, bx
shl ax, 5
or ax, cx
mov dword [ebp - 8], 0xaaaaaaaa
movzx edx, dx
movzx ebx, ax
jmp 0x4e6b1d
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.004e6446
mov eax, dword [ebp - 4]
add esp, 0xc
cmp ax, word [ebp - 0xc]
je 0x4e6ac1
push dword [ebp - 0xc]
lea ecx, [ebp - 0x24]
call fcn.004e6333
push esi
lea ecx, [ebp - 0x24]
call fcn.004e6363
pop ecx
pop ecx
mov dword [ebp - 8], eax
jmp 0x4e6ac5
and dword [ebp - 8], 0
and dword [ebp - 0x10], 0
mov edx, dword [ebp - 8]
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push eax
mov ecx, esi
mov dword [ebp - 0x14], edx
call fcn.004e66ec
mov ebx, dword [ebp - 0xc]
pop ecx
pop ecx
test eax, eax
je 0x4e6b1a
mov eax, dword [ebp - 4]
cmp ax, bx
je 0x4e6b16
push ebx
lea ecx, [ebp - 0x24]
call fcn.004e6333
push esi
lea ecx, [ebp - 0x24]
call fcn.004e6363
pop ecx
pop ecx
mov dword [ebp - 8], eax
cmp eax, dword [ebp - 0x14]
je 0x4e6b1a
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 1
jl 0x4e6ac9
jmp 0x4e6b1a
and dword [ebp - 8], 0
mov edx, dword [ebp - 4]
cmp dx, bx
jae 0x4e6b3b
movzx eax, bx
movzx eax, ax
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
movzx ebx, dx
mov edx, dword [ebp - 4]
xor eax, 0x55555555
jmp 0x4e6b3e
mov eax, dword [ebp - 8]
mov ecx, eax
shr ecx, 8
mov byte [edi + 5], cl
mov ecx, eax
mov byte [edi + 2], bl
shr ebx, 8
mov byte [edi], dl
shr edx, 8
shr ecx, 0x10
mov byte [edi + 4], al
shr eax, 0x18
pop esi
mov byte [edi + 3], bl
mov byte [edi + 1], dl
mov byte [edi + 6], cl
mov byte [edi + 7], al
pop ebx
leave
ret
Function at 0x4f55fd
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x410
push ebx
mov ebx, dword [ebp + 8]
xor eax, eax
push esi
cmp dword [ebx + 0x60], eax
jne 0x4f561d
mov ecx, dword [ebx + 0x4080]
add ecx, dword [ebx + 0x7c]
je 0x4f5620
xor eax, eax
inc eax
mov esi, ebx
mov dword [ebx + 0x8534], eax
call fcn.004e8b22
test eax, eax
je 0x4f5639
or eax, 0xffffffff
jmp 0x4f5797
mov esi, dword [ebx + 0x8598]
push edi
mov edi, dword [ebx + 0x74]
call fcn.004e925e
mov eax, dword [ebx + 0x85c0]
xor esi, esi
cmp eax, esi
jbe 0x4f5794
shl eax, 2
push eax
call fcn.005b57b0
pop ecx
mov dword [ebx + 0x87ec], eax
cmp eax, esi
je 0x4f579b
mov ecx, dword [ebx + 0x85c0]
shl ecx, 2
push ecx
push esi
push eax
call fcn.005b79e0
add esp, 0xc
mov dword [ebp + 8], esi
cmp dword [ebx + 0x85c0], esi
jbe 0x4f5794
mov eax, dword [ebx + 0x85e4]
imul eax, dword [ebx + 0x64]
imul eax, dword [ebx + 0x85e0]
cmp eax, 0x4000000
jb 0x4f5754
lea eax, [ebp - 0x410]
push eax
mov edi, 0x104
push edi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
xor esi, esi
cmp eax, esi
je 0x4f579b
cmp eax, edi
jae 0x4f579b
lea eax, [ebp - 0x208]
push eax
push esi
push 0x68f40c
lea eax, [ebp - 0x410]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
test eax, eax
je 0x4f579b
lea edx, [ebp - 0x208]
lea eax, [ebp - 0x207]
cmp word [ebp + esi*2 - 0x208], 0
je 0x4f5727
mov cl, byte [eax - 1]
test cl, cl
je 0x4f5717
mov byte [edx], cl
inc edx
mov cl, byte [eax]
test cl, cl
je 0x4f5720
mov byte [edx], cl
inc edx
inc esi
inc eax
inc eax
cmp esi, edi
jb 0x4f5702
mov byte [ebp + esi - 0x208], 0
mov esi, dword [ebp + 8]
push 0x68f414
lea eax, [ebp - 0x208]
push eax
mov eax, dword [ebx + 0x87ec]
shl esi, 2
add eax, esi
push eax
call fcn.004e866c
add esp, 0xc
jmp 0x4f5767
mov esi, dword [ebp + 8]
mov eax, dword [ebx + 0x87ec]
shl esi, 2
add eax, esi
call fcn.004e888a
test eax, eax
jne 0x4f579b
mov eax, dword [ebx + 0x87ec]
mov ecx, dword [ebx + 0x85bc]
mov edi, dword [eax + esi]
mov esi, dword [ecx + esi]
call fcn.004e925e
inc dword [ebp + 8]
mov eax, dword [ebp + 8]
cmp eax, dword [ebx + 0x85c0]
jb 0x4f5693
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret
or eax, 0xffffffff
jmp 0x4f5796
Function at 0x503d30
Capabilities:
Write file on windows

Disassembly:
push esi
push edi
mov edi, ecx
lea esi, [edi + 0x255]
push 0x685e40
push esi
call fcn.005b55af
add esp, 8
test eax, eax
je 0x503d5a
push eax
call fcn.005b59ef
add esp, 4
pop edi
mov al, 1
pop esi
ret
cmp byte [edi + 0x364], 0
je 0x503d68
pop edi
xor al, al
pop esi
ret
push 0x63ca08
push esi
call fcn.005b55af
mov esi, eax
add esp, 8
test esi, esi
je 0x503d63
push esi
push 1
push 4
push str.EPKD
call fcn.005ba135
push esi
push 1
push 4
push 0x63c9c0
call fcn.005ba135
push esi
push 1
push 4
add edi, 0x150
push edi
call fcn.005ba135
push esi
call fcn.005b59ef
add esp, 0x34
pop edi
mov al, 1
pop esi
ret
Function at 0x504790
Capabilities:
Delete file
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x60dd06
mov eax, dword fs:[0]
push eax
sub esp, 0x164
mov eax, dword [0x6e377c]
xor eax, esp
mov dword [esp + 0x160], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6e377c]
xor eax, esp
push eax
lea eax, [esp + 0x178]
mov dword fs:[0], eax
mov ebx, ecx
lea ecx, [esp + 0x30]
call fcn.0050d020
push 0
push 0
lea eax, [esp + 0x20]
push eax
lea edi, [ebx + 0x255]
push edi
lea ecx, [esp + 0x40]
mov dword [esp + 0x190], 0
call fcn.0050d3f0
test eax, eax
jne 0x50482d
add ebx, 0x155
push ebx
push str.EncryptIndex:_Cannot_open_pack_index_file___s
call fcn.0050e6f0
add esp, 8
lea ecx, [esp + 0x30]
mov dword [esp + 0x180], 0xffffffff
call fcn.0050d370
xor al, al
jmp 0x504989
lea ecx, [esp + 0x30]
call fcn.0050d290
push eax
call fcn.005b3e2c
add esp, 4
lea ecx, [esp + 0x30]
mov esi, eax
call fcn.0050d290
mov ecx, dword [esp + 0x18]
push eax
push ecx
push esi
call fcn.005b74a0
add esp, 0xc
lea ecx, [esp + 0x1c]
call fcn.0050d580
mov ebp, dword [0x6f2960]
push 0x6d9004
lea ecx, [esp + 0x34]
mov byte [esp + 0x184], 1
call fcn.0050d290
push eax
push esi
lea edx, [esp + 0x28]
push edx
mov ecx, ebp
call fcn.0050dc90
test al, al
jne 0x5048c7
add ebx, 0x155
push ebx
push str.EncryptIndex:_Cannot_encrypt___s
call fcn.0050e6f0
add esp, 8
test esi, esi
je 0x5048b1
push esi
call fcn.005b4dc6
add esp, 4
lea ecx, [esp + 0x1c]
mov byte [esp + 0x180], 0
call fcn.0050e050
jmp 0x504812
lea ecx, [esp + 0x30]
call fcn.0050d2d0
mov ebp, dword [sym.imp.KERNEL32.dll_DeleteFileA]
push edi
call ebp
test eax, eax
je 0x5048d6
push 0x63ca08
push edi
call fcn.005b55af
mov ebp, eax
add esp, 8
test ebp, ebp
jne 0x5048ff
add ebx, 0x155
push ebx
push str.EncryptIndex:_Cannot_open_file_for_writing___s
jmp 0x50489c
mov eax, dword [esp + 0x1c]
push ebp
push 1
lea ecx, [esp + 0x24]
mov dword [esp + 0x1c], eax
call fcn.0050d470
mov ecx, dword [esp + 0x1c]
push eax
push ecx
call fcn.005ba135
add esp, 0x10
cmp eax, 1
je 0x50494c
push edi
push str.Encryptindex:_Cannot_write_to_file___s
call fcn.0050e6f0
add esp, 8
test esi, esi
je 0x504941
push esi
call fcn.005b4dc6
add esp, 4
push ebp
call fcn.005b59ef
jmp 0x5048ae
push ebp
call fcn.005b59ef
push esi
mov byte [ebx + 0x154], 1
call fcn.005b4dc6
add esp, 8
lea ecx, [esp + 0x1c]
mov byte [esp + 0x180], 0
call fcn.0050e050
lea ecx, [esp + 0x30]
mov dword [esp + 0x180], 0xffffffff
call fcn.0050d370
mov al, 1
mov ecx, dword [esp + 0x178]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x160]
xor ecx, esp
call fcn.005bae23
add esp, 0x170
ret

Function at 0x504ba0
Capabilities:
Write file on windows

Disassembly:
push esi
mov esi, ecx
call fcn.00504780
test al, al
je 0x504bf1
cmp dword [esi], 0
jne 0x504bcf
cmp dword [esi + 0x20], 0x10
jb 0x504bbc
mov eax, dword [esi + 0xc]
jmp 0x504bbf
lea eax, [esi + 0xc]
push 0x63cd48
push eax
call fcn.005b55af
add esp, 8
mov dword [esi], eax
mov eax, dword [esi]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 8]
push eax
push 1
push ecx
push esi
call fcn.005ba135
push esi
push 0x63cd44
call fcn.005bb6b0
add esp, 0x18
pop esi
ret 8
Function at 0x50a540
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov eax, dword [esp + 4]
cmp dword [eax + 0x18], 0x10
jb 0x50a54f
mov edx, dword [eax + 4]
jmp 0x50a552
lea edx, [eax + 4]
push esi
mov esi, dword [eax + 0x14]
add esi, edx
xor eax, eax
cmp edx, esi
jae 0x50a571
push edi
nop
movzx edi, byte [edx]
imul eax, eax, 0x1000193
inc edx
xor eax, edi
cmp edx, esi
jb 0x50a560
pop edi
xor edx, edx
div dword [ecx + 4]
pop esi
mov eax, edx
ret 4
Function at 0x50b0d0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebx
mov ebx, dword [esp + 0xc]
push esi
mov esi, ecx
mov ecx, dword [ebx + 4]
add ecx, 4
cmp dword [ecx + 0x18], 0x10
push edi
jb 0x50b0ea
mov eax, dword [ecx + 4]
jmp 0x50b0ed
lea eax, [ecx + 4]
mov ecx, dword [ecx + 0x14]
add ecx, eax
xor edi, edi
cmp eax, ecx
jae 0x50b110
jmp 0x50b100
movzx edx, byte [eax]
imul edi, edi, 0x1000193
inc eax
xor edi, edx
cmp eax, ecx
jb 0x50b100
cmp dword [esi], 0
je 0x50b123
mov eax, dword [esp + 0x18]
push eax
mov ecx, esi
call fcn.0050b080
jmp 0x50b153
mov ecx, dword [esp + 0x18]
push ecx
mov ecx, esi
call fcn.00505360
cmp dword [esi + 4], eax
lea ecx, [esi + 4]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
jb 0x50b141
mov eax, ecx
mov edx, dword [eax]
mov dword [ecx], edx
mov ecx, esi
call fcn.0050a580
mov ecx, esi
call fcn.0050a440
mov eax, edi
xor edx, edx
div dword [esi + 4]
mov eax, dword [esi]
pop edi
lea ecx, [eax + edx*4]
mov edx, dword [ebx + 4]
mov dword [ebx + 4], 0
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [esp + 0xc]
mov dword [ecx], edx
inc dword [esi + 0x10]
mov dword [esi + 0x18], ecx
pop esi
mov dword [eax], ecx
mov dword [eax + 4], edx
pop ebx
ret 0xc

Function at 0x50b190
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push 0xffffffffffffffff
push 0x60e608
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6e377c]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov esi, ecx
mov ebx, dword [esp + 0x34]
cmp dword [ebx + 0x18], 0x10
jb 0x50b1c8
mov eax, dword [ebx + 4]
jmp 0x50b1cb
lea eax, [ebx + 4]
mov ecx, dword [ebx + 0x14]
add ecx, eax
xor ebp, ebp
cmp eax, ecx
jae 0x50b1e6
movzx edx, byte [eax]
imul ebp, ebp, 0x1000193
inc eax
xor ebp, edx
cmp eax, ecx
jb 0x50b1d6
xor edx, edx
mov eax, ebp
div dword [esi + 4]
mov eax, dword [esi]
push ebx
mov ecx, esi
lea edi, [eax + edx*4]
push edi
call fcn.0050a630
mov ecx, eax
xor eax, eax
cmp ecx, eax
je 0x50b210
mov eax, dword [esp + 0x30]
mov dword [eax + 4], ecx
mov byte [eax + 8], 0
jmp 0x50b283
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], eax
mov byte [esp + 0x1c], 0
mov byte [esp + 0x1d], 0
lea ecx, [esp + 0x14]
mov dword [esp + 0x28], eax
call fcn.0050a7d0
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x18]
push ecx
lea edx, [ebx + 4]
push edx
push 0
call fcn.0050a840
mov eax, dword [esi + 0x10]
add esp, 0xc
inc eax
push eax
mov ecx, esi
mov byte [esp + 0x21], 1
call fcn.0050b080
test al, al
je 0x50b267
mov eax, ebp
xor edx, edx
div dword [esi + 4]
mov ecx, dword [esi]
lea edi, [ecx + edx*4]
mov edx, dword [edi]
mov dword [ebx], edx
mov dword [edi], ebx
inc dword [esi + 0x10]
cmp edi, dword [esi + 0x18]
jae 0x50b278
mov dword [esi + 0x18], edi
mov eax, dword [esp + 0x30]
mov dword [eax + 4], ebx
mov byte [eax + 8], 1
mov dword [eax], edi
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 0xc