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

Disassembly:
mov eax, 0x2c
call fcn.0059eec0
mov eax, dword [0x647f80]
xor eax, esp
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x38]
push ebx
push ebp
mov ebp, dword [esp + 0x3c]
push esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1c], eax
mov bl, byte [esi]
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x2c]
mov byte [esp + 0xf], bl
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], eax
push edi
test bl, 0x40
jne 0x4fb575
push eax
lea eax, [esi + 0x10]
push eax
push esi
call ecx
add esp, 0xc
movzx eax, bl
mov edx, 0xf
and eax, 7
xor ecx, ecx
sub edx, eax
mov dword [esp + 0x24], eax
mov byte [esi], al
cmp edx, 0xf
jae 0x4fb5a3
nop
movzx eax, byte [esi + edx]
or ecx, eax
mov byte [esi + edx], 0
inc edx
shl ecx, 8
cmp edx, 0xf
jb 0x4fb590
movzx eax, byte [esi + 0xf]
mov edi, dword [esp + 0x4c]
or ecx, eax
mov byte [esi + 0xf], 1
cmp ecx, edi
je 0x4fb5cb
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.0059e4d3
add esp, 0x2c
ret
mov ebx, edi
shr ebx, 4
test ebx, ebx
je 0x4fb606
lea eax, [esi + 0x10]
push eax
push esi
push dword [esp + 0x1c]
push ebx
push dword [esp + 0x28]
push ebp
call dword [esp + 0x38]
shl ebx, 4
add esp, 0x18
add dword [esp + 0x18], ebx
add ebp, ebx
sub edi, ebx
je 0x4fb65e
shr ebx, 4
push ebx
push esi
call fcn.004fbe80
add esp, 8
jmp 0x4fb60a
test edi, edi
je 0x4fb65e
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x28]
push ebx
push eax
push esi
call dword [esp + 0x28]
add esp, 0xc
test edi, edi
je 0x4fb64d
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x28]
mov eax, ecx
lea edx, [esi + 0x10]
sub ebp, eax
sub ebx, eax
mov al, byte [ecx + ebp]
lea ecx, [ecx + 1]
xor al, byte [ecx - 1]
lea edx, [edx + 1]
mov byte [ebx + ecx - 1], al
xor byte [edx - 1], al
sub edi, 1
jne 0x4fb631
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
lea eax, [esi + 0x10]
push ebx
push eax
push eax
call ebp
add esp, 0xc
jmp 0x4fb666
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov ecx, 0xf
sub ecx, dword [esp + 0x24]
cmp ecx, 0x10
jae 0x4fb68a
mov eax, 0x10
sub eax, ecx
push eax
lea eax, [ecx + esi]
push 0
push eax
call fcn.005a0390
add esp, 0xc
push ebx
lea eax, [esp + 0x2c]
push eax
push esi
call ebp
mov eax, dword [esp + 0x34]
add esp, 0xc
xor dword [esi + 0x10], eax
mov eax, dword [esp + 0x2c]
xor dword [esi + 0x14], eax
mov eax, dword [esp + 0x30]
xor dword [esi + 0x18], eax
mov eax, dword [esp + 0x34]
xor dword [esi + 0x1c], eax
mov al, byte [esp + 0x13]
mov ecx, dword [esp + 0x38]
pop edi
mov byte [esi], al
xor eax, eax
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0059e4d3
add esp, 0x2c
ret
Function at 0x4fd4d0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10
call fcn.0059eec0
mov edx, dword [esp + 0x1c]
xor ecx, ecx
push ebp
mov ebp, dword [esp + 0x1c]
push esi
mov esi, dword [esp + 0x1c]
test edx, edx
je 0x4fd624
push ebx
push edi
mov edi, dword [esp + 0x30]
cmp edx, 8
jb 0x4fd607
lea eax, [ebp - 1]
lea ebx, [edi - 1]
add eax, edx
add ebx, edx
cmp edi, eax
ja 0x4fd517
cmp ebx, ebp
jae 0x4fd607
lea eax, [edx - 1]
add eax, esi
cmp edi, eax
ja 0x4fd528
cmp ebx, esi
jae 0x4fd607
cmp edx, 0x40
jb 0x4fd5c8
mov ebx, edx
mov eax, edx
and ebx, 0x3f
mov edx, edi
sub edx, ebp
mov dword [esp + 0x1c], ebx
sub eax, ebx
mov dword [esp + 0x10], edx
mov ebx, esi
mov dword [esp + 0x18], eax
sub ebx, ebp
lea eax, [ebp + 0x10]
mov ebp, dword [esp + 0x10]
mov edx, esi
sub edx, edi
mov dword [esp + 0x14], edx
lea edx, [edi + 0x20]
movups xmm0, xmmword [eax - 0x10]
mov edi, dword [esp + 0x14]
lea eax, [eax + 0x40]
movups xmm1, xmmword [ecx + esi]
lea edx, [edx + 0x40]
xorps xmm1, xmm0
movups xmmword [edx - 0x60], xmm1
movups xmm0, xmmword [eax - 0x40]
movups xmm1, xmmword [ebx + eax - 0x40]
xorps xmm1, xmm0
movups xmmword [eax + ebp - 0x40], xmm1
movups xmm1, xmmword [edi + edx - 0x40]
mov edi, dword [esp + 0x30]
movups xmm0, xmmword [eax - 0x30]
xorps xmm1, xmm0
movups xmmword [edx - 0x40], xmm1
movups xmm1, xmmword [esi + ecx + 0x30]
add ecx, 0x40
movups xmm0, xmmword [eax - 0x20]
xorps xmm1, xmm0
movups xmmword [edx - 0x30], xmm1
cmp ecx, dword [esp + 0x18]
jb 0x4fd560
cmp dword [esp + 0x1c], 8
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x28]
jb 0x4fd603
jmp 0x4fd5cc
mov ebx, esi
sub ebx, ebp
mov eax, edx
and eax, 0xfffffff8
sub edi, ebp
mov dword [esp + 0x1c], eax
lea eax, [ecx + ebp]
mov dword [esp + 0x2c], edi
nop
movq xmm1, qword [ebx + eax]
lea eax, [eax + 8]
movq xmm0, qword [eax - 8]
add ecx, 8
xorps xmm1, xmm0
movq qword [edi + eax - 8], xmm1
cmp ecx, dword [esp + 0x1c]
jb 0x4fd5e0
mov edi, dword [esp + 0x30]
cmp ecx, edx
jae 0x4fd622
sub esi, ebp
lea eax, [ecx + ebp]
sub edi, ebp
sub edx, ecx
mov cl, byte [eax + esi]
lea eax, [eax + 1]
xor cl, byte [eax - 1]
mov byte [edi + eax - 1], cl
sub edx, 1
jne 0x4fd610
pop edi
pop ebx
pop esi
pop ebp
add esp, 0x10
ret
Function at 0x4fd730
Capabilities:
Encode data using xor

Disassembly:
mov eax, 8
call fcn.0059eec0
mov ecx, dword [esp + 0xc]
push ebp
push esi
push edi
mov edi, dword [esp + 0x1c]
lea ebp, [ecx + 0x40]
mov esi, dword [ecx + 0x14]
cmp edi, esi
ja 0x4fd75e
shl edi, 4
add edi, dword [ebp]
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 8
ret
mov edx, dword [ecx + 0x18]
cmp edi, edx
jb 0x4fd798
mov eax, edi
sub eax, edx
add eax, 4
and eax, 0xfffffffc
add eax, edx
push 0x71
mov dword [ecx + 0x18], eax
push str.cryptomodesocb128.c
shl eax, 4
push eax
push dword [ebp]
call fcn.00496520
add esp, 0x10
test eax, eax
jne 0x4fd795
pop edi
pop esi
pop ebp
add esp, 8
ret
mov dword [ebp], eax
mov eax, esi
shl eax, 4
mov dword [esp + 0x10], eax
mov eax, edi
mov edi, dword [esp + 0x10]
sub eax, esi
mov dword [esp + 0xc], eax
push ebx
nop
mov eax, dword [ebp]
add eax, edi
mov bl, byte [eax]
lea esi, [eax + 0x10]
push esi
shr bl, 7
push 1
neg bl
push eax
and bl, 0x87
call fcn.004fd440
xor byte [esi + 0xf], bl
add esp, 0xc
add edi, 0x10
sub dword [esp + 0x10], 1
jne 0x4fd7b0
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
pop ebx
mov dword [eax + 0x14], edi
shl edi, 4
add edi, dword [eax + 0x40]
mov eax, edi
pop edi
pop esi
pop ebp
add esp, 8
ret
Function at 0x4fda00
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x30
call fcn.0059eec0
mov eax, dword [0x647f80]
xor eax, esp
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x38]
push ebx
push ebp
mov ebp, dword [esp + 0x44]
push esi
push edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x30]
test eax, eax
je 0x4fdb11
movups xmm0, xmmword [edi + 0x10]
mov ebx, dword [esp + 0x50]
lea esi, [edi + 0x10]
dec eax
mov dword [esp + 0x10], ebx
movups xmmword [esp + 0x2c], xmm0
and byte [esp + 0x38], 0x7f
lea ecx, [esp + 0x2c]
push 1
mov dword [edi + 0x30], eax
push ecx
psrldq xmm0, 8
movd eax, xmm0
push 0
push 0
and al, 0x7f
mov byte [esp + 0x44], al
mov eax, dword [edi + 0x20]
push 0
push eax
mov dword [esp + 0x30], eax
call fcn.0049ddc0
add esp, 0x18
test eax, eax
je 0x4fdb11
push dword [esp + 0x10]
lea eax, [esp + 0x14]
push dword [esp + 0x18]
push eax
push ebp
push dword [esp + 0x28]
call fcn.0049eff0
add esp, 0x14
test eax, eax
je 0x4fdb11
push ebx
push ebp
lea eax, [esp + 0x24]
push eax
push edi
call fcn.004fdee0
add esp, 0x10
test eax, eax
je 0x4fdb11
lea eax, [esi + 0xf]
xor edx, edx
lea ecx, [esp + 0x1c]
cmp ecx, eax
ja 0x4fdae3
lea eax, [esp + 0x2b]
cmp eax, esi
jb 0x4fdae3
mov eax, ecx
sub esi, eax
lea ecx, [esp + 0x1c]
add ecx, edx
inc edx
mov al, byte [esi + ecx]
xor byte [ecx], al
cmp edx, 0x10
jl 0x4fdad0
jmp 0x4fdaf3
movups xmm1, xmmword [esp + 0x1c]
movups xmm0, xmmword [esi]
xorps xmm1, xmm0
movups xmmword [esp + 0x1c], xmm1
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
or ecx, dword [esp + 0x24]
or eax, dword [esp + 0x28]
or ecx, eax
je 0x4fdb26
push ebx
push ebp
call fcn.00401320
add esp, 8
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.0059e4d3
add esp, 0x30
ret
mov ecx, dword [esp + 0x3c]
mov eax, ebx
mov dword [edi + 0x2c], 0
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0059e4d3
add esp, 0x30
ret
Function at 0x501cd0
Capabilities:
Encode data using xor

Disassembly:
cmp dword [esp + 0x18], 0
je 0x501ce4
mov dword [esp + 0x18], fcn.00500510
jmp fcn.004f9030
mov dword [esp + 0x18], fcn.004ff7b0
jmp fcn.004f8d30
Function at 0x5041a0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x20
call fcn.0059eec0
push ebx
push ebp
mov ebp, dword [esp + 0x3c]
mov ebx, 1
push esi
mov esi, dword [esp + 0x38]
mov ecx, ebp
push edi
mov edi, dword [esp + 0x38]
push edi
push dword [esp + 0x38]
shl ebx, cl
call fcn.004b5aa0
add esp, 8
test eax, eax
jne 0x5041dc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
cmp ebp, 3
jg 0x504255
xor ebp, ebp
test edi, edi
jle 0x5043b4
nop dword [eax + eax]
xor edi, edi
xor eax, eax
test ebx, ebx
jle 0x504226
nop dword [eax + eax]
mov ecx, eax
xor ecx, dword [esp + 0x40]
lea edx, [ecx - 1]
not ecx
shr edx, 0x1f
shr ecx, 0x1f
and edx, ecx
mov ecx, dword [esi + eax*4]
neg edx
inc eax
and edx, 1
neg edx
and ecx, edx
or edi, ecx
cmp eax, ebx
jl 0x504200
mov eax, dword [esp + 0x34]
mov eax, dword [eax]
mov dword [eax + ebp*4], edi
lea eax, [ebx*4]
mov edi, dword [esp + 0x38]
inc ebp
add esi, eax
cmp ebp, edi
jl 0x5041f0
mov eax, dword [esp + 0x34]
mov dword [eax + 4], edi
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
mov edx, dword [esp + 0x40]
lea ecx, [ebp - 2]
sar edx, cl
mov ebp, 1
shl ebp, cl
mov ecx, dword [esp + 0x40]
lea eax, [ebp - 1]
and ecx, eax
mov eax, edx
mov dword [esp + 0x18], ecx
not eax
shr eax, 0x1f
lea ecx, [edx - 1]
shr ecx, 0x1f
and ecx, eax
mov eax, edx
neg ecx
xor eax, 1
and ecx, 1
neg ecx
mov dword [esp + 0x28], ecx
lea ecx, [eax - 1]
not eax
shr eax, 0x1f
shr ecx, 0x1f
and ecx, eax
mov eax, edx
neg ecx
xor eax, 2
and ecx, 1
xor edx, 3
neg ecx
mov dword [esp + 0x24], ecx
lea ecx, [eax - 1]
not eax
shr eax, 0x1f
shr ecx, 0x1f
and ecx, eax
lea eax, [edx - 1]
shr eax, 0x1f
not edx
shr edx, 0x1f
neg ecx
and eax, edx
and ecx, 1
neg eax
neg ecx
and eax, 1
mov dword [esp + 0x20], ecx
neg eax
xor edx, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x14], edx
test edi, edi
jle 0x5043b4
lea eax, [ebx*4]
mov dword [esp + 0x2c], eax
nop word [eax + eax]
xor eax, eax
xor edi, edi
mov dword [esp + 0x3c], eax
test ebp, ebp
jle 0x504396
lea eax, [ebp*2]
add eax, ebp
lea ecx, [esi + ebp*8]
lea ebx, [esi + ebp*4]
mov dword [esp + 0x10], ecx
lea eax, [esi + eax*4]
mov dword [esp + 0x44], eax
nop word [eax + eax]
mov eax, edi
lea ebx, [ebx + 4]
xor eax, dword [esp + 0x18]
lea edx, [eax - 1]
not eax
shr eax, 0x1f
shr edx, 0x1f
and edx, eax
mov eax, dword [esp + 0x44]
add dword [esp + 0x44], 4
neg edx
and edx, 1
neg edx
mov eax, dword [eax]
mov ecx, dword [ecx]
and ecx, dword [esp + 0x20]
and eax, dword [esp + 0x1c]
or ecx, eax
mov eax, dword [ebx - 4]
and eax, dword [esp + 0x24]
or eax, ecx
mov ecx, dword [esi + edi*4]
and ecx, dword [esp + 0x28]
inc edi
or ecx, eax
mov eax, dword [esp + 0x3c]
and ecx, edx
or eax, ecx
mov ecx, dword [esp + 0x10]
add ecx, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x10], ecx
cmp edi, ebp
jl 0x504330
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
add esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x38]
mov ecx, dword [ecx]
mov dword [ecx + edx*4], eax
inc edx
mov dword [esp + 0x14], edx
cmp edx, edi
jl 0x504300
mov eax, dword [esp + 0x34]
mov dword [eax + 4], edi
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret
Function at 0x504a90
Capabilities:
Encode data using base64

Disassembly:
mov eax, dword [esp + 4]
push ebx
push ebp
xor ebp, ebp
push esi
test eax, eax
je 0x504aa8
test byte [eax + 0x5c], 2
mov ebx, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz._
jne 0x504aad
mov ebx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov esi, dword [esp + 0x1c]
test esi, esi
jle 0x504b7d
mov edx, dword [esp + 0x14]
push edi
mov edi, dword [esp + 0x1c]
inc edi
movzx eax, byte [edi - 1]
cmp esi, 3
jb 0x504b11
movzx ecx, byte [edi]
shl eax, 8
or eax, ecx
movzx ecx, byte [edi + 1]
shl eax, 8
or eax, ecx
mov ecx, eax
shr ecx, 0x12
movzx ecx, byte [ecx + ebx]
mov byte [edx], cl
mov ecx, eax
shr ecx, 0xc
and ecx, 0x3f
movzx ecx, byte [ecx + ebx]
mov byte [edx + 1], cl
mov ecx, eax
shr ecx, 6
and ecx, 0x3f
and eax, 0x3f
movzx ecx, byte [ecx + ebx]
mov byte [edx + 2], cl
mov cl, byte [eax + ebx]
lea eax, [edx + 3]
jmp 0x504b5d
shl eax, 0x10
cmp esi, 2
jne 0x504b21
movzx ecx, byte [edi]
shl ecx, 8
or eax, ecx
mov ecx, eax
shr ecx, 0x12
movzx ecx, byte [ecx + ebx]
mov byte [edx], cl
mov ecx, eax
shr ecx, 0xc
inc edx
and ecx, 0x3f
mov dword [esp + 0x18], edx
movzx ecx, byte [ecx + ebx]
mov byte [edx], cl
cmp esi, 1
jne 0x504b48
mov al, 0x3d
jmp 0x504b51
shr eax, 6
and eax, 0x3f
mov al, byte [eax + ebx]
mov byte [edx + 1], al
mov cl, 0x3d
mov eax, dword [esp + 0x18]
add eax, 2
sub esi, 3
mov byte [eax], cl
add ebp, 4
lea edx, [eax + 1]
add edi, 3
test esi, esi
jg 0x504ac3
pop edi
pop esi
mov eax, ebp
mov byte [edx], 0
pop ebp
pop ebx
ret
mov eax, dword [esp + 0x14]
pop esi
mov byte [eax], 0
mov eax, ebp
pop ebp
pop ebx
ret
Function at 0x50b260
Capabilities:
Encrypt data using curve25519

Disassembly:
push ebp
mov ebp, dword [esp + 0x1c]
push esi
mov esi, dword [esp + 0x10]
push edi
mov edi, dword [esp + 0x1c]
cmp ebp, 2
je 0x50b300
mov eax, dword [esp + 0x18]
test eax, eax
je 0x50b2c3
push eax
push 0
lea eax, [esp + 0x2c]
push eax
push 0
call fcn.004e9540
add esp, 0x10
cmp dword [esp + 0x24], 0xffffffff
je 0x50b2c3
call fcn.00499720
push str.ecx_key_op
push 0x33
push str.cryptoececx_meth.c
call fcn.004997d0
push 0
push 0x66
push 0x10
call fcn.00499810
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebp
ret
test edi, edi
je 0x50b2f2
cmp esi, 0x40a
je 0x50b2e7
cmp esi, 0x43f
je 0x50b2e7
xor eax, eax
cmp esi, 0x40b
setne al
add eax, 0x38
jmp 0x50b2ec
mov eax, 0x20
cmp dword [esp + 0x20], eax
je 0x50b300
call fcn.00499720
push str.ecx_key_op
push 0x39
jmp 0x50b2a5
cmp esi, 0x40a
je 0x50b324
cmp esi, 0x43f
je 0x50b324
xor eax, eax
cmp esi, 0x40b
setne al
lea eax, [eax*2 + 1]
jmp 0x50b334
xor ecx, ecx
mov eax, 2
cmp esi, 0x40a
cmove eax, ecx
push ebx
push 1
push eax
push dword [esp + 0x34]
call fcn.0053fc70
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x50b374
call fcn.00499720
push str.ecx_key_op
push 0x40
push str.cryptoececx_meth.c
call fcn.004997d0
push ebx
push 0x41
push 0x10
call fcn.00499810
add esp, 0x18
xor eax, eax
pop ebx
pop edi
pop esi
pop ebp
ret
test ebp, ebp
jne 0x50b3a1
push dword [esp + 0x24]
lea eax, [ebx + 8]
push edi
push eax
call fcn.0059fdf0
add esp, 0xc
push ebx
push esi
push dword [esp + 0x1c]
call fcn.004a0ed0
add esp, 0xc
mov eax, 1
pop ebx
pop edi
pop esi
pop ebp
ret
push ebx
call fcn.0053fc00
mov edi, eax
add esp, 4
test edi, edi
jne 0x50b3ce
call fcn.00499720
push str.ecx_key_op
push 0x4a
push str.cryptoececx_meth.c
call fcn.004997d0
push edi
push 0x41
jmp 0x50b493
cmp ebp, 2
jne 0x50b432
cmp esi, 0x40a
je 0x50b3f3
cmp esi, 0x43f
je 0x50b3f3
xor eax, eax
cmp esi, 0x40b
setne al
add eax, 0x38
jmp 0x50b3f8
mov eax, 0x20
push eax
push edi
call fcn.004aa970
add esp, 8
test eax, eax
jle 0x50b49d
cmp esi, 0x40a
jne 0x50b421
mov al, byte [edi + 0x1f]
and byte [edi], 0xf8
and al, 0x3f
or al, 0x40
mov byte [edi + 0x1f], al
jmp 0x50b465
cmp esi, 0x40b
jne 0x50b465
and byte [edi], 0xfc
or byte [edi + 0x37], 0x80
jmp 0x50b465
cmp esi, 0x40a
je 0x50b452
cmp esi, 0x43f
je 0x50b452
xor eax, eax
cmp esi, 0x40b
setne al
add eax, 0x38
jmp 0x50b457
mov eax, 0x20
push eax
push dword [esp + 0x24]
push edi
call fcn.0059fdf0
add esp, 0xc
push ebx
call fcn.0054e7d0
add esp, 4
test eax, eax
jne 0x50b389
call fcn.00499720
push str.ecx_key_op
push 0x5c
push str.cryptoececx_meth.c
call fcn.004997d0
push 0
push 0xa6
push 0x10
call fcn.00499810
add esp, 0x18
push ebx
call fcn.0053fc20
add esp, 4
xor eax, eax
pop ebx
pop edi
pop esi
pop ebp
ret
Function at 0x5286e0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, dword [esp + 8]
push ebp
push esi
push ebx
call fcn.004953b0
mov ebp, eax
xor edx, edx
test ebp, ebp
push 0x13b
push str.cryptopropertyproperty_parse.c
lea ecx, [ebp - 1]
cmovg edx, ecx
lea ecx, [edx + edx*2]
lea ecx, [ecx*8 + 0x20]
push ecx
call fcn.004964c0
mov esi, eax
add esp, 0x10
test esi, esi
je 0x528771
push ebx
call fcn.00495530
and dword [esi + 4], 0xfffffffe
add esp, 4
xor ebx, ebx
test ebp, ebp
jle 0x52876d
push edi
lea edi, [esi + 0x14]
push ebx
push dword [esp + 0x18]
call fcn.00495570
inc ebx
lea edi, [edi + 0x18]
add esp, 8
movups xmm0, xmmword [eax]
movups xmmword [edi - 0x24], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [edi - 0x14], xmm0
mov eax, dword [edi - 0x18]
mov ecx, dword [esi + 4]
or eax, ecx
and eax, 1
and ecx, 0xfffffffe
xor eax, ecx
mov dword [esi + 4], eax
cmp ebx, ebp
jl 0x528733
pop edi
mov dword [esi], ebp
mov eax, esi
pop esi
pop ebp
pop ebx
ret

Function at 0x5387e0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 4
call fcn.0059eec0
push ebx
mov ebx, dword [esp + 0x10]
xor ecx, ecx
push esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x1c], 0x10
push edi
mov edi, dword [esp + 0x1c]
test esi, esi
jle 0x5388de
cmp esi, 8
jb 0x5388c4
lea eax, [esi - 1]
lea edx, [esi - 1]
add eax, edi
add edx, ebx
cmp ebx, eax
ja 0x53882a
cmp edx, edi
jae 0x5388c4
mov edx, edi
push ebp
cmp esi, 0x40
jb 0x538899
mov eax, esi
lea ebp, [edi + 0x30]
and eax, 0xffffffc0
sub edx, ebx
mov dword [esp + 0x10], eax
lea eax, [ebx + 0x10]
movups xmm0, xmmword [eax - 0x10]
add ecx, 0x40
lea ebp, [ebp + 0x40]
lea eax, [eax + 0x40]
movups xmm1, xmmword [ebp - 0x70]
xorps xmm1, xmm0
movups xmmword [eax - 0x50], xmm1
movups xmm0, xmmword [eax - 0x40]
movups xmm1, xmmword [edx + eax - 0x40]
xorps xmm1, xmm0
movups xmmword [eax - 0x40], xmm1
movups xmm0, xmmword [eax - 0x30]
movups xmm1, xmmword [ebp - 0x50]
xorps xmm1, xmm0
movups xmmword [eax - 0x30], xmm1
movups xmm1, xmmword [eax - 0x20]
movups xmm0, xmmword [ebp - 0x40]
xorps xmm1, xmm0
movups xmmword [eax - 0x20], xmm1
cmp ecx, dword [esp + 0x10]
jl 0x538843
mov eax, esi
and al, 0x3f
cmp al, 8
jb 0x5388bf
jmp 0x53889b
sub edx, ebx
mov ebp, esi
lea eax, [ecx + ebx]
and ebp, 0xfffffff8
movq xmm1, qword [edx + eax]
lea eax, [eax + 8]
movq xmm0, qword [eax - 8]
add ecx, 8
xorps xmm1, xmm0
movq qword [eax - 8], xmm1
cmp ecx, ebp
jl 0x5388a3
pop ebp
cmp ecx, esi
jge 0x5388de
mov edx, esi
lea eax, [ecx + ebx]
sub edi, ebx
sub edx, ecx
nop dword [eax]
mov cl, byte [edi + eax]
lea eax, [eax + 1]
xor byte [eax - 1], cl
sub edx, 1
jne 0x5388d0
push esi
push ebx
lea eax, [esp + 0x28]
push eax
mov eax, dword [esp + 0x20]
push ebx
push dword [eax + 8]
call fcn.0049e6e0
add esp, 0x14
test eax, eax
je 0x538907
xor eax, eax
cmp dword [esp + 0x20], esi
pop edi
pop esi
sete al
pop ebx
pop ecx
ret
pop edi
pop esi
xor eax, eax
pop ebx
pop ecx
ret
Function at 0x538a70
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, dword [esp + 0xc]
test ebp, ebp
je 0x538ae5
push esi
mov esi, dword [esp + 0x14]
test esi, esi
je 0x538ae4
push ebx
mov ebx, dword [esp + 0x10]
push edi
mov edi, dword [ebx + 0x14]
cmp esi, edi
cmovb edi, esi
test edi, edi
je 0x538aaf
mov edx, ebp
lea ecx, [ebx + 0x18]
nop dword [eax]
mov al, byte [edx]
lea edx, [edx + 1]
xor byte [ecx], al
lea ecx, [ecx + 1]
sub edi, 1
jne 0x538aa0
mov eax, dword [ebx + 0x14]
cmp esi, eax
jbe 0x538ae2
sub esi, eax
cmp esi, 0x10
jbe 0x538ac4
mov esi, 0x10
jmp 0x538ac8
test esi, esi
je 0x538ae2
xor edx, edx
nop word [eax + eax]
mov eax, dword [ebx + 0x14]
lea ecx, [edx + ebp]
mov al, byte [ecx + eax]
xor byte [ebx + edx + 0x38], al
inc edx
cmp edx, esi
jb 0x538ad0
pop edi
pop ebx
pop esi
pop ebp
ret
Function at 0x53c1d0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x14
call fcn.0059eec0
mov ecx, dword [esp + 0x24]
push esi
mov esi, dword [esp + 0x24]
shr ecx, 3
mov dword [esp + 8], ecx
cmp esi, dword [esp + 0x28]
jb 0x53c3e8
push ebx
push ebp
push edi
nop word [eax + eax]
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x53c3c2
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
movzx eax, byte [ecx + 7]
cdq
mov ebp, eax
mov ebx, edx
movzx eax, byte [ecx + 6]
shld ebx, ebp, 8
cdq
or ebx, edx
shl ebp, 8
or ebp, eax
movzx eax, byte [ecx + 5]
shld ebx, ebp, 8
cdq
or ebx, edx
shl ebp, 8
or ebp, eax
movzx eax, byte [ecx + 4]
shld ebx, ebp, 8
cdq
or ebx, edx
shl ebp, 8
or ebp, eax
movzx eax, byte [ecx + 3]
cdq
mov ecx, ebp
shld ebx, ecx, 8
mov edi, edx
mov dword [esp + 0x20], ebp
shl ecx, 8
or edi, ebx
or eax, ecx
and ebp, 0x55555555
mov ecx, dword [esp + 0x2c]
mov ebx, eax
mov dword [esp + 0x18], eax
shld edi, ebx, 8
movzx eax, byte [ecx + 2]
cdq
shl ebx, 8
or edi, edx
or ebx, eax
movzx eax, byte [ecx + 1]
cdq
shld edi, ebx, 8
shl ebx, 8
or edi, edx
or ebx, eax
movzx eax, byte [ecx]
cdq
add ecx, 8
shld edi, ebx, 8
mov dword [esp + 0x2c], ecx
shl ebx, 8
or ebx, eax
mov eax, ebx
and eax, 0x55555555
mov ecx, eax
shr ecx, 1
or ecx, eax
and ecx, 0x33333333
mov eax, ecx
shr eax, 2
or eax, ecx
and eax, 0xf0f0f0f
mov ecx, eax
shr ecx, 4
or ecx, eax
and ecx, 0xff00ff
mov dword [esp + 0x18], ecx
mov ecx, ebp
shr ecx, 1
or ecx, ebp
and ecx, 0x33333333
mov eax, ecx
shr eax, 2
or eax, ecx
and eax, 0xf0f0f0f
mov ebp, eax
shr ebp, 4
or ebp, eax
and ebx, 0xaaaaaaaa
and ebp, 0xff00ff
lea eax, [ebx + ebx]
or eax, ebx
and eax, 0xcccccccc
lea ecx, [eax*4]
or ecx, eax
and ecx, 0xf0f0f0f0
mov edi, ecx
shl edi, 4
or edi, ecx
mov ecx, dword [esp + 0x20]
and ecx, 0xaaaaaaaa
and edi, 0xff00ff00
mov ebx, edi
and edi, 0xffff00
shr ebx, 8
or ebx, edi
lea eax, [ecx + ecx]
shr ebx, 8
or eax, ecx
and eax, 0xcccccccc
lea ecx, [eax*4]
or ecx, eax
and ecx, 0xf0f0f0f0
mov edx, ecx
shl edx, 4
or edx, ecx
mov ecx, ebp
and edx, 0xff00ff00
shl ebp, 8
mov eax, edx
and ecx, 0xffffff00
shl eax, 8
or ecx, ebp
or eax, edx
shl ecx, 8
and eax, 0xffff0000
xor edx, edx
or ebx, eax
mov eax, dword [esp + 0x18]
shr eax, 8
or eax, dword [esp + 0x18]
movzx eax, ax
or ecx, eax
mov eax, dword [esp + 0x10]
or edx, ecx
mov ecx, dword [esp + 0x28]
xor dword [ecx + eax*8], edx
xor dword [ecx + eax*8 + 4], ebx
inc eax
mov dword [esp + 0x10], eax
cmp eax, esi
jb 0x53c214
mov esi, dword [esp + 0x30]
jmp 0x53c3c6
mov ecx, dword [esp + 0x28]
push ecx
call fcn.0053b910
sub esi, dword [esp + 0x38]
add esp, 4
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x30], esi
cmp esi, dword [esp + 0x34]
jae 0x53c200
pop edi
pop ebp
pop ebx
mov eax, esi
pop esi
add esp, 0x14
ret
Function at 0x53fd50
Capabilities:
Encrypt data using curve25519

Disassembly:
mov eax, 0xe4
call fcn.0059eec0
mov eax, dword [0x647f80]
xor eax, esp
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xe8]
push ebx
mov ebx, dword [esp + 0xf0]
push esi
mov esi, dword [esp + 0xf8]
push edi
push 0
push str.SHA512
push eax
call fcn.004a0830
mov edi, eax
add esp, 0xc
test edi, edi
je 0x53fdcc
push 0
push edi
push 0
lea eax, [esp + 0xb8]
push eax
push 0x20
push esi
call fcn.0049f750
push edi
mov esi, eax
call fcn.004a0860
add esp, 0x1c
test esi, esi
jne 0x53fde6
lea eax, [esp + 0xac]
push 0x40
push eax
call fcn.00401320
add esp, 8
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.0059e4d3
add esp, 0xe4
ret
mov al, byte [esp + 0xcb]
and byte [esp + 0xac], 0xf8
and al, 0x3f
or al, 0x40
mov byte [esp + 0xcb], al
lea eax, [esp + 0xac]
push eax
lea eax, [esp + 0x10]
push eax
call fcn.00544780
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.00544700
lea eax, [esp + 0xbc]
push 0x40
push eax
call fcn.00401320
mov ecx, dword [esp + 0x104]
add esp, 0x18
mov eax, 1
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0059e4d3
add esp, 0xe4
ret