joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1008a860
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
test eax, eax
je 0x1008ab0c
test edx, edx
je 0x1008ab0c
movups xmm0, xmmword [eax]
xorps xmm4, xmm4
lea edx, [edx + 0x10]
cmp ecx, 0x100
je 0x1008aa20
cmp ecx, 0xc0
je 0x1008a940
cmp ecx, 0x80
jne 0x1008ab14
nop
nop
nop
mov ecx, 9
movups xmmword [edx - 0x10], xmm0
aeskeygenassist xmm1, xmm0, 1
call fcn.1008a926
aeskeygenassist xmm1, xmm0, 2
call fcn.1008a920
aeskeygenassist xmm1, xmm0, 4
call fcn.1008a920
aeskeygenassist xmm1, xmm0, 8
call fcn.1008a920
aeskeygenassist xmm1, xmm0, 0x10
call fcn.1008a920
aeskeygenassist xmm1, xmm0, 0x20
call fcn.1008a920
aeskeygenassist xmm1, xmm0, 0x40
call fcn.1008a920
aeskeygenassist xmm1, xmm0, 0x80
call fcn.1008a920
aeskeygenassist xmm1, xmm0, 0x1b
call fcn.1008a920
aeskeygenassist xmm1, xmm0, 0x36
call fcn.1008a920
movups xmmword [edx], xmm0
mov dword [edx + 0x50], ecx
xor eax, eax
ret
movq xmm2, qword [eax + 0x10]
mov ecx, 0xb
movups xmmword [edx - 0x10], xmm0
aeskeygenassist xmm1, xmm2, 1
call fcn.1008a9c0
aeskeygenassist xmm1, xmm2, 2
call fcn.1008aa00
aeskeygenassist xmm1, xmm2, 4
call fcn.1008a9b0
aeskeygenassist xmm1, xmm2, 8
call fcn.1008aa00
aeskeygenassist xmm1, xmm2, 0x10
call fcn.1008a9b0
aeskeygenassist xmm1, xmm2, 0x20
call fcn.1008aa00
aeskeygenassist xmm1, xmm2, 0x40
call fcn.1008a9b0
aeskeygenassist xmm1, xmm2, 0x80
call fcn.1008aa00
movups xmmword [edx], xmm0
mov dword [edx + 0x30], ecx
xor eax, eax
ret
movups xmm2, xmmword [eax + 0x10]
mov ecx, 0xd
lea edx, [edx + 0x10]
movups xmmword [edx - 0x20], xmm0
movups xmmword [edx - 0x10], xmm2
aeskeygenassist xmm1, xmm2, 1
call fcn.1008aad6
aeskeygenassist xmm1, xmm0, 1
call fcn.1008aaf0
aeskeygenassist xmm1, xmm2, 2
call fcn.1008aad0
aeskeygenassist xmm1, xmm0, 2
call fcn.1008aaf0
aeskeygenassist xmm1, xmm2, 4
call fcn.1008aad0
aeskeygenassist xmm1, xmm0, 4
call fcn.1008aaf0
aeskeygenassist xmm1, xmm2, 8
call fcn.1008aad0
aeskeygenassist xmm1, xmm0, 8
call fcn.1008aaf0
aeskeygenassist xmm1, xmm2, 0x10
call fcn.1008aad0
aeskeygenassist xmm1, xmm0, 0x10
call fcn.1008aaf0
aeskeygenassist xmm1, xmm2, 0x20
call fcn.1008aad0
aeskeygenassist xmm1, xmm0, 0x20
call fcn.1008aaf0
aeskeygenassist xmm1, xmm2, 0x40
call fcn.1008aad0
movups xmmword [edx], xmm0
mov dword [edx + 0x10], ecx
xor eax, eax
ret
mov eax, 0xffffffff
ret
mov eax, 0xfffffffe
ret

Function at 0x1008ab40
Capabilities:
Encrypt data using aes via x86 extensions

Disassembly:
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
call fcn.1008a860
mov edx, dword [esp + 0xc]
shl ecx, 4
test eax, eax
jne 0x1008aba9
lea eax, [edx + ecx + 0x10]
movups xmm0, xmmword [edx]
movups xmm1, xmmword [eax]
movups xmmword [eax], xmm0
movups xmmword [edx], xmm1
lea edx, [edx + 0x10]
lea eax, [eax - 0x10]
movups xmm0, xmmword [edx]
movups xmm1, xmmword [eax]
aesimc xmm0, xmm0
aesimc xmm1, xmm1
lea edx, [edx + 0x10]
lea eax, [eax - 0x10]
movups xmmword [eax + 0x10], xmm0
movups xmmword [edx - 0x10], xmm1
cmp eax, edx
ja 0x1008ab76
movups xmm0, xmmword [edx]
aesimc xmm0, xmm0
movups xmmword [edx], xmm0
xor eax, eax
ret
Function at 0x1008b010
Capabilities:
Encode data using xor

Disassembly:
mov eax, 8
call fcn.100ba4f0
xor ecx, ecx
push ebx
mov ebx, dword [esp + 0x18]
push esi
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x160]
push edi
mov dword [esp + 0x18], eax
mov dword [esi], ecx
mov dword [esi + 4], ecx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 0x40], ecx
mov dword [esi + 0x44], ecx
mov dword [esi + 0x48], ecx
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], ecx
mov dword [esi + 0x38], ecx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x16c], ecx
mov dword [esi + 0x168], ecx
cmp ebx, 0xc
jne 0x1008b085
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov dword [esi], ecx
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
mov eax, dword [eax + 8]
mov dword [esi + 8], eax
mov byte [esi + 0xf], 1
lea edi, [ebx - 0xb]
jmp 0x1008b154
mov eax, ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
cmp ebx, 0x10
jb 0x1008b0fa
mov edi, dword [esp + 0x1c]
sub edi, esi
shr eax, 4
mov dword [esp + 0x20], eax
push ebp
mov ecx, dword [esp + 0x20]
add ecx, 2
mov eax, esi
mov ebp, 4
movzx edx, byte [edi + eax]
xor byte [eax], dl
movzx edx, byte [ecx - 1]
xor byte [eax + 1], dl
movzx edx, byte [ecx]
xor byte [eax + 2], dl
movzx edx, byte [ecx + 1]
xor byte [eax + 3], dl
add eax, 4
add ecx, 4
sub ebp, 1
jne 0x1008b0b0
lea eax, [esi + 0x60]
push eax
push esi
call dword [esp + 0x24]
add dword [esp + 0x28], 0x10
add esp, 8
add edi, 0x10
sub ebx, 0x10
sub dword [esp + 0x24], 1
jne 0x1008b0a2
mov eax, dword [esp + 0x10]
xor ecx, ecx
pop ebp
cmp ebx, ecx
je 0x1008b12b
jbe 0x1008b11b
mov ecx, dword [esp + 0x1c]
mov eax, esi
sub ecx, esi
mov edi, ebx
lea ebx, [ebx]
mov dl, byte [eax + ecx]
xor byte [eax], dl
inc eax
sub edi, 1
jne 0x1008b110
lea eax, [esi + 0x60]
push eax
push esi
call dword [esp + 0x20]
mov eax, dword [esp + 0x14]
add esp, 8
mov ecx, dword [esp + 0x10]
shld ecx, eax, 3
add eax, eax
bswap ecx
xor dword [esi + 8], ecx
add eax, eax
lea ecx, [esi + 0x60]
add eax, eax
push ecx
bswap eax
xor dword [esi + 0xc], eax
push esi
call dword [esp + 0x20]
mov edi, dword [esi + 0xc]
add esp, 8
bswap edi
mov edx, dword [esi + 0x174]
mov ecx, dword [esi + 0x170]
push edx
lea eax, [esi + 0x20]
push eax
push esi
call ecx
add esp, 0xc
inc edi
bswap edi
mov dword [esi + 0xc], edi
pop edi
pop esi
pop ebx
add esp, 8
ret
Function at 0x1008b180
Capabilities:
Encode data using xor

Disassembly:
mov eax, 4
call fcn.100ba4f0
push esi
mov esi, dword [esp + 0xc]
mov ecx, dword [esi + 0x38]
or ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0x164]
mov edx, dword [esi + 0x160]
mov dword [esp + 0xc], eax
je 0x1008b1af
mov eax, 0xfffffffe
pop esi
pop ecx
ret
push ebx
mov ebx, dword [esp + 0x18]
xor eax, eax
mov ecx, ebx
add ecx, dword [esi + 0x30]
adc eax, dword [esi + 0x34]
cmp eax, 0x20000000
ja 0x1008b260
jb 0x1008b1d3
test ecx, ecx
ja 0x1008b260
push ebp
mov ebp, dword [esp + 0x18]
push edi
mov edi, dword [esi + 0x16c]
mov dword [esi + 0x30], ecx
mov dword [esi + 0x34], eax
test edi, edi
je 0x1008b216
lea esp, [esp]
test ebx, ebx
je 0x1008b205
mov al, byte [ebp]
xor byte [edi + esi + 0x40], al
inc edi
inc ebp
dec ebx
and edi, 0xf
jne 0x1008b1f0
jmp 0x1008b209
test edi, edi
jne 0x1008b252
lea ecx, [esi + 0x60]
push ecx
lea eax, [esi + 0x40]
push eax
call edx
add esp, 8
mov eax, ebx
and eax, 0xfffffff0
mov dword [esp + 0x10], eax
je 0x1008b23a
push eax
push ebp
lea ecx, [esi + 0x60]
push ecx
lea edx, [esi + 0x40]
push edx
call dword [esp + 0x28]
mov eax, dword [esp + 0x20]
add esp, 0x10
add ebp, eax
sub ebx, eax
test ebx, ebx
je 0x1008b252
xor eax, eax
mov edi, ebx
test ebx, ebx
jbe 0x1008b252
mov cl, byte [eax + ebp]
xor byte [esi + eax + 0x40], cl
inc eax
cmp eax, ebx
jb 0x1008b246
mov dword [esi + 0x16c], edi
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
pop ecx
ret
pop ebx
or eax, 0xffffffff
pop esi
pop ecx
ret
Function at 0x1008b790
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0xc
call fcn.100ba4f0
push esi
mov esi, dword [esp + 0x14]
mov ecx, dword [esi + 0x164]
mov eax, dword [esi + 0x174]
mov edx, dword [esi + 0x160]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x14], eax
xor eax, eax
add ecx, dword [esi + 0x38]
mov dword [esp + 4], edx
adc eax, dword [esi + 0x3c]
cmp eax, 0xf
ja 0x1008b97c
jb 0x1008b7dd
cmp ecx, 0xffffffe0
ja 0x1008b97c
cmp dword [esi + 0x16c], 0
mov dword [esi + 0x38], ecx
mov dword [esi + 0x3c], eax
je 0x1008b803
lea eax, [esi + 0x60]
push eax
lea ecx, [esi + 0x40]
push ecx
call edx
add esp, 8
mov dword [esi + 0x16c], 0
push ebx
mov ebx, dword [esi + 0x168]
push ebp
mov ebp, dword [esi + 0xc]
push edi
mov edi, dword [esp + 0x28]
bswap ebp
test ebx, ebx
je 0x1008b860
lea esp, [esp]
cmp dword [esp + 0x2c], 0
je 0x1008b849
mov al, byte [ebx + esi + 0x10]
mov ecx, dword [esp + 0x24]
xor al, byte [ecx]
dec dword [esp + 0x2c]
mov byte [edi], al
xor byte [ebx + esi + 0x40], al
inc ecx
inc ebx
inc edi
and ebx, 0xf
mov dword [esp + 0x24], ecx
jne 0x1008b820
jmp 0x1008b851
test ebx, ebx
jne 0x1008b96c
lea edx, [esi + 0x60]
push edx
lea eax, [esi + 0x40]
push eax
call dword [esp + 0x18]
add esp, 8
mov ecx, dword [esp + 0x2c]
cmp ecx, 0xc00
jb 0x1008b8d1
mov eax, 0xaaaaaaab
mul ecx
shr edx, 0xb
mov dword [esp + 0x10], edx
lea ebx, [ebx]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
push esi
push ecx
push 0xc0
push edi
push edx
call dword [esp + 0x44]
add ebp, 0xc0
mov eax, ebp
bswap eax
push 0xc00
mov dword [esi + 0xc], eax
push edi
lea eax, [esi + 0x60]
push eax
lea eax, [esi + 0x40]
push eax
call dword [esp + 0x38]
mov eax, 0xc00
add dword [esp + 0x48], eax
sub dword [esp + 0x50], eax
add esp, 0x24
add edi, eax
sub dword [esp + 0x10], 1
jne 0x1008b880
mov ecx, dword [esp + 0x2c]
mov eax, ecx
and eax, 0xfffffff0
mov dword [esp + 0x10], eax
je 0x1008b924
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
push esi
push ecx
shr eax, 4
push eax
push edi
push edx
mov dword [esp + 0x2c], eax
call dword [esp + 0x44]
add ebp, dword [esp + 0x2c]
lea ecx, [esi + 0x60]
mov eax, ebp
bswap eax
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x24]
add dword [esp + 0x38], eax
sub dword [esp + 0x40], eax
push eax
push edi
push ecx
lea edx, [esi + 0x40]
push edx
call dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
add esp, 0x24
add edi, dword [esp + 0x10]
test ecx, ecx
je 0x1008b96c
mov eax, dword [esp + 0x20]
mov edx, dword [esi + 0x170]
push eax
lea ecx, [esi + 0x10]
push ecx
push esi
call edx
mov edx, dword [esp + 0x30]
inc ebp
bswap ebp
add esp, 0xc
mov dword [esi + 0xc], ebp
lea ecx, [ebx + edi]
sub edx, edi
lea esp, [esp]
mov al, byte [esi + ebx + 0x10]
xor al, byte [edx + ecx]
mov edi, dword [esp + 0x2c]
mov byte [ecx], al
xor byte [esi + ebx + 0x40], al
dec edi
inc ebx
inc ecx
mov dword [esp + 0x2c], edi
test edi, edi
jne 0x1008b950
pop edi
pop ebp
mov dword [esi + 0x168], ebx
pop ebx
xor eax, eax
pop esi
add esp, 0xc
ret
or eax, 0xffffffff
pop esi
add esp, 0xc
ret
Function at 0x1008b990
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10
call fcn.100ba4f0
push esi
mov esi, dword [esp + 0x18]
mov ecx, dword [esi + 0x164]
mov eax, dword [esi + 0x174]
mov edx, dword [esi + 0x160]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 4], eax
xor eax, eax
add ecx, dword [esi + 0x38]
mov dword [esp + 8], edx
adc eax, dword [esi + 0x3c]
cmp eax, 0xf
ja 0x1008bb7e
jb 0x1008b9dd
cmp ecx, 0xffffffe0
ja 0x1008bb7e
cmp dword [esi + 0x16c], 0
mov dword [esi + 0x38], ecx
mov dword [esi + 0x3c], eax
je 0x1008ba03
lea eax, [esi + 0x60]
push eax
lea ecx, [esi + 0x40]
push ecx
call edx
add esp, 8
mov dword [esi + 0x16c], 0
mov eax, dword [esi + 0xc]
push ebx
mov ebx, dword [esi + 0x168]
push ebp
mov ebp, dword [esp + 0x28]
bswap eax
push edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x24], eax
test ebx, ebx
je 0x1008ba5c
cmp dword [esp + 0x30], 0
je 0x1008ba45
mov al, byte [edi]
mov dl, byte [ebx + esi + 0x10]
dec dword [esp + 0x30]
xor dl, al
mov byte [ebp], dl
xor byte [ebx + esi + 0x40], al
inc ebx
inc edi
inc ebp
and ebx, 0xf
jne 0x1008ba21
jmp 0x1008ba4d
test ebx, ebx
jne 0x1008bb6e
lea eax, [esi + 0x60]
push eax
lea ecx, [esi + 0x40]
push ecx
call dword [esp + 0x1c]
add esp, 8
mov edx, dword [esp + 0x30]
cmp edx, 0xc00
jb 0x1008bacd
mov eax, 0xaaaaaaab
mul edx
shr edx, 0xb
mov dword [esp + 0x14], edx
push 0xc00
push edi
lea eax, [esi + 0x60]
push eax
lea eax, [esi + 0x40]
push eax
call dword [esp + 0x28]
mov edx, dword [esp + 0x20]
push esi
push edx
push 0xc0
push ebp
push edi
call dword [esp + 0x58]
mov eax, dword [esp + 0x48]
sub dword [esp + 0x54], 0xc00
add eax, 0xc0
mov dword [esp + 0x48], eax
add esp, 0x24
bswap eax
add ebp, 0xc00
add edi, 0xc00
sub dword [esp + 0x14], 1
mov dword [esi + 0xc], eax
jne 0x1008ba76
mov edx, dword [esp + 0x30]
mov ecx, edx
and ecx, 0xfffffff0
mov dword [esp + 0x1c], ecx
je 0x1008bb24
mov eax, ecx
push ecx
shr eax, 4
mov dword [esp + 0x18], eax
push edi
lea eax, [esi + 0x60]
push eax
lea ecx, [esi + 0x40]
push ecx
call dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
push esi
push edx
push eax
push ebp
push edi
call dword [esp + 0x58]
mov eax, dword [esp + 0x48]
add eax, dword [esp + 0x38]
add esp, 0x24
mov dword [esp + 0x24], eax
bswap eax
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x1c]
add ebp, eax
add edi, eax
sub dword [esp + 0x30], eax
mov edx, dword [esp + 0x30]
test edx, edx
je 0x1008bb6e
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 0x170]
push ecx
lea edx, [esi + 0x10]
push edx
push esi
call eax
mov eax, dword [esp + 0x30]
inc eax
bswap eax
add esp, 0xc
mov dword [esi + 0xc], eax
lea eax, [ebx + ebp]
sub edi, ebp
lea esp, [esp]
mov cl, byte [edi + eax]
mov dl, byte [esi + ebx + 0x10]
mov ebp, dword [esp + 0x30]
xor byte [esi + ebx + 0x40], cl
xor dl, cl
dec ebp
mov byte [eax], dl
inc ebx
inc eax
mov dword [esp + 0x30], ebp
test ebp, ebp
jne 0x1008bb50
pop edi
pop ebp
mov dword [esi + 0x168], ebx
pop ebx
xor eax, eax
pop esi
add esp, 0x10
ret
or eax, 0xffffffff
pop esi
add esp, 0x10
ret
Function at 0x1008c520
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x30
call fcn.100ba4f0
mov eax, dword [0x101242d0]
xor eax, esp
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x40]
mov bl, byte [esi]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 0x14], ecx
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x24], edx
mov byte [esp + 0xf], bl
mov dword [esp + 0x1c], eax
mov dword [esp + 0x10], ecx
test bl, 0x40
jne 0x1008c578
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 [esp + 0x20], ebx
cmp eax, 0xf
jae 0x1008c5a7
movzx edx, byte [esi + eax]
or ecx, edx
mov byte [esi + eax], 0
inc eax
shl ecx, 8
cmp eax, 0xf
jb 0x1008c594
movzx eax, byte [esi + 0xf]
mov ebp, dword [esp + 0x4c]
or ecx, eax
mov byte [esi + 0xf], 1
cmp ecx, ebp
je 0x1008c5ce
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x2c]
xor ecx, esp
call fcn.100b993a
add esp, 0x30
ret
push edi
mov edi, ebp
shr edi, 4
test edi, edi
je 0x1008c60f
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
lea ecx, [esi + 0x10]
push ecx
mov ecx, dword [esp + 0x20]
push esi
push edx
push edi
push eax
push ecx
call dword [esp + 0x40]
shl edi, 4
mov edx, edi
add dword [esp + 0x34], edx
add dword [esp + 0x30], edx
add esp, 0x18
sub ebp, edx
je 0x1008c66a
shr edx, 4
mov ecx, esi
call fcn.1008c2e0
test ebp, ebp
je 0x1008c66a
mov edx, dword [esp + 0x14]
push edx
lea eax, [esp + 0x30]
push eax
push esi
call dword [esp + 0x2c]
add esp, 0xc
xor eax, eax
test ebp, ebp
jbe 0x1008c659
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x2c]
mov edx, ecx
sub edi, ecx
sub ebx, edx
lea ecx, [ecx]
lea edx, [esp + eax + 0x2c]
mov cl, byte [edi + edx]
xor cl, byte [edx]
inc eax
mov byte [ebx + edx], cl
xor byte [esi + eax + 0xf], cl
cmp eax, ebp
jb 0x1008c640
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
lea eax, [esi + 0x10]
push ecx
push eax
push eax
call dword [esp + 0x2c]
add esp, 0xc
pop edi
cmp ebx, 0x10
jae 0x1008c686
mov edx, 0x10
sub edx, ebx
push edx
lea eax, [esi + ebx]
push 0
push eax
call fcn.100b9410
add esp, 0xc
mov eax, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x2c]
push ecx
push esi
call dword [esp + 0x28]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
xor dword [esi + 0x14], eax
xor dword [esi + 0x10], edx
mov ecx, dword [esp + 0x3c]
xor dword [esi + 0x18], ecx
mov al, byte [esp + 0x1b]
mov edx, dword [esp + 0x40]
xor dword [esi + 0x1c], edx
mov ecx, dword [esp + 0x44]
add esp, 0xc
mov byte [esi], al
pop esi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.100b993a
add esp, 0x30
ret
Function at 0x1008d850
Capabilities:
Encode data using xor

Disassembly:
mov eax, 4
call fcn.100ba4f0
mov eax, dword [esp + 0x1c]
push ebx
mov ebx, dword [esp + 0x14]
push ebp
push esi
mov esi, dword [eax]
push edi
mov edi, dword [esp + 0x28]
test esi, esi
je 0x1008d895
test ebx, ebx
je 0x1008d895
mov cl, byte [esi + edi]
mov ebp, dword [esp + 0x18]
xor cl, byte [ebp]
mov eax, dword [esp + 0x1c]
mov byte [eax], cl
inc eax
inc ebp
inc esi
dec ebx
and esi, 0xf
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ebp
jne 0x1008d870
cmp ebx, 0x10
jb 0x1008d910
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, edx
sub eax, edi
mov dword [esp + 0x20], eax
mov eax, ebx
shr eax, 4
mov ebp, ecx
mov dword [esp + 0x10], eax
shl eax, 4
add ecx, eax
sub ebp, edi
add edx, eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x24]
push edx
push edi
push edi
call dword [esp + 0x3c]
add esp, 0xc
cmp esi, 0x10
jae 0x1008d8fc
mov ecx, 0xf
sub ecx, esi
shr ecx, 2
lea eax, [esi + edi]
inc ecx
mov edx, dword [esp + 0x20]
mov edx, dword [edx + eax]
xor edx, dword [eax]
add eax, 4
sub ecx, 1
mov dword [eax + ebp - 4], edx
jne 0x1008d8e7
add dword [esp + 0x20], 0x10
sub ebx, 0x10
add ebp, 0x10
xor esi, esi
sub dword [esp + 0x10], 1
jne 0x1008d8c6
test ebx, ebx
je 0x1008d94d
mov eax, dword [esp + 0x24]
push eax
push edi
push edi
call dword [esp + 0x3c]
mov ebp, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
add esp, 0xc
lea eax, [esi + edi]
sub ebp, edi
sub ecx, edi
add esi, ebx
mov dl, byte [eax + ebp]
xor dl, byte [eax]
dec ebx
mov byte [eax + ecx], dl
inc eax
test ebx, ebx
jne 0x1008d933
mov eax, dword [esp + 0x2c]
pop edi
mov dword [eax], esi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov ecx, dword [esp + 0x2c]
pop edi
mov dword [ecx], esi
pop esi
pop ebp
pop ebx
pop ecx
ret
Function at 0x1008db90
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x34
call fcn.100ba4f0
mov eax, dword [0x101242d0]
xor eax, esp
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x38]
push ebx
push esi
mov esi, dword [esp + 0x44]
mov ebx, edx
lea edx, [esi - 1]
push edi
mov edi, dword [esp + 0x50]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
cmp edx, 0x7f
ja 0x1008dd49
mov edx, dword [edi]
mov dword [esp + 0x18], edx
mov edx, dword [edi + 4]
push ebp
mov dword [esp + 0x20], edx
mov edx, dword [edi + 8]
push eax
mov dword [esp + 0x28], edx
mov edx, dword [edi + 0xc]
push edi
push edi
mov dword [esp + 0x34], edx
call ecx
lea eax, [esi + 7]
cdq
and edx, 7
add eax, edx
mov esi, eax
add esp, 0xc
sar esi, 3
cmp dword [esp + 0x58], 0
je 0x1008dc37
test esi, esi
jle 0x1008dc7e
mov eax, dword [esp + 0x14]
mov edx, edi
lea ebp, [esp + 0x2c]
sub edx, ebx
sub ebp, ebx
sub eax, ebx
mov ecx, ebx
mov dword [esp + 0x14], eax
lea ecx, [ecx]
mov al, byte [edx + ecx]
xor al, byte [ecx]
mov ebx, dword [esp + 0x14]
mov byte [ecx + ebp], al
mov byte [ebx + ecx], al
inc ecx
sub esi, 1
jne 0x1008dc20
jmp 0x1008dc7e
xor ebp, ebp
test esi, esi
jle 0x1008dc7e
lea eax, [esp + 0x2c]
mov ecx, eax
sub ebx, eax
mov eax, dword [esp + 0x14]
mov edx, edi
sub edx, ecx
sub eax, ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
jmp 0x1008dc64
mov edx, dword [esp + 0x18]
lea ecx, [esp + ebp + 0x2c]
mov al, byte [ebx + ecx]
mov dl, byte [edx + ecx]
xor dl, al
mov byte [ecx], al
mov eax, dword [esp + 0x14]
inc ebp
cmp ebp, esi
mov byte [eax + ecx], dl
jl 0x1008dc60
mov eax, dword [esp + 0x4c]
mov ecx, eax
and ecx, reloc.OLEAUT32.dll_VariantInit
jns 0x1008dc91
dec ecx
or ecx, 0xfffffff8
inc ecx
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0x1008dcd2
mov ecx, dword [esp + eax + 0x1c]
mov edx, dword [esp + eax + 0x20]
lea eax, [esp + eax + 0x1c]
mov dword [edi], ecx
mov ecx, dword [eax + 8]
mov dword [edi + 4], edx
mov edx, dword [eax + 0xc]
pop ebp
mov dword [edi + 8], ecx
mov dword [edi + 0xc], edx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.100b993a
add esp, 0x34
ret
mov dl, 8
sub dl, cl
mov byte [esp + 0x13], dl
inc edi
lea esi, [esp + eax + 0x1d]
mov ebp, 4
movzx edx, byte [esi - 1]
mov al, byte [esi]
shl dl, cl
movzx ecx, byte [esp + 0x13]
mov bl, al
shr bl, cl
mov ecx, dword [esp + 0x14]
shl al, cl
movzx ecx, byte [esp + 0x13]
or dl, bl
mov byte [edi - 1], dl
mov dl, byte [esi + 1]
mov bl, dl
shr bl, cl
mov ecx, dword [esp + 0x14]
shl dl, cl
movzx ecx, byte [esp + 0x13]
or al, bl
mov byte [edi], al
mov al, byte [esi + 2]
mov bl, al
shr bl, cl
movzx ecx, byte [esp + 0x13]
or dl, bl
mov byte [edi + 1], dl
movzx edx, byte [esi + 3]
shr dl, cl
mov ecx, dword [esp + 0x14]
shl al, cl
add esi, 4
add edi, 4
or dl, al
sub ebp, 1
mov byte [edi - 2], dl
jne 0x1008dce4
pop ebp
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100b993a
add esp, 0x34
ret
Function at 0x1008de70
Capabilities:
Encode data using xor

Disassembly:
mov eax, 4
call fcn.100ba4f0
mov eax, dword [esp + 0x20]
push ebx
mov ebx, dword [esp + 0x14]
push ebp
push esi
mov esi, dword [eax]
push edi
mov edi, dword [esp + 0x2c]
test esi, esi
je 0x1008deb5
test ebx, ebx
je 0x1008deb5
mov cl, byte [esi + edi]
mov ebp, dword [esp + 0x18]
xor cl, byte [ebp]
mov eax, dword [esp + 0x1c]
mov byte [eax], cl
inc eax
inc ebp
inc esi
dec ebx
and esi, 0xf
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ebp
jne 0x1008de90
cmp ebx, 0x10
jb 0x1008df49
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, edx
sub eax, edi
mov dword [esp + 0x20], eax
mov eax, ebx
shr eax, 4
mov ebp, ecx
mov dword [esp + 0x10], eax
shl eax, 4
add ecx, eax
sub ebp, edi
add edx, eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edx
lea ebx, [ebx]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
push edx
push edi
push eax
call dword [esp + 0x40]
mov edx, dword [esp + 0x34]
add esp, 0xc
call fcn.1008de50
cmp esi, 0x10
jae 0x1008df35
mov ecx, 0xf
sub ecx, esi
shr ecx, 2
lea eax, [esi + edi]
inc ecx
mov edi, edi
mov edx, dword [esp + 0x20]
mov edx, dword [edx + eax]
xor edx, dword [eax]
add eax, 4
sub ecx, 1
mov dword [eax + ebp - 4], edx
jne 0x1008df20
add dword [esp + 0x20], 0x10
sub ebx, 0x10
add ebp, 0x10
xor esi, esi
sub dword [esp + 0x10], 1
jne 0x1008def0
test ebx, ebx
je 0x1008df91
mov eax, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
push eax
push edi
push ebp
call dword [esp + 0x40]
add esp, 0xc
mov edx, ebp
call fcn.1008de50
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea eax, [esi + edi]
sub ebp, edi
sub ecx, edi
add esi, ebx
mov dl, byte [eax + ebp]
xor dl, byte [eax]
dec ebx
mov byte [eax + ecx], dl
inc eax
test ebx, ebx
jne 0x1008df77
mov eax, dword [esp + 0x30]
pop edi
mov dword [eax], esi
pop esi
pop ebp
pop ebx
pop ecx
ret
mov ecx, dword [esp + 0x30]
pop edi
mov dword [ecx], esi
pop esi
pop ebp
pop ebx
pop ecx
ret