joyce8/EMBER2024-capa huggingface dataset:
Function at 0x101ee240
Capabilities:
Encode data using xor
Encrypt data using blowfish
Encrypt data using rc4 prga

Disassembly:
mov eax, 8
call fcn.10107170
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x1c]
push 0x1048
push 0x102a3370
push edi
call fcn.1012d8a0
mov ebx, dword [esp + 0x30]
mov esi, 0x48
add esp, 0xc
mov eax, ebx
cmp dword [esp + 0x20], esi
cmovle esi, dword [esp + 0x20]
add esi, ebx
xor ebp, ebp
nop dword [eax]
movzx edx, byte [eax]
inc eax
cmp eax, esi
cmovae eax, ebx
shl edx, 8
movzx ecx, byte [eax]
inc eax
or edx, ecx
cmp eax, esi
cmovae eax, ebx
shl edx, 8
movzx ecx, byte [eax]
inc eax
or edx, ecx
cmp eax, esi
cmovae eax, ebx
shl edx, 8
movzx ecx, byte [eax]
inc eax
or edx, ecx
cmp eax, esi
cmovae eax, ebx
xor dword [edi + ebp*4], edx
inc ebp
cmp ebp, 0x12
jl 0x101ee280
mov dword [esp + 0x10], 0
xor esi, esi
mov dword [esp + 0x14], 0
nop
lea eax, [esp + 0x10]
push edi
push eax
call fcn.1003aa40
mov eax, dword [esp + 0x18]
add esp, 8
mov dword [edi + esi*4], eax
mov eax, dword [esp + 0x14]
mov dword [edi + esi*4 + 4], eax
add esi, 2
cmp esi, 0x12
jl 0x101ee2d0
xor esi, esi
lea eax, [esp + 0x10]
push edi
push eax
call fcn.1003aa40
mov eax, dword [esp + 0x18]
add esp, 8
mov dword [edi + esi*4 + 0x48], eax
mov eax, dword [esp + 0x14]
mov dword [edi + esi*4 + 0x4c], eax
add esi, 2
cmp esi, 0x400
jl 0x101ee2f7
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
Function at 0x101ee5f0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov eax, 0x30
call fcn.10107170
mov eax, dword [0x102c6100]
xor eax, esp
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
push ebx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x4c]
push ebp
push esi
push edi
mov edi, dword [esp + 0x54]
mov esi, dword [eax]
mov dword [esp + 0x18], eax
mov ebp, dword [esp + 0x4c]
mov bh, byte [edi]
movzx eax, byte [edi + 1]
mov bl, byte [edi + 4]
movzx ecx, bh
shl ecx, 8
or ecx, eax
mov dword [esp + 0x1c], edi
movzx eax, byte [edi + 2]
shl eax, 8
mov dword [esp + 0x28], ecx
shl ecx, 0x10
or ecx, eax
movzx edx, bl
movzx eax, byte [edi + 3]
or ecx, eax
shl edx, 8
movzx eax, byte [edi + 5]
or edx, eax
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x1c]
mov edi, edx
shl edi, 0x10
mov byte [esp + 0x39], dl
mov dword [esp + 0x14], 0
movzx ecx, byte [eax + 6]
movzx eax, byte [eax + 7]
shl ecx, 8
or ecx, eax
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x28]
or edi, ecx
mov ecx, dword [esp + 0x34]
mov edx, edi
mov byte [esp + 0x35], al
mov eax, ecx
shr eax, 8
mov byte [esp + 0x36], al
mov eax, edx
shr eax, 8
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edi
mov byte [esp + 0x34], bh
mov byte [esp + 0x37], cl
mov byte [esp + 0x3a], al
mov byte [esp + 0x3b], dl
test ebp, ebp
je 0x101ee78c
mov edi, dword [esp + 0x44]
sub dword [esp + 0x10], edi
dec ebp
test esi, esi
jne 0x101ee735
push dword [esp + 0x30]
lea eax, [esp + 0x24]
push eax
call fcn.1003aa40
mov ecx, dword [esp + 0x28]
add esp, 8
mov edx, dword [esp + 0x24]
mov eax, ecx
shr eax, 0x18
mov byte [esp + 0x34], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x35], al
mov eax, ecx
shr eax, 8
mov byte [esp + 0x36], al
mov eax, edx
shr eax, 0x18
mov byte [esp + 0x38], al
mov eax, edx
shr eax, 0x10
mov byte [esp + 0x39], al
mov eax, edx
shr eax, 8
inc dword [esp + 0x14]
mov byte [esp + 0x37], cl
mov byte [esp + 0x3a], al
mov byte [esp + 0x3b], dl
mov al, byte [esp + esi + 0x34]
inc esi
mov ebx, dword [esp + 0x10]
and esi, 7
xor al, byte [edi]
mov byte [ebx + edi], al
inc edi
mov ebx, dword [esp + 0x14]
test ebp, ebp
jne 0x101ee6d5
test ebx, ebx
je 0x101ee78c
mov ebx, dword [esp + 0x1c]
mov eax, ecx
shr eax, 0x18
mov byte [ebx], al
mov eax, ecx
shr eax, 0x10
mov byte [ebx + 1], al
mov eax, ecx
shr eax, 8
mov byte [ebx + 2], al
mov eax, edx
shr eax, 0x18
mov byte [ebx + 4], al
mov eax, edx
shr eax, 0x10
mov byte [ebx + 5], al
mov eax, edx
shr eax, 8
mov byte [ebx + 3], cl
mov byte [ebx + 6], al
mov byte [ebx + 7], dl
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
pop edi
mov dword [eax], esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.101064d2
add esp, 0x30
ret
Function at 0x101f0a50
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov eax, 0x30
call fcn.10107170
mov eax, dword [0x102c6100]
xor eax, esp
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov eax, dword [esp + 0x40]
push ebx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x4c]
push ebp
push esi
push edi
mov edi, dword [esp + 0x54]
mov esi, dword [eax]
mov dword [esp + 0x18], eax
mov ebp, dword [esp + 0x4c]
mov bh, byte [edi]
movzx eax, byte [edi + 1]
mov bl, byte [edi + 4]
movzx ecx, bh
shl ecx, 8
or ecx, eax
mov dword [esp + 0x1c], edi
movzx eax, byte [edi + 2]
shl eax, 8
mov dword [esp + 0x28], ecx
shl ecx, 0x10
or ecx, eax
movzx edx, bl
movzx eax, byte [edi + 3]
or ecx, eax
shl edx, 8
movzx eax, byte [edi + 5]
or edx, eax
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x1c]
mov edi, edx
shl edi, 0x10
mov byte [esp + 0x39], dl
mov dword [esp + 0x14], 0
movzx ecx, byte [eax + 6]
movzx eax, byte [eax + 7]
shl ecx, 8
or ecx, eax
mov byte [esp + 0x38], bl
mov eax, dword [esp + 0x28]
or edi, ecx
mov ecx, dword [esp + 0x34]
mov edx, edi
mov byte [esp + 0x35], al
mov eax, ecx
shr eax, 8
mov byte [esp + 0x36], al
mov eax, edx
shr eax, 8
mov dword [esp + 0x2c], edi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edi
mov byte [esp + 0x34], bh
mov byte [esp + 0x37], cl
mov byte [esp + 0x3a], al
mov byte [esp + 0x3b], dl
test ebp, ebp
je 0x101f0bec
mov edi, dword [esp + 0x44]
sub dword [esp + 0x10], edi
dec ebp
test esi, esi
jne 0x101f0b95
push dword [esp + 0x30]
lea eax, [esp + 0x24]
push eax
call fcn.101f0440
mov ecx, dword [esp + 0x28]
add esp, 8
mov edx, dword [esp + 0x24]
mov eax, ecx
shr eax, 0x18
mov byte [esp + 0x34], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x35], al
mov eax, ecx
shr eax, 8
mov byte [esp + 0x36], al
mov eax, edx
shr eax, 0x18
mov byte [esp + 0x38], al
mov eax, edx
shr eax, 0x10
mov byte [esp + 0x39], al
mov eax, edx
shr eax, 8
inc dword [esp + 0x14]
mov byte [esp + 0x37], cl
mov byte [esp + 0x3a], al
mov byte [esp + 0x3b], dl
mov al, byte [esp + esi + 0x34]
inc esi
mov ebx, dword [esp + 0x10]
and esi, 7
xor al, byte [edi]
mov byte [ebx + edi], al
inc edi
mov ebx, dword [esp + 0x14]
test ebp, ebp
jne 0x101f0b35
test ebx, ebx
je 0x101f0bec
mov ebx, dword [esp + 0x1c]
mov eax, ecx
shr eax, 0x18
mov byte [ebx], al
mov eax, ecx
shr eax, 0x10
mov byte [ebx + 1], al
mov eax, ecx
shr eax, 8
mov byte [ebx + 2], al
mov eax, edx
shr eax, 0x18
mov byte [ebx + 4], al
mov eax, edx
shr eax, 0x10
mov byte [ebx + 5], al
mov eax, edx
shr eax, 8
mov byte [ebx + 3], cl
mov byte [ebx + 6], al
mov byte [ebx + 7], dl
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
pop edi
mov dword [eax], esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.101064d2
add esp, 0x30
ret
Function at 0x101f11f0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 8
call fcn.10107170
push ebx
mov ebx, dword [esp + 0x14]
push ebp
mov ebp, dword [esp + 0x14]
push esi
mov esi, dword [esp + 0x20]
push edi
mov edi, dword [esp + 0x34]
mov edi, dword [edi]
mov dword [esp + 0x14], edi
test edi, edi
je 0x101f1239
mov ecx, dword [esp + 0x30]
nop dword [eax]
test esi, esi
je 0x101f1239
mov al, byte [edi + ecx]
dec esi
xor al, byte [ebp]
inc edi
mov byte [ebx], al
inc ebp
inc ebx
and edi, 0xf
mov dword [esp + 0x14], edi
jne 0x101f1220
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0xc]
bswap edx
mov dword [esp + 0x24], edx
cmp esi, 0x10
jb 0x101f12d4
mov edi, eax
mov ecx, esi
shr ecx, 4
push edi
push dword [esp + 0x2c]
lea eax, [ecx + edx]
neg edx
cmp eax, ecx
cmovae edx, ecx
mov dword [esp + 0x18], edx
xor edx, edx
push dword [esp + 0x18]
cmp eax, ecx
push ebx
cmovae edx, eax
push ebp
mov dword [esp + 0x38], edx
call dword [esp + 0x4c]
mov edx, dword [esp + 0x38]
add esp, 0x14
mov eax, edx
bswap eax
mov dword [edi + 0xc], eax
test edx, edx
jne 0x101f12b6
mov edx, 0xc
mov eax, 1
nop word [eax + eax]
movzx ecx, byte [edx + edi - 1]
dec edx
add eax, ecx
mov byte [edx + edi], al
shr eax, 8
test edx, edx
jne 0x101f12a0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
shl eax, 4
sub esi, eax
add ebx, eax
add ebp, eax
cmp esi, 0x10
jae 0x101f1251
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x24], edx
test esi, esi
je 0x101f1332
mov ecx, dword [esp + 0x30]
xorps xmm0, xmm0
push eax
push dword [esp + 0x2c]
push 1
push ecx
push ecx
movups xmmword [ecx], xmm0
call dword [esp + 0x4c]
mov edx, dword [esp + 0x38]
add esp, 0x14
mov eax, dword [esp + 0x2c]
add edx, 1
bswap edx
mov dword [eax + 0xc], edx
jne 0x101f130d
push eax
call fcn.101f1370
add esp, 4
mov eax, dword [esp + 0x30]
sub ebp, eax
sub ebx, eax
lea ecx, [edi + eax]
add edi, esi
nop word [eax + eax]
mov al, byte [ecx + ebp]
lea ecx, [ecx + 1]
xor al, byte [ecx - 1]
mov byte [ebx + ecx - 1], al
sub esi, 1
jne 0x101f1320
mov eax, dword [esp + 0x34]
mov dword [eax], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
Function at 0x101f1c40
Capabilities:
Encode data using xor

Disassembly:
mov eax, 8
call fcn.10107170
push ebp
mov ebp, dword [esp + 0x10]
mov eax, dword [ebp + 0x164]
mov edx, dword [ebp + 0x160]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x38]
or eax, dword [ebp + 0x3c]
je 0x101f1c71
mov eax, 0xfffffffe
pop ebp
add esp, 8
ret
push esi
mov esi, dword [esp + 0x1c]
xor ecx, ecx
mov eax, esi
add eax, dword [ebp + 0x30]
adc ecx, dword [ebp + 0x34]
cmp ecx, 0x20000000
ja 0x101f1d3a
jb 0x101f1c96
test eax, eax
jne 0x101f1d3a
push ebx
mov dword [ebp + 0x34], ecx
mov ecx, dword [ebp + 0x16c]
mov dword [ebp + 0x30], eax
mov dword [esp + 0x18], ecx
push edi
mov edi, dword [esp + 0x20]
test ecx, ecx
je 0x101f1cdd
test esi, esi
je 0x101f1d2a
mov al, byte [edi]
dec esi
xor byte [ecx + ebp + 0x40], al
inc edi
inc ecx
and ecx, 0xf
mov dword [esp + 0x1c], ecx
jne 0x101f1cb0
lea eax, [ebp + 0x60]
push eax
lea ebx, [ebp + 0x40]
push ebx
call edx
mov eax, dword [esp + 0x24]
add esp, 8
mov dword [esp + 0x1c], eax
jmp 0x101f1ce0
lea ebx, [ebp + 0x40]
mov eax, esi
lea ecx, [ebp + 0x60]
and eax, 0xfffffff0
mov dword [esp + 0x14], eax
je 0x101f1d01
push eax
push edi
push ecx
push ebx
call dword [esp + 0x20]
add edi, dword [esp + 0x24]
add esp, 0x10
sub esi, dword [esp + 0x14]
test esi, esi
je 0x101f1d26
mov ecx, esi
mov al, byte [edi]
lea edi, [edi + 1]
xor byte [ebx], al
lea ebx, [ebx + 1]
sub esi, 1
jne 0x101f1d07
pop edi
pop ebx
pop esi
mov dword [ebp + 0x16c], ecx
xor eax, eax
pop ebp
add esp, 8
ret
mov ecx, dword [esp + 0x1c]
pop edi
pop ebx
pop esi
mov dword [ebp + 0x16c], ecx
xor eax, eax
pop ebp
add esp, 8
ret
pop esi
or eax, 0xffffffff
pop ebp
add esp, 8
ret
Function at 0x101f2d30
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x14
call fcn.10107170
push ebx
mov ebx, dword [esp + 0x24]
push ebp
push esi
mov esi, dword [esp + 0x24]
push edi
mov edx, dword [esi + 0x160]
lea ebp, [esi + 0x40]
mov dword [esi + 0x30], 0
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov dword [esp + 0x10], edx
mov dword [esi + 0x16c], 0
mov dword [esi + 0x168], 0
cmp ebx, 0xc
jne 0x101f2da9
mov eax, dword [esp + 0x2c]
lea edi, [ebx - 0xb]
movq xmm0, qword [eax]
movq qword [esi], xmm0
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
mov dword [esi + 0xc], 0x1000000
jmp 0x101f2ead
mov edi, dword [esp + 0x2c]
lea eax, [esi + 0x60]
mov dword [ebp], 0
mov dword [ebp + 4], 0
mov dword [esi + 0x48], 0
mov dword [esp + 0x20], ebx
mov dword [esi + 0x4c], 0
mov dword [esp + 0x18], eax
cmp ebx, 0x10
jb 0x101f2e4f
mov eax, ebx
lea ecx, [esi + 0x41]
shr eax, 4
mov esi, ebp
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x30], eax
nop dword [eax + eax]
lea edx, [edi + 2]
mov eax, ecx
mov ebp, 4
nop word [eax + eax]
movzx ecx, byte [edx - 2]
lea edx, [edx + 4]
xor byte [eax - 1], cl
lea eax, [eax + 4]
movzx ecx, byte [edx - 5]
xor byte [eax - 4], cl
movzx ecx, byte [edx - 4]
xor byte [eax - 3], cl
movzx ecx, byte [edx - 3]
xor byte [eax - 2], cl
sub ebp, 1
jne 0x101f2e00
push dword [esp + 0x18]
push esi
call dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
add esp, 8
add edi, 0x10
sub ebx, 0x10
sub dword [esp + 0x30], 1
jne 0x101f2df0
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
lea ebp, [esi + 0x40]
test ebx, ebx
je 0x101f2e6e
mov ecx, ebp
mov al, byte [edi]
lea edi, [edi + 1]
xor byte [ecx], al
lea ecx, [ecx + 1]
sub ebx, 1
jne 0x101f2e55
lea eax, [esi + 0x60]
push eax
push ebp
call edx
add esp, 8
mov eax, dword [esp + 0x20]
xor ecx, ecx
shld ecx, eax, 3
shl eax, 3
bswap eax
xor dword [esi + 0x4c], eax
lea eax, [esi + 0x60]
push eax
bswap ecx
xor dword [esi + 0x48], ecx
push ebp
call dword [esp + 0x18]
mov edi, dword [esi + 0x4c]
add esp, 8
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov dword [esi + 8], eax
bswap edi
mov dword [esi + 0xc], ecx
mov dword [ebp], 0
lea eax, [esi + 0x20]
mov dword [ebp + 4], 0
mov dword [esi + 0x48], 0
mov dword [esi + 0x4c], 0
push dword [esi + 0x174]
push eax
mov eax, dword [esi + 0x170]
push esi
call eax
add esp, 0xc
inc edi
bswap edi
mov dword [esi + 0xc], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
Function at 0x101f36e0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x2c
call fcn.10107170
mov eax, dword [0x102c6100]
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 0x101f3735
push eax
lea eax, [esi + 0x10]
push eax
push esi
call ecx
add esp, 0xc
movzx eax, bl
mov ecx, 0xf
and eax, 7
xor edx, edx
sub ecx, eax
mov dword [esp + 0x24], eax
mov byte [esi], al
cmp ecx, 0xf
jae 0x101f3763
nop
movzx eax, byte [esi + ecx]
or edx, eax
mov byte [esi + ecx], 0
inc ecx
shl edx, 8
cmp ecx, 0xf
jb 0x101f3750
movzx eax, byte [esi + 0xf]
mov edi, dword [esp + 0x4c]
or edx, eax
mov byte [esi + 0xf], 1
cmp edx, edi
je 0x101f378b
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x28]
xor ecx, esp
call fcn.101064d2
add esp, 0x2c
ret
mov ebx, edi
shr ebx, 4
test ebx, ebx
je 0x101f37c6
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 0x101f381e
shr ebx, 4
push ebx
push esi
call fcn.101f4040
add esp, 8
jmp 0x101f37ca
test edi, edi
je 0x101f381e
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 0x101f380d
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 0x101f37f1
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 0x101f3826
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov ecx, 0xf
sub ecx, dword [esp + 0x24]
cmp ecx, 0x10
jae 0x101f384a
mov eax, 0x10
sub eax, ecx
push eax
lea eax, [ecx + esi]
push 0
push eax
call fcn.1012de20
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.101064d2
add esp, 0x2c
ret
Function at 0x101f5670
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10
call fcn.10107170
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 0x101f57c4
push ebx
push edi
mov edi, dword [esp + 0x30]
cmp edx, 8
jb 0x101f57a7
lea eax, [ebp - 1]
lea ebx, [edi - 1]
add eax, edx
add ebx, edx
cmp edi, eax
ja 0x101f56b7
cmp ebx, ebp
jae 0x101f57a7
lea eax, [edx - 1]
add eax, esi
cmp edi, eax
ja 0x101f56c8
cmp ebx, esi
jae 0x101f57a7
cmp edx, 0x40
jb 0x101f5768
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 0x101f5700
cmp dword [esp + 0x1c], 8
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x28]
jb 0x101f57a3
jmp 0x101f576c
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 [eax + ebx]
lea eax, [eax + 8]
movq xmm0, qword [eax - 8]
add ecx, 8
xorps xmm1, xmm0
movq qword [eax + edi - 8], xmm1
cmp ecx, dword [esp + 0x1c]
jb 0x101f5780
mov edi, dword [esp + 0x30]
cmp ecx, edx
jae 0x101f57c2
sub esi, ebp
lea eax, [ecx + ebp]
sub edi, ebp
sub edx, ecx
mov cl, byte [esi + eax]
lea eax, [eax + 1]
xor cl, byte [eax - 1]
mov byte [edi + eax - 1], cl
sub edx, 1
jne 0x101f57b0
pop edi
pop ebx
pop esi
pop ebp
add esp, 0x10
ret
Function at 0x101f58e0
Capabilities:
Encode data using xor

Disassembly:
mov eax, 8
call fcn.10107170
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 0x101f590e
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 0x101f5948
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.10167da0
add esp, 0x10
test eax, eax
jne 0x101f5945
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.101f55e0
xor byte [esi + 0xf], bl
add esp, 0xc
add edi, 0x10
sub dword [esp + 0x10], 1
jne 0x101f5960
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 0x101f9440
Capabilities:
Encode data using xor

Disassembly:
cmp dword [esp + 0x18], 0
je 0x101f9454
mov dword [esp + 0x18], fcn.101f7c80
jmp fcn.101f0f10
mov dword [esp + 0x18], fcn.101f6f20
jmp fcn.101f0c10
Function at 0x10204990
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x14
call fcn.10107170
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 0x10204ba8
push ebx
push ebp
push edi
nop word [eax + eax]
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x10204b82
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 0x102049d4
mov esi, dword [esp + 0x30]
jmp 0x10204b86
mov ecx, dword [esp + 0x28]
push ecx
call fcn.102040d0
sub esi, dword [esp + 0x38]
add esp, 4
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x30], esi
cmp esi, dword [esp + 0x34]
jae 0x102049c0
pop edi
pop ebp
pop ebx
mov eax, esi
pop esi
add esp, 0x14
ret