Function at 0x40e300
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push 0xffffffffffffffff
push 0x414c76
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x48
push ebx
mov ebx, ecx
push ebp
push esi
mov eax, dword [ebx + 8]
push edi
test eax, eax
mov dword [esp + 0x14], 0
je 0x40e332
call fcn.0040e2e0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x68]
push eax
push ecx
push ebp
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov edi, eax
test edi, edi
jne 0x40e405
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x7c]
mov esi, dword [eax + 0x20]
push 0x10
sub esp, 0x10
lea eax, [esp + 0x84]
mov ecx, esp
mov dword [esp + 0x84], esp
push eax
push 0x41b564
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
lea ecx, [esp + 0x4c]
push ecx
call fcn.0040bfd0
add esp, 0x14
mov ecx, eax
mov dword [esp + 0x64], edi
call dword [sym.imp.MSVCP60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
lea edx, [esp + 0x74]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
push 0x41b54c
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
lea eax, [esp + 0x40]
push eax
call fcn.0040bfd0
add esp, 0x14
mov ecx, eax
mov byte [esp + 0x68], 1
call dword [sym.imp.MSVCP60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
push 1
lea ecx, [esp + 0x2c]
mov byte [esp + 0x64], 0
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esp + 0x3c]
mov dword [esp + 0x64], 0xffffffff
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
xor eax, eax
jmp 0x40e5e6
push edi
push ebp
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov esi, eax
test esi, esi
jne 0x40e4cf
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x7c]
mov esi, dword [eax + 0x20]
push 0x10
sub esp, 0x10
lea eax, [esp + 0x84]
mov ecx, esp
mov dword [esp + 0x84], esp
push eax
push 0x41b564
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
lea ecx, [esp + 0x3c]
push ecx
call fcn.0040bfd0
add esp, 0x14
mov ebx, 2
mov ecx, eax
mov dword [esp + 0x64], ebx
call dword [sym.imp.MSVCP60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
lea edx, [esp + 0x74]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x2c], esp
push edx
push 0x41b534
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
lea eax, [esp + 0x50]
push eax
call fcn.0040bfd0
add esp, 0x14
mov ecx, eax
mov byte [esp + 0x68], 3
call dword [sym.imp.MSVCP60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0x64], bl
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
push 1
lea ecx, [esp + 0x2c]
mov dword [esp + 0x64], 0xffffffff
call dword [sym.imp.MSVCP60.dll_private:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::_Tidy_bool_]
xor eax, eax
jmp 0x40e5e6
push esi
call dword [sym.imp.KERNEL32.dll_LockResource]
test eax, eax
jne 0x40e5c8
call sub.MFC42.DLL_AfxGetModuleState
mov eax, dword [eax + 4]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 0x7c]
mov esi, dword [eax + 0x20]
push 0x10
sub esp, 0x10
lea eax, [esp + 0x7c]
mov ecx, esp
mov dword [esp + 0x84], esp
push eax
push 0x41b564
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
lea ecx, [esp + 0x5c]
push ecx
call fcn.0040bfd0
add esp, 0x14
mov ecx, eax
mov dword [esp + 0x64], 4
call dword [sym.imp.MSVCP60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
lea edx, [esp + 0x1b]
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x88], esp
push edx
push 0x41b534
call dword [sym.imp.MSVCP60.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const___class_std::allocator_char__const__]
lea eax, [esp + 0x30]
push eax
call fcn.0040bfd0
add esp, 0x14
mov ecx, eax
mov byte [esp + 0x68], 5
call dword [sym.imp.MSVCP60.dll_public:_char_const____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::c_str_void_const]
push eax
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [esp + 0x1c]
xor esi, esi
cmp eax, esi
je 0x40e591
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x40e588
cmp al, 0xff
je 0x40e588
dec al
mov byte [ecx], al
jmp 0x40e591
push ecx
call fcn.004134f0
add esp, 4
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1c], esi
cmp eax, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
je 0x40e5c4
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x40e5bb
cmp al, 0xff
je 0x40e5bb
dec al
mov byte [ecx], al
xor eax, eax
jmp 0x40e5e6
push ecx
call fcn.004134f0
add esp, 4
xor eax, eax
jmp 0x40e5e6
push edi
push ebp
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push eax
push esi
mov ecx, ebx
call fcn.0040e8d0
test eax, eax
mov eax, 1
jne 0x40e5e6
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x54
ret 0xc