joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10019270
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push esi
push 0
push dword [ebp + 8]
mov esi, ecx
push 0
push 0
push 1
mov eax, dword [esi + 0x1c]
push 1
push 0
push 0
push 0xcf0000
push eax
push eax
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi + 0xb0], eax
test eax, eax
jne 0x100192a8
pop esi
pop ebp
ret 4
push esi
push 0xffffffffffffffeb
push eax
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0
push dword [esi + 0xb0]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, 1
pop esi
pop ebp
ret 4

Function at 0x100192d0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, ecx
push edi
push dword [esi + 0xb0]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x100193bf
mov edx, dword [ebp + 0xc]
test edx, edx
jne 0x100192f6
xor ecx, ecx
jmp 0x10019310
mov ecx, edx
push ebx
lea ebx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10019300
sub ecx, ebx
sar ecx, 1
pop ebx
push ecx
push edx
lea ecx, [esi + 0x1c]
call fcn.10012d10
mov edi, dword [ebp + 8]
test edi, edi
je 0x1001933e
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10019326
sub ecx, edx
sar ecx, 1
push ecx
push edi
mov ecx, esi
call fcn.10012d10
mov dword [esi + 0x84], 1
mov ecx, esi
push dword [0x10117134]
call fcn.100191f0
test ax, ax
jne 0x1001936f
push 0x100ea414
call fcn.10016320
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
ret 8
push dword [0x10117134]
mov ecx, esi
call fcn.10019270
test eax, eax
jne 0x10019395
push 0x100ea424
call fcn.10016320
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
ret 8
push edi
push edi
call dword [sym.imp.USER32.dll_FindWindowW]
cmp dword [esi + 0x78], 0
mov dword [esi + 0x20], eax
jne 0x100193bf
push 0
push 0
push esi
push 0x10019ee0
push 0
push 0
call fcn.100bbc5d
add esp, 0x18
mov dword [esi + 0x78], eax
pop edi
mov eax, 1
pop esi
pop ebp
ret 8
Function at 0x10019680
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d73a8
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x10113004]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
xor edi, edi
cmp dword [esi + 0x20], edi
jne 0x100196eb
mov ebx, dword [sym.imp.USER32.dll_FindWindowW]
mov eax, dword [esi]
push eax
push eax
call ebx
mov dword [esi + 0x20], eax
test eax, eax
jne 0x100196e4
push edi
push str.times__d__checkcheck_popmgr_wnd_DOES_NOT_exist.
call fcn.10016320
add esp, 8
push 0xc8
push dword [esi + 0x7c]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x10019735
inc edi
cmp dword [esi + 0x20], 0
je 0x100196b7
push edi
push str.times__d__check_popmgr_wnd_exist.
call fcn.10016320
add esp, 8
mov ebx, dword [sym.imp.KERNEL32.dll_GetTickCount]
nop
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x80]
push 0xffffffffffffffff
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x14]
push 0
push eax
push 2
call dword [sym.imp.KERNEL32.dll_WaitForMultipleObjects]
test eax, eax
jne 0x10019781
cmp dword [esi + 0x88], eax
jne 0x10019744
call ebx
mov dword [esi + 0x88], eax
jmp 0x10019753
push str.channel_send_thread_quit.
call fcn.10016320
add esp, 4
jmp 0x100196f9
call ebx
sub eax, dword [esi + 0x88]
cmp eax, 0x2710
jae 0x1001976f
cmp dword [esi + 0x74], 0
jbe 0x1001976f
cmp dword [esi + 0x84], 0
je 0x1001976f
push dword [esi + 0x20]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x10019786
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne 0x1001976f
lea ecx, [ebp - 0x28]
call fcn.1009ddc0
mov eax, dword [esi + 0x48]
lea edi, [esi + 0x48]
push edi
mov dword [ebp - 4], 0
call dword [eax]
cmp dword [esi + 0x74], 0
jbe 0x100197f9
mov eax, dword [esi + 0x64]
test eax, eax
je 0x100197ad
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, dword [esi + 0x70]
push dword [eax + ecx*4]
lea ecx, [ebp - 0x28]
call fcn.1009de30
mov ecx, dword [esi + 0x6c]
mov eax, dword [esi + 0x68]
dec ecx
and ecx, dword [esi + 0x70]
push 0
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx]
call dword [eax]
add dword [esi + 0x74], 0xffffffff
jne 0x100197e4
mov dword [esi + 0x70], 0
jmp 0x100197e7
inc dword [esi + 0x70]
cmp dword [esi + 0x74], 0
jbe 0x100197f9
push dword [esi + 0x80]
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov eax, dword [ebp - 0x24]
cmp dword [eax + 8], 0
jbe 0x10019813
lea eax, [ebp - 0x28]
mov ecx, esi
push eax
call fcn.10019950
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call fcn.1009de20
jmp 0x10019700

Function at 0x1001c210
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ecx]
test ecx, ecx
je 0x1001c21f
pop ebp
jmp fcn.1001db70
xor eax, eax
pop ebp
ret 0xc
Function at 0x1001cb10
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d75e8
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x10113004]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], 0x720074
mov dword [ebp - 0x28], 0x630061
mov dword [ebp - 0x24], 0x6c0065
mov dword [ebp - 0x20], 0x730065
mov dword [ebp - 0x1c], 0x630073
mov dword [ebp - 0x18], 0x610068
mov dword [ebp - 0x14], 0x74
call fcn.10010bd0
mov ecx, eax
test ecx, ecx
je 0x1001cbde
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [esi], eax
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0
push eax
mov ecx, esi
call fcn.10010020
test al, al
jne 0x1001cbbe
lea ecx, [ebp - 0x2c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x1001cba3
sub ecx, edx
lea eax, [ebp - 0x2c]
sar ecx, 1
push ecx
push eax
mov ecx, esi
call fcn.10012d10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001abec
mov esp, ebp
pop ebp
ret 4
push 0x80004005
call fcn.1000ff90
int3
Function at 0x1001db70
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d7930
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x10113004]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
lea edi, [esi + 0x34]
mov dword [ebp - 0x18], vtable._BaseModule::CAutoLocker.0
mov dword [ebp - 0x14], edi
test edi, edi
je 0x1001dbb0
mov eax, dword [edi]
push edi
call dword [eax]
cmp dword [esi + 0x24], 0
mov dword [ebp - 4], 0
jl 0x1001dbc7
mov esi, 1
jmp 0x1001dd14
mov ebx, dword [ebp + 8]
mov dword [esi + 0x24], ebx
test ebx, ebx
jns 0x1001dbd8
xor esi, esi
jmp 0x1001dd14
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x1001dbe8
push eax
lea ecx, [esi + 0x30]
call fcn.1000f5e0
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x1001dbfa
push eax
lea ecx, [esi + 0x2c]
call fcn.1000f5e0
jmp 0x1001dc33
lea eax, [ebp + 8]
push ebx
push eax
call fcn.100ab050
add esp, 8
push eax
lea ecx, [esi + 0x2c]
mov byte [ebp - 4], 1
call fcn.10017e10
mov edx, dword [ebp + 8]
or eax, 0xffffffff
mov byte [ebp - 4], 0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1001dc33
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, esi
call fcn.1001dea0
lea eax, [ebp - 0x10]
push ebx
push eax
call fcn.100aa670
add esp, 8
push dword [ebp - 0x10]
mov byte [ebp - 4], 2
push 0
push str.stat_rand
push str.statistic
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [esi + 0x1c], eax
test eax, eax
jne 0x1001dcf0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.100bbd9a
add esp, 4
call fcn.100bbd79
cdq
mov ecx, 0x64
idiv ecx
inc edx
mov dword [esi + 0x1c], edx
call fcn.10010bd0
mov ecx, eax
test ecx, ecx
je 0x1001dd3b
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 8], eax
push dword [esi + 0x1c]
lea eax, [ebp + 8]
mov byte [ebp - 4], 3
push 0x100ead24
push eax
call fcn.10017ef0
mov esi, dword [ebp + 8]
add esp, 0xc
push dword [ebp - 0x10]
push esi
push str.stat_rand
push str.statistic
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov byte [ebp - 4], 2
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x1001dcf0
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x10]
mov esi, 1
mov byte [ebp - 4], 0
add edx, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x1001dd14
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 4
test edi, edi
je 0x1001dd25
mov ecx, dword [edi]
push edi
call dword [ecx + 4]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x80004005
call fcn.1000ff90
int3
Function at 0x1001dd50
Capabilities:
Delete file
Download url
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d7963
mov eax, dword fs:[0]
push eax
sub esp, 0x420
mov eax, dword [0x10113004]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
xor edi, edi
mov dword [ebp - 4], 0
test esi, esi
je 0x1001ddf5
cmp word [esi], di
je 0x1001ddf5
test eax, eax
je 0x1001ddb1
cmp word [eax], di
je 0x1001ddb1
push edi
push edi
push eax
push esi
push edi
call sub.urlmon.dll_URLDownloadToFileW
test eax, eax
js 0x1001ddf5
jmp 0x1001ddf0
push 0x410
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.100b45c0
add esp, 0xc
lea eax, [ebp - 0x420]
push 0
push 0
push 0x104
push eax
push esi
push 0
call sub.urlmon.dll_URLDownloadToCacheFileW
test eax, eax
js 0x1001ddf5
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edi, 1
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x1001de6c
mov eax, dword [ebx + 0x24]
test eax, eax
js 0x1001de57
lea esi, [ebx + 0x34]
mov dword [ebp - method._BaseModule::CAutoLocker.virtual_0], vtable._BaseModule::CAutoLocker.0
mov dword [ebp - 0x428], esi
test esi, esi
je 0x1001de25
mov eax, dword [esi]
push esi
call dword [eax]
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebp + 0x34]
mov byte [ebp - 4], 1
test eax, eax
js 0x1001de46
mov dword [ebp - 0x424], edi
test ecx, ecx
je 0x1001de8c
mov eax, dword [ecx]
lea edx, [ebp - 0x424]
push edx
call dword [eax + 8]
mov ecx, dword [ebp + 0x34]
mov byte [ebp - 4], 2
test esi, esi
je 0x1001de57
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, dword [ebp + 0x34]
test ecx, ecx
je 0x1001de6c
mov edx, dword [ecx]
lea eax, [ebp + 0x10]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001abec
mov esp, ebp
pop ebp
ret 0x30
call fcn.1001ab3e
int3
Function at 0x1002e1f0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d87a7
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x10113004]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov eax, dword [ebp + 8]
mov dword [edi], eax
mov eax, dword [ebp + 0xc]
mov dword [edi + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [edi + 8], eax
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov byte [edi + 0x18], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x30], 0xf
mov dword [ebp - 4], 0
mov byte [edi + 0x1c], 0
lea esi, [edi + 0x3c]
mov byte [ebp - 4], 1
mov ecx, esi
mov dword [ebp + 8], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.1004aab0
mov dword [esi], eax
lea esi, [edi + 0x44]
mov byte [ebp - 4], 2
mov ecx, esi
mov dword [ebp + 8], esi
mov dword [esi], 0
mov dword [esi + 4], 0
call fcn.1004aab0
mov dword [esi], eax
mov dword [edi + 0x4c], 0
mov dword [edi + 0x60], 0
mov dword [edi + 0x64], 0xf
mov byte [edi + 0x50], 0
lea ecx, [edi + 0x68]
mov byte [ebp - 4], 4
mov dword [ecx + 0x10], 0
push 0
mov dword [ecx + 0x14], 0xf
push 0x100e8d4e
mov byte [ecx], 0
call fcn.1000caf0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc

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

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
push esi
push edi
mov esi, dword [eax]
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002fd60
sub ecx, edx
xor edi, edi
push ebx
xor ebx, ebx
mov eax, 0x811c9dc5
lea edx, [ecx + esi]
cmp esi, edx
cmova ecx, ebx
pop ebx
test ecx, ecx
je 0x1002fd93
movzx edx, byte [esi]
lea esi, [esi + 1]
xor edx, eax
inc edi
imul eax, edx, 0x1000193
cmp edi, ecx
jne 0x1002fd80
and eax, 0x7fffffff
push 0x1f31d
push eax
call fcn.100bd103
imul eax, eax, 0xb14
add esp, 8
imul ecx, edx, 0x41a7
pop edi
pop esi
sub ecx, eax
lea eax, [ecx + 0x7fffffff]
js 0x1002fdc0
mov eax, ecx
pop ebp
ret 4
Function at 0x10073f20
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100dd2fa
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push esi
push edi
mov eax, dword [0x10113004]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
test edi, edi
jne 0x10073f8d
push 0x38
call fcn.1001abae
add esp, 4
mov dword [ebp + 8], eax
mov dword [ebp - 4], edi
test eax, eax
je 0x10073f7a
mov ecx, eax
call fcn.10076a60
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
cmp dword [edi + 0x40], 0
je 0x10073fa1
push 0x38
push 0x1011544c
mov ecx, edi
call fcn.10021720
push 0x38
mov ecx, edi
call fcn.10021490
mov esi, eax
mov dword [ebp + 8], esi
mov dword [esi], vtable.google::protobuf::FieldDescriptorProto.0
mov dword [ebp - 4], 1
mov dword [esi + 4], edi
mov dword [esi + 8], 0
mov eax, dword [0x10117a14]
mov byte [ebp - 4], 2
cmp eax, 2
je 0x10074003
mov dword [ebp - 0x18], vtable.google::protobuf::internal::FunctionClosure0.0
mov dword [ebp - 0x14], 0x1007ed00
mov byte [ebp - 0x10], 0
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 3
push eax
push 0x10117a14
call fcn.10021740
add esp, 8
lea ecx, [ebp - 0x18]
call fcn.1001ef30
mov dword [esi + 0xc], 0
xorps xmm0, xmm0
mov dword [esi + 0x10], 0x10117238
mov eax, esi
mov dword [esi + 0x14], 0x10117238
mov dword [esi + 0x18], 0x10117238
mov dword [esi + 0x1c], 0x10117238
mov dword [esi + 0x20], 0x10117238
movq qword [esi + 0x24], xmm0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 1
mov dword [esi + 0x34], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x10074fe0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100dd655
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push esi
push edi
mov eax, dword [0x10113004]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, dword [ebp + 8]
test edi, edi
jne 0x1007504d
push 0x48
call fcn.1001abae
add esp, 4
mov dword [ebp + 8], eax
mov dword [ebp - 4], edi
test eax, eax
je 0x1007503a
mov ecx, eax
call fcn.10077a10
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
cmp dword [edi + 0x40], 0
je 0x10075061
push 0x48
push 0x10116518
mov ecx, edi
call fcn.10021720
push 0x48
mov ecx, edi
call fcn.10021490
mov esi, eax
mov dword [ebp + 8], esi
mov dword [esi], vtable.google::protobuf::UninterpretedOption.0
mov dword [ebp - 4], 1
mov dword [esi + 4], edi
mov dword [esi + 8], 0
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0x1c], 0
mov eax, dword [0x10117a54]
mov byte [ebp - 4], 3
cmp eax, 2
je 0x100750db
mov dword [ebp - 0x18], vtable.google::protobuf::internal::FunctionClosure0.0
mov dword [ebp - 0x14], 0x1007f920
mov byte [ebp - 0x10], 0
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 4
push eax
push 0x10117a54
call fcn.10021740
add esp, 8
lea ecx, [ebp - 0x18]
call fcn.1001ef30
xorps xmm0, xmm0
mov dword [esi + 0xc], 0
mov dword [esi + 0x20], 0x10117238
mov eax, esi
mov dword [esi + 0x24], 0x10117238
mov dword [esi + 0x28], 0x10117238
movups xmmword [esi + 0x30], xmm0
movq qword [esi + 0x40], xmm0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x10076980
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100dd7bb
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push esi
mov eax, dword [0x10113004]
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 dword [esi], vtable.google::protobuf::FieldDescriptorProto.0
mov dword [ebp - 4], 0
mov dword [esi + 4], eax
mov dword [esi + 8], 0
mov eax, dword [0x10117a14]
mov byte [ebp - 4], 1
cmp eax, 2
je 0x10076a02
mov dword [ebp - 0x1c], vtable.google::protobuf::internal::FunctionClosure0.0
mov dword [ebp - 0x18], 0x1007ed00
mov byte [ebp - 0x14], 0
lea eax, [ebp - 0x1c]
mov byte [ebp - 4], 2
push eax
push 0x10117a14
call fcn.10021740
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.1001ef30
mov dword [esi + 0xc], 0
xorps xmm0, xmm0
mov dword [esi + 0x10], 0x10117238
mov eax, esi
mov dword [esi + 0x14], 0x10117238
mov dword [esi + 0x18], 0x10117238
mov dword [esi + 0x1c], 0x10117238
mov dword [esi + 0x20], 0x10117238
movq qword [esi + 0x24], xmm0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 1
mov dword [esi + 0x34], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret 4
Function at 0x1007b860
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push esi
mov esi, ecx
push edi
mov dword [ebp - 8], esi
mov edi, dword [esi + 0x14]
test edi, edi
jle 0x1007b8a2
mov edx, dword [esi + 0x1c]
xor ecx, ecx
nop dword [eax]
mov eax, dword [edx + ecx*4 + 4]
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], 0
jb 0x1007b893
mov eax, dword [eax]
inc ecx
mov byte [eax], 0
cmp ecx, edi
jl 0x1007b880
mov dword [esi + 0x14], 0
push ebx
mov ebx, dword [esi + 0x24]
test ebx, ebx
jle 0x1007b8c9
mov eax, dword [esi + 0x2c]
xor edi, edi
mov esi, eax
mov ecx, dword [esi + edi*4 + 4]
call fcn.1007b040
inc edi
cmp edi, ebx
jl 0x1007b8b1
mov esi, dword [ebp - 8]
mov dword [esi + 0x24], 0
mov ebx, dword [esi + 0x34]
test ebx, ebx
jle 0x1007b8f8
mov eax, dword [esi + 0x3c]
xor edi, edi
mov dword [ebp - 4], eax
mov esi, eax
nop word [eax + eax]
mov ecx, dword [esi + edi*4 + 4]
call fcn.1007b3c0
inc edi
cmp edi, ebx
jl 0x1007b8e0
mov esi, dword [ebp - 8]
mov dword [esi + 0x34], 0
mov ebx, dword [esi + 0x44]
test ebx, ebx
jle 0x1007b928
mov eax, dword [esi + 0x4c]
xor edi, edi
mov dword [ebp - 4], eax
mov esi, eax
nop dword [eax]
mov ecx, dword [esi + edi*4 + 4]
call fcn.1007bf30
inc edi
cmp edi, ebx
jl 0x1007b910
mov esi, dword [ebp - 8]
mov dword [esi + 0x44], 0
mov ebx, dword [esi + 0x54]
test ebx, ebx
jle 0x1007b958
mov eax, dword [esi + 0x5c]
xor edi, edi
mov dword [ebp - 4], eax
mov esi, eax
nop dword [eax]
mov ecx, dword [esi + edi*4 + 4]
call fcn.1007b6d0
inc edi
cmp edi, ebx
jl 0x1007b940
mov esi, dword [ebp - 8]
mov dword [esi + 0x54], 0
mov dword [esi + 0x60], 0
mov dword [esi + 0x6c], 0
mov ebx, dword [esi + 8]
test bl, 0x1f
je 0x1007b9f8
test bl, 1
je 0x1007b993
mov eax, dword [esi + 0x78]
cmp eax, 0x10117238
je 0x1007b993
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], 0
jb 0x1007b990
mov eax, dword [eax]
mov byte [eax], 0
test bl, 2
je 0x1007b9b4
mov eax, dword [esi + 0x7c]
cmp eax, 0x10117238
je 0x1007b9b4
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], 0
jb 0x1007b9b1
mov eax, dword [eax]
mov byte [eax], 0
test bl, 4
je 0x1007b9d8
mov eax, dword [esi + 0x80]
cmp eax, 0x10117238
je 0x1007b9d8
cmp dword [eax + 0x14], 0x10
mov dword [eax + 0x10], 0
jb 0x1007b9d5
mov eax, dword [eax]
mov byte [eax], 0
test bl, 8
je 0x1007b9e8
mov ecx, dword [esi + 0x84]
call fcn.1007ba80
test bl, 0x10
je 0x1007b9f8
mov ecx, dword [esi + 0x88]
call fcn.1007bfd0
mov dword [esi + 8], 0
test byte [esi + 4], 1
pop ebx
je 0x1007ba16
mov ecx, dword [esi + 4]
and ecx, 0xfffffffe
cmp dword [ecx], 0
je 0x1007ba16
call fcn.100277a0
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x100987a0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d8aa0
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x10113004]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov ecx, esi
call fcn.100673b0
dec eax
cmp eax, 9
ja case.default.0x100987db
jmp dword [eax*4 + 0x1009893c]
push 0x32c
push str.D:_sourcecode460SoftwareGasteprotobuf_cpp_3.5.1protobuf_3.5.1_srcgoogle_protobuf_map_field.h
push 3
lea ecx, [ebp - 0x34]
call fcn.1001ee70
push str.Unsupported
mov ecx, eax
mov dword [ebp - 4], 0
call fcn.1001f290
push eax
lea ecx, [ebp - 0x59]
call fcn.1001f080
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xffffffff
call fcn.1001efb0
push 0x33b
push str.D:_sourcecode460SoftwareGasteprotobuf_cpp_3.5.1protobuf_3.5.1_srcgoogle_protobuf_map_field.h
push 3
lea ecx, [ebp - 0x58]
call fcn.1001ee70
push str.Cant_get_here.
mov ecx, eax
mov dword [ebp - 4], 1
call fcn.1001f290
push eax
lea ecx, [ebp - 0x5a]
call fcn.1001f080
lea ecx, [ebp - 0x58]
call fcn.1001efb0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1001abec
mov esp, ebp
pop ebp
ret 4
mov ecx, esi
call fcn.100632e0
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x1009888a
mov esi, dword [esi]
mov edx, esi
lea ecx, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x10098890
sub edx, ecx
xor ebx, ebx
xor edi, edi
mov eax, 0x811c9dc5
lea ecx, [edx + esi]
cmp esi, ecx
cmova edx, ebx
test edx, edx
je 0x100988c3
nop
movzx ecx, byte [esi]
lea esi, [esi + 1]
xor ecx, eax
inc edi
imul eax, ecx, 0x1000193
cmp edi, edx
jne 0x100988b0
and eax, 0x7fffffff
push 0x1f31d
push eax
call fcn.100bd103
imul edx, edx, 0x41a7
add esp, 8
imul ecx, eax, 0xb14
sub edx, ecx
jns 0x100988ec
add edx, 0x7fffffff
mov eax, edx
jmp 0x1009885b
mov ecx, esi
call fcn.10062ff0
xor eax, 0xdeadbeef
jmp 0x100988c3
mov ecx, esi
call fcn.10062e00
xor eax, 0xdeadbeef
jmp 0x100988c3
mov ecx, esi
call fcn.100636b0
xor eax, 0xdeadbeef
jmp 0x100988c3
mov ecx, esi
call fcn.100634c0
xor eax, 0xdeadbeef
jmp 0x100988c3
mov ecx, esi
call fcn.10062c10
movzx eax, al
xor eax, 0xdeadbeef
jmp 0x100988c3