joyce8/EMBER2024-capa huggingface dataset:
Function at 0x101b7a20
Capabilities:
Get system information on windows

Disassembly:
push 0xffffffffffffffff
push 0x101f8187
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2c
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x10], esi
lea ebx, [esi + 0xc]
mov ecx, ebx
call sub.MFC42u.DLL_CPtrArray::CPtrArray
xor ebp, ebp
mov dword [esi + 0x68], 0x1020ad08
mov dword [esp + 0x44], ebp
mov dword [esi + 0x6c], ebp
mov dword [esi + 0x78], ebp
mov dword [esi + 0x74], ebp
mov dword [esi + 0x70], ebp
lea edi, [esi + 0x7c]
push ebp
mov ecx, edi
mov byte [esp + 0x48], 1
call sub.MFC42u.DLL_CSyncObject::CSyncObject
mov dword [edi], 0x101f9dd8
add edi, 8
push edi
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov ecx, 0x10
xor eax, eax
lea edi, [esi + 0x24]
mov dword [esi], 0x1020ad04
mov dword [esi + 4], ebp
mov dword [esi + 0x64], ebp
rep stosd dword es:[edi], eax
push 0x24
mov byte [esp + 0x48], 2
call sub.MFC42u.DLL_operatornew
mov edi, eax
add esp, 4
mov dword [esp + 0x14], edi
cmp edi, ebp
mov byte [esp + 0x44], 3
je 0x101b7acd
mov ecx, edi
call fcn.10089710
mov dword [edi], 0x1020acf4
mov dword [edi + 0x20], esi
jmp 0x101b7acf
xor edi, edi
mov dword [esi + 8], edi
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x1c]
mov dword [esp + 0x18], ebp
mov byte [esp + 0x44], 2
rep stosd dword es:[edi], eax
lea eax, [esp + 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
push 0x24
call sub.MFC42u.DLL_operatornew
mov edi, eax
add esp, 4
mov dword [esp + 0x14], edi
cmp edi, ebp
mov byte [esp + 0x44], 4
je 0x101b7b1e
mov ecx, edi
call fcn.10089710
mov dword [edi], 0x1020ace4
mov dword [edi + 0x20], esi
jmp 0x101b7b20
xor edi, edi
cmp edi, ebp
mov byte [esp + 0x44], 2
je 0x101b7b35
mov ecx, dword [ebx + 8]
push edi
push ecx
mov ecx, ebx
call sub.MFC42u.DLL_CPtrArray::SetAtGrow
mov ecx, dword [esp + 0x3c]
mov dword [esi + 0x20], ebp
mov dword [esi + 0x9c], ebp
mov dword [esi + 0xa0], ebp
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x38
ret
Function at 0x101b8b60
Capabilities:
Write file on windows

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x101f8288
push eax
mov dword fs:[0], esp
sub esp, 0x14
push ebx
push ebp
mov ebp, dword [esp + 0x34]
push esi
cmp ebp, 0x640
push edi
mov esi, ecx
ja 0x101b8c41
xor edi, edi
cmp ebp, edi
jbe 0x101b8c41
lea eax, [esi + 0x7c]
push 1
push eax
lea ecx, [esp + 0x20]
call sub.MFC42u.DLL_CSingleLock::CSingleLock
mov eax, dword [esp + 0x34]
mov ebx, dword [esi + 0x6c]
mov dword [esp + 0x2c], edi
lea ecx, [eax + eax*2]
shl ecx, 4
add ebx, ecx
cmp dword [ebx + 0x28], edi
jne 0x101b8c58
mov esi, dword [esp + 0x38]
mov edi, dword [ebx + 0x1c]
mov ecx, ebp
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebx + 0x24]
mov edx, dword [ebx + 0x1c]
lea ecx, [esp + 0x38]
push eax
mov eax, dword [ebx]
push ecx
push ebp
xor esi, esi
push edx
push eax
mov dword [ebx + 0x28], 1
mov dword [esp + 0x4c], esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
cmp eax, esi
je 0x101b8c23
cmp dword [esp + 0x38], ebp
jne 0x101b8c0b
mov dword [ebx + 0x28], esi
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xffffffff
call sub.MFC42u.DLL_CSingleLock::Unlock
mov eax, 1
jmp 0x101b8c43
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x101b8c0b
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xffffffff
call sub.MFC42u.DLL_CSingleLock::Unlock
xor eax, eax
mov ecx, dword [esp + 0x24]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x20
ret 0xc
push ebp
mov dword [esp + 0x18], edi
call sub.MFC42u.DLL_operatornew
mov edx, eax
add esp, 4
cmp edx, edi
mov dword [esp + 0x3c], edx
je 0x101b8c30
mov esi, dword [esp + 0x38]
mov ecx, ebp
mov eax, ecx
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebx + 0x2c]
mov eax, dword [esi + 0x10]
mov edi, dword [esi + 8]
test eax, eax
jne 0x101b8cc5
mov ecx, dword [esi + 0x18]
push 0x10
lea edx, [esi + 0x14]
push ecx
push edx
call sub.MFC42u.DLL_CPlex::Create
mov ecx, dword [esi + 0x18]
mov edx, ecx
shl edx, 4
dec ecx
test ecx, ecx
lea eax, [edx + eax - 0xc]
jl 0x101b8cc1
inc ecx
mov edx, dword [esi + 0x10]
mov dword [eax], edx
mov dword [esi + 0x10], eax
sub eax, 0x10
dec ecx
jne 0x101b8cb3
mov edx, dword [esp + 0x3c]
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
mov dword [esi + 0x10], ecx
mov dword [eax + 4], edi
mov dword [eax], 0
mov edi, dword [esi + 0xc]
inc edi
lea ecx, [eax + 8]
mov dword [esi + 0xc], edi
mov ebx, ecx
xor edi, edi
mov dword [ebx], edi
mov dword [ebx + 4], edi
mov dword [ecx], ebp
mov dword [ecx + 4], edx
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x101b8cf9
mov dword [ecx], eax
jmp 0x101b8cfc
mov dword [esi + 4], eax
lea ecx, [esp + 0x18]
mov dword [esi + 8], eax
mov dword [esp + 0x2c], 0xffffffff
call sub.MFC42u.DLL_CSingleLock::Unlock
mov eax, 1
jmp 0x101b8c43
Function at 0x101b8d20
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x101f82a8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x10
push esi
mov esi, ecx
push edi
push 1
lea eax, [esi + 0x7c]
lea ecx, [esp + 0x10]
push eax
call sub.MFC42u.DLL_CSingleLock::CSingleLock
mov eax, dword [esp + 0x28]
xor edi, edi
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x6c]
shl ecx, 4
add eax, ecx
mov edx, dword [eax + 0x20]
mov dword [edx], edi
mov ecx, dword [eax + 0x20]
mov dword [ecx + 4], edi
mov edx, dword [eax + 0x20]
mov dword [edx + 8], edi
mov ecx, dword [eax + 0x20]
mov dword [ecx + 0xc], edi
mov dword [esp + 8], edi
mov edx, dword [eax + 0x20]
lea ecx, [esp + 8]
push edx
mov edx, dword [eax + 0x18]
mov eax, dword [eax]
push ecx
push 0x640
push edx
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp esi, edi
pop edi
pop esi
jne 0x101b8dd2
cmp eax, 0x3e5
je 0x101b8dd2
cmp eax, 0x218
je 0x101b8dd2
lea ecx, [esp + 4]
mov dword [esp + 0x18], 0xffffffff
call sub.MFC42u.DLL_CSingleLock::Unlock
xor eax, eax
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
add esp, 0x1c
ret 4
lea ecx, [esp + 4]
mov dword [esp + 0x18], 0xffffffff
call sub.MFC42u.DLL_CSingleLock::Unlock
mov ecx, dword [esp + 0x10]
mov eax, 1
mov dword fs:[0], ecx
add esp, 0x1c
ret 4
Function at 0x101b8e00
Capabilities:
Access peb ldr_data
Connect pipe
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x101f82c8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebx
mov ebx, ecx
push esi
push edi
lea eax, [ebx + 0x7c]
push 1
push eax
lea ecx, [esp + 0x14]
call sub.MFC42u.DLL_CSingleLock::CSingleLock
mov eax, dword [esp + 0x38]
mov esi, dword [ebx + 0x6c]
xor edi, edi
lea ecx, [eax + eax*2]
mov dword [esp + 0x30], edi
shl ecx, 4
add esi, ecx
mov edx, dword [esi + 0x20]
mov dword [edx + 8], edi
mov eax, dword [esi + 0x20]
mov dword [eax + 0xc], edi
mov ecx, dword [esi + 0x20]
mov dword [ecx], edi
mov edx, dword [esi + 0x20]
mov dword [edx + 4], edi
mov eax, dword [esi + 0x24]
mov dword [eax + 8], edi
mov ecx, dword [esi + 0x24]
mov dword [ecx + 0xc], edi
mov edx, dword [esi + 0x24]
mov dword [edx], edi
mov eax, dword [esi + 0x24]
mov dword [eax + 4], edi
mov ecx, dword [esi + 0x20]
mov edx, dword [esi]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x217
jne 0x101b8ee3
mov ecx, dword [esi + 0x20]
xor eax, eax
mov dword [esp + 0x1c], eax
lea edx, [esp + 0x18]
mov dword [esp + 0x20], eax
push edx
mov dword [esp + 0x28], eax
mov eax, dword [esi]
mov dword [esp + 0x28], ecx
push eax
mov ecx, ebx
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], 0x217
call fcn.101b8430
lea ecx, [esp + 0xc]
mov dword [esp + 0x30], 0xffffffff
call sub.MFC42u.DLL_CSingleLock::Unlock
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
add esp, 0x28
ret 4
cmp eax, edi
je 0x101b8eee
cmp eax, 0x3e5
jne 0x101b8ef3
mov edi, 1
lea ecx, [esp + 0xc]
mov dword [esp + 0x30], 0xffffffff
call sub.MFC42u.DLL_CSingleLock::Unlock
mov ecx, dword [esp + 0x28]
mov eax, edi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x28
ret 4
Function at 0x101b9c90
Capabilities:
Access peb ldr_data
Check for peb ntglobalflag flag
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x101f83b3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x10], esi
call fcn.101b6320
lea ebx, [esi + 0x70]
xor ebp, ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], ebx
lea ecx, [ebx + 0x10]
call fcn.101c0d40
lea ecx, [ebx + 0x2c]
mov byte [esp + 0x20], 1
call sub.MFC42u.DLL_CString::CString_2
or edx, 0xffffffff
mov ecx, 0x10
xor eax, eax
lea edi, [ebx + 0x38]
mov dword [ebx], 0x1020ad8c
mov dword [ebx + 0xc], ebp
mov dword [ebx + 4], ebp
mov dword [ebx + 8], ebp
mov dword [ebx + 0x28], ebp
mov dword [ebx + 0x30], ebp
mov dword [ebx + 0x34], ebp
mov dword [ebx + 0x7c], edx
rep stosd dword es:[edi], eax
mov dword [ebx + 0x78], ebp
mov ecx, 0x10
lea edi, [esi + 0x10]
mov dword [esi], 0x1020ad30
mov dword [esi + 0x5c], ebp
mov dword [esi + 0x60], ebp
mov word [esi + 0x64], bp
mov dword [esi + 0x68], ebp
mov word [esi + 0x6c], bp
mov dword [esi + 4], edx
mov dword [esi + 8], edx
mov dword [esi + 0xc], ebp
mov dword [esi + 0x54], edx
mov dword [esi + 0x58], edx
mov dword [esi + 0xf0], ebp
mov dword [esi + 0xf4], ebp
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x50], ebp
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x14
ret
Function at 0x101ba840
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x101f8585
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x91c
push esi
push edi
mov esi, dword [esp + 0x938]
mov ecx, 0x1ff
xor eax, eax
lea edi, [esp + 0x126]
mov word [esp + 0x124], 0
mov dword [esp + 0xc], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [0x102856ec]
test esi, esi
je 0x101ba92d
test eax, eax
jne 0x101ba8eb
mov ecx, 0x44
xor eax, eax
lea edi, [esp + 0x14]
mov dword [0x102856ec], 1
rep stosd dword es:[edi], eax
lea eax, [esp + 0x10]
mov dword [esp + 0x10], 0x114
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [esp + 0x20], 2
jne 0x101ba8df
cmp dword [esp + 0x14], 5
jb 0x101ba8df
mov ecx, dword [str.GlobalOCULAR_]
mov dword [0x102856f0], ecx
jmp 0x101ba8eb
mov edx, dword [0x1027449c]
mov dword [0x102856f0], edx
mov eax, dword [esp + 0x93c]
test eax, eax
mov eax, dword [0x1027449c]
jne 0x101ba900
mov eax, dword [0x102856f0]
mov ecx, dword [esp + 0x944]
mov edx, dword [esp + 0x940]
push ecx
push edx
push esi
push eax
lea eax, [esp + 0x134]
push str._s__s__08x__08x
push eax
call dword [sym.imp.MSVCRT.dll_swprintf]
add esp, 0x18
jmp 0x101ba9bd
test eax, eax
jne 0x101ba981
mov ecx, 0x44
xor eax, eax
lea edi, [esp + 0x14]
mov dword [0x102856ec], 1
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], 0x114
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [esp + 0x20], 2
jne 0x101ba977
cmp dword [esp + 0x14], 5
jb 0x101ba977
mov edx, dword [str.GlobalOCULAR_]
mov dword [0x102856f0], edx
jmp 0x101ba981
mov eax, dword [0x1027449c]
mov dword [0x102856f0], eax
mov eax, dword [esp + 0x93c]
test eax, eax
mov eax, dword [0x1027449c]
jne 0x101ba996
mov eax, dword [0x102856f0]
mov ecx, dword [esp + 0x944]
mov edx, dword [esp + 0x940]
push ecx
push edx
push eax
lea eax, [esp + 0x130]
push str._s___08x__08x
push eax
call dword [sym.imp.MSVCRT.dll_swprintf]
add esp, 0x14
lea ecx, [esp + 0x124]
push ecx
lea ecx, [esp + 0xc]
call sub.MFC42u.DLL_CString::CString_1
mov esi, dword [esp + 0x934]
lea edx, [esp + 8]
push edx
mov ecx, esi
mov dword [esp + 0x930], 1
call fcn.10071014
mov dword [esp + 0xc], 1
lea ecx, [esp + 8]
mov byte [esp + 0x92c], 0
call sub.MFC42u.DLL_CString::CString
mov ecx, dword [esp + 0x924]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x928
ret
Function at 0x101bc8e0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x101f88d1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov dword [esp + 0x10], esi
lea ecx, [esi + 4]
call fcn.101c0d40
lea ebx, [esi + 0x24]
xor ebp, ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x14], ebx
lea ecx, [ebx + 0x10]
call fcn.101c0d40
lea ecx, [ebx + 0x2c]
mov byte [esp + 0x20], 1
call sub.MFC42u.DLL_CString::CString_2
mov ecx, 0x10
xor eax, eax
lea edi, [ebx + 0x38]
mov dword [ebx], 0x1020ad8c
mov dword [ebx + 0xc], ebp
mov dword [ebx + 4], ebp
mov dword [ebx + 8], ebp
mov dword [ebx + 0x28], ebp
mov dword [ebx + 0x30], ebp
mov dword [ebx + 0x34], ebp
mov dword [ebx + 0x7c], 0xffffffff
rep stosd dword es:[edi], eax
mov dword [ebx + 0x78], ebp
push ebp
push ebp
push ebp
push ebp
lea ecx, [esi + 0xa4]
mov byte [esp + 0x30], 2
call fcn.101df5d6
lea edi, [esi + 0xb0]
mov byte [esp + 0x20], 3
mov ecx, edi
call fcn.10089710
mov dword [edi], 0x1020adf0
mov dword [edi + 0x20], ebp
lea edi, [esi + 0xd4]
mov byte [esp + 0x20], 4
mov ecx, edi
call fcn.10089710
mov dword [edi], 0x1020ade0
mov dword [edi + 0x20], ebp
lea edi, [esi + 0xf8]
mov byte [esp + 0x20], 5
mov ecx, edi
call fcn.10089710
mov dword [edi], 0x1020add0
mov dword [edi + 0x20], ebp
mov dword [esi + 0x164], 0x1020adbc
mov dword [esi + 0x168], ebp
mov dword [esi + 0x174], ebp
mov dword [esi + 0x170], ebp
mov dword [esi + 0x16c], ebp
mov dword [esi + 0x178], 0x1020ada8
mov dword [esi + 0x17c], ebp
mov dword [esi + 0x188], ebp
mov dword [esi + 0x184], ebp
mov dword [esi + 0x180], ebp
mov dword [esi + 0x18c], 0x1020ad94
mov dword [esi + 0x198], ebp
mov dword [esi + 0x19c], ebp
mov dword [esi + 0x194], ebp
mov dword [esi + 0x190], ebp
mov dword [esi + 0x1a0], ebp
mov dword [esi + 0x1a4], 0xa
lea edi, [esi + 0x1a8]
push ebp
mov ecx, edi
mov byte [esp + 0x24], 9
call sub.MFC42u.DLL_CSyncObject::CSyncObject
mov ebx, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [edi], 0x101f9dd8
add edi, 8
push edi
call ebx
lea edi, [esi + 0x1c8]
push ebp
mov ecx, edi
mov byte [esp + 0x24], 0xa
call sub.MFC42u.DLL_CSyncObject::CSyncObject
mov dword [edi], 0x101f9dd8
add edi, 8
push edi
call ebx
mov ecx, 0x10
xor eax, eax
lea edi, [esi + 0x11c]
mov dword [esi], 0x1020ad90
mov dword [esi + 0x1c], ebp
mov dword [esi + 0x20], ebp
mov dword [esi + 0xac], ebp
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x15c], ebp
mov dword [esi + 0x160], ebp
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x14
ret
Function at 0x101c07e0
Capabilities:
Set socket configuration

Disassembly:
sub esp, 8
push ebx
push esi
mov esi, ecx
cmp dword [esi + 0xc], 0xffffffff
je 0x101c0868
mov eax, dword [esi + 0x14]
xor ebx, ebx
cmp eax, ebx
je 0x101c0842
mov ecx, dword [esi + 0x18]
xor eax, eax
mov dword [esp + 9], eax
push edi
mov edi, dword [sym.imp.WS2_32.dll_htonl]
mov word [esp + 0x11], ax
push ecx
mov byte [esp + 0x10], bl
mov byte [esp + 0x17], al
call edi
push ebx
mov dword [esp + 0x10], eax
call edi
lea edx, [esp + 0xc]
push 8
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0xc]
push edx
push 0xd
push ebx
push eax
call dword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
pop edi
jge 0x101c0842
pop esi
xor eax, eax
pop ebx
add esp, 8
ret
mov ecx, dword [esi + 0xc]
push 1
push ecx
call dword [sym.imp.WS2_32.dll_shutdown]
mov edx, dword [esi + 0xc]
push edx
call dword [sym.imp.WS2_32.dll_closesocket]
mov dword [esi + 0xc], 0xffffffff
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov dword [esi + 0x18], ebx
pop esi
mov eax, 1
pop ebx
add esp, 8
ret

Function at 0x101c1a20
Capabilities:
Encode data using base64

Disassembly:
push ebp
push edi
mov edi, dword [esp + 0x14]
xor ebp, ebp
test edi, edi
jle 0x101c1b06
mov ecx, dword [esp + 0xc]
push ebx
push esi
mov esi, dword [esp + 0x18]
cmp edi, 3
jl 0x101c1a93
xor edx, edx
xor eax, eax
mov dh, byte [esi]
mov al, byte [esi + 2]
mov dl, byte [esi + 1]
shl edx, 8
or edx, eax
mov eax, edx
shr eax, 0x12
and eax, 0x3f
inc ecx
mov al, byte [eax + 0x1027454c]
mov byte [ecx - 1], al
mov eax, edx
shr eax, 0xc
and eax, 0x3f
inc ecx
mov al, byte [eax + 0x1027454c]
mov byte [ecx - 1], al
mov eax, edx
shr eax, 6
and eax, 0x3f
inc ecx
and edx, 0x3f
mov al, byte [eax + 0x1027454c]
mov byte [ecx - 1], al
mov dl, byte [edx + 0x1027454c]
mov byte [ecx], dl
jmp 0x101c1aea
xor edx, edx
mov dl, byte [esi]
shl edx, 0x10
cmp edi, 2
jne 0x101c1aa6
xor eax, eax
mov ah, byte [esi + 1]
or edx, eax
mov eax, edx
shr eax, 0x12
and eax, 0x3f
inc ecx
mov al, byte [eax + 0x1027454c]
mov byte [ecx - 1], al
mov eax, edx
shr eax, 0xc
and eax, 0x3f
inc ecx
cmp edi, 1
mov al, byte [eax + 0x1027454c]
mov byte [ecx - 1], al
jne 0x101c1ad6
mov ebx, 0x3d
jmp 0x101c1ae4
shr edx, 6
and edx, 0x3f
xor ebx, ebx
mov bl, byte [edx + 0x1027454c]
mov byte [ecx], bl
inc ecx
mov byte [ecx], 0x3d
sub edi, 3
inc ecx
add ebp, 4
add esi, 3
test edi, edi
jg 0x101c1a3a
pop esi
pop ebx
mov eax, ebp
pop edi
mov byte [ecx], 0
pop ebp
ret
mov ecx, dword [esp + 0xc]
mov eax, ebp
pop edi
pop ebp
mov byte [ecx], 0
ret
Function at 0x101c1ee0
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
mov eax, 0x80
call fcn.100713b0
push ebx
push ebp
push esi
mov esi, dword [esp + 0x9c]
xor eax, eax
push edi
test esi, esi
je 0x101c1f0b
mov ebx, dword [esp + 0x94]
mov eax, 1
mov dword [ebx], esi
jmp 0x101c1f1d
mov ebx, dword [esp + 0x94]
mov ecx, dword [ebx]
mov dword [esp + 0xa0], ecx
mov esi, ecx
mov ecx, dword [esp + 0x98]
test ecx, ecx
je 0x101c2089
push esi
call fcn.101c4620
mov edi, eax
add esp, 4
cmp edi, 0x80
jle 0x101c1f53
push str.j____int_sizeof_ctx__key_
push 0x54
push str..cryptohmachmac.c
call fcn.1008b9b0
add esp, 0xc
mov ebp, dword [esp + 0x9c]
cmp edi, ebp
jge 0x101c1f92
mov edx, dword [esp + 0xa4]
lea edi, [ebx + 4]
push edx
push esi
push edi
call fcn.100910e0
mov eax, dword [esp + 0xa4]
push ebp
push eax
push edi
call fcn.10091250
lea esi, [ebx + 0x34]
lea ecx, [ebx + 0x38]
push esi
push ecx
push edi
call fcn.10091350
add esp, 0x24
jmp 0x101c1fd1
test ebp, ebp
jl 0x101c1f9e
cmp ebp, 0x80
jle 0x101c1fb2
push str.len_0__len__int_sizeof_ctx__key_
push 0x5e
push str..cryptohmachmac.c
call fcn.1008b9b0
add esp, 0xc
mov esi, dword [esp + 0x98]
mov ecx, ebp
mov edx, ecx
lea edi, [ebx + 0x38]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea esi, [ebx + 0x34]
mov dword [esi], ebp
mov esi, dword [esi]
cmp esi, 0x80
je 0x101c1ff6
mov ecx, 0x80
xor eax, eax
sub ecx, esi
lea edi, [esi + ebx + 0x38]
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov esi, dword [esp + 0xa0]
xor eax, eax
mov cl, byte [ebx + eax + 0x38]
xor cl, 0x36
mov byte [esp + eax + 0x10], cl
inc eax
cmp eax, 0x80
jl 0x101c1fff
mov ebp, dword [esp + 0xa4]
lea edi, [ebx + 0x14]
push ebp
push esi
push edi
call fcn.100910e0
push esi
call fcn.101c4620
lea edx, [esp + 0x20]
push eax
push edx
push edi
call fcn.10091250
add esp, 0x1c
xor eax, eax
mov cl, byte [ebx + eax + 0x38]
xor cl, 0x5c
mov byte [esp + eax + 0x10], cl
inc eax
cmp eax, 0x80
jl 0x101c203b
lea edi, [ebx + 0x24]
push ebp
push esi
push edi
call fcn.100910e0
push esi
call fcn.101c4620
lea edx, [esp + 0x20]
push eax
push edx
push edi
call fcn.10091250
add esp, 0x1c
lea eax, [ebx + 0x14]
add ebx, 4
push eax
push ebx
call fcn.10091400
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
test eax, eax
je 0x101c206e
jmp 0x101c1ffd
Function at 0x101c78b0
Capabilities:
Hash data with md5

Disassembly:
mov eax, dword [esp + 4]
xor ecx, ecx
mov dword [eax], 0x67452301
mov dword [eax + 4], 0xefcdab89
mov dword [eax + 8], 0x98badcfe
mov dword [eax + 0xc], 0x10325476
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x58], ecx
mov eax, 1
ret
Function at 0x101d5080
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x14
call fcn.100713b0
mov eax, dword [esp + 0x1c]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x30]
lea ebp, [eax - 1]
push edi
lea ecx, [ebp - 0x29]
cmp esi, ecx
jle 0x101d50bf
push 0x2d
push str..crypto_rsa_rsa_oaep.c
push 0x6e
push 0x79
push 4
call fcn.1008b9f0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
cmp ebp, 0x29
jge 0x101d50e3
push 0x33
push str..crypto_rsa_rsa_oaep.c
push 0x78
push 0x79
push 4
call fcn.1008b9f0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
mov ebx, dword [esp + 0x28]
push 0
lea edx, [ebx + 1]
mov byte [ebx], 0
mov dword [esp + 0x30], edx
add ebx, 0x15
call fcn.10091840
mov ecx, dword [esp + 0x3c]
push eax
mov eax, dword [esp + 0x44]
push 0
push ebx
push eax
push ecx
call fcn.10091590
mov ecx, ebp
xor eax, eax
sub ecx, esi
lea edi, [ebx + 0x14]
sub ecx, 0x29
push 0x14
mov edx, ecx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, ebx
mov ecx, esi
sub eax, esi
mov esi, dword [esp + 0x4c]
add eax, ebp
mov edx, ecx
shr ecx, 2
lea edi, [eax - 0x14]
mov byte [eax - 0x15], 1
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x48]
push esi
call fcn.1008c330
add esp, 0x20
test eax, eax
jg 0x101d5166
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret
add ebp, 0xffffffec
push 0x48
push str..crypto_rsa_rsa_oaep.c
push ebp
call fcn.1008b190
mov edi, eax
add esp, 0xc
test edi, edi
mov dword [esp + 0x2c], edi
jne 0x101d51a2
push 0x4b
push str..crypto_rsa_rsa_oaep.c
push 0x41
push 0x79
push 4
call fcn.1008b9f0
add esp, 0x14
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
call fcn.10091840
push eax
push 0x14
push esi
push ebp
push edi
call fcn.101d5450
add esp, 0x14
test ebp, ebp
jle 0x101d51cc
mov eax, ebx
sub edi, ebx
mov ecx, ebp
mov dl, byte [edi + eax]
xor byte [eax], dl
inc eax
dec ecx
jne 0x101d51bf
mov edi, dword [esp + 0x2c]
call fcn.10091840
push eax
push ebp
push ebx
lea eax, [esp + 0x1c]
push 0x14
push eax
call fcn.101d5450
lea ecx, [esp + 0x24]
add esp, 0x14
mov eax, esi
sub ecx, esi
mov esi, 0x14
mov dl, byte [ecx + eax]
mov bl, byte [eax]
xor bl, dl
mov byte [eax], bl
inc eax
dec esi
jne 0x101d51f0
push edi
call fcn.1008b410
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret