joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100cbf30
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x3ec
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_GetLastError]
push ebp
push esi
xor ebp, ebp
push edi
mov dword [0x10172b78], ebp
call ebx
mov dword [0x10172b80], eax
mov ecx, 0xf7
xor eax, eax
lea edi, [esp + 0x1d]
mov byte [esp + 0x1c], 0
mov esi, dword [esp + 0x41c]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
cmp esi, ebp
stosb byte es:[edi], al
je 0x100cc06c
mov ecx, 0xf8
lea edi, [esp + 0x1c]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x1c]
push eax
call fcn.100d2e20
mov esi, dword [esp + 0x408]
mov ebx, dword [esp + 0x414]
mov ebp, dword [esp + 0x410]
mov edi, dword [esp + 0x40c]
add esp, 4
mov dword [esp + 0x10], eax
test esi, esi
jne 0x100cbfd5
test edi, edi
jne 0x100cbfd5
test ebp, ebp
jne 0x100cbfd5
test ebx, ebx
jne 0x100cbfd5
mov ecx, dword [esp + 0x414]
test ecx, ecx
jne 0x100cbfd5
mov ecx, dword [esp + 0x418]
test ecx, ecx
je 0x100cc061
cmp eax, 3
jne 0x100cc061
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x1c]
push ecx
push 0x30
push edx
call fcn.10106180
add esp, 0xc
test eax, eax
je 0x100cc05d
mov eax, dword [esp + 0x40]
test esi, esi
je 0x100cc005
mov ecx, eax
and ecx, 1
mov dword [esi], ecx
test edi, edi
je 0x100cc010
mov edx, eax
and edx, 2
mov dword [edi], edx
test ebp, ebp
je 0x100cc01c
mov ecx, eax
and ecx, 4
mov dword [ebp], ecx
test ebx, ebx
je 0x100cc03b
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov dword [ebx], edx
mov edx, dword [esp + 0x34]
mov dword [ebx + 4], ecx
mov ecx, dword [esp + 0x38]
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], ecx
mov ecx, dword [esp + 0x414]
test ecx, ecx
je 0x100cc04d
mov edx, eax
and edx, 8
mov dword [ecx], edx
mov ecx, dword [esp + 0x418]
test ecx, ecx
je 0x100cc05d
and eax, 0x10
mov dword [ecx], eax
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3ec
ret
mov esi, dword [esp + 0x400]
lea eax, [esp + 0x10]
push 1
push eax
mov dword [esp + 0x18], ebp
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_SetFilePointer]
push esi
call ebp
push 0
push 0
push 0
push esi
mov dword [esp + 0x28], eax
call ebp
cmp esi, 0xffffffff
je 0x100cc0fd
lea ecx, [esp + 0x1c]
test ecx, ecx
je 0x100cc0fd
push esi
call dword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 1
jne 0x100cc118
mov ecx, 0xd
xor eax, eax
lea edi, [esp + 0x1c]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
xor edi, edi
lea eax, [esp + 0x1c]
push edi
push edx
push 0x34
push eax
push esi
mov dword [esp + 0x28], edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x100cc0f6
mov dword [0x10172b78], 0xd
mov dword [0x10172b7c], 0x29f7
call ebx
mov dword [0x10172b80], eax
jmp 0x100cc11a
mov edi, 1
jmp 0x100cc11a
mov dword [0x10172b78], 1
mov dword [0x10172b7c], 0x29ea
call ebx
mov dword [0x10172b80], eax
xor edi, edi
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x10]
push 0
push ecx
push edx
push esi
call ebp
test edi, edi
jne 0x100cbf7e
mov dword [0x10172b78], 0xf
mov dword [0x10172b7c], 0x1b63
call ebx
pop edi
pop esi
mov dword [0x10172b80], eax
pop ebp
xor eax, eax
pop ebx
add esp, 0x3ec
ret
Function at 0x100cf1d0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x3e0
push ebx
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
xor ebx, ebx
push edi
mov dword [0x10172b78], ebx
call esi
mov ebp, dword [esp + 0x3f4]
mov dword [0x10172b80], eax
lea eax, [esp + 0x14]
push 1
push eax
push ebx
push ebp
mov dword [esp + 0x24], ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [esp + 0x1c], eax
mov ecx, 0xf3
xor eax, eax
lea edi, [esp + 0x21]
mov byte [esp + 0x20], bl
cmp ebp, 0xffffffff
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [esp + 0x18], ebx
stosb byte es:[edi], al
je 0x100cf282
lea ecx, [esp + 0x20]
test ecx, ecx
je 0x100cf282
push ebp
call dword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 1
jne 0x100cf38c
lea edx, [esp + 0x10]
push ebx
push edx
lea eax, [esp + 0x28]
push 4
push eax
push ebp
mov dword [esp + 0x34], ebx
mov dword [esp + 0x24], ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x100cf2a2
mov dword [0x10172b78], 0xd
mov dword [0x10172b7c], 0x29f7
call esi
mov dword [0x10172b80], eax
jmp 0x100cf38c
mov dword [0x10172b78], 1
mov dword [0x10172b7c], 0x29ea
call esi
mov dword [0x10172b80], eax
jmp 0x100cf38c
mov ecx, 4
mov edi, 0x1015c094
lea esi, [esp + 0x20]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x100cf2bb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x100cf2e0
mov ecx, 4
mov edi, 0x1015c06c
lea esi, [esp + 0x20]
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x100cf2d8
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x100cf38c
lea ecx, [esp + 0x24]
test ecx, ecx
je 0x100cf342
push ebp
call dword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 1
jne 0x100cf38c
mov ecx, 0xd
xor eax, eax
lea edi, [esp + 0x24]
lea edx, [esp + 0x10]
rep stosd dword es:[edi], eax
push ebx
push edx
lea eax, [esp + 0x2c]
push 0x34
push eax
push ebp
mov dword [esp + 0x24], ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x100cf363
mov dword [0x10172b78], 0xd
mov dword [0x10172b7c], 0x29f7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x10172b80], eax
jmp 0x100cf38c
mov dword [0x10172b78], 1
mov dword [0x10172b7c], 0x29ea
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x10172b80], eax
jmp 0x100cf38c
mov ecx, dword [esp + 0x400]
mov edx, dword [esp + 0x3fc]
mov eax, dword [esp + 0x3f8]
push ecx
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
call fcn.100d19b0
add esp, 0x10
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x14]
push ebx
push edx
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3e0
ret
Function at 0x100f2910
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x10125858
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x60
push ebx
push ebp
push esi
xor esi, esi
push edi
mov dword [0x10173300], esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, dword [esp + 0x80]
mov edi, dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [0x10173308], eax
lea eax, [esp + 0x10]
push 1
push eax
push esi
push ebx
mov dword [esp + 0x20], esi
call edi
push esi
push esi
push 0x40
push ebx
mov dword [esp + 0x2c], eax
call edi
mov ecx, 0x13
xor eax, eax
lea edi, [esp + 0x24]
mov dword [esp + 0x20], esi
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x80]
mov dword [esp + 0x14], esi
call fcn.10041350
mov edx, dword [esp + 0x84]
xor ecx, ecx
push 0xffffffffffffffff
mov dword [esp + 0x7c], esi
mov cx, word [edx + 0x3e]
push ecx
lea ecx, [esp + 0x88]
call fcn.10041560
lea ecx, [esp + 0x80]
call fcn.10041550
lea ecx, [esp + 0x80]
mov esi, eax
call fcn.10041c70
cmp ebx, 0xffffffff
mov ebp, eax
je 0x100f2aa2
test ebp, ebp
je 0x100f2aa2
test esi, esi
je 0x100f2aa2
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 1
jne 0x100f2a3b
mov ecx, esi
xor eax, eax
mov edx, ecx
mov edi, ebp
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push 0
and ecx, 3
mov dword [esp + 0x1c], 0
rep stosb byte es:[edi], al
lea eax, [esp + 0x1c]
push eax
push esi
push ebp
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x100f2abb
mov dword [0x10173300], 0xd
mov dword [0x10173304], 0x2251
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x10173308], eax
lea ecx, [esp + 0x80]
mov dword [esp + 0x78], 0xffffffff
call fcn.100414b0
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x10]
push 0
push eax
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, dword [esp + 0x14]
pop edi
pop esi
pop ebp
test eax, eax
pop ebx
jne 0x100f2b72
mov dword [0x10173300], 0xf
mov dword [0x10173304], 0x2e7c
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x10173308], eax
xor eax, eax
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
add esp, 0x6c
ret
mov dword [0x10173300], 1
mov dword [0x10173304], 0x2244
jmp 0x100f2a30
lea ecx, [esp + 0x80]
call fcn.10041550
push eax
lea ecx, [esp + 0x84]
call fcn.10041c70
mov ecx, dword [esp + 0x88]
push eax
push ecx
call fcn.100f4020
add esp, 0xc
test eax, eax
je 0x100f2a3b
lea ecx, [esp + 0x80]
call fcn.10041c50
mov edx, 0x50
cmp word [eax + 4], dx
jne 0x100f2a3b
mov ecx, 0x14
mov esi, eax
lea edi, [esp + 0x20]
rep movsd dword es:[edi], dword [esi]
cmp word [esp + 0x24], dx
jne 0x100f2a3b
cmp word [esp + 0x30], 0x38
jne 0x100f2a3b
mov esi, dword [esp + 0x20]
mov dword [esp + 0x20], 0
push esi
push edx
lea edx, [esp + 0x28]
push edx
call fcn.10106180
add esp, 0xc
mov dword [esp + 0x20], esi
test eax, eax
je 0x100f2a3b
mov edi, dword [esp + 0x88]
mov ecx, 0x14
lea esi, [esp + 0x20]
mov dword [esp + 0x14], 1
rep movsd dword es:[edi], dword [esi]
jmp 0x100f2a3b
mov ecx, dword [esp + 0x60]
mov eax, 1
mov dword fs:[0], ecx
add esp, 0x6c
ret
Function at 0x100f8670
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x24
push ebx
push ebp
push esi
xor ebp, ebp
push edi
mov dword [0x10173910], ebp
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x10173918], eax
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x15]
mov byte [esp + 0x14], 0
mov esi, dword [esp + 0x3c]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
cmp esi, ebp
stosb byte es:[edi], al
je 0x100f86b4
mov ecx, 8
lea edi, [esp + 0x14]
rep movsd dword es:[edi], dword [esi]
jmp 0x100f871d
mov esi, dword [esp + 0x38]
mov edi, dword [sym.imp.KERNEL32.dll_SetFilePointer]
lea eax, [esp + 0x10]
push 1
push eax
push ebp
push esi
mov dword [esp + 0x20], ebp
call edi
push ebp
push ebp
push ebp
push esi
mov ebx, eax
call edi
push esi
call dword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 1
jne 0x100f870e
lea ecx, [esp + 0x3c]
push 0
push ecx
lea edx, [esp + 0x1c]
push 0x20
push edx
push esi
mov dword [esp + 0x50], 0
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x100f870e
cmp dword [esp + 0x3c], 0x20
jne 0x100f870e
mov ebp, 1
lea eax, [esp + 0x10]
push 0
push eax
push ebx
push esi
call edi
test ebp, ebp
je 0x100f8751
lea ecx, [esp + 0x14]
push ecx
call fcn.100f8220
add esp, 4
test eax, eax
je 0x100f8770
mov ecx, dword [esp + 0x40]
mov eax, 1
test ecx, ecx
je 0x100f8772
mov bl, byte [esp + 0x1b]
xor edx, edx
cmp bl, 0xe
pop edi
setne dl
pop esi
pop ebp
mov dword [ecx], edx
pop ebx
add esp, 0x24
ret
mov dword [0x10173910], 0xf
mov dword [0x10173914], 0x2f6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x10173918], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
Function at 0x1010604d
Capabilities:
Get file attributes
Set file attributes

Disassembly:
push 0xffffffffffffffff
push 0x10125efb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, dword [0x10127994]
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x10], esi
lea edi, [esi + 4]
mov dword [edi], eax
mov ebp, dword [esp + 0x24]
xor ebx, ebx
push ebp
mov ecx, edi
mov dword [esp + 0x20], ebx
mov dword [esi], 0x1012fd10
call fcn.1002dca0
mov edi, dword [edi]
mov dword [esi + 8], ebx
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ebx, eax
test bl, 1
je 0x10106097
and ebx, 0xfffffffe
push ebx
push ebp
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
test eax, eax
je 0x10106097
mov dword [esi + 8], ebx
mov ecx, dword [esp + 0x14]
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x10
ret 4

Function at 0x10106fa0
Capabilities:
Read file on windows

Disassembly:
mov eax, dword [esp + 4]
test eax, eax
je 0x10106fcf
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x14]
push eax
push ecx
push edx
call fcn.101055d0
add esp, 0x18
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x10]
push ecx
mov ecx, dword [esp + 0x10]
push edx
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
ret
Function at 0x10109f00
Capabilities:
Encode data using xor

Disassembly:
sub esp, 8
push ebx
push ebp
mov ebp, dword [esp + 0x1c]
push esi
mov eax, ebp
mov esi, dword [esp + 0x1c]
cdq
and edx, 7
push edi
add eax, edx
mov edi, ecx
mov ebx, eax
sar ebx, 3
test esi, esi
je 0x1010a022
test ebx, ebx
jl 0x1010a022
jle 0x10109ff4
mov eax, dword [esp + 0x1c]
push 0
push eax
call fcn.1010a400
test ebx, ebx
jle 0x10109ff4
add esi, 6
mov ebp, ebx
xor eax, eax
xor ecx, ecx
mov al, byte [esi - 6]
mov cl, byte [esi - 5]
shl eax, 0x18
shl ecx, 0x10
xor edx, edx
or eax, ecx
mov dh, byte [esi - 4]
xor ecx, ecx
mov cl, byte [esi - 3]
or eax, edx
or eax, ecx
xor edx, edx
mov dl, byte [esi - 1]
mov dword [esp + 0x10], eax
xor eax, eax
xor ecx, ecx
mov al, byte [esi - 2]
mov ch, byte [esi]
shl eax, 0x18
shl edx, 0x10
or eax, edx
xor edx, edx
mov dl, byte [esi + 1]
or eax, ecx
or eax, edx
mov ecx, edi
mov dword [esp + 0x14], eax
lea eax, [edi + 4]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.1010a7a0
mov eax, dword [esp + 0x10]
add esi, 8
mov ecx, eax
mov edx, eax
shr ecx, 0x18
mov byte [esi - 0xe], cl
mov ecx, eax
shr edx, 0x10
shr ecx, 8
mov byte [esi - 0xd], dl
mov byte [esi - 0xc], cl
mov byte [esi - 0xb], al
mov eax, dword [esp + 0x14]
mov edx, eax
mov ecx, eax
shr edx, 0x18
mov byte [esi - 0xa], dl
mov edx, eax
shr ecx, 0x10
shr edx, 8
mov byte [esi - 9], cl
mov byte [esi - 8], dl
mov byte [esi - 7], al
dec ebp
jne 0x10109f4d
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
shl ebx, 3
sub ebp, ebx
test ebp, ebp
lea eax, [ebx + esi]
jle 0x1010a013
mov ecx, dword [esp + 0x1c]
sub ecx, eax
mov dl, byte [ecx + eax]
mov bl, byte [eax]
xor bl, dl
mov byte [eax], bl
inc eax
dec ebp
jne 0x1010a006
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 8
ret 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret 0xc
Function at 0x1010a030
Capabilities:
Encode data using xor

Disassembly:
sub esp, 8
push ebx
push ebp
mov ebp, dword [esp + 0x1c]
push esi
mov eax, ebp
mov esi, dword [esp + 0x1c]
cdq
and edx, 7
push edi
add eax, edx
mov edi, ecx
mov ebx, eax
sar ebx, 3
test esi, esi
je 0x1010a152
test ebx, ebx
jl 0x1010a152
jle 0x1010a124
mov eax, dword [esp + 0x1c]
push 1
push eax
call fcn.1010a400
test ebx, ebx
jle 0x1010a124
add esi, 6
mov ebp, ebx
xor eax, eax
xor ecx, ecx
mov al, byte [esi - 6]
mov cl, byte [esi - 5]
shl eax, 0x18
shl ecx, 0x10
xor edx, edx
or eax, ecx
mov dh, byte [esi - 4]
xor ecx, ecx
mov cl, byte [esi - 3]
or eax, edx
or eax, ecx
xor edx, edx
mov dl, byte [esi - 1]
mov dword [esp + 0x10], eax
xor eax, eax
xor ecx, ecx
mov al, byte [esi - 2]
mov ch, byte [esi]
shl eax, 0x18
shl edx, 0x10
or eax, edx
xor edx, edx
mov dl, byte [esi + 1]
or eax, ecx
or eax, edx
mov ecx, edi
mov dword [esp + 0x14], eax
lea eax, [edi + 4]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.1010a7a0
mov eax, dword [esp + 0x10]
add esi, 8
mov ecx, eax
mov edx, eax
shr ecx, 0x18
mov byte [esi - 0xe], cl
mov ecx, eax
shr edx, 0x10
shr ecx, 8
mov byte [esi - 0xd], dl
mov byte [esi - 0xc], cl
mov byte [esi - 0xb], al
mov eax, dword [esp + 0x14]
mov edx, eax
mov ecx, eax
shr edx, 0x18
mov byte [esi - 0xa], dl
mov edx, eax
shr ecx, 0x10
shr edx, 8
mov byte [esi - 9], cl
mov byte [esi - 8], dl
mov byte [esi - 7], al
dec ebp
jne 0x1010a07d
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
shl ebx, 3
sub ebp, ebx
test ebp, ebp
lea eax, [ebx + esi]
jle 0x1010a143
mov ecx, dword [esp + 0x1c]
sub ecx, eax
mov dl, byte [ecx + eax]
mov bl, byte [eax]
xor bl, dl
mov byte [eax], bl
inc eax
dec ebp
jne 0x1010a136
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 8
ret 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret 0xc
Function at 0x1010a400
Capabilities:
Encrypt data using des

Disassembly:
sub esp, 0x178
push ebx
push ebp
mov dword [esp + 0xc], ecx
push esi
mov esi, dword [esp + 0x188]
push edi
xor ecx, ecx
xor eax, eax
mov al, byte [ecx + str.80_]
mov edx, eax
and eax, 7
sar edx, 3
mov bl, byte [eax*2 + 0x1012ff30]
mov dl, byte [edx + esi]
test bl, dl
setne al
mov byte [esp + ecx + 0x50], al
inc ecx
cmp ecx, 0x38
jl 0x1010a417
mov eax, 0x1e
xor edx, edx
mov dword [esp + 0x10], eax
cmp dword [esp + 0x190], 1
je 0x1010a458
lea eax, [edx + edx]
lea edi, [esp + eax*4 + 0x8c]
lea ebp, [esp + eax*4 + 0x88]
xor eax, eax
xor ecx, ecx
mov cl, byte [edx + 0x1012ffd8]
mov dword [edi], 0
mov dword [ebp], 0
mov esi, ecx
cmp ecx, 0x1c
jge 0x1010a48a
mov bl, byte [esp + ecx + 0x50]
jmp 0x1010a48e
mov bl, byte [esp + ecx + 0x34]
mov byte [esp + eax + 0x18], bl
inc eax
inc ecx
cmp eax, 0x1c
jl 0x1010a47f
mov eax, 0x1c
lea ecx, [esi + 0x1c]
cmp ecx, 0x38
jge 0x1010a4ac
mov bl, byte [esp + ecx + 0x50]
jmp 0x1010a4b0
mov bl, byte [esp + ecx + 0x34]
mov byte [esp + eax + 0x18], bl
inc eax
inc ecx
cmp eax, 0x38
jl 0x1010a4a1
xor ecx, ecx
mov eax, 0x1012ff40
xor ebx, ebx
mov bl, byte [ecx + 0x1012ffe8]
cmp byte [esp + ebx + 0x18], 0
je 0x1010a4db
mov esi, dword [eax]
mov ebx, dword [ebp]
or ebx, esi
mov dword [ebp], ebx
xor ebx, ebx
mov bl, byte [ecx + 0x10130000]
cmp byte [esp + ebx + 0x18], 0
je 0x1010a4f2
mov esi, dword [eax]
mov ebx, dword [edi]
or ebx, esi
mov dword [edi], ebx
add eax, 4
inc ecx
cmp eax, str.80_
jl 0x1010a4c2
mov eax, dword [esp + 0x10]
inc edx
sub eax, 2
cmp eax, 0xfffffffe
mov dword [esp + 0x10], eax
jg 0x1010a44b
lea esi, [esp + 0x88]
lea edi, [esp + 0x108]
mov dword [esp + 0x10], 0x10
mov edx, dword [esi + 4]
mov eax, esi
add esi, 4
mov ecx, edx
mov eax, dword [eax]
mov ebx, edx
shr ecx, 4
and ecx, 0xfc000
and ebx, 0xfc0
or ecx, ebx
mov ebx, eax
and ebx, 0xfc0
mov ebp, eax
shl ebx, 4
and ebp, 0xfc0000
add edi, 4
or ebx, ebp
add edi, 4
shr ecx, 6
shl ebx, 6
or ecx, ebx
add esi, 4
mov dword [edi - 8], ecx
mov ecx, eax
and ecx, 0x3f
and eax, 0x3f000
shl ecx, 4
or ecx, eax
mov eax, edx
shr eax, 4
shl ecx, 0xc
and eax, 0x3f00
and edx, 0x3f
or ecx, eax
mov eax, dword [esp + 0x10]
or ecx, edx
dec eax
mov dword [edi - 4], ecx
mov dword [esp + 0x10], eax
jne 0x1010a528
mov eax, dword [esp + 0x14]
lea edi, [eax + 4]
lea ecx, [eax + 0x84]
cmp edi, ecx
jae 0x1010a5c7
mov edx, edi
sub ecx, edi
sub edx, eax
add ecx, 3
shr ecx, 2
lea esi, [esp + edx + 0x104]
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x178
ret 8
Function at 0x1010aad0
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
mov edx, dword [esp + 8]
mov eax, dword [ecx + 0x400]
push esi
mov esi, dword [ecx + 0x404]
push edi
xor edi, edi
test edx, edx
jle 0x1010ab37
push ebx
push ebp
mov ebp, dword [esp + 0x14]
inc eax
and eax, 0xff
mov edx, dword [ecx + eax*4]
add esi, edx
and esi, 0xff
mov ebx, dword [ecx + esi*4]
mov dword [ecx + eax*4], ebx
add ebx, edx
and ebx, 0xff
mov dword [ecx + esi*4], edx
mov dl, byte [ecx + ebx*4]
mov bl, byte [edi + ebp]
xor bl, dl
mov edx, dword [esp + 0x18]
mov byte [edi + ebp], bl
inc edi
cmp edi, edx
jl 0x1010aaee
pop ebp
pop ebx
mov dword [ecx + 0x404], esi
pop edi
mov dword [ecx + 0x400], eax
pop esi
ret 8
mov dword [ecx + 0x404], esi
pop edi
mov dword [ecx + 0x400], eax
pop esi
ret 8
Function at 0x1010bc70
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0xa0
mov eax, dword [esp + 0xa8]
xor ecx, ecx
xor edx, edx
push ebx
mov ch, byte [eax]
mov dl, byte [eax + 2]
mov cl, byte [eax + 1]
push ebp
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
push esi
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 6]
mov esi, ecx
xor ecx, ecx
push edi
mov ch, byte [eax + 4]
mov cl, byte [eax + 5]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 7]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 0xa]
mov edi, ecx
xor ecx, ecx
mov ch, byte [eax + 8]
mov cl, byte [eax + 9]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 0xb]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 0xe]
mov ebp, ecx
xor ecx, ecx
mov ch, byte [eax + 0xc]
mov cl, byte [eax + 0xd]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 0xf]
shl ecx, 8
or ecx, edx
mov edx, dword [0x10130920]
mov eax, ecx
mov ecx, dword [0x1013091c]
xor ecx, esi
mov esi, dword [esp + 0xb4]
xor edx, edi
mov dword [esp + 0x20], ecx
mov ecx, dword [0x10130924]
mov dword [esp + 0x24], edx
mov edx, dword [0x10130928]
xor ecx, ebp
xor edx, eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
xor ecx, ecx
mov eax, dword [ecx + 0x1013092c]
mov edx, dword [esp + ecx + 0x24]
mov ebp, dword [esp + ecx + 0x2c]
mov ebx, dword [esp + ecx + 0x28]
xor eax, edx
add ecx, 4
xor eax, ebp
xor eax, ebx
mov edx, eax
shr edx, 0x18
mov byte [esp + 0x10], dl
mov edx, eax
shr edx, 0x10
mov byte [esp + 0x11], dl
mov edx, eax
shr edx, 8
mov byte [esp + 0x12], dl
and eax, 0xff
mov edi, dword [esp + 0x11]
mov edx, dword [esp + 0x10]
mov al, byte [eax + 0x1013081c]
and edi, 0xff
and edx, 0xff
mov byte [esp + 0x1b], al
mov bl, byte [edi + 0x1013081c]
mov edi, dword [esp + 0x12]
mov dl, byte [edx + 0x1013081c]
and edi, 0xff
mov byte [esp + 0x19], bl
xor eax, eax
mov bl, byte [edi + 0x1013081c]
mov ah, dl
mov byte [esp + 0x1a], bl
mov edx, dword [esp + 0x19]
and edx, 0xff
or eax, edx
mov edx, dword [esp + 0x1a]
shl eax, 8
and edx, 0xff
or eax, edx
mov edx, dword [esp + 0x1b]
shl eax, 8
and edx, 0xff
or edx, eax
mov eax, edx
mov edi, edx
shr eax, 0x13
shl edi, 0xd
or eax, edi
mov edi, edx
mov ebx, edx
shl edi, 0x17
shr ebx, 9
or edi, ebx
mov ebx, dword [esp + ecx + 0x1c]
xor eax, edi
xor eax, ebx
xor eax, edx
cmp ecx, 0x80
mov dword [esp + ecx + 0x2c], eax
mov dword [ecx + esi - 4], eax
jb 0x1010bd31
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
Function at 0x1010c0e0
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x10
cmp eax, 1
mov eax, dword [esp + 0x1c]
push ebx
push ebp
push esi
push edi
jne 0x1010c179
test eax, eax
jle 0x1010c208
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
add eax, 0xf
shr eax, 4
mov dword [esp + 0x2c], eax
mov ebp, esi
sub ecx, edi
mov eax, edi
sub ebp, edi
mov edx, 0x10
mov bl, byte [ecx + eax]
xor bl, byte [eax]
inc eax
dec edx
mov byte [eax + ebp - 1], bl
jne 0x1010c123
mov eax, dword [esp + 0x24]
push esi
add eax, 4
push esi
push eax
call fcn.1010bea0
mov ecx, dword [esp + 0x3c]
mov edx, esi
mov eax, ecx
add esp, 0xc
mov ebx, dword [edx]
add edi, 0x10
mov dword [eax], ebx
add esi, 0x10
mov ebx, dword [edx + 4]
mov dword [eax + 4], ebx
mov ebx, dword [edx + 8]
mov dword [eax + 8], ebx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x2c]
dec eax
mov dword [esp + 0x2c], eax
jne 0x1010c116
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
test eax, eax
jle 0x1010c208
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
add eax, 0xf
add ecx, 4
shr eax, 4
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], eax
mov edx, edi
push esi
push edi
mov ebx, dword [edx]
mov eax, dword [edx + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [edx + 8]
push eax
mov dword [esp + 0x24], ecx
mov edx, dword [edx + 0xc]
mov dword [esp + 0x28], edx
call fcn.1010bea0
mov ecx, dword [esp + 0x3c]
add esp, 0xc
mov eax, esi
sub ecx, esi
mov ebp, 0x10
mov dl, byte [ecx + eax]
xor byte [eax], dl
inc eax
dec ebp
jne 0x1010c1d3
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
add edi, 0x10
mov dword [eax], ebx
add esi, 0x10
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x2c]
dec eax
mov dword [esp + 0x2c], eax
jne 0x1010c19e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret

Function at 0x1010c210
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 0x18]
push edi
mov edi, dword [esp + 0x14]
xor ecx, ecx
cmp dword [eax], edi
jae 0x1010c223
xor eax, eax
pop edi
ret
test edi, edi
jbe 0x1010c255
push ebx
mov ebx, dword [esp + 0x14]
push ebp
mov ebp, dword [esp + 0x20]
push esi
sub ebx, ebp
mov eax, ecx
xor edx, edx
div dword [esp + 0x18]
mov eax, dword [esp + 0x14]
lea esi, [ecx + ebp]
mov dl, byte [edx + eax]
mov al, byte [ebx + esi]
xor dl, al
inc ecx
cmp ecx, edi
mov byte [esi], dl
jb 0x1010c234
pop esi
pop ebp
pop ebx
mov eax, dword [esp + 0x1c]
mov dword [eax], edi
mov eax, 1
pop edi
ret