Function at 0x406869
Capabilities:
Get file size

Disassembly:
sub esp, 0xc
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
push 0
push 4
mov eax, ebp
add eax, 0xc
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push 0
push 4
mov eax, ebp
add eax, 8
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push 0x80000000
push dword [ebp + 0x14]
call fcn.00402b1c
push eax
pop eax
mov dword [ebp + 8], eax
push dword [ebp + 8]
push 1
pop eax
imul eax, eax, 0xffffffff
push eax
pop eax
pop ebx
sub esp, 4
xor eax, ebx
je 0x4068cd
mov eax, 0xffffffff
not eax
mov dword [esp], eax
pop eax
cmp eax, 0
je 0x4068f3
push 0
pop eax
mov dword [ebp + 8], eax
push 0xffffffffffffffff
pop eax
mov dword [ebp + 0xc], eax
jmp 0x406e87
mov ecx, dword [ebp - 4]
call fcn.00404a85
push 0
push 0
push 8
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.DLL_SetFilePointer]
mov eax, 4
push eax
mov ecx, dword [ebp - 4]
mov eax, ecx
push eax
push dword [ebp + 8]
call fcn.00404783
mov eax, 4
push eax
mov ecx, dword [ebp - 4]
add ecx, 4
mov eax, ecx
push eax
push dword [ebp + 8]
call fcn.00404783
mov ecx, dword [ebp - 4]
mov eax, ecx
push eax
call fcn.00405fe9
mov ecx, dword [ebp - 4]
add ecx, 4
mov eax, ecx
push eax
call fcn.00405fe9
mov ecx, dword [ebp - 4]
push dword [ecx]
push 0
pop eax
pop ebx
sub esp, 4
xor eax, ebx
je 0x406972
mov eax, 0xffffffff
not eax
mov dword [esp], eax
mov ecx, dword [ebp - 4]
add ecx, 4
push dword [ecx]
push 0
pop eax
pop ebx
sub esp, 4
xor eax, ebx
je 0x406992
mov eax, 0xffffffff
not eax
mov dword [esp], eax
pop ebx
pop eax
sub esp, 4
or eax, ebx
mov dword [esp], eax
pop eax
cmp eax, 0
je 0x4069b9
push 0xffffffffffffffff
pop eax
mov dword [ebp + 0xc], eax
jmp 0x406e87
mov ecx, dword [ebp - 4]
push dword [ecx]
push 1
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
mov eax, 0x18
push eax
pop ebx
pop eax
sub esp, 4
imul eax, ebx
mov dword [esp], eax
call fcn.004011ef
push eax
mov ecx, dword [ebp - 4]
add ecx, 8
pop eax
mov dword [ecx], eax
mov ecx, dword [ebp - 4]
push dword [ecx]
mov eax, 0x18
push eax
pop ebx
pop eax
sub esp, 4
imul eax, ebx
mov dword [esp], eax
mov ecx, dword [ebp - 4]
add ecx, 8
push dword [ecx]
push dword [ebp + 8]
call fcn.00404783
push 0
push 4
mov eax, ebp
add eax, 4
push eax
call dword [sym.imp.KERNEL32.DLL_RtlFillMemory]
push 0
pop eax
mov dword [ebp + 4], eax
jmp 0x406a52
push dword [ebp + 4]
push 1
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
pop eax
mov dword [ebp + 4], eax
push 0xffffffffffffffff
pop eax
cmp eax, 0
je 0x406a91
push dword [ebp + 4]
mov ecx, dword [ebp - 4]
push dword [ecx]
push 1
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
pop ebx
pop eax
sub esp, 4
mov ecx, 0xffffffff
cmp eax, ebx
jle 0x406a88
mov ecx, 0
mov dword [esp], ecx
pop eax
jmp 0x406abf
push dword [ebp + 4]
mov ecx, dword [ebp - 4]
push dword [ecx]
push 1
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
pop ebx
pop eax
sub esp, 4
mov ecx, 0xffffffff
cmp eax, ebx
jge 0x406abb
mov ecx, 0
mov dword [esp], ecx
pop eax
cmp eax, 0
je 0x406bbd
mov ecx, dword [ebp - 4]
add ecx, 8
push dword [ecx]
push dword [ebp + 4]
pop ebx
imul ebx, ebx, 0x18
pop ecx
add ecx, ebx
add ecx, 0xc
mov eax, ecx
push eax
call fcn.00405fe9
mov ecx, dword [ebp - 4]
add ecx, 8
push dword [ecx]
push dword [ebp + 4]
pop ebx
imul ebx, ebx, 0x18
pop ecx
add ecx, ebx
add ecx, 0x14
mov eax, ecx
push eax
call fcn.00405fe9
mov ecx, dword [ebp - 4]
add ecx, 8
push dword [ecx]
push dword [ebp + 4]
pop ebx
imul ebx, ebx, 0x18
pop ecx
add ecx, ebx
mov eax, ecx
push eax
call fcn.00405fe9
mov ecx, dword [ebp - 4]
add ecx, 8
push dword [ecx]
push dword [ebp + 4]
pop ebx
imul ebx, ebx, 0x18
pop ecx
add ecx, ebx
add ecx, 4
mov eax, ecx
push eax
call fcn.00405fe9
mov ecx, dword [ebp - 4]
add ecx, 8
push dword [ecx]
push dword [ebp + 4]
pop ebx
imul ebx, ebx, 0x18
pop ecx
add ecx, ebx
add ecx, 8
mov eax, ecx
push eax
call fcn.00405fe9
mov ecx, dword [ebp - 4]
add ecx, 8
push dword [ecx]
push dword [ebp + 4]
pop ebx
imul ebx, ebx, 0x18
pop ecx
add ecx, ebx
add ecx, 0x10
mov eax, ecx
push eax
call fcn.00405fe9
jmp 0x406a39
mov ecx, dword [ebp - 4]
push dword [ecx]
mov ecx, dword [ebp - 4]
add ecx, 4
push dword [ecx]
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
push 1
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
mov eax, 4
push eax
pop ebx
pop eax
sub esp, 4
imul eax, ebx
mov dword [esp], eax
call fcn.004011ef
push eax
mov ecx, dword [ebp - 4]
add ecx, 0xc
pop eax
mov dword [ecx], eax
mov ecx, dword [ebp - 4]
push dword [ecx]
mov ecx, dword [ebp - 4]
add ecx, 4
push dword [ecx]
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
mov eax, 4
push eax
pop ebx
pop eax
sub esp, 4
imul eax, ebx
mov dword [esp], eax
mov ecx, dword [ebp - 4]
add ecx, 0xc
push dword [ecx]
push dword [ebp + 8]
call fcn.00404783
push 0
pop eax
mov dword [ebp + 4], eax
jmp 0x406c6e
push dword [ebp + 4]
push 1
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
pop eax
mov dword [ebp + 4], eax
push 0xffffffffffffffff
pop eax
cmp eax, 0
je 0x406cc2
push dword [ebp + 4]
mov ecx, dword [ebp - 4]
push dword [ecx]
mov ecx, dword [ebp - 4]
add ecx, 4
push dword [ecx]
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
push 1
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
pop ebx
pop eax
sub esp, 4
mov ecx, 0xffffffff
cmp eax, ebx
jle 0x406cb9
mov ecx, 0
mov dword [esp], ecx
pop eax
jmp 0x406d05
push dword [ebp + 4]
mov ecx, dword [ebp - 4]
push dword [ecx]
mov ecx, dword [ebp - 4]
add ecx, 4
push dword [ecx]
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
push 1
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
pop ebx
pop eax
sub esp, 4
mov ecx, 0xffffffff
cmp eax, ebx
jge 0x406d01
mov ecx, 0
mov dword [esp], ecx
pop eax
cmp eax, 0
je 0x406d33
mov ecx, dword [ebp - 4]
add ecx, 0xc
push dword [ecx]
push dword [ebp + 4]
pop ebx
imul ebx, ebx, 4
pop ecx
add ecx, ebx
mov eax, ecx
push eax
call fcn.00405fe9
jmp 0x406c55
push 0x40b37a
push dword [ebp + 8]
call fcn.004073e1
push eax
call fcn.004082c9
push eax
mov eax, dword [esp + 4]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call fcn.00404634
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp + 4], eax
call fcn.004035a5
push eax
push 0x40b390
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call fcn.00404634
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
call fcn.004035a5
push eax
call fcn.004072a0
push 0
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.DLL_GetFileSize]
push eax
push dword [ebp + 8]
call fcn.004073e1
push eax
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
push 0xa
pop ebx
pop eax
sub esp, 4
add eax, ebx
mov dword [esp], eax
call fcn.004011ef
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
pop eax
mov dword [ecx], eax
push 0
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.DLL_GetFileSize]
push eax
push dword [ebp + 8]
call fcn.004073e1
push eax
pop ebx
pop eax
sub esp, 4
sub eax, ebx
mov dword [esp], eax
mov ecx, dword [ebp - 4]
add ecx, 0x10
push dword [ecx]
push dword [ebp + 8]
call fcn.00404783
push 0x40b393
push dword [ebp + 8]
call fcn.004073e1
push eax
call fcn.004082c9
push eax
mov eax, dword [esp + 4]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call fcn.00404634
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp + 4], eax
call fcn.004035a5
push eax
push 0x40b3a9
mov eax, dword [esp]
push eax
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
call fcn.00404634
push eax
call dword [sym.imp.KERNEL32.DLL_lstrcpyA]
mov dword [esp], eax
call fcn.004035a5
push eax
call fcn.004072a0
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov eax, dword [ebp + 0xc]
pop edi
pop esi
pop ebx
add esp, 4
mov esp, ebp
pop ebp
add esp, 0xc
ret 4