Function at 0xf045fbb
Capabilities:
Get file size

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [0xf072008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
call sym.ntvdm.exe_getDS
movzx edi, ax
shl edi, 4
call sym.ntvdm.exe_getSI
movzx esi, ax
add esi, edi
call sym.ntvdm.exe_getCX
xor edi, edi
movzx ecx, ax
mov eax, dword [ebp + 8]
xor ebx, ebx
inc edi
cmp eax, ebx
je 0xf046000
cmp eax, edi
jne 0xf046006
and ecx, 0xff
test ecx, 0xffffff80
je 0xf046020
push edi
call sym.ntvdm.exe_setCF
push 5
call sym.ntvdm.exe_setAX
jmp 0xf046273
cmp eax, ebx
je 0xf046028
cmp eax, edi
jne 0xf046062
cmp ecx, 8
jne 0xf046062
lea eax, [esi + 3]
push eax
movzx eax, byte [esi]
push eax
call fcn.0f04d3d0
movzx esi, ax
cmp si, bx
je 0xf04604b
push edi
call sym.ntvdm.exe_setCF
push esi
jmp 0xf046016
push ebx
call sym.ntvdm.exe_setAX
push ebx
call sym.ntvdm.exe_setBP
push ebx
call sym.ntvdm.exe_setCF
jmp 0xf046273
cmp cl, bl
jne 0xf046078
mov dword [ebp - 0x114], 0x80
mov ecx, dword [ebp - 0x114]
jmp 0xf046081
and ecx, 0x37
mov dword [ebp - 0x114], ecx
xor edx, edx
cmp dword [ebp + 8], ebx
push ebx
sete dl
push ecx
lea ecx, [ebp - 0x12c]
mov eax, 0xc0000000
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x12c], 0xc
mov dword [ebp - 0x128], ebx
inc edx
push edx
push ecx
push 7
mov dword [ebp - 0x124], edi
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x118], edx
push eax
jmp 0xf04620c
cmp dword [ebp - 0x11c], ebx
je 0xf046102
test dword [ebp - 0x110], 0x40000000
je 0xf046102
push esi
call sym.ntvdm.exe_IsCdRomFile
test eax, eax
je 0xf046102
and dword [ebp - 0x110], 0xbfffffff
mov dword [ebp - 0x11c], ebx
jmp 0xf0461f0
cmp dword [ebp - 0x10c], ebx
je 0xf046268
push 0x2e
push esi
call fcn.0f05f120
mov edi, eax
pop ecx
pop ecx
cmp edi, ebx
je 0xf046268
push 0xf004150
push edi
call fcn.0f005cda
pop ecx
pop ecx
test eax, eax
je 0xf046159
push 0xf004148
push edi
call fcn.0f005cda
pop ecx
pop ecx
test eax, eax
je 0xf046159
push 0xf004140
push edi
call fcn.0f005cda
pop ecx
pop ecx
test eax, eax
jne 0xf046268
push esi
call fcn.0f056751
test eax, eax
jne 0xf0461db
push 0xf004150
push edi
call fcn.0f005cda
pop ecx
pop ecx
test eax, eax
jne 0xf046268
sub edi, esi
mov dword [ebp - 0x10c], edi
cmp edi, 0xff
jae 0xf046268
mov edi, 0x104
push edi
lea eax, [ebp - 0x108]
push ebx
push eax
call fcn.0f0060e0
push dword [ebp - 0x10c]
lea eax, [ebp - 0x108]
push esi
push eax
call fcn.0f0057f0
push 0xf004140
lea eax, [ebp - 0x108]
push edi
push eax
call fcn.0f00a2b3
add esp, 0x24
lea eax, [ebp - 0x108]
push eax
call fcn.0f056751
test eax, eax
je 0xf046268
push ebx
push ebx
push 0x1d
push 0xffff
call dword [sym.imp.USER32.dll_PostMessageA]
mov dword [ebp - 0x10c], ebx
push ebx
push dword [ebp - 0x114]
lea eax, [ebp - 0x12c]
push dword [ebp - 0x118]
push eax
push 7
push dword [ebp - 0x110]
push esi
call fcn.0f0554e2
mov edi, eax
cmp edi, 0xffffffff
je 0xf0460cf
lea eax, [ebp - 0x120]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
inc eax
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x118], eax
jne 0xf046261
cmp dword [ebp - 0x120], ebx
jne 0xf046261
push ebx
call sym.ntvdm.exe_setCX
push ebx
call sym.ntvdm.exe_setBX
push edi
call sym.ntvdm.exe_setBP
shr edi, 0x10
push edi
call sym.ntvdm.exe_setAX
jmp 0xf046057
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
movzx eax, byte [esi]
push eax
push 0xffffffffffffffff
call fcn.0f046730
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0f0057d5
leave
ret 4