Function at 0x402650
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push 0xffffffffffffffff
push 0x403920
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x44
push ebx
push ebp
push esi
push edi
push str.TEXT_FILE
push 0x83
mov ebp, ecx
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
push esi
push 0
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebx, eax
push esi
push 0
mov dword [esp + 0x24], ebx
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
push ebx
mov esi, eax
call sub.MFC42.DLL_operatornew
mov ecx, ebx
mov dword [esp + 0x14], eax
mov edi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
add esp, 4
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString
xor esi, esi
lea ecx, [esp + 0x14]
mov dword [esp + 0x5c], esi
call sub.MFC42.DLL_CString::CString
mov dword [0x406748], esi
mov byte [esp + 0x5c], 1
mov byte [ebp + 0x148], 0
jmp 0x4026f2
mov ebx, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x138]
mov esi, dword [esp + 0x10]
push ebx
push ecx
push 0xd
push esi
mov ecx, ebp
call fcn.00402000
mov edx, eax
cmp edx, 0xffffffff
je 0x40282c
mov ebx, dword [ebp + 0x138]
cmp ebx, edx
ja 0x402880
mov ecx, 0xc
xor eax, eax
lea edi, [esp + 0x20]
mov esi, edx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, dword [esp + 0x10]
sub esi, ebx
mov ecx, esi
lea edi, [esp + 0x20]
lea esi, [ebx + eax]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
add edx, 3
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov al, byte [esp + 0x20]
mov dword [ebp + 0x138], edx
cmp al, 0x31
je 0x402791
mov cl, byte [esp + 0x27]
cmp al, 0x30
jne 0x402776
cmp byte [esp + 0x26], 0x30
jne 0x4027de
cmp cl, 0x30
je 0x402791
jmp 0x40277d
cmp byte [esp + 0x26], 0x30
jne 0x4027de
cmp cl, 0x35
je 0x4028d8
cmp cl, 0x31
je 0x402923
jmp 0x4027de
mov bl, byte [ebp + 0x148]
mov cl, byte [esp + 0x21]
inc bl
shl al, 4
cmp cl, 0x39
mov byte [ebp + 0x148], bl
ja 0x4027b5
cmp cl, 0x30
jb 0x4027b5
sub cl, 0x30
jmp 0x4027b8
sub cl, 0x37
or al, cl
lea edx, [esp + 0x28]
shl al, 1
movsx ecx, al
mov eax, dword [0x406748]
push ecx
push edx
lea ecx, [eax + 0x40674c]
push ecx
mov ecx, ebp
call fcn.00402970
add dword [0x406748], eax
cmp byte [ebp + 0x148], 0x10
jb 0x4026ee
mov edx, dword [esp + 0x10]
push edx
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x14]
mov byte [esp + 0x5c], 0
call fcn.0040328c
lea ecx, [esp + 0x18]
mov dword [esp + 0x5c], 0xffffffff
call fcn.0040328c
pop edi
pop esi
pop ebp
mov al, 1
pop ebx
mov ecx, dword [esp + 0x44]
mov dword fs:[0], ecx
add esp, 0x50
ret
push 0
push 0
push str.Read_File_Error____
mov ecx, ebp
mov byte [0x406ef1], 0
call sub.MFC42.DLL_CWnd::MessageBoxA
push esi
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x14]
mov byte [esp + 0x5c], 0
call fcn.0040328c
lea ecx, [esp + 0x18]
mov dword [esp + 0x5c], 0xffffffff
call fcn.0040328c
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x44]
mov dword fs:[0], ecx
add esp, 0x50
ret
push 0
push 0
push str.Read_File_Error0
mov ecx, ebp
mov byte [0x406ef1], 0
call sub.MFC42.DLL_CWnd::MessageBoxA
mov edx, dword [esp + 0x10]
push edx
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x14]
mov byte [esp + 0x5c], 0
call fcn.0040328c
lea ecx, [esp + 0x18]
mov dword [esp + 0x5c], 0xffffffff
call fcn.0040328c
pop edi
pop esi
pop ebp
xor al, al
pop ebx
mov ecx, dword [esp + 0x44]
mov dword fs:[0], ecx
add esp, 0x50
ret
mov eax, dword [esp + 0x10]
mov dword [ebp + 0x144], 1
push eax
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x14]
mov byte [esp + 0x5c], 0
call fcn.0040328c
lea ecx, [esp + 0x18]
mov dword [esp + 0x5c], 0xffffffff
call fcn.0040328c
pop edi
pop esi
pop ebp
mov al, 2
pop ebx
mov ecx, dword [esp + 0x44]
mov dword fs:[0], ecx
add esp, 0x50
ret
mov ecx, dword [esp + 0x10]
mov dword [ebp + 0x144], 1
push ecx
call sub.MFC42.DLL_operatordelete
add esp, 4
lea ecx, [esp + 0x14]
mov byte [esp + 0x5c], 0
call fcn.0040328c
lea ecx, [esp + 0x18]
mov dword [esp + 0x5c], 0xffffffff
call fcn.0040328c
mov ecx, dword [esp + 0x54]
pop edi
pop esi
pop ebp
mov al, 2
pop ebx
mov dword fs:[0], ecx
add esp, 0x50
ret