joyce8/EMBER2024-capa huggingface dataset:
Function at 0x10059610
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x10107918
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0x20]
push edi
call fcn.10001890
mov dword [esp + 0x18], 0
test edi, edi
je 0x10059654
add edi, 0x28
jmp 0x10059656
xor edi, edi
mov dword [esi + 0x28], vtable.boost::exception.0
mov ecx, dword [edi + 4]
mov dword [esi + 0x2c], ecx
test ecx, ecx
je 0x1005966e
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
mov eax, dword [edi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [edi + 0xc]
mov dword [esi + 0x34], ecx
mov edx, dword [edi + 0x10]
mov dword [esi + 0x38], edx
mov dword [esi], vtable.boost::exception_detail::error_info_injector_class_std::runtime_error_.1.0
mov dword [esi + 0x28], vtable.boost::exception_detail::error_info_injector_class_std::runtime_error_.0
mov eax, esi
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x10
ret 4

Function at 0x100597a0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x101088c8
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0x20]
push edi
call fcn.10001da0
mov dword [esi], vtable.boost::gregorian::bad_day_of_month.0
mov dword [esp + 0x18], 0
test edi, edi
je 0x100597ea
add edi, 0x28
jmp 0x100597ec
xor edi, edi
mov dword [esi + 0x28], vtable.boost::exception.0
mov ecx, dword [edi + 4]
mov dword [esi + 0x2c], ecx
test ecx, ecx
je 0x10059804
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
mov eax, dword [edi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [edi + 0xc]
mov dword [esi + 0x34], ecx
mov edx, dword [edi + 0x10]
mov dword [esi + 0x38], edx
mov dword [esi], vtable.boost::exception_detail::error_info_injector_struct_boost::gregorian::bad_day_of_month_.1.0
mov dword [esi + 0x28], vtable.boost::exception_detail::error_info_injector_struct_boost::gregorian::bad_day_of_month_.0
mov eax, esi
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x10
ret 4
Function at 0x10059b20
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x10108858
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0x20]
push edi
call fcn.10001da0
mov dword [esi], vtable.boost::gregorian::bad_year.0
mov dword [esp + 0x18], 0
test edi, edi
je 0x10059b6a
add edi, 0x28
jmp 0x10059b6c
xor edi, edi
mov dword [esi + 0x28], vtable.boost::exception.0
mov ecx, dword [edi + 4]
mov dword [esi + 0x2c], ecx
test ecx, ecx
je 0x10059b84
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
mov eax, dword [edi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [edi + 0xc]
mov dword [esi + 0x34], ecx
mov edx, dword [edi + 0x10]
mov dword [esi + 0x38], edx
mov dword [esi], vtable.boost::exception_detail::error_info_injector_struct_boost::gregorian::bad_year_.1.0
mov dword [esi + 0x28], vtable.boost::exception_detail::error_info_injector_struct_boost::gregorian::bad_year_.0
mov eax, esi
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x10
ret 4

Function at 0x10059cd0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x101087e8
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0x20]
push edi
call fcn.10001da0
mov dword [esi], vtable.boost::gregorian::bad_month.0
mov dword [esp + 0x18], 0
test edi, edi
je 0x10059d1a
add edi, 0x28
jmp 0x10059d1c
xor edi, edi
mov dword [esi + 0x28], vtable.boost::exception.0
mov ecx, dword [edi + 4]
mov dword [esi + 0x2c], ecx
test ecx, ecx
je 0x10059d34
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
mov eax, dword [edi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [edi + 0xc]
mov dword [esi + 0x34], ecx
mov edx, dword [edi + 0x10]
mov dword [esi + 0x38], edx
mov dword [esi], vtable.boost::exception_detail::error_info_injector_struct_boost::gregorian::bad_month_.1.0
mov dword [esi + 0x28], vtable.boost::exception_detail::error_info_injector_struct_boost::gregorian::bad_month_.0
mov eax, esi
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x10
ret 4

Function at 0x10060420
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x101096d3
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0xc]
mov dword fs:[0], eax
mov esi, dword [esp + 0x1c]
push esi
mov ecx, edi
call fcn.100606b0
lea eax, [esi + 0x18]
lea ecx, [edi + 0x18]
push eax
mov dword [esp + 0x18], 0
call fcn.10060500
push 0xffffffffffffffff
lea ecx, [esi + 0x30]
mov byte [esp + 0x18], 1
lea eax, [edi + 0x30]
push 0
mov dword [ecx + 0x18], 0xf
mov dword [ecx + 0x14], 0
push eax
mov byte [ecx + 4], 0
call fcn.10006940
mov eax, esi
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x10
ret 4
Function at 0x10063650
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10108538
mov eax, dword fs:[0]
push eax
sub esp, 0x28
mov eax, dword [0x10145df0]
xor eax, esp
mov dword [esp + 0x20], eax
push esi
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov esi, ecx
mov ecx, dword [esp + 8]
push ecx
push edx
push eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 0xf
mov dword [esp + 0x2c], 0
mov byte [esp + 0x1c], 0
call fcn.10065670
mov dword [esp + 0x38], 0
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
lea eax, [esp + 0xc]
push eax
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp + 8]
push edx
push eax
push ecx
mov ecx, esi
call fcn.10064030
cmp dword [esp + 0x24], 0x10
jb 0x100636ea
mov edx, dword [esp + 0x10]
push edx
call fcn.100c5661
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.100c4be1
mov esp, ebp
pop ebp
ret 0x1c

Function at 0x10070530
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x100fbbd8
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x14], esi
mov ecx, dword [esi]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
call fcn.10078880
mov eax, dword [esi]
mov ebp, dword [eax + 0x14]
add eax, 4
mov dword [esp + 0x30], 0
cmp dword [eax + 0xc], ebp
jbe 0x10070586
call fcn.100c55dd
mov edi, dword [esi]
mov esi, dword [edi + 0x10]
add edi, 4
cmp esi, dword [edi + 0x10]
jbe 0x10070598
call fcn.100c55dd
mov edi, dword [edi]
mov dword [esp + 0x24], esi
mov ebx, esi
cmp esi, ebp
je 0x100705bb
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
lea ebx, [ebx]
cmp dword [ebx], eax
je 0x100705bb
add ebx, 8
cmp ebx, ebp
jne 0x100705b0
mov ecx, dword [esp + 0x14]
mov esi, dword [ecx]
mov ebp, dword [esi + 0x14]
add esi, 4
cmp dword [esi + 0xc], ebp
jbe 0x100705d1
call fcn.100c55dd
mov esi, dword [esi]
test edi, edi
je 0x100705db
cmp edi, esi
je 0x100705e0
call fcn.100c55dd
cmp ebx, ebp
jne 0x100705f7
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
mov ecx, dword [eax]
push edx
add ecx, 4
call fcn.10070470
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], 0xffffffff
call fcn.10078890
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x20
ret 4
Function at 0x100710c0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
push 0xffffffffffffffff
push 0x100fbd08
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push esi
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0x1c]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 8], esi
mov eax, dword [esp + 0x30]
mov dword [esi + 4], eax
lea ecx, [esp + 0xc]
push ecx
mov dword [esp + 0x28], 0
mov dword [esi], vtable.std::ctype_wchar_t_.0
call fcn.1006a8a8
mov edx, dword [eax]
mov dword [esi + 8], edx
mov ecx, dword [eax + 4]
mov dword [esi + 0xc], ecx
mov edx, dword [eax + 8]
mov dword [esi + 0x10], edx
mov eax, dword [eax + 0xc]
add esp, 4
mov dword [esi + 0x14], eax
call fcn.10069ef1
mov dword [esi + 0x18], eax
mov dword [esi + 0x1c], edx
mov eax, esi
mov ecx, dword [esp + 0x1c]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x20
ret 8

Function at 0x10073460
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x100fbf38
mov eax, dword fs:[0]
push eax
sub esp, 0x24
mov eax, dword [0x10145df0]
xor eax, esp
mov dword [esp + 0x20], eax
push esi
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0x2c]
mov dword fs:[0], eax
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x4c]
mov esi, ecx
xor ecx, ecx
mov word [esp + 0x10], cx
mov ecx, dword [esp + 0x50]
push edx
push ecx
push eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 7
mov dword [esp + 0x2c], 0
call fcn.10072ca0
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0xc]
push edx
mov edx, dword [esp + 0x44]
push eax
mov eax, dword [esp + 0x44]
push ecx
push edx
push eax
mov ecx, esi
mov dword [esp + 0x48], 0
call fcn.100730b0
cmp dword [esp + 0x24], 8
jb 0x100734fc
mov ecx, dword [esp + 0x10]
push ecx
call fcn.100c5661
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x2c]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.100c4be1
add esp, 0x30
ret 0x1c

Function at 0x1007dd20
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x100fcf58
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0x20]
push edi
call fcn.10001890
mov dword [esi], vtable.boost::log::v2s_mt_nt5::conversion_error.0
mov dword [esp + 0x18], 0
test edi, edi
je 0x1007dd6a
add edi, 0x28
jmp 0x1007dd6c
xor edi, edi
mov dword [esi + 0x28], vtable.boost::exception.0
mov ecx, dword [edi + 4]
mov dword [esi + 0x2c], ecx
test ecx, ecx
je 0x1007dd84
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
mov eax, dword [edi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [edi + 0xc]
mov dword [esi + 0x34], ecx
mov edx, dword [edi + 0x10]
mov dword [esi + 0x38], edx
mov dword [esi], vtable.boost::exception_detail::error_info_injector_class_boost::log::v2s_mt_nt5::conversion_error_.1.0
mov dword [esi + 0x28], vtable.boost::exception_detail::error_info_injector_class_boost::log::v2s_mt_nt5::conversion_error_.0
mov eax, esi
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x10
ret 4
Function at 0x1007ddc0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x100fcf88
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0x20]
push edi
call fcn.10001890
mov dword [esi], vtable.boost::log::v2s_mt_nt5::system_error.0
mov dword [esp + 0x18], 0
test edi, edi
je 0x1007de0a
add edi, 0x28
jmp 0x1007de0c
xor edi, edi
mov dword [esi + 0x28], vtable.boost::exception.0
mov ecx, dword [edi + 4]
mov dword [esi + 0x2c], ecx
test ecx, ecx
je 0x1007de24
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
mov eax, dword [edi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [edi + 0xc]
mov dword [esi + 0x34], ecx
mov edx, dword [edi + 0x10]
mov dword [esi + 0x38], edx
mov dword [esi], vtable.boost::exception_detail::error_info_injector_class_boost::log::v2s_mt_nt5::system_error_.1.0
mov dword [esi + 0x28], vtable.boost::exception_detail::error_info_injector_class_boost::log::v2s_mt_nt5::system_error_.0
mov eax, esi
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x10
ret 4

Function at 0x1007df20
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x100fcfe8
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0x20]
push edi
call fcn.10001da0
mov dword [esi], vtable.boost::log::v2s_mt_nt5::setup_error.0
mov dword [esp + 0x18], 0
test edi, edi
je 0x1007df6a
add edi, 0x28
jmp 0x1007df6c
xor edi, edi
mov dword [esi + 0x28], vtable.boost::exception.0
mov ecx, dword [edi + 4]
mov dword [esi + 0x2c], ecx
test ecx, ecx
je 0x1007df84
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
mov eax, dword [edi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [edi + 0xc]
mov dword [esi + 0x34], ecx
mov edx, dword [edi + 0x10]
mov dword [esi + 0x38], edx
mov dword [esi], vtable.boost::exception_detail::error_info_injector_class_boost::log::v2s_mt_nt5::setup_error_.1.0
mov dword [esi + 0x28], vtable.boost::exception_detail::error_info_injector_class_boost::log::v2s_mt_nt5::setup_error_.0
mov eax, esi
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x10
ret 4
Function at 0x1007dfc0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x100fd018
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0x20]
push edi
call fcn.10001da0
mov dword [esi], vtable.boost::log::v2s_mt_nt5::limitation_error.0
mov dword [esp + 0x18], 0
test edi, edi
je 0x1007e00a
add edi, 0x28
jmp 0x1007e00c
xor edi, edi
mov dword [esi + 0x28], vtable.boost::exception.0
mov ecx, dword [edi + 4]
mov dword [esi + 0x2c], ecx
test ecx, ecx
je 0x1007e024
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
mov eax, dword [edi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [edi + 0xc]
mov dword [esi + 0x34], ecx
mov edx, dword [edi + 0x10]
mov dword [esi + 0x38], edx
mov dword [esi], vtable.boost::exception_detail::error_info_injector_class_boost::log::v2s_mt_nt5::limitation_error_.1.0
mov dword [esi + 0x28], vtable.boost::exception_detail::error_info_injector_class_boost::log::v2s_mt_nt5::limitation_error_.0
mov eax, esi
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x10
ret 4

Function at 0x10081f70
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x100fde00
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov eax, dword [esp + 0x80]
push eax
lea ecx, [esp + 8]
call fcn.10001590
mov dword [esp + 4], vtable.boost::log::v2s_mt_nt5::conversion_error.0
lea ecx, [esp + 4]
push ecx
lea edx, [esp + 0x30]
push edx
mov dword [esp + 0x78], 0
call fcn.1007d990
add esp, 8
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
push eax
mov byte [esp + 0x74], 1
mov dword [eax + 0x34], ecx
mov dword [eax + 0x38], edx
call fcn.100806b0
int3

Function at 0x10082040
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x100fde60
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov eax, dword [esp + 0x80]
push eax
lea ecx, [esp + 8]
call fcn.10001590
mov dword [esp + 4], vtable.boost::log::v2s_mt_nt5::system_error.0
lea ecx, [esp + 4]
push ecx
lea edx, [esp + 0x30]
push edx
mov dword [esp + 0x78], 0
call fcn.1007d9e0
add esp, 8
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
push eax
mov byte [esp + 0x74], 1
mov dword [eax + 0x34], ecx
mov dword [eax + 0x38], edx
call fcn.10080720
int3
Function at 0x100821e0
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x100fdf20
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov eax, dword [esp + 0x80]
push eax
lea ecx, [esp + 8]
call fcn.100013d0
mov dword [esp + 4], vtable.boost::log::v2s_mt_nt5::setup_error.0
lea ecx, [esp + 4]
push ecx
lea edx, [esp + 0x30]
push edx
mov dword [esp + 0x78], 0
call fcn.1007da80
add esp, 8
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
push eax
mov byte [esp + 0x74], 1
mov dword [eax + 0x34], ecx
mov dword [eax + 0x38], edx
call fcn.10080800
int3

Function at 0x10087c30
Capabilities:
Link many functions at runtime

Disassembly:
push 0xffffffffffffffff
push 0x100fee36
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0x24]
mov dword fs:[0], eax
push 0x101158c0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov esi, eax
test esi, esi
je 0x10087d1b
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push str.InitializeSRWLock
push esi
call edi
mov dword [esp + 0x1c], eax
test eax, eax
je 0x10087d1b
push str.AcquireSRWLockExclusive
push esi
call edi
mov dword [esp + 0x18], eax
test eax, eax
je 0x10087d1b
push str.ReleaseSRWLockExclusive
push esi
call edi
mov dword [esp + 0x14], eax
test eax, eax
je 0x10087d1b
push str.InitializeConditionVariable
push esi
call edi
mov ebp, eax
test ebp, ebp
je 0x10087d1b
push str.SleepConditionVariableSRW
push esi
call edi
mov ebx, eax
test ebx, ebx
je 0x10087d1b
push str.WakeAllConditionVariable
push esi
call edi
mov esi, eax
test esi, esi
je 0x10087d1b
push 0x1c
call fcn.100c5736
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], 0
test eax, eax
je 0x10087d50
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
push esi
push ebx
push ebp
push ecx
mov ecx, dword [esp + 0x2c]
push edx
push ecx
mov ecx, eax
call fcn.100863a0
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
push 0x38
call fcn.100c5736
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], 1
test eax, eax
je 0x10087d50
mov ecx, eax
call fcn.10086a30
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
xor eax, eax
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
Function at 0x1008fd60
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x100ff564
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0x20]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [esp + 0x30]
mov ebp, dword [eax + 0x10]
add eax, 0xc
mov dword [esp + 0x30], eax
cmp ebp, eax
je 0x1008fe38
lea esi, [edi + 0xc]
xor ebx, ebx
mov eax, dword [edi + 0x18]
lea ecx, [eax + 0x14]
mov dword [edi + 0x18], ecx
mov edx, dword [ebp + 0xc]
cmp edx, ebx
je 0x1008fdc2
lea ecx, [edx + 4]
mov ebx, 1
lock xadd dword [ecx], ebx
xor ebx, ebx
cmp eax, ebx
je 0x1008fddf
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov ecx, dword [ebp + 8]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ebx
mov byte [eax + 0x10], bl
mov ecx, dword [eax + 0xc]
mov dword [eax + 0xc], edx
mov edx, ecx
mov ecx, dword [esi]
mov dword [eax], ecx
mov dword [eax + 4], esi
mov dword [esi], eax
mov dword [ecx + 4], eax
mov ecx, dword [eax + 8]
and ecx, 0xf
lea ecx, [edi + ecx*8 + 0x20]
mov dword [ecx + 4], eax
cmp dword [ecx], ebx
jne 0x1008fdfe
mov dword [ecx], eax
mov dword [esp + 0x28], 0xffffffff
cmp edx, ebx
je 0x1008fe2b
lea eax, [edx + 4]
mov edx, eax
or ecx, 0xffffffff
lock xadd dword [edx], ecx
jne 0x1008fe2b
cmp eax, ebx
je 0x1008fe2b
lea ecx, [eax - 4]
cmp ecx, ebx
je 0x1008fe2b
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov ebp, dword [ebp + 4]
cmp ebp, dword [esp + 0x30]
jne 0x1008fda4
mov ecx, dword [esp + 0x20]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x18
ret 4

Function at 0x10099f20
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x100ffcd3
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov edx, 7
xor ecx, ecx
xor esi, esi
mov dword [eax + 0x18], edx
mov dword [eax + 0x14], ecx
mov word [eax + 4], si
mov dword [eax + 0x34], edx
xor edx, edx
mov dword [eax + 0x30], ecx
mov word [eax + 0x20], dx
mov dword [eax + 0x50], 0xf
mov dword [eax + 0x4c], ecx
mov byte [eax + 0x3c], cl
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x10
ret
Function at 0x1009d3e0
Capabilities:
Check for peb beingdebugged flag

Disassembly:
push 0xffffffffffffffff
push 0x101001f1
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push esi
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
mov ecx, dword [esp + 0x3c]
xor eax, eax
push 0xffffffffffffffff
push eax
mov dword [esp + 0x10], 0
push ecx
lea ecx, [esp + 0x18]
mov dword [esp + 0x30], 7
mov dword [esp + 0x2c], 0
mov word [esp + 0x1c], ax
call fcn.10038050
mov edx, dword [esp + 0x40]
mov eax, edx
mov dword [esp + 0x30], 1
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1009d445
sub eax, esi
sar eax, 1
push eax
push edx
lea ecx, [esp + 0x14]
call fcn.10072d70
mov esi, dword [esp + 0x38]
xor edx, edx
push 0xffffffffffffffff
push edx
mov dword [esi + 0x18], 7
mov dword [esi + 0x14], 0
push eax
mov ecx, esi
mov word [esi + 4], dx
call fcn.10038050
cmp dword [esp + 0x24], 8
jb 0x1009d496
mov eax, dword [esp + 0x10]
push eax
call fcn.100c5661
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop esi
add esp, 0x2c
ret

Function at 0x1009e180
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x10100338
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x10145df0]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0x20]
push edi
call fcn.10001da0
mov dword [esi], vtable.std::out_of_range.0
mov dword [esp + 0x18], 0
test edi, edi
je 0x1009e1ca
add edi, 0x28
jmp 0x1009e1cc
xor edi, edi
mov dword [esi + 0x28], vtable.boost::exception.0
mov ecx, dword [edi + 4]
mov dword [esi + 0x2c], ecx
test ecx, ecx
je 0x1009e1e4
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
call edx
mov eax, dword [edi + 8]
mov dword [esi + 0x30], eax
mov ecx, dword [edi + 0xc]
mov dword [esi + 0x34], ecx
mov edx, dword [edi + 0x10]
mov dword [esi + 0x38], edx
mov dword [esi], vtable.boost::exception_detail::error_info_injector_class_std::out_of_range_.1.0
mov dword [esi + 0x28], vtable.boost::exception_detail::error_info_injector_class_std::out_of_range_.0
mov eax, esi
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
add esp, 0x10
ret 4