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

Disassembly:
sub esp, 0x20
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov ebp, dword [esi + 4]
cmp ebp, ebx
je 0x1017e86b
cmp dword [esi + 8], ebx
je 0x1017e86b
cmp dword [esi + 0x10], ebx
je 0x1017e772
lea eax, [esp + 0x14]
lea edi, [esi + 0x1c]
push ebx
push eax
push edi
push ebp
mov dword [esp + 0x24], ebx
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
cmp eax, ebx
jne 0x1017e757
mov ecx, dword [esi + 0x2c]
push 0x7530
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x1017e746
mov dword [esi + 0x14], 0xf0000003
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret 0xc
mov eax, dword [esi + 4]
lea edx, [esp + 0x14]
push ebx
push edx
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
xor ecx, ecx
mov dword [esi + 0x10], ebx
mov dword [edi], ecx
cmp eax, ebx
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
mov dword [edi + 0xc], ecx
mov dword [edi + 0x10], ecx
je 0x1017e86b
mov eax, dword [esi + 8]
xor edx, edx
mov dword [esp + 0x20], edx
push eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov ecx, dword [esi + 8]
lea edx, [esp + 0x1c]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x10]
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
push edx
push ebp
mov dword [esp + 0x24], ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov edi, eax
cmp edi, ebx
je 0x1017e7dc
cmp dword [esp + 0x10], ebx
je 0x1017e7dc
mov eax, dword [esi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp edi, ebx
jne 0x1017e7f8
cmp eax, ebx
je 0x1017e7f8
cmp eax, 0x3e5
je 0x1017e7f8
cmp eax, 0x217
jne 0x1017e86b
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edi, eax
cmp edi, ebx
je 0x1017e830
push ebp
call dword [sym.imp.KERNEL32.dll_CancelIo]
cmp edi, 0x102
jne 0x1017e86b
mov dword [esi + 0x14], 0xf0000003
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret 0xc
lea eax, [esp + 0x18]
push ebx
lea ecx, [esp + 0x20]
push eax
push ecx
push ebp
mov dword [esp + 0x28], ebx
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
mov edx, dword [esi + 8]
mov edi, eax
push edx
mov dword [esi + 0x14], ebx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov ecx, dword [esp + 0x18]
mov eax, edi
neg eax
pop edi
pop esi
sbb eax, eax
pop ebp
and eax, ecx
pop ebx
add esp, 0x20
ret 0xc
mov dword [esi + 0x14], 0xf0000001
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret 0xc
Function at 0x1017e880
Capabilities:
Write file on windows

Disassembly:
sub esp, 0x20
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
mov ebp, dword [esi + 4]
cmp ebp, ebx
je 0x1017ea0b
cmp dword [esi + 0xc], ebx
je 0x1017ea0b
cmp dword [esi + 0x10], ebx
je 0x1017e912
lea eax, [esp + 0x14]
lea edi, [esi + 0x1c]
push ebx
push eax
push edi
push ebp
mov dword [esp + 0x24], ebx
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
cmp eax, ebx
jne 0x1017e8f7
mov ecx, dword [esi + 0x2c]
push 0x7530
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
jne 0x1017e8e6
mov dword [esi + 0x14], 0xf0000003
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret 0xc
mov eax, dword [esi + 4]
lea edx, [esp + 0x14]
push ebx
push edx
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
xor ecx, ecx
mov dword [esi + 0x10], ebx
mov dword [edi], ecx
cmp eax, ebx
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
mov dword [edi + 0xc], ecx
mov dword [edi + 0x10], ecx
je 0x1017ea0b
mov eax, dword [esi + 0xc]
xor edx, edx
mov dword [esp + 0x20], edx
push eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov ecx, dword [esi + 0xc]
lea edx, [esp + 0x1c]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x10]
push edx
mov edx, dword [esp + 0x38]
push eax
push ecx
push edx
push ebp
mov dword [esp + 0x24], ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edi, eax
cmp edi, ebx
je 0x1017e97c
cmp dword [esp + 0x10], ebx
jbe 0x1017e97c
mov eax, dword [esi + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp edi, ebx
jne 0x1017e998
cmp eax, ebx
je 0x1017e998
cmp eax, 0x3e5
je 0x1017e998
cmp eax, 0x217
jne 0x1017ea0b
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov edi, eax
cmp edi, ebx
je 0x1017e9d0
push ebp
call dword [sym.imp.KERNEL32.dll_CancelIo]
cmp edi, 0x102
jne 0x1017ea0b
mov dword [esi + 0x14], 0xf0000003
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret 0xc
lea eax, [esp + 0x18]
push ebx
lea ecx, [esp + 0x20]
push eax
push ecx
push ebp
mov dword [esp + 0x28], ebx
call dword [sym.imp.KERNEL32.dll_GetOverlappedResult]
mov edx, dword [esi + 0xc]
mov edi, eax
push edx
mov dword [esi + 0x14], ebx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
mov ecx, dword [esp + 0x18]
mov eax, edi
neg eax
pop edi
pop esi
sbb eax, eax
pop ebp
and eax, ecx
pop ebx
add esp, 0x20
ret 0xc
mov dword [esi + 0x14], 0xf0000001
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x20
ret 0xc
Function at 0x1017ea20
Capabilities:
Get system information on windows

Disassembly:
push 0xffffffffffffffff
push 0x101f8807
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 fcn.101d2c61
xor ebp, ebp
mov dword [esi + 0x68], 0x10204d7c
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 fcn.1003e0dd
mov dword [edi], 0x101faaa4
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], 0x10204d78
mov dword [esi + 4], ebp
mov dword [esi + 0x64], ebp
rep stosd dword es:[edi], eax
push 0x24
mov byte [esp + 0x48], 2
call fcn.101d42d4
mov edi, eax
add esp, 4
mov dword [esp + 0x14], edi
cmp edi, ebp
mov byte [esp + 0x44], 3
je 0x1017eacd
mov ecx, edi
call fcn.1006c820
mov dword [edi], 0x10204d68
mov dword [edi + 0x20], esi
jmp 0x1017eacf
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 fcn.101d42d4
mov edi, eax
add esp, 4
mov dword [esp + 0x14], edi
cmp edi, ebp
mov byte [esp + 0x44], 4
je 0x1017eb1e
mov ecx, edi
call fcn.1006c820
mov dword [edi], 0x10204d58
mov dword [edi + 0x20], esi
jmp 0x1017eb20
xor edi, edi
cmp edi, ebp
mov byte [esp + 0x44], 2
je 0x1017eb35
mov ecx, dword [ebx + 8]
push edi
push ecx
mov ecx, ebx
call fcn.101d2e85
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 0x1017fb60
Capabilities:
Write file on windows

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x101f8908
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 0x1017fc41
xor edi, edi
cmp ebp, edi
jbe 0x1017fc41
lea eax, [esi + 0x7c]
push 1
push eax
lea ecx, [esp + 0x20]
call fcn.1003e2c4
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 0x1017fc58
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 0x1017fc23
cmp dword [esp + 0x38], ebp
jne 0x1017fc0b
mov dword [ebx + 0x28], esi
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xffffffff
call fcn.1003e300
mov eax, 1
jmp 0x1017fc43
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x1017fc0b
lea ecx, [esp + 0x18]
mov dword [esp + 0x2c], 0xffffffff
call fcn.1003e300
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 fcn.101d42d4
mov edx, eax
add esp, 4
cmp edx, edi
mov dword [esp + 0x3c], edx
je 0x1017fc30
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 0x1017fcc5
mov ecx, dword [esi + 0x18]
push 0x10
lea edx, [esi + 0x14]
push ecx
push edx
call fcn.101d2952
mov ecx, dword [esi + 0x18]
mov edx, ecx
shl edx, 4
dec ecx
test ecx, ecx
lea eax, [edx + eax - 0xc]
jl 0x1017fcc1
inc ecx
mov edx, dword [esi + 0x10]
mov dword [eax], edx
mov dword [esi + 0x10], eax
sub eax, 0x10
dec ecx
jne 0x1017fcb3
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 0x1017fcf9
mov dword [ecx], eax
jmp 0x1017fcfc
mov dword [esi + 4], eax
lea ecx, [esp + 0x18]
mov dword [esi + 8], eax
mov dword [esp + 0x2c], 0xffffffff
call fcn.1003e300
mov eax, 1
jmp 0x1017fc43
Function at 0x1017fd20
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x101f8928
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 fcn.1003e2c4
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 0x1017fdd2
cmp eax, 0x3e5
je 0x1017fdd2
cmp eax, 0x218
je 0x1017fdd2
lea ecx, [esp + 4]
mov dword [esp + 0x18], 0xffffffff
call fcn.1003e300
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 fcn.1003e300
mov ecx, dword [esp + 0x10]
mov eax, 1
mov dword fs:[0], ecx
add esp, 0x1c
ret 4

Function at 0x1017fe00
Capabilities:
Access peb ldr_data
Connect pipe
Get ntdll base address

Disassembly:
push 0xffffffffffffffff
push 0x101f8948
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 fcn.1003e2c4
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 0x1017fee3
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.1017f430
lea ecx, [esp + 0xc]
mov dword [esp + 0x30], 0xffffffff
call fcn.1003e300
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 0x1017feee
cmp eax, 0x3e5
jne 0x1017fef3
mov edi, 1
lea ecx, [esp + 0xc]
mov dword [esp + 0x30], 0xffffffff
call fcn.1003e300
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 0x10181820
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x101f8bf5
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 [0x1027ea5c]
test esi, esi
je 0x1018190c
test eax, eax
jne 0x101818cb
mov ecx, 0x44
xor eax, eax
lea edi, [esp + 0x14]
mov dword [0x1027ea5c], 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 0x101818bf
cmp dword [esp + 0x14], 5
jb 0x101818bf
mov ecx, dword [str.GlobalOCULAR_]
mov dword [0x1027ea60], ecx
jmp 0x101818cb
mov edx, dword [0x102623d0]
mov dword [0x1027ea60], edx
mov eax, dword [esp + 0x93c]
test eax, eax
mov eax, dword [0x102623d0]
jne 0x101818e0
mov eax, dword [0x1027ea60]
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 fcn.1004244f
add esp, 0x18
jmp 0x1018199b
test eax, eax
jne 0x10181960
mov ecx, 0x44
xor eax, eax
lea edi, [esp + 0x14]
mov dword [0x1027ea5c], 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 0x10181956
cmp dword [esp + 0x14], 5
jb 0x10181956
mov edx, dword [str.GlobalOCULAR_]
mov dword [0x1027ea60], edx
jmp 0x10181960
mov eax, dword [0x102623d0]
mov dword [0x1027ea60], eax
mov eax, dword [esp + 0x93c]
test eax, eax
mov eax, dword [0x102623d0]
jne 0x10181975
mov eax, dword [0x1027ea60]
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 fcn.1004244f
add esp, 0x14
lea ecx, [esp + 0x124]
push ecx
lea ecx, [esp + 0xc]
call fcn.101d3c7f
mov esi, dword [esp + 0x934]
lea edx, [esp + 8]
push edx
mov ecx, esi
mov dword [esp + 0x930], 1
call fcn.101d3978
mov dword [esp + 0xc], 1
lea ecx, [esp + 8]
mov byte [esp + 0x92c], 0
call fcn.101d3c0b
mov ecx, dword [esp + 0x924]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
add esp, 0x928
ret
Function at 0x10187670
Capabilities:
Set socket configuration

Disassembly:
sub esp, 8
push ebx
push esi
mov esi, ecx
cmp dword [esi + 0xc], 0xffffffff
je 0x101876f8
mov eax, dword [esi + 0x14]
xor ebx, ebx
cmp eax, ebx
je 0x101876d2
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 0x101876d2
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 0x101885b0
Capabilities:
Access the windows event log

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x104
call fcn.10042a40
push ebx
push esi
push edi
push 0xfffffffffffffff4
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
test eax, eax
je 0x101885f9
push eax
call dword [sym.imp.KERNEL32.dll_GetFileType]
test eax, eax
je 0x101885f9
mov ecx, dword [ebp + 8]
lea eax, [ebp + 0xc]
push eax
push ecx
push 0x10254760
call fcn.101cfab0
add esp, 0xc
lea esp, [ebp - 0x110]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
lea edx, [ebp + 0xc]
push edx
push eax
lea ecx, [ebp - 0x104]
push 0xff
push ecx
call fcn.101cfa60
add esp, 0x10
mov byte [ebp - 5], 0
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp eax, 0x80000000
jae 0x1018870b
call dword [sym.imp.USER32.dll_GetDesktopWindow]
call dword [sym.imp.USER32.dll_GetProcessWindowStation]
mov ebx, eax
test ebx, ebx
je 0x1018870b
lea edx, [ebp - 4]
push edx
push 0
push 0
push 2
push ebx
call dword [sym.imp.USER32.dll_GetUserObjectInformationW]
test eax, eax
jne 0x1018870b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x1018870b
mov eax, dword [ebp - 4]
cmp eax, 0x200
ja 0x1018870b
lea esi, [eax + 1]
and esi, 0xfffffffe
mov dword [ebp - 4], esi
lea eax, [esi + 2]
add eax, 3
and al, 0xfc
call fcn.10042a40
lea eax, [ebp - 4]
mov edi, esp
push eax
push esi
push edi
push 2
push ebx
call dword [sym.imp.USER32.dll_GetUserObjectInformationW]
test eax, eax
je 0x1018870b
mov ecx, dword [ebp - 4]
push str.Service_0x
push edi
lea eax, [ecx + 1]
and al, 0xfe
mov dword [ebp - 4], eax
shr eax, 1
mov word [edi + eax*2], 0
call fcn.10043489
add esp, 8
test eax, eax
je 0x1018870b
push str.OPENSSL
push 0
call dword [sym.imp.ADVAPI32.dll_RegisterEventSourceA]
mov esi, eax
lea eax, [ebp - 4]
push 0
push eax
push 0
push 1
push 0
push 0
push 0
lea edx, [ebp - 0x104]
push 1
push esi
mov dword [ebp - 4], edx
call dword [sym.imp.ADVAPI32.dll_ReportEventA]
push esi
call dword [sym.imp.ADVAPI32.dll_DeregisterEventSource]
lea esp, [ebp - 0x110]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x10
lea ecx, [ebp - 0x104]
push str.OpenSSL:_FATAL
push ecx
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
lea esp, [ebp - 0x110]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1018bba0
Capabilities:
Encode data using base64

Disassembly:
push ebp
push edi
mov edi, dword [esp + 0x14]
xor ebp, ebp
test edi, edi
jle 0x1018bc86
mov ecx, dword [esp + 0xc]
push ebx
push esi
mov esi, dword [esp + 0x18]
cmp edi, 3
jl 0x1018bc13
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 + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx - 1], al
mov eax, edx
shr eax, 0xc
and eax, 0x3f
inc ecx
mov al, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx - 1], al
mov eax, edx
shr eax, 6
and eax, 0x3f
inc ecx
and edx, 0x3f
mov al, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx - 1], al
mov dl, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx], dl
jmp 0x1018bc6a
xor edx, edx
mov dl, byte [esi]
shl edx, 0x10
cmp edi, 2
jne 0x1018bc26
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 + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx - 1], al
mov eax, edx
shr eax, 0xc
and eax, 0x3f
inc ecx
cmp edi, 1
mov al, byte [eax + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
mov byte [ecx - 1], al
jne 0x1018bc56
mov ebx, 0x3d
jmp 0x1018bc64
shr edx, 6
and edx, 0x3f
xor ebx, ebx
mov bl, byte [edx + str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_]
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 0x1018bbba
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 0x1018c060
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
mov eax, 0x80
call fcn.10042a40
push ebx
push ebp
push esi
mov esi, dword [esp + 0x9c]
xor eax, eax
push edi
test esi, esi
je 0x1018c08b
mov ebx, dword [esp + 0x94]
mov eax, 1
mov dword [ebx], esi
jmp 0x1018c09d
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 0x1018c209
push esi
call fcn.10193b30
mov edi, eax
add esp, 4
cmp edi, 0x80
jle 0x1018c0d3
push str.j____int_sizeof_ctx__key_
push 0x54
push str..cryptohmachmac.c
call fcn.10188730
add esp, 0xc
mov ebp, dword [esp + 0x9c]
cmp edi, ebp
jge 0x1018c112
mov edx, dword [esp + 0xa4]
lea edi, [ebx + 4]
push edx
push esi
push edi
call fcn.1018b0e0
mov eax, dword [esp + 0xa4]
push ebp
push eax
push edi
call fcn.1018b250
lea esi, [ebx + 0x34]
lea ecx, [ebx + 0x38]
push esi
push ecx
push edi
call fcn.1018b350
add esp, 0x24
jmp 0x1018c151
test ebp, ebp
jl 0x1018c11e
cmp ebp, 0x80
jle 0x1018c132
push str.len_0__len__int_sizeof_ctx__key_
push 0x5e
push str..cryptohmachmac.c
call fcn.10188730
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 0x1018c176
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 0x1018c17f
mov ebp, dword [esp + 0xa4]
lea edi, [ebx + 0x14]
push ebp
push esi
push edi
call fcn.1018b0e0
push esi
call fcn.10193b30
lea edx, [esp + 0x20]
push eax
push edx
push edi
call fcn.1018b250
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 0x1018c1bb
lea edi, [ebx + 0x24]
push ebp
push esi
push edi
call fcn.1018b0e0
push esi
call fcn.10193b30
lea edx, [esp + 0x20]
push eax
push edx
push edi
call fcn.1018b250
add esp, 0x1c
lea eax, [ebx + 0x14]
add ebx, 4
push eax
push ebx
call fcn.1018b400
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret
test eax, eax
je 0x1018c1ee
jmp 0x1018c17d
Function at 0x101906f0
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
push esi
push edi
mov edi, dword [esp + 0xc]
xor esi, esi
test edi, edi
je 0x10190751
mov al, byte [edi]
test al, al
je 0x10190751
push ebx
push ebp
mov ebx, 0x100
movsx eax, al
or eax, ebx
mov ebp, esi
mov edx, eax
mov ecx, eax
shr edx, 2
and edx, 0xf
and ecx, 0xf
xor edx, ecx
mov ecx, 0x20
sub ecx, edx
add ebx, 0x100
shr ebp, cl
mov ecx, edx
mov edx, eax
imul edx, eax
shl esi, cl
mov al, byte [edi + 1]
or ebp, esi
xor ebp, edx
inc edi
test al, al
mov esi, ebp
jne 0x10190709
mov eax, esi
pop ebp
shr eax, 0x10
pop ebx
xor eax, esi
pop edi
pop esi
ret
pop edi
xor eax, eax
pop esi
ret