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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x10b8
call fcn.0040d270
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov esi, 0xfffffffe
nop
nop
cmp word [eax + esi + 2], 0
lea esi, [esi + 2]
jne 0x41f5f0
sar esi, 1
lea ecx, [esp + 0x28]
push ecx
push 0
push 0
push esi
push eax
push 0
call dword [0x5d303c]
mov ebx, dword [esp + 0x28]
mov edi, 0xffffffff
test ebx, ebx
jns 0x41f624
mov eax, 0xffffffff
jmp 0x41f627
lea eax, [ebx + ebx]
push eax
call fcn.0040d310
add esp, 4
lea ecx, [esp + 0x28]
push ecx
push ebx
mov dword [esp + 0x24], eax
push eax
push esi
mov eax, dword [ebp + 0xc]
push dword [eax + 4]
push 0
call dword [0x5d303c]
mov eax, dword [esp + 0x28]
mov ecx, eax
add ecx, 0xd
js 0x41f65c
lea edi, [eax*2 + 0x1a]
push edi
call fcn.0040d310
add esp, 4
mov edi, eax
mov dword [esp + 0xb4], 0x81d28720
mov dword [esp + 0xb8], 0x8d3f8323
mov dword [esp + 0xbc], 0x89ee8f30
mov dword [esp + 0xc0], 0x95258bd6
mov dword [esp + 0xc4], 0x912b9726
mov dword [esp + 0xc8], 0x9d23933b
mov dword [esp + 0xcc], 0x999e9f2a
mov dword [esp + 0xd0], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xa1
xor cl, byte [esp + eax + 0xb4]
add cl, 0xdb
mov byte [esp + eax + 0xb4], cl
inc eax
cmp eax, 0x20
jne 0x41f6d0
mov eax, dword [esp + 0x1c]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x41f721
mov eax, dword [esp + 0x1c]
lea edx, [eax + 2]
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41f710
mov word [eax], 0
movzx ecx, word [esp + 0xb4]
test cx, cx
je 0x41f751
lea edx, [esp + 0xb6]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41f740
mov word [eax], 0
lea eax, [esp + 0x48]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.00446e50
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x5cdaa0]
Function at 0x43d210
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xa8
mov esi, dword [ebp + 8]
mov eax, dword [0x5d303c]
mov dword [esp + 0x10], 0x69df6b8f
mov dword [esp + 0x14], 0x6dfb6ff7
mov dword [esp + 0x18], 0x51f953f8
mov dword [esp + 0x1c], 0x559257c3
mov dword [esp + 0x20], 0x59f55bc2
mov dword [esp + 0x24], 0x5df55fc2
mov dword [esp + 0x28], 0x414243b7
mov word [esp + 0x2c], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x97
xor dl, byte [esp + ecx + 0x10]
add dl, 0xd
mov byte [esp + ecx + 0x10], dl
inc ecx
cmp ecx, 0x1e
jne 0x43d270
lea ecx, [esp + 0x64]
lea edx, [esp + 0x94]
lea edi, [esp + 0x10]
push ecx
push 8
push edx
push 0xd
push edi
push 0
call eax
shr eax, 0x1f
jmp dword [eax*4 + 0x5d068c]
Function at 0x4418c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x80
mov esi, ecx
mov eax, dword [ecx + 4]
test eax, eax
je 0x4418e2
cmp eax, 2
je 0x44195b
jmp 0x441a94
Function at 0x444e10
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x10
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0x30]
mov ecx, ebx
add ecx, ebp
adc edx, 0
xor eax, eax
mov esi, 0xfffffffe
cmp esi, ecx
mov ecx, 0
sbb ecx, edx
mov esi, dword [esp + 0x2c]
jb 0x444e82
mov ecx, ebx
shr ecx, 2
mov edx, ebp
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
add esi, edx
add edx, ebp
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov ebp, edx
mov edi, esi
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
test bl, 1
je 0x445051
and ebx, 2
movzx ecx, byte [edx + ebx]
mov byte [esi + ebx], cl
jmp 0x445051
mov dword [esp], 0x2c2d2e2f
mov word [esp + 4], 0
mov eax, 0xe2263838
mov ecx, 0xc7
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x1dd9c7c8]
lea edi, [edx + edx]
not edi
add edi, edx
and edi, eax
and edx, ecx
or edx, edi
mov edi, edx
and edi, 0xe5
mov esi, edx
and esi, 2
mov ebp, esi
xor ebp, 2
imul ebp, edi
or edi, 2
imul edi, esi
xor edx, 0xe7
add edx, ebp
add edx, edi
inc dl
mov byte [esp + eax + 0x1dd9c7c8], dl
inc eax
dec ecx
cmp eax, 0xe226383e
jne 0x444ea0
mov eax, dword [esp]
mov ecx, dword [0x5d3040]
test ecx, ecx
je 0x444f20
xor edx, edx
mov edi, dword [0x5d3044]
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x7789b0cb
je 0x444f2a
inc edx
cmp ecx, edx
jne 0x444f10
jmp 0x444f54
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
jmp 0x444f54
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je 0x444f54
lea eax, [esp + 8]
push 2
push 0
push 0
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 7
push dword [0x5d3048]
push ecx
call fcn.00443c90
add esp, 0x28
test eax, eax
mov edi, dword [esp + 0x28]
js 0x445051
push 0x1e03da9a
push dword [0x5db054]
call fcn.004463f0
add esp, 8
push 0
push 0
push ebx
push esi
push edi
push ebp
push dword [esp + 0x20]
call eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xc], ecx
mov dword [esp], 0x2c2d2e2f
mov word [esp + 4], 0
mov edx, 0xe2263838
mov esi, 0xc7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + edx + 0x1dd9c7c8]
lea edi, [ebx + ebx]
not edi
add edi, ebx
and edi, edx
and ebx, esi
or ebx, edi
mov edi, ebx
and edi, 0xe5
mov ecx, ebx
and ecx, 2
mov ebp, ecx
xor ebp, 2
imul ebp, edi
or edi, 2
imul edi, ecx
xor ebx, 0xe7
add ebx, ebp
add ebx, edi
inc bl
mov byte [esp + edx + 0x1dd9c7c8], bl
inc edx
dec esi
cmp edx, 0xe226383e
jne 0x444fb0
mov edx, dword [0x5d3040]
test edx, edx
je 0x445051
mov esi, dword [esp]
xor edi, edi
mov ebx, dword [0x5d3044]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x7e776f1
je 0x445030
inc edi
cmp edx, edi
jne 0x445020
jmp 0x445051
mov edx, dword [ebx + edi*8 + 4]
cmp edx, esi
je 0x445051
push dword [esp + 0xc]
push 1
push dword [0x5d3048]
push edx
mov esi, eax
call fcn.00443c90
mov eax, esi
add esp, 0x10
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x446300
Capabilities:
Encode data using xor

Disassembly:
push ebx
push edi
push esi
sub esp, 8
mov ecx, dword [esp + 0x18]
mov dword [esp], 0xd1cecf3c
mov byte [esp + 4], 0
mov esi, 0x1729e6ad
mov edx, 0x68d61952
movzx ebx, byte [esp + esi - 0x1729e6ad]
mov eax, esi
xor eax, ebx
mov edi, ebx
and edi, esi
or eax, edx
not eax
or eax, edi
add al, al
sub bl, al
movzx eax, bl
add eax, esi
add al, 0x9f
mov byte [esp + esi - 0x1729e6ad], al
inc esi
dec edx
cmp esi, 0x1729e6b2
jne 0x446320
mov eax, dword [esp]
mov eax, dword fs:[eax]
xor edx, edx
test ecx, ecx
sete dl
jmp dword [edx*4 + 0x5d1b44]

Function at 0x4463f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x28
mov eax, dword [esp + 0x3c]
movzx eax, word [eax]
mov dword [esp], 0x1312bb45
mov word [esp + 4], 0
mov byte [esp + 6], 0
mov ecx, 0x736937bc
mov edx, 0x16c843
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x736937bc]
mov edi, edx
and edi, 0x164842
mov ebx, ecx
and ebx, 0x5360033d
or ebx, edi
xor ebx, esi
mov edi, ebx
xor edi, 0x201f7cc2
mov esi, edi
and esi, 0x51
mov ebp, ebx
and ebp, 2
imul ebp, esi
and edi, 2
or esi, 2
imul esi, edi
xor ebx, 0x91
add ebx, ebp
add ebx, esi
inc bl
mov byte [esp + ecx - 0x736937bc], bl
inc ecx
dec edx
cmp ecx, 0x736937c3
jne 0x446420
xor ecx, ecx
cmp dword [esp], eax
setne cl
xor esi, esi
jmp dword [ecx*4 + 0x5d1b94]
Function at 0x446e50
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x28
mov edi, dword [esp + 0x4c]
mov ebx, dword [esp + 0x3c]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x446e70
mov esi, eax
sar esi, 1
cmp esi, 0xfffffffb
jge 0x446e8b
mov eax, 0xffffffff
jmp 0x446e8e
add eax, 0xa
push eax
call fcn.0040d310
add esp, 4
mov dword [eax], 0x3f005c
mov dword [eax + 4], 0x5c003f
lea ecx, [esi + 4]
mov word [eax + 8], 0
mov edx, eax
add edx, 8
movzx ebp, word [ebx]
test bp, bp
je 0x446ed1
add ebx, 2
nop
nop
nop
mov word [edx], bp
add edx, 2
movzx ebp, word [ebx]
add ebx, 2
test bp, bp
jne 0x446ec0
mov word [edx], 0
mov edx, ecx
and edx, 0xfffd
and esi, 2
mov ebx, esi
xor ebx, 2
imul ebx, edx
or ecx, 2
imul ecx, esi
lea edx, [ecx + ebx]
mov word [esp + 8], dx
add ecx, ebx
add ecx, 2
mov word [esp + 0xa], cx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x18
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], 0x40
lea ecx, [esp + 8]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp], 0x2c2d2e2f
mov word [esp + 4], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x38
xor dl, byte [esp + ecx]
add dl, 0xe8
mov byte [esp + ecx], dl
inc ecx
cmp ecx, 6
jne 0x446f50
mov esi, dword [esp]
mov ecx, dword [0x5d3040]
test ecx, ecx
je 0x446fc4
xor edx, edx
mov ebx, dword [0x5d3044]
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0x266686e9
je 0x446f90
inc edx
cmp ecx, edx
jne 0x446f80
jmp 0x446fc4
mov ecx, dword [ebx + edx*8 + 4]
cmp ecx, esi
je 0x446fc4
mov edx, esp
lea esi, [esp + 0x10]
push edi
push dword [esp + 0x4c]
push edx
push esi
push dword [esp + 0x54]
push dword [esp + 0x54]
push 6
push dword [0x5d3048]
push ecx
mov edi, eax
call fcn.00443c90
add esp, 0x24
mov esi, eax
mov eax, edi
push eax
call fcn.0040d320
add esp, 4
mov eax, esi
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x446fe0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x50
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + eax + 2], 0
lea eax, [eax + 2]
jne 0x447000
mov ebx, eax
sar ebx, 1
cmp ebx, 0xfffffffb
jge 0x44701b
mov eax, 0xffffffff
jmp 0x44701e
add eax, 0xa
push eax
call fcn.0040d310
add esp, 4
mov dword [eax], 0x3f005c
mov dword [eax + 4], 0x5c003f
mov word [eax + 8], 0
mov ecx, eax
add ecx, 8
movzx edx, word [esi]
test dx, dx
je 0x447061
add esi, 2
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x447050
mov word [ecx], 0
lea ecx, [ebx*2 + 8]
mov word [esp], cx
lea ecx, [ebx*2 + 0xa]
mov word [esp + 2], cx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x18
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], 0x40
mov ecx, esp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0x2c2d2e2f
mov word [esp + 0x24], 0
xor ecx, ecx
mov edx, ecx
add dl, 0x38
xor dl, byte [esp + ecx + 0x20]
add dl, 0xe8
mov byte [esp + ecx + 0x20], dl
inc ecx
cmp ecx, 6
jne 0x4470c0
mov esi, dword [esp + 0x20]
mov ecx, dword [0x5d3040]
test ecx, ecx
je 0x447129
xor edx, edx
mov ebx, dword [0x5d3044]
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0x87573896
je 0x447100
inc edx
cmp ecx, edx
jne 0x4470f0
jmp 0x447129
mov ecx, dword [ebx + edx*8 + 4]
cmp ecx, esi
je 0x447129
lea edx, [esp + 0x20]
lea esi, [esp + 8]
push edx
push esi
push 2
push dword [0x5d3048]
push ecx
mov ebx, eax
call fcn.00443c90
add esp, 0x14
mov esi, eax
mov eax, ebx
push eax
call fcn.0040d320
add esp, 4
test edi, edi
je 0x44713c
mov eax, dword [esp + 0x40]
mov dword [edi], eax
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret

Function at 0x447150
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x28
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov dword [esp], 0x2c2d2e2f
mov word [esp + 4], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x38
xor cl, byte [esp + eax]
add cl, 0xe8
mov byte [esp + eax], cl
inc eax
cmp eax, 6
jne 0x447180
mov eax, dword [esp]
mov edx, dword [0x5d3040]
test edx, edx
je 0x4471e8
xor ebx, ebx
mov ecx, dword [0x5d3044]
nop
nop
nop
nop
nop
nop
nop
cmp dword [ecx + ebx*8], 0xa70a987f
je 0x4471c0
inc ebx
cmp edx, ebx
jne 0x4471b0
jmp 0x4471e8
mov edx, dword [ecx + ebx*8 + 4]
cmp edx, eax
je 0x4471e8
mov eax, esp
lea ecx, [esp + 0x1c]
push 5
push 0x18
push eax
push ecx
push dword [ebp + 8]
push 5
push dword [0x5d3048]
push edx
call fcn.00443c90
add esp, 0x20
test edi, edi
je 0x4471f2
mov ecx, dword [esp + 8]
mov dword [edi], ecx
test esi, esi
je 0x4471fe
cmp byte [esp + 0x15], 0
setne byte [esi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x10002420
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov ebp, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x70]
add eax, ebp
cmp ebp, eax
mov dword [esp + 0x24], eax
jae 0x100024ea
lea eax, [edi + 0x14]
mov dword [esp + 0x28], eax
lea eax, [edi + 0xc]
mov dword [esp + 0x20], eax
lea eax, [edi + 0x13]
mov dword [esp + 0x2c], eax
lea eax, [edi + 0x12]
mov dword [esp + 0x30], eax
lea eax, [edi + 0x11]
mov dword [esp + 0x34], eax
lea eax, [edi + 0x10]
mov dword [esp + 0x38], eax
lea eax, [edi + 0xf]
mov dword [esp + 0x3c], eax
lea eax, [edi + 0xe]
mov dword [esp + 0x40], eax
lea eax, [edi + 0xd]
mov dword [esp + 0x44], eax
lea eax, [edi + 0xb]
mov dword [esp + 0x48], eax
lea eax, [edi + 4]
mov dword [esp + 0x4c], eax
nop
mov eax, dword [edi + 0x24]
test eax, eax
je 0x100024f2
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov esi, 0x10
sub esi, eax
add esi, ebp
add ecx, eax
cmp ebx, esi
cmovbe esi, ebx
mov edx, esi
sub edx, ebp
add eax, edx
and eax, 0xf
cmp esi, ebp
mov dword [edi + 0x24], eax
jbe 0x100024e4
mov ebx, dword [esp + 0x74]
mov eax, ebp
add eax, 1
add ecx, 1
movzx edx, byte [eax - 1]
xor dl, byte [ecx - 1]
add ebx, 1
cmp esi, eax
mov byte [ebx - 1], dl
jne 0x100024c5
sub esi, ebp
add dword [esp + 0x74], esi
add ebp, esi
cmp dword [esp + 0x24], ebp
ja 0x10002490
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 4], eax
mov eax, dword [edi]
mov dword [esp], eax
call sym.avutil_56.dll_av_aes_crypt
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x20], ecx
ja 0x100025a8
add byte [edi + 0x13], 1
jne 0x100025a8
mov ecx, dword [esp + 0x30]
cmp dword [esp + 0x20], ecx
ja 0x100025a8
add byte [edi + 0x12], 1
jne 0x100025a8
mov ecx, dword [esp + 0x34]
cmp dword [esp + 0x20], ecx
ja 0x100025a8
add byte [edi + 0x11], 1
jne 0x100025a8
mov ecx, dword [esp + 0x38]
cmp dword [esp + 0x20], ecx
ja 0x100025a8
add byte [edi + 0x10], 1
jne 0x100025a8
mov ecx, dword [esp + 0x3c]
cmp dword [esp + 0x20], ecx
ja 0x100025a8
add byte [edi + 0xf], 1
jne 0x100025a8
mov ecx, dword [esp + 0x40]
cmp dword [esp + 0x20], ecx
ja 0x100025a8
add byte [edi + 0xe], 1
jne 0x100025a8
mov esi, dword [esp + 0x44]
cmp dword [esp + 0x20], esi
ja 0x100025a8
add byte [edi + 0xd], 1
jne 0x100025a8
add byte [edi + 0xc], 1
jne 0x100025a8
mov ecx, dword [esp + 0x48]
cmp dword [esp + 0x20], ecx
ja 0x100025a8
add byte [edi + 0xb], 1
mov eax, dword [edi + 0x24]
jmp 0x10002497
Function at 0x10006f70
Capabilities:
Encode data using base64

Disassembly:
push ebp
push edi
push esi
push ebx
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
cmp ecx, 0x3ffffffe
ja 0x10007070
lea edi, [ecx + 2]
mov edx, 0x55555556
mov eax, edi
sar edi, 0x1f
imul edx
sub edx, edi
shl edx, 2
cmp edx, dword [esp + 0x18]
jge 0x10007070
cmp ecx, 3
mov edi, esi
jle 0x10007077
mov ebp, dword [ebx]
sub ecx, 3
add edi, 4
add ebx, 3
bswap ebp
mov eax, ebp
shr eax, 0x1a
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [edi - 4], al
mov eax, ebp
shr eax, 0x14
and eax, 0x3f
movzx edx, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov eax, ebp
shr ebp, 8
shr eax, 0xe
and ebp, 0x3f
and eax, 0x3f
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [edi - 3], dl
mov byte [edi - 2], al
movzx eax, byte [ebp + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
cmp ecx, 3
mov byte [edi - 1], al
jg 0x10006fb5
cmp ecx, 1
movzx edx, byte [ebx]
je 0x10007029
movzx eax, byte [ebx + 1]
shl edx, 8
add edx, eax
cmp ecx, 2
je 0x10007029
movzx eax, byte [ebx + 2]
shl edx, 8
add edx, eax
shl ecx, 3
shl edx, 6
nop
mov eax, edx
add edi, 1
shr eax, cl
sub ecx, 6
and eax, 0x3f
test ecx, ecx
movzx eax, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [edi - 1], al
jg 0x10007030
mov eax, edi
sub eax, esi
test al, 3
je 0x10007062
add edi, 1
mov byte [edi - 1], 0x3d
mov eax, edi
sub eax, esi
test al, 3
jne 0x10007053
mov byte [edi], 0
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
pop ebx
xor eax, eax
pop esi
pop edi
pop ebp
ret
test ecx, ecx
je 0x1000705a
jmp 0x1000700a
Function at 0x1000f310
Capabilities:
Encode data using xor

Disassembly:
push ebp
push edi
push esi
mov esi, edx
mov edx, ecx
lea ecx, [esi - 8]
push ebx
cmp ecx, 0x18
ja 0x1000f33b
mov ecx, esi
mov ebp, ecx
shr ebp, 5
and ebp, 1
mov edi, ebp
shl ebp, cl
xor edi, 1
mov ebx, ebp
xor ebp, ebp
shl edi, cl
cmp ebp, ebx
jle 0x1000f345
pop ebx
mov eax, 0xffffffea
pop esi
pop edi
pop ebp
ret
jge 0x1000f420
mov ecx, 0x20
xor ebp, ebp
sub ecx, esi
shl edx, cl
xor ecx, ecx
jmp 0x1000f3c3
mov esi, ebp
mov ecx, ebp
shl esi, 0x18
shl ecx, 0x19
sar esi, 0x1f
and esi, edx
xor esi, ecx
mov ebx, esi
add esi, esi
sar ebx, 0x1f
and ebx, edx
xor ebx, esi
mov ecx, ebx
add ebx, ebx
sar ecx, 0x1f
and ecx, edx
xor ecx, ebx
mov edi, ecx
add ecx, ecx
sar edi, 0x1f
and edi, edx
xor edi, ecx
mov esi, edi
add edi, edi
sar esi, 0x1f
and esi, edx
xor esi, edi
mov ebx, esi
add esi, esi
sar ebx, 0x1f
and ebx, edx
xor ebx, esi
mov ecx, ebx
add ebx, ebx
sar ecx, 0x1f
and ecx, edx
xor ecx, ebx
mov esi, ecx
lea ebx, [ecx + ecx]
sar esi, 0x1f
and esi, edx
mov ecx, esi
xor ecx, ebx
bswap ecx
mov dword [eax + ebp*4], ecx
add ebp, 1
cmp ebp, 0x100
jne 0x1000f360
lea ebx, [eax + 0x400]
mov dword [eax + 0x400], 1
mov ecx, eax
mov edx, dword [ecx]
add ecx, 4
movzx esi, dl
shr edx, 8
xor edx, dword [eax + esi*4]
movzx esi, dl
mov dword [ecx + 0x3fc], edx
shr edx, 8
xor edx, dword [eax + esi*4]
movzx esi, dl
mov dword [ecx + 0x7fc], edx
shr edx, 8
xor edx, dword [eax + esi*4]
mov dword [ecx + 0xbfc], edx
cmp ecx, ebx
jne 0x1000f3e3
pop ebx
xor eax, eax
pop esi
pop edi
pop ebp
ret
cmp edx, edi
jae 0x1000f33b
jmp 0x1000f34b
Function at 0x1000f870
Capabilities:
Encode data using xor

Disassembly:
push ebp
push edi
push esi
push ebx
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
lea ecx, [edi - 8]
cmp ecx, 0x18
ja 0x1000f8a4
movzx ecx, byte [esp + 0x1c]
xor ebp, ebp
mov esi, ecx
shr esi, 5
and esi, 1
mov ebx, esi
shl esi, cl
xor ebx, 1
shl ebx, cl
cmp ebp, esi
jle 0x1000f8ae
pop ebx
mov eax, 0xffffffea
pop esi
pop edi
pop ebp
ret
jge 0x1000fa1d
cmp dword [esp + 0x24], 0x404
je 0x1000f8c8
cmp dword [esp + 0x24], 0x1000
jne 0x1000f8a4
mov ecx, 0x20
sub ecx, dword [esp + 0x1c]
mov ebp, eax
xor edi, edi
mov esi, dword [esp + 0x18]
shl ebp, cl
jmp 0x1000f958
mov ecx, edi
mov ebx, edi
and ecx, 1
shr ebx, 1
neg ecx
and ecx, eax
xor ecx, ebx
mov ebx, ecx
and ecx, 1
neg ecx
shr ebx, 1
and ecx, eax
xor ebx, ecx
mov ecx, ebx
and ebx, 1
neg ebx
shr ecx, 1
and ebx, eax
xor ecx, ebx
mov ebx, ecx
and ecx, 1
neg ecx
shr ebx, 1
and ecx, eax
xor ebx, ecx
mov ecx, ebx
and ebx, 1
neg ebx
shr ecx, 1
and ebx, eax
xor ecx, ebx
mov ebx, ecx
and ecx, 1
neg ecx
shr ebx, 1
and ecx, eax
xor ebx, ecx
mov ecx, ebx
and ebx, 1
shr ecx, 1
neg ebx
and ebx, eax
xor ecx, ebx
mov ebx, ecx
and ecx, 1
neg ecx
shr ebx, 1
and ecx, eax
xor ecx, ebx
mov dword [edx + edi*4], ecx
add edi, 1
cmp edi, 0x100
je 0x1000f9c3
test esi, esi
jne 0x1000f8e0
mov ecx, edi
mov ebx, edi
shl ecx, 0x18
shl ebx, 0x19
sar ecx, 0x1f
and ecx, ebp
xor ecx, ebx
lea ebx, [ecx + ecx]
sar ecx, 0x1f
and ecx, ebp
xor ebx, ecx
lea ecx, [ebx + ebx]
sar ebx, 0x1f
and ebx, ebp
xor ecx, ebx
lea ebx, [ecx + ecx]
sar ecx, 0x1f
and ecx, ebp
xor ebx, ecx
lea ecx, [ebx + ebx]
sar ebx, 0x1f
and ebx, ebp
xor ecx, ebx
lea ebx, [ecx + ecx]
sar ecx, 0x1f
and ecx, ebp
xor ebx, ecx
lea ecx, [ebx + ebx]
sar ebx, 0x1f
and ebx, ebp
xor ecx, ebx
lea ebx, [ecx + ecx]
sar ecx, 0x1f
and ecx, ebp
xor ecx, ebx
bswap ecx
mov dword [edx + edi*4], ecx
add edi, 1
cmp edi, 0x100
jne 0x1000f958
cmp dword [esp + 0x24], 0xfff
mov dword [edx + 0x400], 1
mov ecx, edx
lea ebx, [edx + 0x400]
jbe 0x1000fa16
nop
mov eax, dword [ecx]
add ecx, 4
movzx esi, al
shr eax, 8
xor eax, dword [edx + esi*4]
movzx esi, al
mov dword [ecx + 0x3fc], eax
shr eax, 8
xor eax, dword [edx + esi*4]
movzx esi, al
mov dword [ecx + 0x7fc], eax
shr eax, 8
xor eax, dword [edx + esi*4]
mov dword [ecx + 0xbfc], eax
cmp ecx, ebx
jne 0x1000f9e0
pop ebx
xor eax, eax
pop esi
pop edi
pop ebp
ret
cmp eax, ebx
jae 0x1000f8a4
jmp 0x1000f8b4
Function at 0x1000fbb0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 4
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
mov edx, dword [ebx + 0x400]
add ebp, ecx
test edx, edx
jne 0x1000fc59
test cl, 3
je 0x1000fbfc
cmp ecx, ebp
jb 0x1000fbe6
jmp 0x1000fbfc
cmp ebp, ecx
jbe 0x1000fbfc
add ecx, 1
mov edx, eax
shr eax, 8
xor dl, byte [ecx - 1]
movzx edx, dl
xor eax, dword [ebx + edx*4]
test cl, 3
jne 0x1000fbe2
lea esi, [ebp - 3]
cmp ecx, esi
mov edi, esi
jae 0x1000fc59
mov dword [esp], ebp
mov esi, ecx
mov ebp, edi
mov dword [esp + 0x20], ecx
xor eax, dword [esi]
add esi, 4
mov edi, eax
mov ecx, eax
movzx edx, al
shr edi, 0x18
shr ecx, 0x10
movzx eax, ah
mov edx, dword [ebx + edx*4 + 0xc00]
xor edx, dword [ebx + edi*4]
movzx ecx, cl
xor edx, dword [ebx + eax*4 + 0x800]
mov eax, dword [ebx + ecx*4 + 0x400]
xor eax, edx
cmp esi, ebp
jb 0x1000fc10
mov ebp, dword [esp]
mov ecx, dword [esp + 0x20]
lea edx, [ebp - 4]
sub edx, ecx
shr edx, 2
lea ecx, [ecx + edx*4 + 4]
cmp ebp, ecx
jbe 0x1000fc75
lea esi, [esi]
add ecx, 1
mov edx, eax
shr eax, 8
xor dl, byte [ecx - 1]
movzx edx, dl
xor eax, dword [ebx + edx*4]
cmp ebp, ecx
jne 0x1000fc60
add esp, 4
pop ebx
pop esi
pop edi
pop ebp
ret