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

Disassembly:
push ebp
mov ebp, esp
mov eax, 4
call fcn.005e38a0
cmp dword [ecx], 0x72
mov eax, dword [ebp + 0xc]
jne 0x44f8a6
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 8]
push ebx
mov ebx, eax
push edi
push ecx
mov ecx, dword [ebp + 0x10]
and eax, 1
shr ebx, 1
add eax, ebx
push eax
push edx
mov edx, dword [ebp + 0x18]
push 0x691b80
mov dword [ebp - 4], eax
call fcn.0044f480
add esp, 0x14
test eax, eax
jne 0x44f79c
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [fcn.00413cb0]
push esi
test eax, eax
je 0x44f7bf
cmp eax, fcn.00413cb0
je 0x44f7bf
push 0x104
push str.....cryptokdf_tls1_prf.c
push edi
call eax
add esp, 0xc
jmp 0x44f7df
test edi, edi
je 0x44f7e5
cmp dword [0x6cc8e4], 0
je 0x44f7d6
mov dword [0x6cc8e4], 0
push edi
call fcn.005e325a
add esp, 4
mov esi, eax
test esi, esi
jne 0x44f805
push 0x105
push str.....cryptokdf_tls1_prf.c
push 0x41
push 0x6f
push 0x34
call fcn.004058f0
add esp, 0x14
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 4]
add ebx, dword [ebp + 8]
push edi
push eax
push ecx
mov ecx, dword [ebp + 0x10]
push ebx
push 0x68468c
mov edx, esi
call fcn.0044f480
add esp, 0x14
test eax, eax
jne 0x44f843
push 0x10a
push str.....cryptokdf_tls1_prf.c
push edi
call fcn.00413f20
add esp, 0xc
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x44f867
mov eax, dword [ebp + 0x18]
mov ecx, esi
sub ecx, eax
mov edx, edi
mov bl, byte [ecx + eax]
xor byte [eax], bl
inc eax
dec edx
jne 0x44f850
test edi, edi
je 0x44f867
push edi
push esi
call fcn.00587b20
add esp, 8
mov eax, dword [fcn.00413ef0]
test eax, eax
je 0x44f892
cmp eax, fcn.00413ef0
je 0x44f892
push 0x10f
push str.....cryptokdf_tls1_prf.c
push esi
call eax
add esp, 0xc
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
push esi
call fcn.005dcea1
add esp, 4
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x14]
push edi
push edx
mov edx, dword [ebp + 0x18]
push eax
mov eax, dword [ebp + 8]
push eax
push ecx
mov ecx, dword [ebp + 0x10]
call fcn.0044f480
add esp, 0x14
neg eax
sbb eax, eax
neg eax
mov esp, ebp
pop ebp
ret
Function at 0x47f5c0
Capabilities:
Hash data using sha256

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x78
call fcn.005e38a0
mov eax, dword [0x6c6e10]
xor eax, esp
mov dword [esp + 0x74], eax
push esi
mov esi, edx
push edi
mov edi, ecx
test esi, esi
jne 0x47f5ea
mov esi, 0x6d4b60
push 0x70
lea eax, [esp + 0xc]
push 0
push eax
call fcn.005dd9b0
mov ecx, dword [ebp + 8]
push edi
lea edx, [esp + 0x18]
mov dword [esp + 0x18], 0x6a09e667
mov dword [esp + 0x1c], 0xbb67ae85
mov dword [esp + 0x20], 0x3c6ef372
mov dword [esp + 0x24], 0xa54ff53a
mov dword [esp + 0x28], 0x510e527f
mov dword [esp + 0x2c], 0x9b05688c
mov dword [esp + 0x30], 0x1f83d9ab
mov dword [esp + 0x34], 0x5be0cd19
mov dword [esp + 0x84], 0x20
call fcn.0047f6a0
lea edi, [esp + 0x18]
mov ecx, esi
call fcn.0047f7b0
mov ecx, edi
push 0x70
push ecx
call fcn.00587b20
mov ecx, dword [esp + 0x94]
add esp, 0x18
pop edi
mov eax, esi
pop esi
xor ecx, esp
call fcn.005dcf8a
mov esp, ebp
pop ebp
ret

Function at 0x487d40
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push ebx
push esi
mov esi, edi
cmp edi, 4
jb 0x487d66
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x487d6e
sub esi, 4
add ecx, 4
add edx, 4
cmp esi, 4
jae 0x487d52
test esi, esi
je case.0x487e30.2
movzx eax, byte [edx]
movzx ebx, byte [ecx]
sub eax, ebx
jne 0x487db5
cmp esi, 1
jbe case.0x487e30.2
movzx eax, byte [edx + 1]
movzx ebx, byte [ecx + 1]
sub eax, ebx
jne 0x487db5
cmp esi, 2
jbe case.0x487e30.2
movzx eax, byte [edx + 2]
movzx ebx, byte [ecx + 2]
sub eax, ebx
jne 0x487db5
cmp esi, 3
jbe case.0x487e30.2
movzx eax, byte [edx + 3]
movzx ecx, byte [ecx + 3]
sub eax, ecx
sar eax, 0x1f
or eax, 1
jle case.0x487e30.2
mov ebx, dword [ebp + 0xc]
xor edx, edx
test edi, edi
jle 0x487dde
mov esi, dword [ebp + 8]
mov eax, ebx
sub esi, ebx
mov cl, byte [esi + eax]
cmp cl, byte [eax]
jne 0x487dde
inc edx
inc eax
cmp edx, edi
jl 0x487dd1
lea eax, [edi - 1]
test eax, eax
js 0x487dff
mov esi, dword [ebp + 8]
lea ecx, [eax + ebx]
sub esi, ebx
lea ecx, [ecx]
cmp byte [ecx + esi], 0
jne 0x487dff
cmp byte [ecx], 0xff
jne 0x487dff
dec ecx
dec eax
jns 0x487df0
cmp edx, eax
jl case.0x487e30.2
jle 0x487e10
pop esi
lea eax, [edx*8]
pop ebx
pop ebp
ret
mov eax, dword [ebp + 8]
mov cl, byte [edx + eax]
mov bl, byte [edx + ebx]
mov al, bl
xor al, cl
mov byte [ebp + 0xb], cl
movzx ecx, al
dec ecx
cmp ecx, 0x7e
ja case.0x487e30.2
movzx ecx, byte [ecx + 0x487ea0]
jmp dword [ecx*4 + 0x487e80]
mov esi, 7
jmp 0x487e66
mov esi, 6
jmp 0x487e66
mov esi, 5
jmp 0x487e66
mov esi, 4
jmp 0x487e66
mov esi, 3
jmp 0x487e66
mov esi, 2
jmp 0x487e66
mov esi, 1
test byte [ebp + 0xb], al
jne case.0x487e30.2
and bl, al
cmp bl, al
jne case.0x487e30.2
lea eax, [esi + edx*8]
pop esi
pop ebx
pop ebp
ret
pop esi
or eax, 0xffffffff
pop ebx
pop ebp
ret
Function at 0x4a4a90
Capabilities:
Encrypt data using curve25519

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x294
call fcn.005e38a0
mov eax, dword [0x6c6e10]
xor eax, esp
mov dword [esp + 0x290], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov edi, ecx
lea ecx, [esp + 0x60]
push ecx
mov dword [esp + 0x10], eax
call fcn.0047ea30
add esp, 4
push edx
mov ecx, 0x20
lea esi, [esp + 0x64]
call fcn.0047f230
add esp, 4
mov ecx, esi
lea edx, [esp + 0x1d8]
call fcn.0047ead0
mov dl, byte [esp + 0x1f7]
and byte [esp + 0x1d8], 0xf8
and dl, 0x3f
mov eax, esi
or dl, 0x40
push eax
mov byte [esp + 0x1fb], dl
call fcn.0047ea30
lea ecx, [esp + 0x1fc]
add esp, 4
push ecx
mov ecx, 0x20
call fcn.0047f230
mov ecx, dword [ebp + 0xc]
add esp, 4
push ebx
call fcn.0047f230
add esp, 4
mov ecx, esi
lea edx, [esp + 0x258]
call fcn.0047ead0
lea esi, [esp + 0x258]
call fcn.0049f080
lea edx, [esp + 0x138]
push edx
mov ecx, esi
call fcn.0049d900
lea eax, [esp + 0x14]
add esp, 4
push eax
lea ecx, [esp + 0x18c]
call fcn.0049ae90
add esp, 4
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x21c]
push edx
lea ecx, [esp + 0x140]
call fcn.00499100
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x170]
call fcn.00499100
push edi
lea ecx, [esp + 0x4c]
call fcn.00498d40
lea edx, [esp + 0x24]
add esp, 0x14
push edx
lea ecx, [esp + 0x21c]
call fcn.00498d40
mov al, byte [esp + 0x14]
lea ecx, [esp + 0x64]
add esp, 4
shl al, 7
xor byte [edi + 0x1f], al
push ecx
call fcn.0047ea30
add esp, 4
push edi
mov ecx, 0x20
lea esi, [esp + 0x64]
call fcn.0047f230
mov edx, dword [esp + 0x10]
add esp, 4
push edx
mov ecx, 0x20
call fcn.0047f230
mov ecx, dword [ebp + 0xc]
add esp, 4
push ebx
call fcn.0047f230
add esp, 4
mov ecx, esi
lea edx, [esp + 0x218]
call fcn.0047ead0
lea esi, [esp + 0x218]
call fcn.0049f080
mov eax, esi
push eax
add edi, 0x20
push edi
lea edx, [esp + 0x260]
lea ecx, [esp + 0x1e0]
call fcn.004a0e30
lea ecx, [esp + 0x68]
push 0xd8
push ecx
call fcn.00587b20
lea edx, [esp + 0x268]
push 0x40
push edx
call fcn.00587b20
lea eax, [esp + 0x1f0]
push 0x40
push eax
call fcn.00587b20
mov ecx, dword [esp + 0x2bc]
add esp, 0x20
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 1
call fcn.005dcf8a
mov esp, ebp
pop ebp
ret
Function at 0x4a4fd0
Capabilities:
Encrypt data using curve25519

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x23c
call fcn.005e38a0
mov eax, dword [0x6c6e10]
xor eax, esp
mov dword [esp + 0x238], eax
lea eax, [esp + 0x11c]
push esi
push eax
call fcn.0047ea30
add esp, 4
push edx
mov ecx, 0x20
lea esi, [esp + 0x124]
call fcn.0047f230
add esp, 4
mov ecx, esi
lea edx, [esp + 0x1f8]
call fcn.0047ead0
mov ecx, esi
push 0xd8
push ecx
call fcn.00587b20
mov dl, byte [esp + 0x21f]
and byte [esp + 0x200], 0xf8
and dl, 0x3f
lea eax, [esp + 0x88]
or dl, 0x40
push eax
lea ecx, [esp + 0x204]
mov byte [esp + 0x223], dl
call fcn.0049d900
lea ecx, [esp + 0x14]
add esp, 0xc
push ecx
lea ecx, [esp + 0xd4]
call fcn.0049ae90
add esp, 4
lea edx, [esp + 8]
push edx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x88]
call fcn.00499100
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x64]
push edx
lea ecx, [esp + 0xb8]
call fcn.00499100
push edi
lea ecx, [esp + 0x6c]
call fcn.00498d40
lea eax, [esp + 0x1c]
add esp, 0x14
push eax
lea ecx, [esp + 0x34]
call fcn.00498d40
mov cl, byte [esp + 0xc]
add esp, 4
lea edx, [esp + 0x1f8]
shl cl, 7
xor byte [edi + 0x1f], cl
push 0x40
push edx
call fcn.00587b20
mov ecx, dword [esp + 0x244]
add esp, 8
pop esi
xor ecx, esp
call fcn.005dcf8a
mov esp, ebp
pop ebp
ret
Function at 0x4a5120
Capabilities:
Encrypt data using curve25519

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x144
call fcn.005e38a0
mov eax, dword [0x6c6e10]
xor eax, esp
mov dword [esp + 0x140], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, ecx
push edi
mov ecx, 8
lea edi, [esp + 0x12c]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x148]
and byte [esp + 0x12c], 0xf8
shr ecx, 0x18
and cl, 0x3f
or cl, 0x40
lea edx, [esp + 0x38]
mov byte [esp + 0x14b], cl
push edx
lea ecx, [esp + 0x130]
mov dword [esp + 0x10], eax
call fcn.0049d900
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x70]
add ecx, eax
sub eax, dword [esp + 0x64]
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0x90]
add edx, ecx
mov dword [esp + 0xe4], edx
mov edx, dword [esp + 0x94]
add esi, edx
mov dword [esp + 0xe8], esi
mov esi, dword [esp + 0x98]
add edi, esi
mov dword [esp + 0xec], edi
mov edi, dword [esp + 0x9c]
add edi, dword [esp + 0x74]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x9c]
sub eax, dword [esp + 0x74]
mov dword [esp + 0xf0], edi
mov edi, dword [esp + 0xa0]
add edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x88]
sub ecx, dword [esp + 0x68]
sub edx, dword [esp + 0x6c]
sub esi, dword [esp + 0x70]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0xa0]
sub eax, dword [esp + 0x78]
mov dword [esp + 0xf4], edi
mov edi, dword [esp + 0xa4]
add edi, dword [esp + 0x7c]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0xa4]
sub eax, dword [esp + 0x7c]
mov dword [esp + 0xf8], edi
mov edi, dword [esp + 0xa8]
add edi, dword [esp + 0x80]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xa8]
sub eax, dword [esp + 0x80]
mov dword [esp + 0xfc], edi
mov edi, dword [esp + 0xac]
add edi, dword [esp + 0x84]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0xac]
sub eax, dword [esp + 0x84]
mov dword [esp + 0x100], edi
mov edi, dword [esp + 0xb0]
add ebx, edi
add esp, 4
sub edi, dword [esp + 0x84]
mov dword [esp + 0x124], eax
mov dword [esp + 0x100], ebx
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10c], edx
mov dword [esp + 0x110], esi
mov dword [esp + 0x128], edi
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x108]
call fcn.0049ae90
add esp, 4
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0xe0]
push edx
mov ecx, edx
call fcn.00499100
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0xe8]
call fcn.00498d40
add esp, 0xc
lea ecx, [esp + 0x12c]
push 0x20
push ecx
call fcn.00587b20
mov ecx, dword [esp + 0x154]
add esp, 8
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005dcf8a
mov esp, ebp
pop ebp
ret
Function at 0x4afce0
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x140
call fcn.005e38a0
mov eax, dword [0x6c6e10]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
mov ebx, dword [ebp + 0x10]
xor eax, eax
push esi
mov esi, ecx
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x134], esi
mov dword [ebp - 0x140], edx
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x138], eax
cmp ebx, eax
je 0x4afd49
cmp ebx, dword [esi]
je 0x4afd42
cmp edi, eax
je 0x4afd2f
mov ecx, dword [ebp + 0xc]
cmp ecx, eax
jge 0x4afd45
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.005dcf8a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov dword [esi], ebx
jmp 0x4afd52
mov ebx, dword [esi]
cmp ebx, eax
je 0x4afd2f
mov ecx, dword [ebp + 0xc]
test byte [ebx + 0xc], 2
jne 0x4afd2f
cmp edi, eax
je 0x4afe90
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x138], 1
cmp eax, 0x90
jg 0x4afd2f
cmp eax, ecx
jge 0x4afef2
mov eax, dword [esi + 4]
push edx
push ebx
push eax
call fcn.00417790
add esp, 0xc
test eax, eax
je 0x4afd2f
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [esi + 4]
push edi
call fcn.004179e0
add esp, 8
test eax, eax
je 0x4afd2f
mov edx, esi
mov esi, dword [edx + 4]
lea edi, [ebp - 0x13c]
lea ecx, [ebp - 0x9c]
call fcn.00417a80
test eax, eax
je 0x4afd2f
mov eax, dword [ebp - 0x13c]
mov esi, dword [ebp - 0x134]
cmp eax, 0x90
je 0x4afded
mov ecx, 0x90
sub ecx, eax
push ecx
lea edx, [ebp + eax - 0x9c]
push 0
push edx
call fcn.005dd9b0
add esp, 0xc
xor eax, eax
nop
mov cl, byte [ebp + eax - 0x9c]
xor cl, 0x36
mov byte [ebp + eax - 0x12c], cl
inc eax
cmp eax, 0x90
jl 0x4afdf0
mov edi, dword [ebp - 0x140]
mov edx, dword [esi + 8]
push edi
push ebx
push edx
call fcn.00417790
add esp, 0xc
test eax, eax
je 0x4afeb6
mov eax, dword [ebx + 0x24]
mov ecx, dword [esi + 8]
test eax, eax
je 0x4afe44
push eax
lea eax, [ebp - 0x12c]
push eax
push ecx
mov ecx, dword [ecx + 0x14]
call ecx
add esp, 0xc
test eax, eax
je 0x4afeb6
xor eax, eax
mov dl, byte [ebp + eax - 0x9c]
xor dl, 0x5c
mov byte [ebp + eax - 0x12c], dl
inc eax
cmp eax, 0x90
jl 0x4afe46
mov eax, dword [esi + 0xc]
push edi
push ebx
push eax
call fcn.00417790
add esp, 0xc
test eax, eax
je 0x4afeb6
mov ebx, dword [ebx + 0x24]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x4afe90
mov edx, dword [eax + 0x14]
push ebx
lea ecx, [ebp - 0x12c]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
je 0x4afeb6
mov eax, dword [esi + 8]
mov esi, dword [esi + 4]
push eax
call fcn.00417b90
add esp, 4
test eax, eax
je 0x4afead
mov dword [ebp - 0x130], 1
cmp dword [ebp - 0x138], 0
je 0x4afedb
lea ecx, [ebp - 0x9c]
push 0x90
push ecx
call fcn.00587b20
lea edx, [ebp - 0x12c]
push 0x90
push edx
call fcn.00587b20
add esp, 0x10
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x130]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005dcf8a
mov esp, ebp
pop ebp
ret
cmp ecx, 0x90
ja 0x4afd2f
push ecx
lea eax, [ebp - 0x9c]
push edi
push eax
call fcn.005e12d0
mov eax, dword [ebp + 0xc]
add esp, 0xc
jmp 0x4afdcc
Function at 0x4bbb90
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
push esi
mov esi, edx
push edi
mov byte [esi], 0
cmp eax, 0x80
jle 0x4bbbac
mov eax, 0x80
test ecx, ecx
jle 0x4bbbb8
cmp ecx, 0x400
jle 0x4bbbc0
mov ecx, 0x400
mov dword [ebp + 0x10], ecx
push ebx
test eax, eax
jle 0x4bbbdc
mov edi, dword [ebp + 0xc]
sub edi, esi
mov ebx, eax
lea esp, [esp]
mov cl, byte [edi + edx]
mov byte [edx], cl
inc edx
dec ebx
jne 0x4bbbd0
mov ecx, dword [ebp + 0x10]
movzx edx, byte [esi + eax - 1]
cmp eax, 0x80
jge 0x4bbc0e
mov edi, esi
sub edi, eax
lea esp, [esp]
movzx ebx, byte [edi + eax]
add ebx, edx
and ebx, 0xff
movzx edx, byte [ebx + 0x66b0d0]
mov byte [eax + esi], dl
inc eax
cmp eax, 0x80
jl 0x4bbbf0
lea edx, [ecx + 7]
neg ecx
sar edx, 3
mov eax, 0x80
and ecx, 7
sub eax, edx
lea edi, [eax + esi]
mov ebx, 0xff
sar ebx, cl
movzx ecx, byte [edi]
and ebx, ecx
movzx ecx, byte [ebx + 0x66b0d0]
mov byte [edi], cl
test eax, eax
je 0x4bbc54
lea esp, [esp]
movzx ebx, byte [edi + edx - 1]
dec edi
xor ebx, ecx
dec eax
movzx ecx, byte [ebx + 0x66b0d0]
mov byte [edi], cl
jne 0x4bbc40
lea ecx, [esi + 0xfc]
lea eax, [esi + 0x7e]
mov edx, 0x40
pop ebx
movzx esi, byte [eax + 1]
movzx edi, byte [eax]
shl esi, 8
or esi, edi
and esi, 0xffff
mov dword [ecx], esi
sub ecx, 4
sub eax, 2
dec edx
jne 0x4bbc63
pop edi
pop esi
pop ebp
ret
Function at 0x4bdf00
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, dword [ebp + 8]
push edi
call fcn.004bd9d0
add esp, 4
test eax, eax
js 0x4be147
mov edx, dword [edi + 0xf0]
add edx, edx
push ebx
push esi
add edx, edx
xor esi, esi
test edx, edx
jle 0x4bdf70
lea ecx, [edi + edx*4 + 8]
lea eax, [edi + 8]
mov ebx, dword [ecx - 8]
mov edi, dword [eax - 8]
mov dword [eax - 8], ebx
mov ebx, dword [ecx - 4]
mov dword [ecx - 8], edi
mov edi, dword [eax - 4]
mov dword [eax - 4], ebx
mov ebx, dword [ecx]
mov dword [ecx - 4], edi
mov edi, dword [eax]
mov dword [eax], ebx
mov ebx, dword [ecx + 4]
mov dword [ecx], edi
mov edi, dword [eax + 4]
mov dword [eax + 4], ebx
mov dword [ecx + 4], edi
add esi, 4
sub edx, 4
add eax, 0x10
sub ecx, 0x10
cmp esi, edx
jl 0x4bdf31
mov edi, dword [ebp + 8]
mov edx, 1
cmp dword [edi + 0xf0], edx
jle 0x4be143
lea eax, [edi + 2]
jmp 0x4bdf90
mov ecx, dword [eax + 0xe]
movzx ebx, byte [eax + 0xf]
mov ebx, dword [ebx*4 + 0x669380]
add eax, 0x10
mov esi, ecx
shr esi, 0x18
mov esi, dword [esi*4 + 0x669380]
and esi, 0xff
mov esi, dword [esi*4 + 0x669f80]
and ebx, 0xff
xor esi, dword [ebx*4 + 0x66a780]
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x669380]
and ecx, 0xff
xor esi, dword [ecx*4 + 0x66ab80]
movzx ecx, byte [eax]
mov ecx, dword [ecx*4 + 0x669380]
movzx ebx, byte [eax + 3]
and ecx, 0xff
xor esi, dword [ecx*4 + 0x66a380]
mov ecx, dword [eax + 2]
mov dword [eax - 2], esi
mov ebx, dword [ebx*4 + 0x669380]
mov esi, ecx
shr esi, 0x18
mov esi, dword [esi*4 + 0x669380]
and esi, 0xff
mov esi, dword [esi*4 + 0x669f80]
and ebx, 0xff
xor esi, dword [ebx*4 + 0x66a780]
movzx ebx, byte [eax + 4]
mov ebx, dword [ebx*4 + 0x669380]
and ebx, 0xff
xor esi, dword [ebx*4 + 0x66a380]
movzx ebx, byte [eax + 7]
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x669380]
and ecx, 0xff
xor esi, dword [ecx*4 + 0x66ab80]
mov ecx, dword [eax + 6]
mov dword [eax + 2], esi
mov ebx, dword [ebx*4 + 0x669380]
mov esi, ecx
shr esi, 0x18
mov esi, dword [esi*4 + 0x669380]
and esi, 0xff
mov esi, dword [esi*4 + 0x669f80]
and ebx, 0xff
xor esi, dword [ebx*4 + 0x66a780]
movzx ebx, byte [eax + 8]
mov ebx, dword [ebx*4 + 0x669380]
and ebx, 0xff
xor esi, dword [ebx*4 + 0x66a380]
movzx ebx, byte [eax + 0xb]
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x669380]
and ecx, 0xff
xor esi, dword [ecx*4 + 0x66ab80]
mov ecx, dword [eax + 0xa]
mov dword [eax + 6], esi
mov ebx, dword [ebx*4 + 0x669380]
mov esi, ecx
shr esi, 0x18
mov esi, dword [esi*4 + 0x669380]
and esi, 0xff
mov esi, dword [esi*4 + 0x669f80]
and ebx, 0xff
xor esi, dword [ebx*4 + 0x66a780]
movzx ebx, byte [eax + 0xc]
mov ebx, dword [ebx*4 + 0x669380]
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x669380]
and ebx, 0xff
xor esi, dword [ebx*4 + 0x66a380]
and ecx, 0xff
xor esi, dword [ecx*4 + 0x66ab80]
inc edx
mov dword [eax + 0xa], esi
cmp edx, dword [edi + 0xf0]
jl 0x4bdf90
pop esi
xor eax, eax
pop ebx
pop edi
pop ebp
ret
Function at 0x4bf0f0
Capabilities:
Encrypt data using blowfish

Disassembly:
push ebp
mov ebp, esp
mov eax, 8
call fcn.005e38a0
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push 0x1048
push 0x667f38
push ebx
mov edi, ecx
mov esi, edx
call fcn.005e12d0
add esp, 0xc
cmp esi, 0x48
jle 0x4bf124
mov esi, 0x48
lea ecx, [esi + edi]
mov eax, edi
lea esi, [ebx + 8]
mov dword [ebp - 4], 6
movzx edx, byte [eax]
inc eax
cmp eax, ecx
jb 0x4bf13d
mov eax, edi
movzx ebx, byte [eax]
shl edx, 8
inc eax
or edx, ebx
cmp eax, ecx
jb 0x4bf14c
mov eax, edi
movzx ebx, byte [eax]
shl edx, 8
inc eax
or edx, ebx
cmp eax, ecx
jb 0x4bf15b
mov eax, edi
movzx ebx, byte [eax]
shl edx, 8
inc eax
or edx, ebx
cmp eax, ecx
jb 0x4bf16a
mov eax, edi
xor dword [esi - 8], edx
movzx edx, byte [eax]
inc eax
cmp eax, ecx
jb 0x4bf177
mov eax, edi
movzx ebx, byte [eax]
shl edx, 8
inc eax
or edx, ebx
cmp eax, ecx
jb 0x4bf186
mov eax, edi
movzx ebx, byte [eax]
shl edx, 8
inc eax
or edx, ebx
cmp eax, ecx
jb 0x4bf195
mov eax, edi
movzx ebx, byte [eax]
shl edx, 8
inc eax
or edx, ebx
cmp eax, ecx
jb 0x4bf1a4
mov eax, edi
xor dword [esi - 4], edx
movzx edx, byte [eax]
inc eax
cmp eax, ecx
jb 0x4bf1b1
mov eax, edi
movzx ebx, byte [eax]
shl edx, 8
inc eax
or edx, ebx
cmp eax, ecx
jb 0x4bf1c0
mov eax, edi
movzx ebx, byte [eax]
shl edx, 8
inc eax
or edx, ebx
cmp eax, ecx
jb 0x4bf1cf
mov eax, edi
movzx ebx, byte [eax]
shl edx, 8
inc eax
or edx, ebx
cmp eax, ecx
jb 0x4bf1de
mov eax, edi
xor dword [esi], edx
add esi, 0xc
dec dword [ebp - 4]
jne 0x4bf133
mov ebx, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 8], edi
mov dword [ebp - 4], edi
xor esi, esi
lea esp, [esp]
lea eax, [ebp - 8]
push ebx
push eax
call fcn.0059d7c0
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov dword [ebx + esi*4], ecx
mov dword [ebx + esi*4 + 4], edx
add esi, 2
add esp, 8
cmp esi, 0x12
jl 0x4bf200
xor esi, esi
lea eax, [ebp - 8]
push ebx
push eax
call fcn.0059d7c0
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
mov dword [ebx + esi*4 + 0x48], ecx
mov dword [ebx + esi*4 + 0x4c], edx
add esi, 2
add esp, 8
cmp esi, 0x400
jl 0x4bf224
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4bf430
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x30
call fcn.005e38a0
mov eax, dword [0x6c6e10]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x30], eax
inc eax
push ebx
movzx ebx, byte [eax + 4]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x10], ecx
push esi
mov esi, dword [ecx]
movzx ecx, byte [eax - 1]
push edi
mov edi, edx
movzx edx, byte [eax]
shl edx, 0x10
shl ecx, 0x18
or ecx, edx
movzx edx, byte [eax + 1]
shl edx, 8
or ecx, edx
movzx edx, byte [eax + 2]
or ecx, edx
movzx edx, byte [eax + 3]
mov dword [ebp - 0x2c], eax
shl ebx, 0x10
shl edx, 0x18
or edx, ebx
movzx ebx, byte [eax + 5]
movzx eax, byte [eax + 6]
shl ebx, 8
or ebx, eax
mov eax, ecx
shr eax, 0x18
mov byte [ebp - 0xc], al
mov eax, ecx
shr eax, 0x10
mov byte [ebp - 0xb], al
or edx, ebx
mov eax, ecx
shr eax, 8
mov byte [ebp - 0xa], al
mov eax, edx
shr eax, 0x18
mov byte [ebp - 8], al
mov eax, edx
shr eax, 0x10
mov byte [ebp - 7], al
mov eax, edx
shr eax, 8
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], edx
mov byte [ebp - 9], cl
mov byte [ebp - 6], al
mov byte [ebp - 5], dl
test edi, edi
je 0x4bf5d6
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp + 8]
sub ebx, edi
lea ebx, [ebx]
dec dword [ebp - 0x14]
test esi, esi
jne 0x4bf556
mov ecx, dword [ebp - 0x24]
push ecx
lea edx, [ebp - 0x20]
push edx
call fcn.0059d7c0
mov ecx, dword [ebp - 0x20]
mov eax, ecx
shr eax, 0x18
mov byte [ebp - 0xc], al
mov edx, ecx
shr edx, 0x10
mov eax, ecx
shr eax, 8
mov byte [ebp - 0xa], al
mov byte [ebp - 0xb], dl
mov edx, dword [ebp - 0x1c]
mov eax, edx
shr eax, 0x18
mov byte [ebp - 8], al
mov eax, edx
shr eax, 0x10
mov byte [ebp - 7], al
mov eax, edx
shr eax, 8
add esp, 8
inc dword [ebp - 0x18]
mov byte [ebp - 9], cl
mov byte [ebp - 6], al
mov byte [ebp - 5], dl
mov al, byte [ebp + esi - 0xc]
xor al, byte [edi]
inc esi
mov byte [ebx + edi], al
inc edi
and esi, 7
cmp dword [ebp - 0x14], 0
jne 0x4bf500
cmp dword [ebp - 0x18], 0
je 0x4bf5c0
mov edi, dword [ebp - 0x30]
mov eax, ecx
mov ebx, ecx
shr eax, 0x18
mov byte [edi], al
mov eax, dword [ebp - 0x2c]
shr ebx, 0x10
mov byte [eax], bl
mov ebx, ecx
shr ebx, 8
mov byte [eax + 1], bl
mov byte [eax + 2], cl
mov ecx, edx
shr ecx, 0x18
mov byte [eax + 3], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax + 4], cl
mov ecx, edx
shr ecx, 8
mov byte [eax + 5], cl
mov byte [eax + 6], dl
mov edx, dword [ebp - 0x10]
pop edi
mov dword [edx], esi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005dcf8a
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x10]
pop edi
mov dword [eax], esi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005dcf8a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x10]
mov dword [ecx], esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005dcf8a
mov esp, ebp
pop ebp
ret