Function at 0x40d914
Capabilities:
Get file size

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x65c
mov eax, dword [0x47a4b0]
xor eax, ebp
mov dword [ebp + 0x74], eax
push ebx
push esi
mov ebx, ecx
push 8
push ebx
mov dword [ebp - 0x5ac], ebx
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0x80
push 0x104
push ebx
lea ecx, [ebp - 0x94]
lea edx, [ebp - 0x198]
mov esi, eax
call fcn.0040d6c7
test eax, eax
je 0x40dc0c
push edi
lea eax, [ebp - 0x5e4]
xor edi, edi
push eax
mov dword [ebp - 0x5c4], 0xc
mov dword [ebp - 0x5c0], edi
mov dword [ebp - 0x5bc], edi
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea eax, [ebp - 0x5b8]
push eax
lea eax, [ebp - 0x5e4]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
push edi
push 0x8000080
push 3
lea eax, [ebp - 0x5c4]
push eax
push 1
push OleUIPasteSpecialA
lea eax, [ebp - 0x198]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [ebp - 0x5a4], eax
je 0x40db7a
lea eax, [ebp - 0x398]
push eax
lea eax, [ebp - 0x298]
push eax
push edi
lea eax, [ebp - 0x198]
push edi
push eax
call dword [sym.imp.MSVCR80.dll__splitpath]
lea eax, [ebp - 0x398]
push eax
lea eax, [ebp - 0x298]
push eax
push edi
lea eax, [ebp - 0x14]
push edi
push eax
call dword [sym.imp.MSVCR80.dll__makepath]
add esp, 0x28
push edi
push dword [ebp - 0x5a4]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, 0xffffffff
je 0x40db6e
mov eax, dword [ebp - 0x5b8]
mov dword [ebp + 0x6c], eax
mov eax, dword [ebp - 0x5b4]
mov dword [ebp + 0x70], eax
lea eax, [ebp - 0x5a8]
push eax
lea eax, [ebp - 0x5d4]
push eax
push edi
push 8
lea eax, [ebp - 0x298]
push eax
push str.Data
push dword [esi]
call dword [sym.imp.NfoMgr4.dll_Nfo_CreateObjectA]
test eax, eax
jne 0x40db6e
lea eax, [ebp - 0x198]
push eax
push 0x30ee
call fcn.0046708d
push eax
lea eax, [ebp - 0x5a0]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [ebp - 0x5b0]
push eax
push 0x2729
push 0x30ef
call fcn.0046708d
push eax
lea eax, [ebp - 0x5a0]
push eax
push edi
push ebx
call fcn.004467c8
test eax, eax
je 0x40db48
push dword [ebp - 0x5b0]
mov ecx, dword [ebp - 0x5a4]
push dword [ebp - 0x5a8]
call fcn.0040cc9c
pop ecx
pop ecx
push dword [ebp - 0x5b0]
mov ebx, eax
call fcn.004467fa
cmp ebx, edi
je 0x40db48
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [ebp - 0x14]
push eax
call ebx
mov edi, dword [sym.imp.NfoMgr4.dll_Nfo_WritePropertyA]
inc eax
push eax
lea eax, [ebp - 0x14]
push eax
push 0x46a524
push 1
lea eax, [ebp - 0x5d4]
push eax
push dword [esi]
call edi
test eax, eax
jne 0x40db48
lea eax, [ebp - 0x94]
push eax
call ebx
inc eax
push eax
lea eax, [ebp - 0x94]
push eax
push 0x46a520
push 1
lea eax, [ebp - 0x5d4]
push eax
push dword [esi]
call edi
test eax, eax
jne 0x40db48
push 8
lea eax, [ebp + 0x6c]
push eax
push 0x46a51c
push 1
lea eax, [ebp - 0x5d4]
push eax
push dword [esi]
call edi
test eax, eax
je 0x40dba6
push dword [ebp - 0x5a8]
call dword [sym.imp.NfoMgr4.dll_Nfo_CloseObject]
lea eax, [ebp - 0x298]
push eax
push str.Data
push dword [esi]
call dword [sym.imp.NfoMgr4.dll_Nfo_DestroyObjectA]
mov ebx, dword [ebp - 0x5ac]
push dword [ebp - 0x5a4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x198]
push eax
push 0x30
push 0x30f1
call fcn.0046708d
push eax
push 0x30f0
call fcn.0046708d
push eax
push ebx
call fcn.00455173
add esp, 0x14
xor eax, eax
jmp 0x40dc0b
push dword [ebp - 0x5a4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0x5a8]
call dword [sym.imp.NfoMgr4.dll_Nfo_CloseObject]
push dword [esi + 0x214]
mov ebx, dword [ebp - 0x5ac]
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
mov edi, 0xba
push edi
push ebx
call esi
push eax
call dword [sym.imp.FcCtrl4.dll_VListBox_SetIterator]
lea eax, [ebp - 0x298]
push eax
push edi
push ebx
call esi
push eax
call dword [sym.imp.FcCtrl4.dll_VListBox_SelectString]
push edi
push ebx
call esi
push eax
push 0x100ba
push 0x111
push ebx
call dword [sym.imp.USER32.dll_SendMessageA]
xor eax, eax
inc eax
pop edi
mov ecx, dword [ebp + 0x74]
pop esi
xor ecx, ebp
pop ebx
call fcn.00456f61
add ebp, 0x78
leave
ret