Function at 0x100465e0
Capabilities:
Get disk size
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x10299001
mov eax, dword fs:[0]
push eax
sub esp, 0x1e8
push ebx
push esi
push edi
mov eax, dword [0x1037c990]
xor eax, esp
push eax
lea eax, [esp + 0x1f8]
mov dword fs:[0], eax
mov esi, ecx
mov edi, edx
mov eax, dword [ebp + 0xc]
xor ebx, ebx
mov dword [eax], ebx
call fcn.100041b0
push 1
push ebx
lea ecx, [esp + 0x174]
push 0x26
push ecx
call fcn.101dfed0
add esp, 0x10
mov dword [esp + 0x200], ebx
lea edx, [esp + 0xe8]
push edx
mov ecx, eax
call fcn.101da900
mov byte [esp + 0x200], 1
lea ecx, [esp + 0x6c]
push ecx
mov ecx, eax
call fcn.10055810
mov byte [esp + 0x200], 2
lea edx, [esp + 0x6c]
push edx
lea ecx, [esp + 0x1a8]
call fcn.10055870
mov byte [esp + 0x200], 4
lea ecx, [esp + 0x6c]
call fcn.10002d20
mov byte [esp + 0x200], 5
lea ecx, [esp + 0xe8]
call fcn.10056b10
mov byte [esp + 0x200], 6
lea ecx, [esp + 0x16c]
call fcn.10056b10
lea ecx, [esp + 0x1a4]
call fcn.10003840
push eax
mov ecx, esi
call fcn.100036b0
mov eax, dword [edi]
lea edx, [esp + 0x2c]
mov dword [esp + 0x2c], ebx
mov ecx, dword [eax]
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
cmp eax, ebx
jge 0x100466eb
push ebx
push ebx
push 0x102b274a
push eax
call fcn.100048f0
cmp dword [esp + 0x2c], ebx
jne 0x10046792
call fcn.10045b90
cmp dword [eax + 0x1c], 6
jl 0x10046f2c
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x68], esp
push 0x102b5064
call fcn.10035dd0
mov byte [esp + 0x21c], 7
push 0x35
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x84], esp
push str.CNVInstaller::GetManifestCacheSize
call fcn.10035dd0
mov byte [esp + 0x23c], 8
lea ecx, [esp + 0x67]
lea edx, [esp + 0x98]
lea eax, [esp + 0x78]
push 6
mov byte [esp + 0x6b], bl
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x7c], str.No_manifest_entries_found_to_perform_space_required_check
mov dword [esp + 0x80], edx
mov dword [esp + 0x74], vtable.Nvidia::Logging::ChainLoggable_class_Nvidia::Logging::Chain_char_const_____58___class_Nvidia::Logging::Chain_struct_Nvidia::Logging::NullType__struct_Nvidia::Logging::NullType___.0
mov dword [esp + 0x78], eax
call fcn.10045b90
push eax
mov byte [esp + 0x244], 6
lea edi, [esp + 0x78]
call fcn.10002b50
jmp 0x10046f2c
lea ecx, [esp + 0x12c]
call fcn.10056ab0
mov byte [esp + 0x200], 9
mov esi, dword [ebp + 8]
mov ecx, esi
call fcn.101dc650
shr eax, 4
not al
test al, 1
je 0x100467f6
lea ecx, [esp + 0xe8]
push ecx
mov ecx, esi
call fcn.101daa80
mov byte [esp + 0x200], 0xa
add eax, 0x18
push eax
lea ecx, [esp + 0x148]
call fcn.100036b0
mov byte [esp + 0x200], 9
lea ecx, [esp + 0xe8]
call fcn.10056b10
jmp 0x10046806
add esi, 0x18
push esi
lea ecx, [esp + 0x148]
call fcn.100036b0
lea edx, [esp + 0xe8]
push edx
lea ecx, [esp + 0x130]
call fcn.10055790
mov byte [esp + 0x200], 0xb
add eax, 0x18
push eax
lea ecx, [esp + 0x148]
call fcn.100036b0
mov byte [esp + 0x200], 9
lea ecx, [esp + 0xe8]
call fcn.10056b10
push 0x4c
push str..CachePackages.cpp
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x74]
push ecx
lea edx, [esp + 0x64]
push edx
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x1bc]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x7c], ebx
call fcn.10002aa0
push eax
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
push eax
call fcn.100556a0
mov eax, dword [esp + 0x60]
imul eax, dword [esp + 0x64]
mov ecx, dword [edi]
add esp, 0xc
lea edx, [esp + 0x114]
push edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ebx
call fcn.100bef40
mov byte [esp + 0x200], 0xc
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [esp + 0x11c]
push eax
call edi
mov eax, dword [esp + 0x114]
mov dword [esp + 0x48], ebx
cmp eax, ebx
je 0x100468fa
mov ecx, dword [eax]
lea edx, [esp + 0x48]
push edx
lea edx, [esp + 0x120]
push edx
push 1
push eax
mov eax, dword [ecx + 0xc]
call eax
cmp eax, ebx
jl 0x100466de
cmp dword [esp + 0x48], ebx
seta al
cmp al, bl
je 0x10046eb5
lea ecx, [esp + 0x4c]
push ecx
lea esi, [esp + 0x118]
call fcn.1004c580
mov byte [esp + 0x200], 0xd
lea ecx, [esp + 0x6c]
call fcn.10002dd0
mov byte [esp + 0x200], 0xe
mov esi, dword [esp + 0x4c]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x84], ebx
call fcn.100041b0
lea edx, [esp + 0x74]
push edx
call edi
cmp eax, ebx
jl 0x100466de
mov eax, 8
mov word [esp + 0x74], ax
lea edx, [esp + 0x7c]
mov dword [esp + 0x84], 2
mov dword [esp + 0x7c], ebx
mov ecx, dword [esi]
mov eax, dword [ecx + 0x1c]
push edx
push esi
call eax
cmp eax, ebx
jl 0x10046e92
lea ecx, [esp + 0x148]
call fcn.10056c80
mov byte [esp + 0x200], 0xf
lea ecx, [esp + 0x6c]
call fcn.10003840
mov eax, dword [eax]
sub eax, 0x10
lea ecx, [esp + 0x160]
push eax
mov dword [esp + 0x34], ecx
call fcn.10004780
add eax, 0x10
add esp, 4
mov dword [esp + 0x160], eax
mov byte [esp + 0x200], 0x12
lea edx, [esp + 0x12c]
push edx
lea eax, [esp + 0x18c]
push eax
lea ecx, [esp + 0x150]
push ecx
call fcn.10055620
mov al, 0x15
mov byte [esp + 0x200], al
lea edx, [esp + 0x160]
mov dword [esp + 0x30], edx
mov byte [esp + 0x200], al
mov eax, dword [esp + 0x160]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10046a27
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x200], 0x14
mov edi, dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
lea ecx, [esp + 0x148]
push ecx
call edi
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x90], ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], 0xa
mov byte [esp + 0x200], 0x19
lea edx, [esp + 0xe8]
push edx
lea ecx, [esp + 0x18c]
call fcn.101daa00
mov esi, eax
mov byte [esp + 0x200], 0x1a
lea eax, [esp + 0x16c]
push eax
lea ecx, [esp + 0x18c]
call fcn.101daa80
mov byte [esp + 0x200], 0x1b
mov edx, dword [esp + 0x8c]
push ebx
lea ecx, [esp + 0x90]
mov dword [esp + 0x114], ecx
push 0x10
lea ecx, [esp + 0x10c]
push ecx
push esi
mov ecx, eax
mov dword [esp + method.CAtlListBuilder_class_CFilePath__class_ATL::CElementTraits_class_CFilePath___class_ATL::CAtlList_class_CFilePath__class_ATL::CElementTraits_class_CFilePath___.virtual_0], vtable.CAtlListBuilder_class_CFilePath__class_ATL::CElementTraits_class_CFilePath___class_ATL::CAtlList_class_CFilePath__class_ATL::CElementTraits_class_CFilePath___.0
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], edx
call fcn.101dcdb0
mov al, 0x1c
mov byte [esp + 0x200], al
lea edx, [esp + 0x184]
mov dword [esp + 0x30], edx
mov byte [esp + 0x200], al
mov eax, dword [esp + 0x184]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10046b2e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x200], 0x1a
lea ecx, [esp + 0x16c]
push ecx
call edi
mov al, 0x20
mov byte [esp + 0x200], al
lea edx, [esp + 0x100]
mov dword [esp + 0x30], edx
mov byte [esp + 0x200], al
mov eax, dword [esp + 0x100]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10046b7e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x200], 0x19
lea ecx, [esp + 0xe8]
push ecx
call edi
mov esi, dword [esp + 0x8c]
cmp esi, ebx
je 0x10046dcf
nop
xor eax, eax
cmp esi, ebx
setne al
cmp eax, ebx
je 0x10046ea0
mov edi, esi
mov esi, dword [esi]
add edi, 8
mov ecx, edi
call fcn.101dc770
push 0x103b7524
lea ecx, [esp + 0x54]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
call fcn.10003eb0
mov byte [esp + 0x200], 0x25
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov ecx, eax
and eax, 0x7fffffff
mov dword [esp + 0xb8], eax
and ecx, 0x80000000
mov dword [esp + 0xb4], edx
fild qword [esp + 0xb4]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xac], ebx
fild qword [esp + 0xac]
sub esp, 8
lea eax, [esp + 0x58]
fchs
faddp st(1)
fmul qword [0x102e4358]
fstp qword [esp]
push str._.2f
push eax
call fcn.10055210
add esp, 0x10
call fcn.10045b90
cmp dword [eax + 0x1c], 6
jl 0x10046d6a
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x4c], esp
push 0x13
xor edx, edx
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push 0x102b5064
mov word [ecx + 4], dx
call fcn.10035ce0
mov byte [esp + 0x21c], 0x26
push 0x66
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0xf8], esp
push 0x22
xor eax, eax
mov dword [ecx + 0x18], 7
mov dword [ecx + 0x14], ebx
push str.CNVInstaller::GetManifestCacheSize
mov word [ecx + 4], ax
call fcn.10035ce0
mov byte [esp + 0x23c], 0x27
lea ecx, [esp + 0x67]
lea edx, [esp + 0x1a0]
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0xe4], edx
lea eax, [esp + 0xe0]
lea ecx, [esp + 0x114]
lea edx, [esp + 0x8c]
mov dword [esp + 0x118], eax
mov dword [esp + 0x120], ecx
mov dword [esp + 0x104], edx
lea eax, [esp + 0x11c]
lea ecx, [esp + 0x104]
lea edx, [esp + 0x10c]
push 6
mov byte [esp + 0x6b], bl
mov dword [esp + 0xe4], str.Calculated_size_for_file
mov dword [esp + 0x118], edi
mov dword [esp + 0x120], 0x102b5150
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], str.kilobytes
mov dword [esp + 0x114], ecx
mov dword [esp + 0x9c], 0x102b6830
mov dword [esp + 0xa0], edx
call fcn.10045b90
push eax
mov byte [esp + 0x244], 0x25
lea edi, [esp + 0xa0]
call fcn.10002b50
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [esp + 0x38]
push ecx
push edx
push eax
call fcn.10234f30
mov dword [esp + 0xc0], edx
test ebx, ebx
ja 0x10046d92
test ecx, ecx
jbe 0x10046d93
inc eax
add dword [esp + 0x2c], eax
mov byte [esp + 0x200], 0x19
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10046dbf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor ebx, ebx
test esi, esi
jne 0x10046ba0
mov edi, dword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov byte [esp + 0x200], 0x14
lea ecx, [esp + 0x8c]
call fcn.10091d30
mov al, 0x29
mov byte [esp + 0x200], al
lea ecx, [esp + 0x1a0]
mov dword [esp + 0xbc], ecx
mov byte [esp + 0x200], al
mov eax, dword [esp + 0x1a0]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x10046e24
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x200], 0xe
lea ecx, [esp + 0x188]
push ecx
call edi
mov byte [esp + 0x200], 0x2d
lea edx, [esp + 0x74]
push edx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov byte [esp + 0x200], 0xd
mov eax, dword [esp + 0x6c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x10046e71
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x200], 0xc
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0x100468bc
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x100468bc
push ebx
push 0x55
push str..CachePackages.cpp
push eax
call fcn.100048f0
push ebx
push 0x514
push str.c:dvsp4_build_sw_toolswin32msvc90VC_atlmfcinclude_atlcoll.h
push 0x80004005
call fcn.100048f0
mov byte [esp + 0x200], 9
lea eax, [esp + 0x114]
push eax
call fcn.10085de0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x2c]
push ecx
push edx
push ebx
push eax
call fcn.10233430
mov ecx, eax
shrd ecx, edx, 0xa
shr edx, 0xa
cmp edx, ebx
ja 0x10046ef1
cmp ecx, 0xffffffff
jbe 0x10046f03
push ebx
push 0x6c
push str..CachePackages.cpp
push 0xe0e00000
call fcn.100048f0
mov edx, dword [ebp + 0xc]
and eax, 0x3ff
mov dword [edx], ecx
cmp ebx, ebx
ja 0x10046f15
cmp eax, ebx
jbe 0x10046f18
inc ecx
mov dword [edx], ecx
mov byte [esp + 0x200], 6
lea ecx, [esp + 0x12c]
call fcn.10056b10
mov dword [esp + 0x200], 0xffffffff
lea ecx, [esp + 0x1a4]
call fcn.10002d20
mov ecx, dword [esp + 0x1f8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8