joyce8/EMBER2024-capa huggingface dataset:
Function at 0x48bca0
Capabilities:
Encrypt data using curve25519

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x23c
call fcn.00596bf0
mov eax, dword [0x616930]
xor eax, esp
mov dword [esp + 0x238], eax
lea eax, [esp + 0x11c]
push esi
push eax
call fcn.0046f230
add esp, 4
push edx
mov ecx, 0x20
lea esi, [esp + 0x124]
call fcn.0046fa20
add esp, 4
mov ecx, esi
lea edx, [esp + 0x1f8]
call fcn.0046f2d0
mov ecx, esi
push 0xd8
push ecx
call fcn.00527a20
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.004845f0
lea ecx, [esp + 0x14]
add esp, 0xc
push ecx
lea ecx, [esp + 0xd4]
call fcn.00481ea0
add esp, 4
lea edx, [esp + 8]
push edx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x88]
call fcn.00480110
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x64]
push edx
lea ecx, [esp + 0xb8]
call fcn.00480110
push edi
lea ecx, [esp + 0x6c]
call fcn.0047fea0
lea eax, [esp + 0x1c]
add esp, 0x14
push eax
lea ecx, [esp + 0x34]
call fcn.0047fea0
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.00527a20
mov ecx, dword [esp + 0x244]
add esp, 8
pop esi
xor ecx, esp
call fcn.0057af8a
mov esp, ebp
pop ebp
ret
Function at 0x48bdc0
Capabilities:
Encrypt data using curve25519

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x144
call fcn.00596bf0
mov eax, dword [0x616930]
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.004845f0
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.00481ea0
add esp, 4
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0xe0]
push edx
mov ecx, edx
call fcn.00480110
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0xe8]
call fcn.0047fea0
add esp, 0xc
lea ecx, [esp + 0x12c]
push 0x20
push ecx
call fcn.00527a20
mov ecx, dword [esp + 0x154]
add esp, 8
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0057af8a
mov esp, ebp
pop ebp
ret
Function at 0x48c1e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 4
call fcn.00596bf0
push ebx
mov ebx, dword [ebp + 8]
lea ecx, [ebx + 0xc]
push esi
lea eax, [edx + 4]
sub ebx, edx
mov dword [ebp - 4], 4
mov esi, dword [eax - 4]
mov edx, dword [ecx - 0xc]
xor edx, esi
and edx, edi
xor esi, edx
mov dword [eax - 4], esi
xor dword [ecx - 0xc], edx
mov esi, dword [eax]
mov edx, dword [ebx + eax]
xor edx, esi
and edx, edi
xor esi, edx
mov dword [eax], esi
xor dword [ebx + eax], edx
mov esi, dword [eax + 4]
mov edx, dword [ecx - 4]
xor edx, esi
and edx, edi
xor esi, edx
mov dword [eax + 4], esi
xor dword [ecx - 4], edx
mov esi, dword [eax + 8]
mov edx, dword [ecx]
xor edx, esi
and edx, edi
xor esi, edx
mov dword [eax + 8], esi
xor dword [ecx], edx
add eax, 0x10
add ecx, 0x10
dec dword [ebp - 4]
jne 0x48c201
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4953f0
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x140
call fcn.00596bf0
mov eax, dword [0x616930]
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 0x495459
cmp ebx, dword [esi]
je 0x495452
cmp edi, eax
je 0x49543f
mov ecx, dword [ebp + 0xc]
cmp ecx, eax
jge 0x495455
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.0057af8a
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov dword [esi], ebx
jmp 0x495462
mov ebx, dword [esi]
cmp ebx, eax
je 0x49543f
mov ecx, dword [ebp + 0xc]
test byte [ebx + 0xc], 2
jne 0x49543f
cmp edi, eax
je 0x4955a0
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0x138], 1
cmp eax, 0x90
jg 0x49543f
cmp eax, ecx
jge 0x495602
mov eax, dword [esi + 4]
push edx
push ebx
push eax
call fcn.0041ba00
add esp, 0xc
test eax, eax
je 0x49543f
mov ecx, dword [ebp + 0xc]
push ecx
mov ecx, dword [esi + 4]
push edi
call fcn.0041bc50
add esp, 8
test eax, eax
je 0x49543f
mov edx, esi
mov esi, dword [edx + 4]
lea edi, [ebp - 0x13c]
lea ecx, [ebp - 0x9c]
call fcn.0041bcf0
test eax, eax
je 0x49543f
mov eax, dword [ebp - 0x13c]
mov esi, dword [ebp - 0x134]
cmp eax, 0x90
je 0x4954fd
mov ecx, 0x90
sub ecx, eax
push ecx
lea edx, [ebp + eax - 0x9c]
push 0
push edx
call fcn.0057e420
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 0x495500
mov edi, dword [ebp - 0x140]
mov edx, dword [esi + 8]
push edi
push ebx
push edx
call fcn.0041ba00
add esp, 0xc
test eax, eax
je 0x4955c6
mov eax, dword [ebx + 0x24]
mov ecx, dword [esi + 8]
test eax, eax
je 0x495554
push eax
lea eax, [ebp - 0x12c]
push eax
push ecx
mov ecx, dword [ecx + 0x14]
call ecx
add esp, 0xc
test eax, eax
je 0x4955c6
xor eax, eax
mov dl, byte [ebp + eax - 0x9c]
xor dl, 0x5c
mov byte [ebp + eax - 0x12c], dl
inc eax
cmp eax, 0x90
jl 0x495556
mov eax, dword [esi + 0xc]
push edi
push ebx
push eax
call fcn.0041ba00
add esp, 0xc
test eax, eax
je 0x4955c6
mov ebx, dword [ebx + 0x24]
mov eax, dword [esi + 0xc]
test ebx, ebx
je 0x4955a0
mov edx, dword [eax + 0x14]
push ebx
lea ecx, [ebp - 0x12c]
push ecx
push eax
call edx
add esp, 0xc
test eax, eax
je 0x4955c6
mov eax, dword [esi + 8]
mov esi, dword [esi + 4]
push eax
call fcn.0041bde0
add esp, 4
test eax, eax
je 0x4955bd
mov dword [ebp - 0x130], 1
cmp dword [ebp - 0x138], 0
je 0x4955eb
lea ecx, [ebp - 0x9c]
push 0x90
push ecx
call fcn.00527a20
lea edx, [ebp - 0x12c]
push 0x90
push edx
call fcn.00527a20
add esp, 0x10
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 0x130]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0057af8a
mov esp, ebp
pop ebp
ret
cmp ecx, 0x90
ja 0x49543f
push ecx
lea eax, [ebp - 0x9c]
push edi
push eax
call fcn.0057e070
mov eax, dword [ebp + 0xc]
add esp, 0xc
jmp 0x4954dc
Function at 0x49c360
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x38
call fcn.00596bf0
mov eax, dword [0x616930]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov bl, byte [esi]
mov dword [ebp - 0x28], eax
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x24], ecx
mov ecx, dword [esi + 0x2c]
push edi
mov dword [ebp - 0x2c], edx
mov byte [ebp - 0x19], bl
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], ecx
test bl, 0x40
jne 0x49c3a6
push ecx
lea ecx, [esi + 0x10]
push ecx
push esi
call eax
add esp, 0xc
movzx eax, bl
and eax, 7
mov ebx, 0xf
sub ebx, eax
mov byte [esi], al
mov eax, ebx
xor ecx, ecx
mov dword [ebp - 0x34], ebx
cmp eax, 0xf
jae 0x49c3d4
movzx edx, byte [esi + eax]
or ecx, edx
mov byte [esi + eax], 0
inc eax
shl ecx, 8
cmp eax, 0xf
jb 0x49c3c1
movzx eax, byte [esi + 0xf]
or ecx, eax
mov eax, dword [ebp + 0xc]
mov byte [esi + 0xf], 1
cmp ecx, eax
je 0x49c3f8
or eax, 0xffffffff
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0057af8a
mov esp, ebp
pop ebp
ret
mov edi, eax
shr edi, 4
test edi, edi
je 0x49c436
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
lea ecx, [esi + 0x10]
push ecx
mov ecx, dword [ebp - 0x28]
push esi
push edx
push edi
push eax
push ecx
call dword [ebp - 0x2c]
shl edi, 4
mov edx, edi
add dword [ebp - 0x28], edx
add dword [ebp - 0x24], edx
add esp, 0x18
sub dword [ebp + 0xc], edx
je 0x49c494
shr edx, 4
mov ecx, esi
call fcn.0049c140
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x49c494
mov edx, dword [ebp - 0x20]
push edx
lea eax, [ebp - 0x18]
push eax
push esi
call dword [ebp - 0x30]
xor eax, eax
add esp, 0xc
cmp dword [ebp + 0xc], eax
jbe 0x49c485
mov edi, dword [ebp - 0x28]
lea ecx, [ebp - 0x18]
sub edi, ecx
mov ecx, dword [ebp - 0x24]
lea edx, [ebp - 0x18]
sub ecx, edx
mov dword [ebp - 0x2c], ecx
movzx ebx, byte [ebp + eax - 0x18]
lea ecx, [ebp + eax - 0x18]
movzx edx, byte [edi + ecx]
xor edx, ebx
mov ebx, dword [ebp - 0x2c]
mov byte [ebx + ecx], dl
xor byte [esi + eax + 0x10], dl
inc eax
cmp eax, dword [ebp + 0xc]
jb 0x49c463
mov ebx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x20]
lea eax, [esi + 0x10]
push ecx
push eax
push eax
call dword [ebp - 0x30]
add esp, 0xc
cmp ebx, 0x10
jae 0x49c4af
mov edx, 0x10
sub edx, ebx
push edx
lea eax, [esi + ebx]
push 0
push eax
call fcn.0057e420
add esp, 0xc
mov eax, dword [ebp - 0x20]
push eax
lea ecx, [ebp - 0x18]
push ecx
push esi
call dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x18]
xor dword [esi + 0x14], eax
xor dword [esi + 0x18], ecx
xor dword [esi + 0x10], edx
mov al, byte [ebp - 0x19]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
xor dword [esi + 0x1c], edx
add esp, 0xc
pop edi
mov byte [esi], al
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.0057af8a
mov esp, ebp
pop ebp
ret
Function at 0x49da60
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x18
call fcn.00596bf0
mov eax, dword [ebp + 8]
push esi
push edi
mov edi, ecx
mov ecx, dword [ebp + 0x10]
mov esi, edx
mov edx, ecx
mov dword [ebp - 4], edx
test eax, eax
je 0x49dbe8
push ebx
cmp eax, 0x10
jb 0x49dada
shr eax, 4
mov dword [ebp - 8], eax
mov ecx, edi
sub edx, esi
mov eax, esi
sub ecx, esi
mov dword [ebp - 4], 4
mov ebx, dword [edx + eax]
xor ebx, dword [eax]
add eax, 4
dec dword [ebp - 4]
mov dword [ecx + eax - 4], ebx
jne 0x49daa1
mov eax, dword [ebp + 0xc]
push eax
push edi
push edi
call dword [ebp + 0x14]
mov eax, dword [ebp + 8]
mov edx, edi
mov dword [ebp - 4], edi
sub eax, 0x10
add esp, 0xc
add esi, 0x10
add edi, 0x10
dec dword [ebp - 8]
mov dword [ebp + 8], eax
jne 0x49da92
mov ecx, dword [ebp + 0x10]
test eax, eax
je 0x49dbd1
mov ecx, edi
sub ecx, esi
mov dword [ebp - 0xc], ecx
mov ecx, 1
sub ecx, esi
mov dword [ebp - 0x10], ecx
mov ecx, 2
sub ecx, esi
mov dword [ebp - 0x14], ecx
mov ebx, edx
sub ebx, esi
mov ecx, 3
xor eax, eax
sub ecx, esi
mov dword [ebp - 8], ebx
mov dword [ebp - 0x18], ecx
jmp 0x49db15
mov ebx, dword [ebp - 8]
cmp eax, dword [ebp + 8]
jae 0x49db87
lea ecx, [eax + esi]
mov dl, byte [ebx + ecx]
xor dl, byte [ecx]
mov ebx, dword [ebp - 0xc]
mov byte [ebx + ecx], dl
mov edx, dword [ebp - 0x10]
add edx, ecx
cmp edx, dword [ebp + 8]
jae 0x49db79
mov dl, byte [esi + eax + 1]
mov ebx, dword [ebp - 4]
xor dl, byte [eax + ebx + 1]
mov byte [edi + eax + 1], dl
mov edx, dword [ebp - 0x14]
add edx, ecx
cmp edx, dword [ebp + 8]
mov edx, ebx
jae 0x49db7f
mov bl, byte [esi + eax + 2]
xor bl, byte [eax + edx + 2]
mov byte [edi + eax + 2], bl
mov ebx, dword [ebp - 0x18]
add ebx, ecx
cmp ebx, dword [ebp + 8]
jae 0x49db84
mov cl, byte [esi + eax + 3]
xor cl, byte [eax + edx + 3]
add eax, 4
mov byte [edi + eax - 1], cl
cmp eax, 0x10
jb 0x49db12
jmp 0x49dba1
mov edx, dword [ebp - 4]
inc eax
jmp 0x49db87
add eax, 2
jmp 0x49db87
add eax, 3
cmp eax, 0x10
jae 0x49dba1
mov ebx, 0x10
sub edx, edi
lea ecx, [eax + edi]
sub ebx, eax
mov al, byte [edx + ecx]
mov byte [ecx], al
inc ecx
dec ebx
jne 0x49db98
mov ecx, dword [ebp + 0xc]
push ecx
push edi
push edi
call dword [ebp + 0x14]
mov eax, dword [ebp + 8]
add esp, 0xc
mov edx, edi
mov dword [ebp - 4], edx
cmp eax, 0x10
jbe 0x49dbce
sub eax, 0x10
add esi, 0x10
add edi, 0x10
mov dword [ebp + 8], eax
test eax, eax
jne 0x49dae2
mov ecx, dword [ebp + 0x10]
mov eax, dword [edx]
mov dword [ecx], eax
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov edx, dword [edx + 0xc]
mov dword [ecx + 0xc], edx
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x49e2b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x10
call fcn.00596bf0
mov eax, dword [esi + 0x160]
push ebx
mov ebx, dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
xor eax, eax
push edi
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], eax
mov dword [esi + 0x16c], eax
mov dword [esi + 0x168], eax
cmp ebx, 0xc
jne 0x49e309
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov dword [esi], edx
mov edx, dword [ecx + 4]
mov dword [esi + 4], edx
mov ecx, dword [ecx + 8]
mov dword [esi + 0xc], 0x1000000
lea ebx, [eax + 1]
jmp 0x49e3df
lea edi, [esi + 0x40]
mov ecx, ebx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0xc], eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], eax
cmp ebx, 0x10
jb 0x49e381
mov eax, ebx
shr eax, 4
mov dword [ebp - 8], eax
lea esp, [esp]
mov ecx, dword [ebp + 8]
lea eax, [esi + 0x41]
inc ecx
mov dword [ebp - 4], 4
mov edi, edi
movzx edx, byte [ecx - 1]
xor byte [eax - 1], dl
movzx edx, byte [ecx]
xor byte [eax], dl
movzx edx, byte [ecx + 1]
xor byte [eax + 1], dl
movzx edx, byte [ecx + 2]
xor byte [eax + 2], dl
add ecx, 4
add eax, 4
dec dword [ebp - 4]
jne 0x49e340
lea eax, [esi + 0x60]
push eax
push edi
call dword [ebp + 0xc]
add dword [ebp + 8], 0x10
add esp, 8
sub ebx, 0x10
dec dword [ebp - 8]
jne 0x49e330
mov ecx, dword [ebp - 0x10]
xor eax, eax
cmp ebx, eax
je 0x49e3a3
jbe 0x49e395
mov ecx, dword [ebp + 8]
mov dl, byte [eax + ecx]
xor byte [edi + eax], dl
inc eax
cmp eax, ebx
jb 0x49e387
lea eax, [esi + 0x60]
push eax
push edi
call dword [ebp + 0xc]
mov ecx, dword [ebp - 0x10]
add esp, 8
mov eax, dword [ebp - 0xc]
shld eax, ecx, 3
add ecx, ecx
add ecx, ecx
add ecx, ecx
bswap ecx
xor dword [esi + 0x4c], ecx
lea ecx, [esi + 0x60]
push ecx
bswap eax
xor dword [esi + 0x48], eax
push edi
call dword [ebp + 0xc]
mov edx, dword [edi]
mov eax, dword [edi + 4]
mov ebx, dword [esi + 0x4c]
mov ecx, dword [esi + 0x48]
mov dword [esi], edx
mov edx, dword [esi + 0x4c]
add esp, 8
mov dword [esi + 4], eax
bswap ebx
mov dword [esi + 0xc], edx
xor eax, eax
mov edx, dword [esi + 0x170]
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x174]
mov dword [esi + 8], ecx
push eax
lea ecx, [esi + 0x20]
push ecx
push esi
call edx
add esp, 0xc
inc ebx
bswap ebx
pop edi
mov dword [esi + 0xc], ebx
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x49e420
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 8
call fcn.00596bf0
mov ecx, dword [esi + 0x38]
or ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0x164]
mov edx, dword [esi + 0x160]
push ebx
mov ebx, dword [ebp + 0xc]
push edi
mov dword [ebp - 4], eax
je 0x49e454
mov eax, 0xfffffffe
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov ecx, ebx
add ecx, dword [esi + 0x30]
adc eax, dword [esi + 0x34]
cmp eax, 0x20000000
ja 0x49e500
jb 0x49e473
test ecx, ecx
jne 0x49e500
mov edi, dword [esi + 0x16c]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], eax
test edi, edi
je 0x49e4ae
test ebx, ebx
je 0x49e49d
mov eax, dword [ebp + 8]
mov cl, byte [eax]
xor byte [edi + esi + 0x40], cl
inc eax
inc edi
dec ebx
and edi, 0xf
mov dword [ebp + 8], eax
jne 0x49e483
jmp 0x49e4a1
test edi, edi
jne 0x49e4f2
lea eax, [esi + 0x60]
push eax
lea ecx, [esi + 0x40]
push ecx
call edx
add esp, 8
mov eax, ebx
and eax, 0xfffffff0
mov dword [ebp - 8], eax
je 0x49e4d7
mov edx, dword [ebp + 8]
push eax
push edx
lea eax, [esi + 0x60]
push eax
lea ecx, [esi + 0x40]
push ecx
call dword [ebp - 4]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
add esp, 0x10
add ecx, eax
sub ebx, eax
jmp 0x49e4da
mov ecx, dword [ebp + 8]
test ebx, ebx
je 0x49e4f2
xor eax, eax
mov edi, ebx
test ebx, ebx
je 0x49e4f2
mov dl, byte [eax + ecx]
xor byte [esi + eax + 0x40], dl
inc eax
cmp eax, ebx
jb 0x49e4e6
mov dword [esi + 0x16c], edi
xor eax, eax
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x49f540
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 8
call fcn.00596bf0
mov eax, dword [ebp + 0x18]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
mov esi, dword [eax]
push edi
mov edi, ecx
test esi, esi
je 0x49f580
mov edi, edi
test ebx, ebx
je 0x49f580
mov dl, byte [esi + edi]
mov ecx, dword [ebp + 8]
xor dl, byte [ecx]
mov eax, dword [ebp + 0xc]
mov byte [eax], dl
inc eax
inc ecx
inc esi
dec ebx
and esi, 0xf
mov dword [ebp + 0xc], eax
mov dword [ebp + 8], ecx
jne 0x49f560
cmp ebx, 0x10
jb 0x49f5f8
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov eax, ecx
sub eax, edi
mov dword [ebp + 0x10], eax
mov eax, edx
sub eax, edi
mov dword [ebp - 4], eax
mov eax, ebx
shr eax, 4
mov dword [ebp - 8], eax
shl eax, 4
add ecx, eax
add edx, eax
mov dword [ebp + 0xc], ecx
mov dword [ebp + 8], edx
mov edi, edi
mov eax, dword [ebp + 0x14]
push eax
push edi
push edi
call dword [ebp + 0x1c]
add esp, 0xc
cmp esi, 0x10
jae 0x49f5e4
mov ecx, 0xf
sub ecx, esi
shr ecx, 2
lea eax, [esi + edi]
inc ecx
nop
mov edx, dword [ebp - 4]
mov edx, dword [edx + eax]
xor edx, dword [eax]
mov esi, dword [ebp + 0x10]
mov dword [esi + eax], edx
add eax, 4
dec ecx
jne 0x49f5d0
mov eax, 0x10
add dword [ebp + 0x10], eax
add dword [ebp - 4], eax
sub ebx, eax
xor esi, esi
dec dword [ebp - 8]
jne 0x49f5b0
test ebx, ebx
je 0x49f63b
mov eax, dword [ebp + 0x14]
push eax
push edi
push edi
call dword [ebp + 0x1c]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub edx, edi
add esp, 0xc
lea eax, [esi + edi]
sub ecx, edi
mov dword [ebp + 0x10], edx
add esi, ebx
lea ebx, [ebx]
mov dl, byte [eax + ecx]
xor dl, byte [eax]
mov edi, dword [ebp + 0x10]
mov byte [eax + edi], dl
inc eax
dec ebx
jne 0x49f620
mov eax, dword [ebp + 0x18]
pop edi
mov dword [eax], esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x18]
pop edi
mov dword [ecx], esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x49f680
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0xc
call fcn.00596bf0
mov eax, dword [ebp + 0x1c]
push ebx
mov ebx, dword [ebp + 0x10]
push esi
push edi
mov edi, dword [eax]
mov esi, ecx
test edi, edi
je 0x49f6c0
mov edi, edi
test ebx, ebx
je 0x49f6c0
mov dl, byte [edi + esi]
mov ecx, dword [ebp + 8]
xor dl, byte [ecx]
mov eax, dword [ebp + 0xc]
mov byte [eax], dl
inc eax
inc ecx
inc edi
dec ebx
and edi, 0xf
mov dword [ebp + 0xc], eax
mov dword [ebp + 8], ecx
jne 0x49f6a0
cmp ebx, 0x10
jb 0x49f738
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov eax, ecx
sub eax, esi
mov dword [ebp + 0x10], eax
mov eax, edx
sub eax, esi
mov dword [ebp - 4], eax
mov eax, ebx
shr eax, 4
mov dword [ebp - 0xc], eax
shl eax, 4
add ecx, eax
xor edi, edi
add edx, eax
mov dword [ebp + 0xc], ecx
mov dword [ebp + 8], edx
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
push eax
push esi
push ecx
call dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
add esp, 0xc
call fcn.0049f650
mov eax, esi
mov dword [ebp - 8], 4
mov edx, dword [ebp - 4]
mov ecx, dword [edx + eax]
xor ecx, dword [eax]
mov edx, dword [ebp + 0x10]
mov dword [edx + eax], ecx
add eax, 4
dec dword [ebp - 8]
jne 0x49f710
mov eax, 0x10
add dword [ebp + 0x10], eax
add dword [ebp - 4], eax
sub ebx, eax
dec dword [ebp - 0xc]
jne 0x49f6f0
test ebx, ebx
je 0x49f780
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x18]
push eax
push esi
push ecx
call dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
add esp, 0xc
call fcn.0049f650
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub edx, esi
lea eax, [edi + esi]
sub ecx, esi
mov dword [ebp + 0x10], edx
add edi, ebx
mov dl, byte [eax + ecx]
xor dl, byte [eax]
mov esi, dword [ebp + 0x10]
mov byte [eax + esi], dl
inc eax
dec ebx
jne 0x49f765
mov eax, dword [ebp + 0x1c]
mov dword [eax], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x1c]
mov dword [ecx], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x49f7c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0x20]
mov eax, dword [eax]
push ebx
mov ebx, dword [ebp + 0x18]
push esi
push edi
mov dword [ebp + 0x18], eax
test eax, eax
je 0x49f7ff
cmp dword [ebp + 0x10], 0
je 0x49f7ff
mov ecx, dword [ebp + 0x1c]
mov dl, byte [eax + ecx]
mov edi, dword [ebp + 8]
xor dl, byte [edi]
mov esi, dword [ebp + 0xc]
dec dword [ebp + 0x10]
mov byte [esi], dl
inc esi
inc edi
inc eax
and eax, 0xf
mov dword [ebp + 0xc], esi
mov dword [ebp + 8], edi
mov dword [ebp + 0x18], eax
jne 0x49f7d5
cmp dword [ebp + 0x10], 0x10
mov esi, dword [ebx + 0xc]
bswap esi
jb 0x49f87b
lea ebx, [ebx]
mov edi, dword [ebp + 0x10]
shr edi, 4
add esi, edi
cmp esi, edi
jae 0x49f820
sub edi, esi
xor esi, esi
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
push ebx
push eax
push edi
push ecx
push edx
call dword [ebp + 0x24]
mov eax, esi
add esp, 0x14
bswap eax
mov dword [ebx + 0xc], eax
test esi, esi
jne 0x49f862
mov eax, 0xc
mov ecx, 1
lea esp, [esp]
movzx edx, byte [eax + ebx - 1]
dec eax
add ecx, edx
mov byte [eax + ebx], cl
shr ecx, 8
test eax, eax
jne 0x49f850
mov eax, dword [ebp + 0x10]
shl edi, 4
add dword [ebp + 0xc], edi
add dword [ebp + 8], edi
sub eax, edi
mov dword [ebp + 0x10], eax
cmp eax, 0x10
jae 0x49f810
mov eax, dword [ebp + 0x18]
cmp dword [ebp + 0x10], 0
je 0x49f8db
mov edi, dword [ebp + 0x1c]
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
push ebx
mov dword [edi + 0xc], eax
mov eax, dword [ebp + 0x14]
push eax
push 1
push edi
push edi
call dword [ebp + 0x24]
add esp, 0x14
inc esi
bswap esi
mov dword [ebx + 0xc], esi
jne 0x49f8af
mov edx, ebx
call fcn.0049f790
mov edx, dword [ebp + 0x18]
mov ecx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
lea eax, [edx + edi]
sub ecx, edi
sub esi, edi
mov edi, dword [ebp + 0x10]
add edx, edi
mov bl, byte [ecx + eax]
xor bl, byte [eax]
inc eax
dec edi
mov byte [esi + eax - 1], bl
jne 0x49f8c4
mov ecx, dword [ebp + 0x20]
pop edi
pop esi
mov dword [ecx], edx
pop ebx
pop ebp
ret
mov edx, dword [ebp + 0x20]
pop edi
pop esi
mov dword [edx], eax
pop ebx
pop ebp
ret