joyce8/EMBER2024-capa huggingface dataset:
Function at 0x434650
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
mov eax, dword [0x51f164]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
cmp ebx, 0xffffffff
jne 0x434680
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004905eb
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x20]
push edi
mov ecx, dword [eax]
test ecx, ecx
je 0x4346bc
mov edx, dword [esi + 0x30]
mov edi, dword [edx]
lea eax, [edi + ecx]
cmp ecx, eax
jae 0x4346bc
lea ecx, [edi - 1]
mov dword [edx], ecx
mov edx, dword [esi + 0x20]
mov esi, dword [edx]
lea ecx, [esi + 1]
mov dword [edx], ecx
mov byte [esi], bl
pop edi
pop esi
mov eax, ebx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004905eb
mov esp, ebp
pop ebp
ret 4
cmp dword [esi + 0x4c], 0
je 0x4347a3
mov edi, dword [esi + 0xc]
lea eax, [esi + 0x3c]
cmp dword [edi], eax
jne 0x4346e4
mov edx, dword [esi + 0x54]
mov ecx, dword [esi + 0x50]
sub edx, ecx
mov dword [edi], ecx
mov eax, dword [esi + 0x1c]
mov dword [eax], ecx
mov eax, dword [esi + 0x2c]
mov dword [eax], edx
mov ecx, dword [esi + 0x38]
test ecx, ecx
jne 0x434717
push dword [esi + 0x4c]
movsx eax, bl
push eax
call fcn.004b1062
add esp, 8
or ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, ebx
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004905eb
mov esp, ebp
pop ebp
ret 4
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x25], bl
mov edx, dword [ecx]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x25]
push eax
lea eax, [esi + 0x40]
push eax
call dword [edx + 0x1c]
test eax, eax
js 0x4347a3
cmp eax, 1
jle 0x434776
cmp eax, 3
jne 0x4347a3
push dword [esi + 0x4c]
movsx eax, byte [ebp - 0x25]
push eax
call fcn.004b1062
add esp, 8
or ecx, 0xffffffff
cmp eax, ecx
cmovne ecx, ebx
pop edi
pop esi
mov eax, ecx
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004905eb
mov esp, ebp
pop ebp
ret 4
mov edi, dword [ebp - 0x2c]
lea eax, [ebp - 0x24]
sub edi, eax
je 0x434793
push dword [esi + 0x4c]
push edi
push 1
push eax
call fcn.004b5922
add esp, 0x10
cmp edi, eax
jne 0x4347a3
lea eax, [ebp - 0x25]
mov byte [esi + 0x3d], 1
cmp dword [ebp - 0x30], eax
jne 0x4346a7
mov ecx, dword [ebp - 4]
or eax, 0xffffffff
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004905eb
mov esp, ebp
pop ebp
ret 4
Function at 0x437380
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x51f164]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
cmp dword [esi + 0x38], 0
je 0x437442
cmp byte [esi + 0x3e], 0
je 0x437442
mov eax, dword [esi]
push edi
push 0xffff
call dword [eax + 0xc]
mov ecx, 0xffff
cmp cx, ax
je 0x437430
mov ecx, dword [esi + 0x38]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 4]
push eax
mov edx, dword [ecx]
lea eax, [ebp - 0x24]
push eax
lea eax, [esi + 0x40]
push eax
call dword [edx + 0x20]
sub eax, 0
je 0x4373f8
sub eax, 1
je 0x4373fc
sub eax, 2
jne 0x437430
mov byte [esi + 0x3e], al
mov al, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004905eb
mov esp, ebp
pop ebp
ret
mov byte [esi + 0x3e], 0
mov edi, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
sub edi, eax
je 0x437419
push dword [esi + 0x4c]
push edi
push 1
push eax
call fcn.004b5922
add esp, 0x10
cmp edi, eax
jne 0x437430
cmp byte [esi + 0x3e], 0
pop edi
sete al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004905eb
mov esp, ebp
pop ebp
ret
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004905eb
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov al, 1
xor ecx, ebp
pop esi
call fcn.004905eb
mov esp, ebp
pop ebp
ret

Function at 0x437790
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d5260
mov eax, dword fs:[0]
push eax
push esi
push edi
mov eax, dword [0x51f164]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push 8
mov dword [edi], vtable.std::basic_streambuf_wchar_t__struct_std::char_traits_wchar_t__.0
call fcn.004908ca
mov esi, eax
xorps xmm0, xmm0
movq qword [esi], xmm0
push 1
mov dword [ebp - 4], 0
call fcn.00478a16
mov dword [esi + 4], eax
lea ecx, [edi + 8]
lea eax, [edi + 4]
mov dword [edi + 0x34], esi
mov dword [edi + 0xc], eax
add esp, 8
lea eax, [edi + 0x14]
mov dword [edi + 0x10], ecx
mov dword [edi + 0x1c], eax
lea eax, [edi + 0x18]
mov dword [edi + 0x20], eax
lea eax, [edi + 0x24]
mov dword [edi + 0x2c], eax
lea eax, [edi + 0x28]
mov dword [edi + 0x30], eax
mov dword [ecx], 0
mov eax, dword [edi + 0x20]
mov dword [eax], 0
mov eax, dword [edi + 0x30]
mov dword [eax], 0
mov eax, dword [edi + 0xc]
mov dword [eax], 0
mov eax, dword [edi + 0x1c]
mov dword [eax], 0
mov eax, dword [edi + 0x2c]
mov dword [eax], 0
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
Function at 0x437940
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x51f164]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
cmp dword [esi + 0x38], 0
je 0x4379fa
cmp byte [esi + 0x3d], 0
je 0x4379fa
mov eax, dword [esi]
push edi
push 0xffffffffffffffff
call dword [eax + 0xc]
cmp eax, 0xffffffff
je 0x4379e8
mov ecx, dword [esi + 0x38]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 4]
push eax
mov edx, dword [ecx]
lea eax, [ebp - 0x24]
push eax
lea eax, [esi + 0x40]
push eax
call dword [edx + 0x20]
sub eax, 0
je 0x4379b0
sub eax, 1
je 0x4379b4
sub eax, 2
jne 0x4379e8
mov byte [esi + 0x3d], al
mov al, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004905eb
mov esp, ebp
pop ebp
ret
mov byte [esi + 0x3d], 0
mov edi, dword [ebp - 0x28]
lea eax, [ebp - 0x24]
sub edi, eax
je 0x4379d1
push dword [esi + 0x4c]
push edi
push 1
push eax
call fcn.004b5922
add esp, 0x10
cmp edi, eax
jne 0x4379e8
cmp byte [esi + 0x3d], 0
pop edi
sete al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004905eb
mov esp, ebp
pop ebp
ret
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004905eb
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov al, 1
xor ecx, ebp
pop esi
call fcn.004905eb
mov esp, ebp
pop ebp
ret

Function at 0x437b10
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d9f20
mov eax, dword fs:[0]
push eax
push ecx
push esi
push edi
mov eax, dword [0x51f164]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
push 8
mov dword [edi], vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
call fcn.004908ca
mov esi, eax
xorps xmm0, xmm0
movq qword [esi], xmm0
push 1
mov dword [ebp - 4], 0
call fcn.00478a16
mov dword [esi + 4], eax
lea ecx, [edi + 8]
lea eax, [edi + 4]
mov dword [edi + 0x10], ecx
mov dword [edi + 0xc], eax
add esp, 8
lea eax, [edi + 0x14]
mov dword [edi + 0x34], esi
mov dword [edi + 0x1c], eax
lea eax, [edi + 0x18]
mov dword [edi + 0x20], eax
lea eax, [edi + 0x24]
mov dword [edi + 0x2c], eax
lea eax, [edi + 0x28]
mov dword [edi + 0x30], eax
mov dword [ecx], 0
mov ecx, edi
mov eax, dword [edi + 0x20]
push 0
push dword [ebp + 8]
mov dword [eax], 0
mov eax, dword [edi + 0x30]
mov dword [eax], 0
mov eax, dword [edi + 0xc]
mov dword [eax], 0
mov eax, dword [edi + 0x1c]
mov dword [eax], 0
mov eax, dword [edi + 0x2c]
mov dword [eax], 0
mov dword [edi], vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
call fcn.00437a10
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 4
Function at 0x438ae0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d5260
mov eax, dword fs:[0]
push eax
push esi
push edi
mov eax, dword [0x51f164]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
push 8
mov dword [edi], vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
call fcn.004908ca
mov esi, eax
xorps xmm0, xmm0
movq qword [esi], xmm0
push 1
mov dword [ebp - 4], 0
call fcn.00478a16
mov dword [esi + 4], eax
lea ecx, [edi + 8]
lea eax, [edi + 4]
mov dword [edi + 0x34], esi
mov dword [edi + 0xc], eax
add esp, 8
lea eax, [edi + 0x14]
mov dword [edi + 0x10], ecx
mov dword [edi + 0x1c], eax
lea eax, [edi + 0x18]
mov dword [edi + 0x20], eax
lea eax, [edi + 0x24]
mov dword [edi + 0x2c], eax
lea eax, [edi + 0x28]
mov dword [edi + 0x30], eax
mov dword [ecx], 0
mov eax, dword [edi + 0x20]
mov dword [eax], 0
mov eax, dword [edi + 0x30]
mov dword [eax], 0
mov eax, dword [edi + 0xc]
mov dword [eax], 0
mov eax, dword [edi + 0x1c]
mov dword [eax], 0
mov eax, dword [edi + 0x2c]
mov dword [eax], 0
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

Function at 0x43c810
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4da740
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x51f164]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov ebx, dword [ebp + 8]
lea eax, [edi + 4]
xorps xmm0, xmm0
mov dword [edi], vtable.std::exception.0
push eax
movq qword [eax], xmm0
lea eax, [ebx + 4]
push eax
call fcn.004a7b36
add esp, 8
mov dword [ebp - 4], 0
lea ecx, [edi + 0x18]
mov dword [edi], vtable.boost::system::system_error.0
movq xmm0, qword [ebx + 0xc]
movq qword [edi + 0xc], xmm0
mov eax, dword [ebx + 0x14]
mov dword [edi + 0x14], eax
lea eax, [ebx + 0x18]
push eax
call fcn.00431c20
mov dword [edi], vtable.boost::thread_resource_error.0
lea esi, [edi + 0x30]
mov dword [ebp - 4], 1
mov dword [esi], vtable.boost::exception.0
mov ecx, dword [ebx + 0x34]
mov dword [ebp + 8], esi
mov dword [esi + 4], ecx
test ecx, ecx
je 0x43c8ac
mov eax, dword [ecx]
call dword [eax + 0xc]
mov eax, dword [ebx + 0x38]
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x3c]
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 0x40]
mov dword [esi + 0x10], eax
mov eax, edi
mov dword [edi], vtable.boost::exception_detail::error_info_injector_class_boost::thread_resource_error_.0
mov dword [esi], vtable.boost::exception_detail::error_info_injector_class_boost::thread_resource_error_.1.0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x43cee0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4da740
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
push edi
mov eax, dword [0x51f164]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
mov ebx, dword [ebp + 8]
lea eax, [edi + 4]
xorps xmm0, xmm0
mov dword [edi], vtable.std::exception.0
push eax
movq qword [eax], xmm0
lea eax, [ebx + 4]
push eax
call fcn.004a7b36
add esp, 8
mov dword [ebp - 4], 0
lea ecx, [edi + 0x18]
mov dword [edi], vtable.boost::system::system_error.0
movq xmm0, qword [ebx + 0xc]
movq qword [edi + 0xc], xmm0
mov eax, dword [ebx + 0x14]
mov dword [edi + 0x14], eax
lea eax, [ebx + 0x18]
push eax
call fcn.00431c20
mov dword [edi], vtable.boost::lock_error.0
lea esi, [edi + 0x30]
mov dword [ebp - 4], 1
mov dword [esi], vtable.boost::exception.0
mov ecx, dword [ebx + 0x34]
mov dword [ebp + 8], esi
mov dword [esi + 4], ecx
test ecx, ecx
je 0x43cf7c
mov eax, dword [ecx]
call dword [eax + 0xc]
mov eax, dword [ebx + 0x38]
mov dword [esi + 8], eax
mov eax, dword [ebx + 0x3c]
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 0x40]
mov dword [esi + 0x10], eax
mov eax, edi
mov dword [edi], vtable.boost::exception_detail::error_info_injector_class_boost::lock_error_.0
mov dword [esi], vtable.boost::exception_detail::error_info_injector_class_boost::lock_error_.1.0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
Function at 0x43e550
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4da9f4
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push esi
push edi
mov eax, dword [0x51f164]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x50]
push eax
mov dword [ebp - 0x10], 0
xorps xmm0, xmm0
mov dword [ebp - 0x54], vtable.std::exception.0
lea eax, [esi + 4]
movq qword [ebp - 0x50], xmm0
push eax
call fcn.004a7b36
add esp, 8
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x3c]
mov eax, dword [esi + 0x14]
movq xmm0, qword [esi + 0xc]
mov dword [ebp - 0x40], eax
lea eax, [esi + 0x18]
push eax
mov dword [ebp - 0x54], vtable.boost::system::system_error.0
movq qword [ebp - 0x48], xmm0
call fcn.00431c20
movaps xmm0, xmmword [0x505650]
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x54], vtable.boost::exception_detail::error_info_injector_class_boost::thread_resource_error_.0
mov dword [ebp - 0x24], vtable.boost::exception_detail::error_info_injector_class_boost::thread_resource_error_.1.0
mov dword [ebp - 4], 1
mov edi, dword [ebp + 8]
mov dword [edi + 0x44], 0x504f30
mov dword [edi + 0x4c], vtable.boost::exception_detail::clone_base.0
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
mov dword [ebp - 0x10], 6
call fcn.0043c810
mov dword [ebp - 4], 4
lea esi, [edi + 0x30]
mov eax, dword [edi + 0x44]
mov dword [edi], vtable.boost::exception_detail::clone_impl_struct_boost::exception_detail::error_info_injector_class_boost::thread_resource_error__.0
mov dword [esi], vtable.boost::exception_detail::clone_impl_struct_boost::exception_detail::error_info_injector_class_boost::thread_resource_error__.1.0
mov eax, dword [eax + 4]
mov dword [eax + edi + 0x44], vtable.boost::exception_detail::clone_impl_struct_boost::exception_detail::error_info_injector_class_boost::thread_resource_error__.2.0
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ecx + edi + 0x40], eax
lea eax, [ebp - 0x24]
push eax
push esi
call fcn.00404a90
mov eax, dword [edi + 0x44]
add esp, 8
mov dword [edi], vtable.boost::wrapexcept_class_boost::thread_resource_error_.0
mov dword [esi], vtable.boost::wrapexcept_class_boost::thread_resource_error_.1.0
mov eax, dword [eax + 4]
mov dword [eax + edi + 0x44], vtable.boost::wrapexcept_class_boost::thread_resource_error_.2.0
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ecx + edi + 0x40], eax
mov dword [ebp - 0x54], vtable.boost::exception_detail::error_info_injector_class_boost::thread_resource_error_.0
mov dword [ebp - 0x24], vtable.boost::exception.0
mov dword [ebp - 4], 5
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x43e6a6
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [ebp - 0x20]
xor edx, edx
test al, al
cmovne ecx, edx
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], vtable.boost::thread_exception.0
call fcn.00404760
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
Function at 0x43e830
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4daa94
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push esi
push edi
mov eax, dword [0x51f164]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x50]
push eax
mov dword [ebp - 0x10], 0
xorps xmm0, xmm0
mov dword [ebp - 0x54], vtable.std::exception.0
lea eax, [esi + 4]
movq qword [ebp - 0x50], xmm0
push eax
call fcn.004a7b36
add esp, 8
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x3c]
mov eax, dword [esi + 0x14]
movq xmm0, qword [esi + 0xc]
mov dword [ebp - 0x40], eax
lea eax, [esi + 0x18]
push eax
mov dword [ebp - 0x54], vtable.boost::system::system_error.0
movq qword [ebp - 0x48], xmm0
call fcn.00431c20
movaps xmm0, xmmword [0x505650]
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x54], vtable.boost::exception_detail::error_info_injector_class_boost::lock_error_.0
mov dword [ebp - 0x24], vtable.boost::exception_detail::error_info_injector_class_boost::lock_error_.1.0
mov dword [ebp - 4], 1
mov edi, dword [ebp + 8]
mov dword [edi + 0x44], 0x504f30
mov dword [edi + 0x4c], vtable.boost::exception_detail::clone_base.0
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 2
push eax
mov ecx, edi
mov dword [ebp - 0x10], 6
call fcn.0043cee0
mov dword [ebp - 4], 4
lea esi, [edi + 0x30]
mov eax, dword [edi + 0x44]
mov dword [edi], vtable.boost::exception_detail::clone_impl_struct_boost::exception_detail::error_info_injector_class_boost::lock_error__.0
mov dword [esi], vtable.boost::exception_detail::clone_impl_struct_boost::exception_detail::error_info_injector_class_boost::lock_error__.1.0
mov eax, dword [eax + 4]
mov dword [eax + edi + 0x44], vtable.boost::exception_detail::clone_impl_struct_boost::exception_detail::error_info_injector_class_boost::lock_error__.2.0
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ecx + edi + 0x40], eax
lea eax, [ebp - 0x24]
push eax
push esi
call fcn.00404a90
mov eax, dword [edi + 0x44]
add esp, 8
mov dword [edi], vtable.boost::wrapexcept_class_boost::lock_error_.0
mov dword [esi], vtable.boost::wrapexcept_class_boost::lock_error_.1.0
mov eax, dword [eax + 4]
mov dword [eax + edi + 0x44], vtable.boost::wrapexcept_class_boost::lock_error_.2.0
mov eax, dword [edi + 0x44]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ecx + edi + 0x40], eax
mov dword [ebp - 0x54], vtable.boost::exception_detail::error_info_injector_class_boost::lock_error_.0
mov dword [ebp - 0x24], vtable.boost::exception.0
mov dword [ebp - 4], 5
mov ecx, dword [ebp - 0x20]
test ecx, ecx
je 0x43e986
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [ebp - 0x20]
xor edx, edx
test al, al
cmovne ecx, edx
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], vtable.boost::thread_exception.0
call fcn.00404760
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
Function at 0x4400a0
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
push ebp
mov ebp, esp
push ecx
push esi
push edi
mov edi, ecx
mov dword [ebp - 4], edi
mov eax, dword [edi]
cmp eax, 0x270
jne 0x4400fe
lea edx, [edi + 8]
mov esi, eax
nop dword [eax]
mov ecx, dword [edx - 4]
lea edx, [edx + 4]
xor ecx, dword [edx - 4]
and ecx, 0x7fffffff
xor ecx, dword [edx - 8]
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [edx + 0x62c]
xor eax, ecx
mov dword [edx + 0x9b8], eax
sub esi, 1
jne 0x4400c0
mov eax, dword [edi]
jmp 0x4401e9
cmp eax, 0x4e0
jb 0x4401e9
mov eax, dword [edi + 0x9c4]
push ebx
lea ebx, [edi + 0x9c4]
mov edi, 0xe3
nop dword [eax + eax]
mov ecx, dword [ebx + 4]
lea edx, [ebx + 4]
xor ecx, eax
and ecx, 0x7fffffff
xor ecx, eax
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [ebx + 0x634]
xor eax, ecx
mov dword [ebx - 0x9c0], eax
lea ebx, [edx]
mov eax, dword [edx]
sub edi, 1
jne 0x440120
mov ebx, dword [ebp - 4]
mov edi, 0x18c
add ebx, 0xd50
mov eax, dword [ebx]
nop dword [eax]
mov ecx, eax
lea edx, [ebx + 4]
xor ecx, dword [edx]
and ecx, 0x7fffffff
xor ecx, eax
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [ebx - 0xd4c]
xor eax, ecx
mov dword [ebx - 0x9c0], eax
lea ebx, [edx]
mov eax, dword [edx]
sub edi, 1
jne 0x440170
mov edi, dword [ebp - 4]
pop ebx
mov ecx, dword [edi + 0x1380]
xor ecx, dword [edi + 4]
and ecx, 0x7fffffff
xor ecx, dword [edi + 0x1380]
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x9908b0df
xor eax, dword [edi + 0x634]
xor eax, ecx
mov dword [edi + 0x9c0], eax
xor eax, eax
mov dword [edi], 0
mov edx, dword [edi + eax*4 + 4]
inc eax
mov dword [edi], eax
mov ecx, edx
mov eax, dword [edi + 0x1384]
shr ecx, 0xb
and eax, ecx
xor edx, eax
mov eax, edx
and eax, 0xff3a58ad
shl eax, 7
xor edx, eax
mov eax, edx
and eax, 0xffffdf8c
shl eax, 0xf
xor edx, eax
mov eax, edx
shr eax, 0x12
pop edi
xor eax, edx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x440640
Capabilities:
Check for peb ntglobalflag flag

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4dad88
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x51f164]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
push 0x70
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
mov dword [ebp - 0x14], esi
test esi, esi
je 0x440726
mov ecx, esi
mov dword [ebp - 4], 1
call fcn.00404f20
mov dword [esi], 0x504e94
mov eax, dword [edi]
mov dword [esi + 0x3c], eax
xor eax, eax
mov dword [esi + 0x50], 0
mov dword [esi + 0x54], 0
movups xmm0, xmmword [edi + 4]
movups xmmword [esi + 0x40], xmm0
movq xmm0, qword [edi + 0x14]
movq qword [esi + 0x50], xmm0
mov word [edi + 4], ax
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 7
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], eax
movups xmm0, xmmword [edi + 0x1c]
movups xmmword [esi + 0x58], xmm0
movq xmm0, qword [edi + 0x2c]
movq qword [esi + 0x68], xmm0
mov dword [edi + 0x2c], eax
mov word [edi + 0x1c], ax
mov eax, esi
mov dword [edi + 0x30], 7
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x20]
call fcn.00401fd0
push eax
mov dword [ebp - 4], 0
call fcn.00439430
int3

Function at 0x464250
Capabilities:
Create new key via cryptacquirecontext

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4dc608
mov eax, dword fs:[0]
push eax
sub esp, 0x44
mov eax, dword [0x51f164]
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, ecx
mov edi, dword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
push 0xf0000000
push 1
push 0
push 0
push esi
mov dword [esi], 0
call edi
test eax, eax
jne 0x4642c6
call dword [sym.imp.KERNEL32.dll_GetLastError]
push 8
push 1
push 0
push str.Crypto_RNG
push esi
mov ebx, eax
call edi
test eax, eax
jne 0x4642c6
push 0x28
push 1
push eax
push str.Crypto_RNG
push esi
call edi
test eax, eax
je 0x4642e4
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.004905eb
mov esp, ebp
pop ebp
ret
push ebx
call dword [sym.imp.KERNEL32.dll_SetLastError]
push str.CryptAcquireContext
lea ecx, [ebp - 0x28]
call fcn.00431be0
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 0
push eax
lea ecx, [ebp - 0x50]
call fcn.004643b0
push 0x518994
lea eax, [ebp - 0x50]
push eax
call fcn.004a7e45
int3