joyce8/EMBER2024-capa huggingface dataset:
Function at 0x431830
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, ecx
push edi
push esi
push ebx
sub esp, 0x4c
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x2c], eax
lea eax, [edx + 0x6c]
mov edi, dword [esp + 0x68]
mov dword [esp], eax
call method.std::__timepunct_wchar_t__const_std::use_facet_std.__timepunct_wchar_t____std::locale_const_
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x10], ecx
mov ecx, ebp
mov dword [esp], esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 4], ebx
xor bx, bx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
call sym.__ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_Ios
sub esp, 0x20
mov ecx, eax
movzx esi, dx
mov eax, edx
mov dword [esp + 0x3c], edx
mov edx, ebx
mov ebp, ecx
or edx, esi
cmp ax, 0xffff
mov dword [esp + 0x38], ecx
sete bl
test ecx, ecx
setne al
and al, bl
jne 0x431908
cmp word [esp + 0x2c], 0xffff
sete al
mov ecx, eax
test edi, edi
je 0x4318d6
test al, al
jne 0x4318f0
cmp bl, cl
jne 0x4318e1
mov eax, dword [esp + 0x74]
or dword [eax], 2
add esp, 0x4c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
mov eax, dword [edi + 8]
cmp eax, dword [edi + 0xc]
jae 0x431930
movzx eax, word [eax]
cmp ax, 0xffff
sete cl
jmp 0x4318d6
mov esi, eax
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x431948
movzx eax, word [eax]
cmp ax, 0xffff
mov ebx, 0
mov ebp, 0
cmove ebx, esi
cmovne ebp, ecx
jmp 0x4318c3
mov eax, dword [edi]
mov dword [esp + 0x2c], edx
mov ecx, edi
call dword [eax + 0x24]
mov edx, dword [esp + 0x2c]
jmp 0x4318fb
mov eax, dword [ecx]
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ecx
call dword [eax + 0x24]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
jmp 0x431915
Function at 0x431d80
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, ecx
push edi
push esi
push ebx
sub esp, 0x9c
mov eax, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
mov esi, dword [esp + 0xb0]
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x3c], eax
lea eax, [edx + 0x6c]
mov edi, dword [esp + 0xb8]
mov dword [esp], eax
call method.std::__timepunct_wchar_t__const_std::use_facet_std.__timepunct_wchar_t____std::locale_const_
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x54], 0
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x48]
mov dword [esp + 0x58], ecx
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0x5c], ecx
mov ecx, dword [eax + 0x50]
mov dword [esp + 0x60], ecx
mov ecx, dword [eax + 0x54]
mov dword [esp + 0x64], ecx
mov ecx, dword [eax + 0x58]
mov dword [esp + 0x68], ecx
mov ecx, dword [eax + 0x5c]
mov dword [esp + 0x6c], ecx
mov ecx, dword [eax + 0x60]
mov dword [esp + 0x70], ecx
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x74], ecx
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x78], ecx
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x7c], ecx
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x80], ecx
mov ecx, dword [eax + 0x3c]
mov dword [esp + 0x84], ecx
mov ecx, dword [eax + 0x40]
mov eax, dword [eax + 0x44]
mov dword [esp + 0x88], ecx
mov ecx, ebp
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x54]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x58]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], esi
mov dword [esp + 4], ebx
xor bx, bx
mov dword [esp + 0x18], 7
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
call sym.__ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES4_S4_RiPPKwjRSt8ios_baseRSt
sub esp, 0x24
mov ecx, eax
movzx esi, dx
mov eax, edx
mov dword [esp + 0x4c], edx
mov edx, ebx
mov ebx, dword [esp + 0x54]
mov ebp, ecx
mov dword [esp + 0x48], ecx
or edx, esi
test ebx, ebx
jne 0x431ef0
mov ebx, dword [esp + 0xc8]
mov esi, dword [esp + 0x50]
mov dword [ebx + 0x18], esi
cmp ax, 0xffff
sete bl
test ecx, ecx
setne al
and al, bl
mov esi, eax
jne 0x431f18
cmp word [esp + 0x3c], 0xffff
sete al
mov ecx, eax
test edi, edi
je 0x431ed2
test al, al
jne 0x431f00
cmp bl, cl
jne 0x431ee0
mov eax, dword [esp + 0xc4]
or dword [eax], 2
add esp, 0x9c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
mov esi, dword [esp + 0xc4]
or dword [esi], 4
jmp 0x431ead
mov eax, dword [edi + 8]
cmp eax, dword [edi + 0xc]
jae 0x431f40
movzx eax, word [eax]
cmp ax, 0xffff
sete cl
jmp 0x431ed2
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x431f58
movzx eax, word [eax]
cmp ax, 0xffff
mov ebx, 0
mov ebp, 0
cmove ebx, esi
cmovne ebp, ecx
jmp 0x431ebf
mov eax, dword [edi]
mov dword [esp + 0x3c], edx
mov ecx, edi
call dword [eax + 0x24]
mov edx, dword [esp + 0x3c]
jmp 0x431f0b
mov eax, dword [ecx]
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], ecx
call dword [eax + 0x24]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
jmp 0x431f23
Function at 0x4349f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x34], ecx
mov esi, dword [esp + 0x8c]
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x80]
add eax, 0x6c
mov dword [esp], eax
call method.std::ctype_wchar_t__const_std::use_facet_std.ctype_wchar_t____std::locale_const_
mov ecx, eax
mov eax, dword [esp + 0x84]
mov dword [eax], 0
mov eax, dword [ecx]
mov dword [esp], 0x25
call dword [eax + 0x28]
sub esp, 4
mov word [esp + 0x48], ax
mov eax, esi
mov edx, dword [esp + 0x34]
movsx si, al
mov eax, ebp
test al, al
jne 0x434b20
xor ecx, ecx
mov word [esp + 0x4a], si
mov word [esp + 0x4c], cx
lea eax, [esp + 0x48]
mov dword [esp + 4], ebx
mov ecx, edx
xor bx, bx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 8], edi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call sym.__ZNKSt7__cxx118time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE21_M_extract_via_formatES4_S4_RSt8ios_baseRSt12_Ios_Ios
sub esp, 0x20
mov ecx, eax
movzx esi, dx
mov eax, edx
mov dword [esp + 0x3c], edx
mov edx, ebx
mov ebp, ecx
or edx, esi
cmp ax, 0xffff
mov dword [esp + 0x38], ecx
sete bl
test ecx, ecx
setne al
and al, bl
mov esi, eax
jne 0x434b58
cmp word [esp + 0x2c], 0xffff
sete al
mov ecx, eax
test edi, edi
je 0x434afd
test al, al
jne 0x434b40
cmp cl, bl
jne 0x434b0b
mov eax, dword [esp + 0x84]
or dword [eax], 2
add esp, 0x5c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret 0x24
movsx bp, al
xor eax, eax
mov word [esp + 0x4c], si
mov word [esp + 0x4a], bp
mov word [esp + 0x4e], ax
jmp 0x434a76
mov eax, dword [edi + 8]
cmp eax, dword [edi + 0xc]
jae 0x434b80
movzx eax, word [eax]
cmp ax, 0xffff
sete cl
jmp 0x434afd
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x434b98
movzx eax, word [eax]
cmp ax, 0xffff
mov ebx, 0
mov ebp, 0
cmove ebx, esi
cmovne ebp, ecx
jmp 0x434aea
mov eax, dword [edi]
mov dword [esp + 0x2c], edx
mov ecx, edi
call dword [eax + 0x24]
mov edx, dword [esp + 0x2c]
jmp 0x434b4b
mov eax, dword [ecx]
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ecx
call dword [eax + 0x24]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
jmp 0x434b63
Function at 0x451020
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, ecx
push edi
push esi
push ebx
sub esp, 0x4c
mov esi, dword [esp + 0x70]
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
mov edx, dword [esp + 0x6c]
mov edi, dword [esi + 0xc]
mov eax, edi
and eax, 0xffffffb5
or eax, 8
mov dword [esi + 0xc], eax
lea eax, [esp + 0x3c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
mov dword [esp], ecx
mov ecx, ebp
mov dword [esp + 4], ebx
xor bx, bx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call method.std::istreambuf_iterator_wchar_t__std::char_traits_wchar_t____std::num_get_wchar_t__std::istreambuf_iterator_wchar_t__std::char_traits_wchar_t_____._M_extract_int_unsigned_long__std::istreambuf_iterator_wchar_t__std::char_traits_wchar_t_____std::is
sub esp, 0x1c
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov ecx, edx
mov dword [esp + 0x2c], eax
movzx edx, word [esp + 0x2c]
mov eax, dword [esp + 0x78]
mov dword [esi + 0xc], edi
or edx, ebx
mov ebx, dword [esp + 0x3c]
mov dword [eax], ebx
add esp, 0x4c
mov eax, ecx
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
Function at 0x455a20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
lea eax, [esp + 0x4c]
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x1c], 4
mov edi, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x80]
mov dword [esp], ebx
mov dword [esp + 0x18], 0x270f
mov dword [esp + 0x20], eax
lea eax, [esp + 0x48]
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp + 4], edx
mov dword [esp + 0x4c], 0
call method.std::time_get_char__std::istreambuf_iterator_char__std::char_traits_char_____._M_extract_num_std::istreambuf_iterator_char__std::char_traits_char_____std::istreambuf_iterator_char__std::char_traits_char_____int__int__int__unsigned_int__std::ios_ba
sub esp, 0x28
mov ebx, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x455b00
mov ecx, dword [esp + 0x48]
lea esi, [ecx + 0x64]
lea eax, [ecx - 0x76c]
test ecx, ecx
mov ecx, dword [esp + 0x88]
cmovs eax, esi
mov dword [ecx + 0x14], eax
cmp edx, 0xffffffff
sete al
test ebx, ebx
mov esi, eax
setne al
mov ecx, esi
and cl, al
mov byte [esp + 0x38], cl
jne 0x455b38
cmp ebp, 0xffffffff
sete al
test edi, edi
je 0x455ad8
test al, al
jne 0x455b10
mov ebx, esi
cmp bl, al
jne 0x455ae8
mov eax, dword [esp + 0x84]
or dword [eax], 2
mov eax, dword [esp + 0x34]
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
mov eax, dword [esp + 0x84]
or dword [eax], 4
jmp 0x455ab3
mov ebx, dword [edi + 0xc]
xor eax, eax
cmp dword [edi + 8], ebx
jb 0x455ad8
mov eax, dword [edi]
mov dword [esp + 0x38], edx
mov ecx, edi
call dword [eax + 0x24]
mov edx, dword [esp + 0x38]
cmp eax, 0xffffffff
sete al
jmp 0x455ad8
mov eax, dword [ebx + 0xc]
xor esi, esi
cmp dword [ebx + 8], eax
jb 0x455aca
mov eax, dword [ebx]
mov dword [esp + 0x3c], edx
mov ecx, ebx
call dword [eax + 0x24]
mov edx, dword [esp + 0x3c]
cmp eax, 0xffffffff
movzx eax, byte [esp + 0x38]
cmove esi, eax
mov eax, 0
cmovne eax, ebx
mov dword [esp + 0x34], eax
jmp 0x455aca
Function at 0x455e60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, ecx
push edi
push esi
push ebx
sub esp, 0x8c
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0xa4]
mov edi, dword [esp + 0xa8]
add eax, 0x6c
mov dword [esp + 0x34], ecx
mov esi, dword [esp + 0xac]
mov dword [esp], eax
call method.std::__timepunct_char__const_std::use_facet_std.__timepunct_char____std::locale_const_
mov dword [esp + 0x44], 0
mov eax, dword [eax + 8]
mov edx, dword [eax + 0x48]
mov dword [esp + 0x48], edx
mov edx, dword [eax + 0x4c]
mov dword [esp + 0x4c], edx
mov edx, dword [eax + 0x50]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 0x54]
mov dword [esp + 0x54], edx
mov edx, dword [eax + 0x58]
mov dword [esp + 0x58], edx
mov edx, dword [eax + 0x5c]
mov dword [esp + 0x5c], edx
mov edx, dword [eax + 0x60]
mov dword [esp + 0x60], edx
mov edx, dword [eax + 0x2c]
mov dword [esp + 0x64], edx
mov edx, dword [eax + 0x30]
mov dword [esp + 0x68], edx
mov edx, dword [eax + 0x34]
mov dword [esp + 0x6c], edx
mov edx, dword [eax + 0x38]
mov dword [esp + 0x70], edx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x74], edx
mov edx, dword [eax + 0x40]
mov eax, dword [eax + 0x44]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x48]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x40]
mov dword [esp], ecx
mov ecx, ebp
mov dword [esp + 4], ebx
mov dword [esp + 0x18], 7
mov dword [esp + 0x10], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
call sym.__ZNKSt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE24_M_extract_wday_or_monthES3_S3_RiPPKcjRSt8ios_baseRSt12_Ios_I
sub esp, 0x24
mov ecx, eax
mov ebp, eax
mov ebx, edx
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x455fb0
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0x40]
mov dword [eax + 0x18], edx
cmp ebx, 0xffffffff
sete dl
test ecx, ecx
setne al
and al, dl
mov byte [esp + 0x34], al
jne 0x455fe8
cmp esi, 0xffffffff
sete al
test edi, edi
je 0x455f90
test al, al
jne 0x455fc0
cmp dl, al
jne 0x455f9e
mov eax, dword [esp + 0xb4]
or dword [eax], 2
add esp, 0x8c
mov eax, ebp
mov edx, ebx
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
mov eax, dword [esp + 0xb4]
or dword [eax], 4
jmp 0x455f6f
mov esi, dword [edi + 0xc]
xor eax, eax
cmp dword [edi + 8], esi
jb 0x455f90
mov eax, dword [edi]
mov byte [esp + 0x34], dl
mov ecx, edi
call dword [eax + 0x24]
movzx edx, byte [esp + 0x34]
cmp eax, 0xffffffff
sete al
jmp 0x455f90
mov eax, dword [ecx + 0xc]
xor edx, edx
cmp dword [ecx + 8], eax
jb 0x455f82
mov eax, dword [ecx]
mov byte [esp + 0x3f], dl
mov ebp, 0
mov dword [esp + 0x38], ecx
call dword [eax + 0x24]
movzx edx, byte [esp + 0x3f]
mov ecx, dword [esp + 0x38]
cmp eax, 0xffffffff
movzx eax, byte [esp + 0x34]
cmovne ebp, ecx
cmove edx, eax
jmp 0x455f82
Function at 0x458bd0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, ecx
push edi
push esi
push ebx
sub esp, 0x9c
mov eax, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
mov esi, dword [esp + 0xb0]
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x3c], eax
lea eax, [edx + 0x6c]
mov edi, dword [esp + 0xb8]
mov dword [esp], eax
call method.std::__timepunct_wchar_t__const_std::use_facet_std.__timepunct_wchar_t____std::locale_const_
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x54], 0
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x48]
mov dword [esp + 0x58], ecx
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0x5c], ecx
mov ecx, dword [eax + 0x50]
mov dword [esp + 0x60], ecx
mov ecx, dword [eax + 0x54]
mov dword [esp + 0x64], ecx
mov ecx, dword [eax + 0x58]
mov dword [esp + 0x68], ecx
mov ecx, dword [eax + 0x5c]
mov dword [esp + 0x6c], ecx
mov ecx, dword [eax + 0x60]
mov dword [esp + 0x70], ecx
mov ecx, dword [eax + 0x2c]
mov dword [esp + 0x74], ecx
mov ecx, dword [eax + 0x30]
mov dword [esp + 0x78], ecx
mov ecx, dword [eax + 0x34]
mov dword [esp + 0x7c], ecx
mov ecx, dword [eax + 0x38]
mov dword [esp + 0x80], ecx
mov ecx, dword [eax + 0x3c]
mov dword [esp + 0x84], ecx
mov ecx, dword [eax + 0x40]
mov eax, dword [eax + 0x44]
mov dword [esp + 0x88], ecx
mov ecx, ebp
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x54]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x58]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], eax
lea eax, [esp + 0x50]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x3c]
mov dword [esp], esi
mov dword [esp + 4], ebx
xor bx, bx
mov dword [esp + 0x18], 7
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
call sym.__ZNKSt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE24_M_extract_wday_or_monthES3_S3_RiPPKwjRSt8ios_baseRSt12_Ios_I
sub esp, 0x24
mov ecx, eax
movzx esi, dx
mov eax, edx
mov dword [esp + 0x4c], edx
mov edx, ebx
mov ebx, dword [esp + 0x54]
mov ebp, ecx
mov dword [esp + 0x48], ecx
or edx, esi
test ebx, ebx
jne 0x458d40
mov ebx, dword [esp + 0xc8]
mov esi, dword [esp + 0x50]
mov dword [ebx + 0x18], esi
cmp ax, 0xffff
sete bl
test ecx, ecx
setne al
and al, bl
mov esi, eax
jne 0x458d68
cmp word [esp + 0x3c], 0xffff
sete al
mov ecx, eax
test edi, edi
je 0x458d22
test al, al
jne 0x458d50
cmp bl, cl
jne 0x458d30
mov eax, dword [esp + 0xc4]
or dword [eax], 2
add esp, 0x9c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret 0x1c
mov esi, dword [esp + 0xc4]
or dword [esi], 4
jmp 0x458cfd
mov eax, dword [edi + 8]
cmp eax, dword [edi + 0xc]
jae 0x458d90
movzx eax, word [eax]
cmp ax, 0xffff
sete cl
jmp 0x458d22
mov eax, dword [ecx + 8]
cmp eax, dword [ecx + 0xc]
jae 0x458da8
movzx eax, word [eax]
cmp ax, 0xffff
mov ebx, 0
mov ebp, 0
cmove ebx, esi
cmovne ebp, ecx
jmp 0x458d0f
mov eax, dword [edi]
mov dword [esp + 0x3c], edx
mov ecx, edi
call dword [eax + 0x24]
mov edx, dword [esp + 0x3c]
jmp 0x458d5b
mov eax, dword [ecx]
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], ecx
call dword [eax + 0x24]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
jmp 0x458d73
Function at 0x470df0
Capabilities:
Read file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x1c
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
jmp 0x470e13
call dword [sym.imp.msvcrt.dll__errno]
cmp dword [eax], 4
jne 0x470e31
mov ecx, ebx
call method.std::__basic_file_char_.fd__
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], eax
call sym._read
mov ebp, eax
cmp eax, 0xffffffff
je 0x470e08
add esp, 0x1c
mov eax, ebp
pop ebx
pop esi
pop edi
pop ebp
ret 8

Function at 0x4832f0
Capabilities:
Read file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x2c
mov eax, dword [ecx + 4]
test eax, eax
je 0x483310
mov dword [esp], 0
call eax
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebp, dword [sym.imp.msvcrt.dll__errno]
mov edi, ecx
mov ebx, 4
lea esi, [esp + 0x1c]
lea esi, [esi]
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov eax, dword [edi + 8]
mov dword [esp], eax
call sym._read
test eax, eax
jle 0x483358
add esi, eax
sub ebx, eax
jne 0x483328
mov eax, dword [esp + 0x1c]
add esp, 0x2c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp eax, 0xffffffff
jne 0x483364
call ebp
cmp dword [eax], 4
je 0x483328
mov dword [esp], str.random_device_could_not_be_read
call method.std.__throw_runtime_error_char_const_

Function at 0x48f390
Capabilities:
Encode data using xor
Generate random numbers using a mersenne twister

Disassembly:
push ebp
mov edx, ecx
lea ebp, [ecx + 0x38c]
push edi
push esi
push ebx
sub esp, 4
mov esi, dword [ecx]
mov dword [esp], ecx
lea esi, [esi]
mov eax, esi
mov esi, dword [ecx + 4]
and eax, 0x80000000
mov ebx, esi
and ebx, 0x7fffffff
or ebx, eax
mov eax, ebx
shr eax, 1
xor eax, dword [ecx + 0x634]
mov edi, eax
xor edi, 0x9908b0df
and ebx, 1
cmovne eax, edi
add ecx, 4
mov dword [ecx - 4], eax
cmp ecx, ebp
jne 0x48f3a8
mov eax, dword [esp]
mov ebx, dword [eax + 0x38c]
lea esi, [eax + 0x630]
lea esi, [esi]
mov eax, ebx
mov ebx, dword [edx + 0x390]
and eax, 0x80000000
mov ecx, ebx
and ecx, 0x7fffffff
or ecx, eax
mov eax, ecx
shr eax, 1
xor eax, dword [edx]
mov edi, eax
xor edi, 0x9908b0df
and ecx, 1
cmovne eax, edi
add edx, 4
mov dword [edx + 0x388], eax
cmp edx, esi
jne 0x48f3f0
mov esi, dword [esp]
mov dword [esi + 0x9c0], 0
mov eax, dword [esi + 0x9bc]
mov edx, eax
mov eax, dword [esi]
and edx, 0x80000000
mov dword [esp], eax
and eax, 0x7fffffff
or edx, eax
mov eax, edx
shr eax, 1
xor eax, dword [esi + 0x630]
mov ecx, eax
xor ecx, 0x9908b0df
and edx, 1
cmovne eax, ecx
mov dword [esi + 0x9bc], eax
add esp, 4
pop ebx
pop esi
pop edi
pop ebp
ret
Function at 0x41f6d0
Capabilities:
Packed with generic packer

Disassembly:
pushal
mov esi, 0x418015
lea edi, [esi - 0x17015]
push edi
or ebp, 0xffffffff
jmp 0x41f6f2
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
add ebx, ebx
jne 0x41f6f9
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jb 0x41f6e8
mov eax, 1
add ebx, ebx
jne 0x41f70b
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc eax, eax
add ebx, ebx
jae 0x41f700
jne 0x41f71c
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x41f700
xor ecx, ecx
sub eax, 3
jb 0x41f730
shl eax, 8
mov al, byte [esi]
inc esi
xor eax, 0xffffffff
je 0x41f7a2
mov ebp, eax
add ebx, ebx
jne 0x41f73b
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jne 0x41f748
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
jne 0x41f76c
inc ecx
add ebx, ebx
jne 0x41f758
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
adc ecx, ecx
add ebx, ebx
jae 0x41f74d
jne 0x41f769
mov ebx, dword [esi]
sub esi, 0xfffffffc
adc ebx, ebx
jae 0x41f74d
add ecx, 2
cmp ebp, 0xfffff300
adc ecx, 1
lea edx, [edi + ebp]
cmp ebp, 0xfffffffc
jbe 0x41f78c
mov al, byte [edx]
inc edx
mov byte [edi], al
inc edi
dec ecx
jne 0x41f77d
jmp 0x41f6ee
mov eax, dword [edx]
add edx, 4
mov dword [edi], eax
add edi, 4
sub ecx, 4
ja 0x41f78c
add edi, ecx
jmp 0x41f6ee
pop esi
mov edi, esi
mov ecx, 0x65d
mov al, byte [edi]
inc edi
sub al, 0xe8
cmp al, 1
ja 0x41f7aa
cmp byte [edi], 6
jne 0x41f7aa
mov eax, dword [edi]
mov bl, byte [edi + 4]
shr ax, 8
rol eax, 0x10
xchg ah, al
sub eax, edi
sub bl, 0xe8
add eax, esi
mov dword [edi], eax
add edi, 5
mov eax, ebx
loop 0x41f7af
lea edi, [esi + 0x1d000]
mov eax, dword [edi]
or eax, eax
je 0x41f81e
mov ebx, dword [edi + 4]
lea eax, [eax + esi + 0x1fab8]
add ebx, esi
push eax
add edi, 8
call dword [esi + 0x1fb6c]
xchg ebp, eax
mov al, byte [edi]
inc edi
or al, al
je 0x41f7dc
mov ecx, edi
push edi
dec eax
repne scasb al, byte es:[edi]
push ebp
call dword [esi + 0x1fb70]
or eax, eax
je 0x41f818
mov dword [ebx], eax
add ebx, 4
jmp 0x41f7f9
call dword [esi + 0x1fb74]
popal
jmp 0x401220