Function at 0x401b70
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x469722
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x120
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
push 0x48
call sub.MFC42.DLL_operatornew
mov ebx, eax
add esp, 4
mov dword [ebp - 0x14], ebx
xor esi, esi
cmp ebx, esi
mov dword [ebp - 4], esi
je 0x401bf9
mov ecx, ebx
call fcn.00402e7c
push 0x428
mov byte [ebp - 4], 1
mov dword [ebx], 0x46a66c
mov dword [ebx + 0x44], esi
call sub.MFC42.DLL_operatornew
mov edi, eax
mov ecx, 0x10a
xor eax, eax
mov dword [ebx + 0x40], edi
rep stosd dword es:[edi], eax
mov ecx, dword [ebx + 0x40]
add esp, 4
add ecx, 0x28
add ecx, 2
mov byte [ecx - 2], al
mov byte [ecx - 1], al
mov byte [ecx], al
inc eax
add ecx, 4
cmp eax, 0x100
jl 0x401be4
jmp 0x401bfb
xor ebx, ebx
lea eax, [ebp - 0x12c]
push 0x100
push eax
push esi
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x14], 0x140
mov dword [ebp - 0x18], 0xf0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp - 0x12c]
push 0x5c
push ecx
call dword [sym.imp.MSVCRT.dll_strrchr]
mov edx, eax
mov edi, str.SpRmd.dll
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x10000000
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
push 3
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
push 1
lea ecx, [ebp - 0x12c]
push Ordinal_3
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x401d1a
mov edi, dword [ebx + 0x40]
lea edx, [ebp - 0x1c]
push 0
push edx
lea eax, [ebp - 0x2c]
push 0xe
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
lea ecx, [ebp - 0x1c]
push 0
push ecx
push 0x428
push edi
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [edi + 8]
xor edx, edx
mov dx, word [edi + 0xe]
mov eax, dword [edi + 4]
imul edx, ecx
imul edx, eax
shr edx, 3
push edx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], 2
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebx + 0x44], eax
mov eax, dword [ebp - 0x22]
mov dword [ebp - 4], 0xffffffff
push 0
push 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
xor edx, edx
mov eax, dword [ebx + 0x44]
mov dx, word [edi + 0xe]
lea ecx, [ebp - 0x1c]
imul edx, dword [ebp - 0x18]
imul edx, dword [ebp - 0x14]
push 0
push ecx
shr edx, 3
push edx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call sub.MFC42.DLL_AfxGetModuleState
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push 0
push 0
push 0
push ecx
push edx
push 0
push 0
push 0x90000000
push str.Supresoft_Remind
push 0
push 0
push 0x7f00
push 0
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
push 0
call sub.MFC42.DLL_AfxRegisterWndClass
push eax
push 0x88
mov ecx, ebx
call sub.MFC42.DLL_CWnd::CreateEx
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x401db7
push 0
mov ecx, ebx
call sub.MFC42.DLL_CWnd::CenterWindow
mov eax, dword [ebx + 0x20]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, dword [ebp + 8]
mov eax, 0x1b7740
test ecx, ecx
je 0x401d8b
xor edx, edx
div ecx
mov ecx, dword [ebx + 0x20]
push 0
push eax
push 0x1b7740
push ecx
call dword [sym.imp.USER32.dll_SetTimer]
mov eax, dword [ebx + 0x20]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test ebx, ebx
je 0x401dc4
mov edx, dword [ebx]
push 1
mov ecx, ebx
call dword [edx + 4]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret