joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14f1c0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1f34c0
push 0x1687b8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
add esp, 0xffffffd4
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 0
cmp dword [ebp + 8], 0
jbe 0x14f298
cmp dword [ebp + 0xc], 0
jne 0x14f20d
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp + 0xc], eax
mov dword [ebp - 0x20], 0
push 0xc
call fcn.001536d0
mov dword [ebp - 0x20], eax
push 0x1c
lea eax, [ebp - 0x3c]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualQueryEx]
cmp eax, 0x1c
jne 0x14f27c
cmp dword [ebp - 0x2c], 0x10000
jne 0x14f25e
push 0x40
push 0x2000
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov dword [ebp - 0x1c], eax
jmp 0x14f27c
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x38]
jne 0x14f274
mov ecx, dword [ebp - 0x20]
sub ecx, 0x10000
mov dword [ebp - 0x20], ecx
jmp 0x14f27a
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x20], edx
jmp 0x14f21e
push 0x40
push 0x1000
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
mov edx, dword [ebp + 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x14f2c4
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8

Function at 0x14f3a0
Capabilities:
Allocate or change rwx memory

Disassembly:
push ebp
mov ebp, esp
push ecx
lea eax, [ebp - 4]
push eax
push 0x40
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov esp, ebp
pop ebp
ret 8
Function at 0x14fd20
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov dword [ebp - 4], 0
call dword [sym.imp.KERNEL32.dll_GetVersion]
and eax, 0xff
cmp eax, 6
jae 0x14fd66
call fcn.0014fc40
mov dword [ebp - 8], eax
xor eax, eax
cmp dword [ebp - 8], 0
setne al
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x14fd61
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14fe68
push str.CheckTokenMembership
push str.advapi32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0xc], eax
mov byte [ebp - 0x14], 0
mov byte [ebp - 0x13], 0
mov byte [ebp - 0x12], 0
mov byte [ebp - 0x11], 0
mov byte [ebp - 0x10], 0
mov byte [ebp - 0xf], 5
cmp dword [ebp - 0xc], 0
je 0x14fe68
lea edx, [ebp - 0x18]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
push 0x220
push 0x20
push 2
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
je 0x14fe68
lea ecx, [ebp - 0x1c]
push ecx
mov edx, dword [ebp - 0x18]
push edx
push 0
call dword [ebp - 0xc]
test eax, eax
je 0x14fded
cmp dword [ebp - 0x1c], 0
je 0x14fded
mov dword [ebp - 0x2c], 1
jmp 0x14fdf4
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x18]
push ecx
call dword [sym.imp.ADVAPI32.dll_FreeSid]
cmp dword [ebp - 4], 0
je 0x14fe68
lea edx, [ebp - 0x20]
push edx
push 8
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x14fe68
mov dword [ebp - 0x24], 4
lea eax, [ebp - 0x24]
push eax
push 4
lea ecx, [ebp - 0x28]
push ecx
push 0x14
mov edx, dword [ebp - 0x20]
push edx
call dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
je 0x14fe51
cmp dword [ebp - 0x28], 0
je 0x14fe51
mov dword [ebp - 0x30], 1
jmp 0x14fe58
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x20]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret
Function at 0x1506c0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
push esi
push edi
mov dword [ebp - 0x10], 0
push 0xc
push 0
lea eax, [ebp - 0xc]
push eax
call fcn.00166830
add esp, 0xc
cmp dword [ebp + 0xc], 0
jne 0x1506fb
lea ecx, [ebp - 0xc]
push ecx
call fcn.00150210
add esp, 4
test eax, eax
je 0x1506fb
lea edx, [ebp - 0xc]
mov dword [ebp + 0xc], edx
call fcn.00150370
mov eax, dword [ebp + 0x20]
push eax
mov ecx, dword [ebp + 0x1c]
push ecx
mov edx, dword [ebp + 0x18]
push edx
mov eax, dword [ebp + 0x14]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x15085b
movzx ecx, byte [ebp + 0x24]
test ecx, ecx
jne 0x15085b
push 0
push 0x1ddf88
call fcn.00153460
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x15085b
mov dword [ebp - 0x18], 0
cmp dword [ebp + 0xc], 0
je 0x15076a
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], 0
cmp dword [ebp + 0x10], 0
je 0x150797
mov ecx, dword [ebp + 0x1c]
and ecx, 0x10000
je 0x150791
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x1c], edx
jmp 0x150797
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp + 8]
push ecx
push 0x25
call fcn.0014f1c0
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x1507e5
mov ecx, 9
mov esi, 0x1de0dc
lea edi, [ebp - 0x4c]
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x47], edx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x37], eax
push 1
push 0x1de0a0
call fcn.001533f0
mov dword [ebp - 0x32], eax
push 1
push 0x1de030
call fcn.001533f0
mov dword [ebp - 0x2d], eax
cmp dword [ebp - 0x24], 0
je 0x15085b
lea ecx, [ebp - 0x50]
push ecx
push 0x25
lea edx, [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x150855
lea edx, [ebp - 0x5c]
push edx
lea eax, [ebp - 0x10]
push eax
mov ecx, dword [ebp + 0x18]
push ecx
mov edx, dword [ebp - 0x24]
push edx
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x1c]
push ecx
push 0
mov edx, dword [ebp + 0x1c]
and edx, 4
push edx
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [ebp - 0x14]
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
jl 0x150846
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x58]
mov dword [edx], eax
jmp 0x150853
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x24]
push edx
call fcn.0014f2e0
jmp 0x15085b
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [ebp - 8], 0
je 0x150874
mov eax, dword [ebp - 8]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [ebp - 0x10]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x152110
Capabilities:
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
call fcn.00150fc0
test eax, eax
je 0x152126
xor eax, eax
jmp 0x1521c5
mov dword [ebp - 0xc], 0
push 0x10000
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 8], eax
push 0x8000
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [ebp + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0
push 0
push 3
push 0
push 1
push 0x80000000
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp dword [ebp - 4], 0xffffffff
je 0x1521c2
push 0
push 0
push 0
push 2
push 0
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x1521b8
push 0
push 0
push 0
push 4
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret 4

Function at 0x152750
Capabilities:
Parse pe header
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov dword [ebp - 8], 0
push 0
push 0
push 3
push 0
push 1
push 0x80000000
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xffffffff
je 0x15281a
push 0
push 0
push 0
push 2
push 0
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
je 0x152810
push 0
push 0
push 0
push 4
mov edx, dword [ebp - 0xc]
push edx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x152806
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x14]
movzx edx, word [ecx]
cmp edx, 0x5a4d
jne 0x1527fc
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
cmp dword [edx], 0x4550
jne 0x1527fc
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax + 0x18]
cmp ecx, 0x20b
jne 0x1527fc
mov dword [ebp - 8], 1
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov eax, dword [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 8]
mov esp, ebp
pop ebp
ret 4
Function at 0x152dc0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1f3598
push 0x1687b8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 0
push 2
mov eax, dword [ebp + 8]
push eax
call fcn.001510d0
test eax, eax
jne 0x152e35
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
cmp edx, 0x5a4d
jne 0x152e35
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3c]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 0x4550
je 0x152e35
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 0xffffffff
jmp 0x152e61
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4

Function at 0x153200
Capabilities:
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x118
mov dword [ebp - 0x114], 0
lea eax, [ebp - 0x110]
push eax
push 0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
push 0x1de33c
push 0x1de330
call fcn.00155770
add esp, 0x14
push 1
lea eax, [ebp - 0x110]
push eax
call fcn.00155580
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x1532a2
push 0
push 0
push 0
push 4
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0
je 0x153292
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x118]
mov ecx, dword [eax]
mov dword [edx], ecx
mov edx, dword [ebp - 0x118]
push edx
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov dword [ebp - 0x114], 1
jmp 0x153298
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, dword [ebp - 4]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x114]
mov esp, ebp
pop ebp
ret 4

Function at 0x154ea0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x11c
cmp dword [0x1ff03c], 0xffffffff
jne 0x154f1c
push 0x114
push 0
lea eax, [ebp - 0x118]
push eax
call fcn.00166830
add esp, 0xc
mov dword [ebp - 0x118], 0x114
lea ecx, [ebp - 0x118]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x114], 6
ja 0x154f06
cmp dword [ebp - 0x114], 6
jne 0x154efa
cmp dword [ebp - 0x110], 1
ja 0x154f06
mov dword [ebp - 0x11c], 0
jmp 0x154f10
mov dword [ebp - 0x11c], 1
mov edx, dword [ebp - 0x11c]
mov dword [0x1ff03c], edx
xor eax, eax
cmp dword [0x1ff03c], 1
sete al
mov esp, ebp
pop ebp
ret
Function at 0x1588f0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [ebp + 8]
movzx ecx, word [eax]
cmp ecx, 0x5a4d
jne 0x1589cf
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x3c]
mov dword [ebp - 4], eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 4]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
cmp dword [edx], 0x4550
jne 0x1589cf
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 0x80]
mov dword [ebp - 0xc], ecx
cmp dword [ebp - 0xc], 0
je 0x1589cf
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
cmp eax, dword [edx + 0x50]
jae 0x1589cf
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 0x10], ecx
je 0x1589cf
mov edx, dword [ebp - 0x10]
cmp dword [edx + 0xc], 0
je 0x1589cf
mov eax, dword [ebp - 0x10]
cmp dword [eax + 0x10], 0
je 0x1589cf
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 8]
mov eax, dword [ecx + 0x10]
cmp eax, dword [edx + 0x50]
jae 0x1589cf
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
add edx, dword [ecx + 0x10]
je 0x1589cf
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
add ecx, dword [eax + 0x10]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
cmp dword [edx], 0
je 0x1589c4
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
cmp ecx, dword [ebp + 0xc]
jne 0x1589b9
push 4
mov edx, dword [ebp - 0x14]
push edx
call fcn.0014f3a0
test eax, eax
je 0x1589b9
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp + 0x10]
mov dword [eax], ecx
mov edx, dword [ebp - 0x14]
add edx, 4
mov dword [ebp - 0x14], edx
jmp 0x158990
mov eax, dword [ebp - 0x10]
add eax, 0x14
mov dword [ebp - 0x10], eax
jmp 0x158959
mov esp, ebp
pop ebp
ret 0xc
Function at 0x15cd40
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
mov dword [ebp - 0xc], ecx
cmp dword [0x205e54], 0
je 0x15cd5b
cmp dword [0x205e58], 0
jne 0x15cdae
push 1
push 0x1de874
call fcn.00153460
mov dword [ebp - 8], eax
lea eax, [ebp - 4]
push eax
push 0x40
push 4
mov ecx, dword [ebp - 8]
add ecx, 0xa
push ecx
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x15cdac
mov edx, dword [0x205e50]
sub edx, dword [ebp - 8]
sub edx, 0xe
mov eax, dword [ebp - 8]
mov dword [eax + 0xa], edx
lea ecx, [ebp - 4]
push ecx
mov edx, dword [ebp - 4]
push edx
push 4
mov eax, dword [ebp - 8]
add eax, 0xa
push eax
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
jmp 0x15cdb9
push 0x15ca50
call dword [0x205e58]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esp, ebp
pop ebp
ret 4

Function at 0x162239
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x1ff584]
jne 0x162243
repz ret
jmp fcn.0016a3ee
Function at 0x16f3bc
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x1ff584]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0xc]
push esi
push edi
mov dword [ebp - 0x1c], eax
call fcn.0016a607
and dword [ebp - 0x14], 0
cmp dword [0x20624c], 0
mov dword [ebp - 0x18], eax
jne 0x16f46f
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov ebx, eax
test ebx, ebx
je 0x16f517
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.MessageBoxW
push ebx
call edi
test eax, eax
je 0x16f517
mov esi, dword [sym.imp.KERNEL32.dll_EncodePointer]
push eax
call esi
push str.GetActiveWindow
push ebx
mov dword [0x20624c], eax
call edi
push eax
call esi
push str.GetLastActivePopup
push ebx
mov dword [0x206250], eax
call edi
push eax
call esi
push str.GetUserObjectInformationW
push ebx
mov dword [0x206254], eax
call edi
push eax
call esi
mov dword [0x20625c], eax
test eax, eax
je 0x16f46f
push str.GetProcessWindowStation
push ebx
call edi
push eax
call esi
mov dword [0x206258], eax
mov eax, dword [0x206258]
mov ecx, dword [ebp - 0x18]
mov esi, dword [sym.imp.KERNEL32.dll_DecodePointer]
cmp eax, ecx
je 0x16f4c8
cmp dword [0x20625c], ecx
je 0x16f4c8
push eax
call esi
push dword [0x20625c]
mov edi, eax
call esi
mov ebx, eax
test edi, edi
je 0x16f4c8
test ebx, ebx
je 0x16f4c8
call edi
test eax, eax
je 0x16f4bf
lea ecx, [ebp - 0x24]
push ecx
push 0xc
lea ecx, [ebp - 0x10]
push ecx
push 1
push eax
call ebx
test eax, eax
je 0x16f4bf
test byte [ebp - 8], 1
jne 0x16f4c8
or dword [ebp + 0x10], 0x200000
jmp 0x16f4fb
mov eax, dword [0x206250]
cmp eax, dword [ebp - 0x18]
je 0x16f4fb
push eax
call esi
test eax, eax
je 0x16f4fb
call eax
mov dword [ebp - 0x14], eax
test eax, eax
je 0x16f4fb
mov eax, dword [0x206254]
cmp eax, dword [ebp - 0x18]
je 0x16f4fb
push eax
call esi
test eax, eax
je 0x16f4fb
push dword [ebp - 0x14]
call eax
mov dword [ebp - 0x14], eax
push dword [0x20624c]
call esi
test eax, eax
je 0x16f517
push dword [ebp + 0x10]
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp - 0x14]
call eax
jmp 0x16f519
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00162239
leave
ret

Function at 0x17cc00
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov eax, edx
push esi
lea esi, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x17cc10
sub eax, esi
add eax, edx
mov ecx, 0x811c9dc5
cmp edx, eax
je 0x17cc34
movsx esi, byte [edx]
imul ecx, ecx, 0x1000193
inc edx
xor ecx, esi
cmp edx, eax
jne 0x17cc24
and ecx, 0x7fffffff
push 0x1f31d
push ecx
call fcn.001c7b30
imul eax, eax, 0xb14
imul edx, edx, 0x41a7
add esp, 8
sub edx, eax
pop esi
mov eax, edx
jns 0x17cc60
add eax, 0x7fffffff
pop ebp
ret 4
Function at 0x1866e0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1c8c86
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push esi
mov eax, dword [0x1ff584]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
xor ebx, ebx
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [esi + 8], edx
mov dword [esi + 0xc], ebx
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], ebx
mov byte [esi + 0x1c], bl
mov dword [esi + 0x34], 0xf
mov dword [esi + 0x30], ebx
mov dword [ebp - 4], ebx
mov byte [esi + 0x20], bl
push 0x14
mov byte [ebp - 4], 1
mov dword [esi + 0x4c], ebx
call fcn.00162640
add esp, 4
cmp eax, ebx
je 0x186794
mov dword [esi + 0x48], eax
mov dword [eax], eax
mov eax, dword [esi + 0x48]
mov dword [eax + 4], eax
mov eax, dword [esi + 0x48]
mov dword [eax + 8], eax
mov eax, dword [esi + 0x48]
mov byte [eax + 0x10], 1
mov ecx, dword [esi + 0x48]
mov byte [ecx + 0x11], 1
mov dword [esi + 0x54], ebx
mov dword [esi + 0x6c], 0xf
mov dword [esi + 0x68], ebx
mov byte [esi + 0x58], bl
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea edx, [ebp + 8]
push edx
lea ecx, [ebp - 0x1c]
mov dword [ebp + 8], ebx
call fcn.00162759
push 0x1f81a8
lea eax, [ebp - 0x1c]
push eax
mov dword [ebp - 0x1c], vtable.std::bad_alloc.0
call fcn.0016abcf
int3
Function at 0x187dc0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, ecx
mov eax, dword [ebx + 4]
mov ecx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp + 0xc]
cmp esi, dword [eax]
jne 0x187def
cmp ecx, eax
jne 0x187def
mov ecx, ebx
call fcn.00186d70
mov eax, dword [ebx + 4]
mov ecx, dword [eax]
mov eax, dword [ebp + 8]
pop esi
mov dword [eax], ecx
pop ebx
pop ebp
ret 0xc
cmp esi, ecx
je 0x187ecd
push edi
mov edx, dword [esi]
mov dword [ebp + 0xc], edx
mov edx, dword [esi + 8]
mov eax, edx
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x187e05
sub eax, edi
add eax, edx
mov ecx, 0x811c9dc5
cmp edx, eax
je 0x187e30
lea esp, [esp]
movsx edi, byte [edx]
imul ecx, ecx, 0x1000193
inc edx
xor ecx, edi
cmp edx, eax
jne 0x187e20
and ecx, 0x7fffffff
push 0x1f31d
push ecx
call fcn.001c7b30
imul edx, edx, 0x41a7
imul eax, eax, 0xb14
add esp, 8
sub edx, eax
jns 0x187e5a
add edx, 0x7fffffff
mov ecx, dword [ebx + 0x20]
mov eax, ecx
and eax, edx
cmp dword [ebx + 0x24], eax
ja 0x187e6f
shr ecx, 1
or edx, 0xffffffff
sub edx, ecx
add eax, edx
mov ecx, dword [ebx + 0x10]
cmp dword [ecx + eax*8 + 4], esi
lea ecx, [ecx + eax*8]
jne 0x187e98
cmp dword [ecx], esi
jne 0x187e90
mov edx, dword [ebx + 4]
mov dword [ecx], edx
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 4]
mov dword [ecx + eax*8 + 4], edx
jmp 0x187ea0
mov eax, dword [esi + 4]
mov dword [ecx + 4], eax
jmp 0x187ea0
cmp dword [ecx], esi
jne 0x187ea0
mov edx, dword [esi]
mov dword [ecx], edx
cmp esi, dword [ebx + 4]
je 0x187ec0
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [eax], ecx
mov edx, dword [esi]
mov eax, dword [esi + 4]
push esi
mov dword [edx + 4], eax
call fcn.001625e4
add esp, 4
dec dword [ebx + 8]
mov esi, dword [ebp + 0xc]
cmp esi, dword [ebp + 0x10]
jne 0x187df8
pop edi
mov eax, dword [ebp + 8]
mov dword [eax], esi
pop esi
pop ebx
pop ebp
ret 0xc
Function at 0x1a3e10
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1cca23
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x1ff584]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0x38
call fcn.00162640
mov esi, eax
add esp, 4
mov dword [ebp - 0x10], esi
xor edi, edi
mov dword [ebp - 4], edi
cmp esi, edi
je 0x1a3e95
lea ecx, [esi + 4]
mov byte [ebp - 4], 1
mov dword [esi], vtable.google::protobuf::SourceCodeInfo_Location.0
call fcn.0019e720
mov dword [esi + 8], edi
mov dword [esi + 0xc], edi
mov dword [esi + 0x10], edi
mov dword [esi + 0x18], edi
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], edi
mov eax, 0x2006e0
mov dword [esi + 0x28], eax
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], edi
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x1a4b30
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1caaa8
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x1ff584]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
xor edi, edi
lea ecx, [esi + 4]
mov dword [ebp - 4], edi
mov dword [esi], vtable.google::protobuf::FileDescriptorProto.0
call fcn.0019e720
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], edi
mov dword [esi + 0x18], edi
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], edi
mov dword [esi + 0x24], edi
mov dword [esi + 0x28], edi
mov dword [esi + 0x2c], edi
mov dword [esi + 0x30], edi
mov dword [esi + 0x34], edi
mov dword [esi + 0x38], edi
mov dword [esi + 0x3c], edi
mov dword [esi + 0x40], edi
mov dword [esi + 0x44], edi
mov dword [esi + 0x48], edi
mov dword [esi + 0x4c], edi
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], edi
mov dword [esi + 0x58], edi
mov dword [esi + 0x5c], edi
mov dword [esi + 0x60], edi
mov dword [esi + 0x64], edi
mov dword [esi + 0x68], edi
mov dword [esi + 0x6c], edi
mov dword [esi + 0x70], edi
mov dword [esi + 0x74], edi
mov eax, 0x2006e0
mov dword [esi + 8], eax
mov dword [esi + 0xc], eax
mov dword [esi + 0x80], edi
mov dword [esi + 0x78], edi
mov dword [esi + 0x7c], edi
mov dword [esi + 0x84], edi
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret