Function at 0x638210
Capabilities:
Get disk size

Disassembly:
push rbp
push rbx
sub rsp, 0x188
mov rbp, rsp
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x98], 0
mov qword [rbp + 0x88], 0
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0xc0], 0
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0xa8], 0
mov qword [rbp + 0xb8], 0
mov qword [rbp + 0xe8], 0
mov qword [rbp + 0xd8], 0
mov qword [rbp + 0xc8], 0
mov qword [rbp + 0xd0], 0
mov qword [rbp + 0xe0], 0
mov qword [rbp + 0x110], 0
mov qword [rbp + 0x100], 0
mov qword [rbp + 0xf0], 0
mov qword [rbp + 0xf8], 0
mov qword [rbp + 0x108], 0
mov qword [rbp + 0x138], 0
mov qword [rbp + 0x128], 0
mov qword [rbp + 0x118], 0
mov qword [rbp + 0x120], 0
mov qword [rbp + 0x130], 0
mov qword [rbp + 0x160], 0
mov qword [rbp + 0x150], 0
mov qword [rbp + 0x140], 0
mov qword [rbp + 0x148], 0
mov qword [rbp + 0x158], 0
mov qword [rbp + 0x168], rbp
mov qword [rbp + 0x1a0], rcx
lea rcx, [rbp + 0x1a0]
call fcn.0040eaf0
nop
mov eax, dword [0x00696e58]
add eax, dword [0x006980e0]
mov ecx, dword [0x00698e68]
add ecx, dword [0x006994e8]
cmp eax, ecx
jle 0x6383ee
mov eax, dword [0x006994e8]
mov dword [0x00696e58], eax
mov eax, dword [0x006965c0]
mov dword [0x00696170], eax
mov eax, dword [0x006974c8]
add eax, dword [0x00698ae0]
mov ecx, dword [0x006990c4]
add ecx, dword [0x00699624]
cmp eax, ecx
jle 0x638422
mov eax, dword [0x00699624]
mov dword [0x006974c8], eax
mov dword [0x00693408], 0x32a
mov eax, dword [0x00693408]
sub eax, 0x1b6
mov dword [0x00693948], eax
call fcn.00638010
cmp eax, dword [0x006933e8]
jle 0x638455
mov dword [0x006933e8], 0xaf
mov byte [rbp + 0x17f], 0
nop
lea rcx, [rbp + 0x158]
mov rdx, qword [rbp + 0x1a0]
call fcn.004108b0
lea rcx, [rbp + 0x160]
mov rdx, qword [rbp + 0x158]
call fcn.0042d7c0
lea rcx, [rbp + 0x148]
lea rdx, [0x006926c4]
mov r8d, 0xc
mov r9d, 0x2d
call fcn.00597b20
lea rcx, [rbp + 0x150]
mov rdx, qword [rbp + 0x148]
xor r8, r8
call fcn.005a8ac0
lea rcx, [rbp + 0x140]
mov rdx, qword [rbp + 0x150]
call fcn.004108b0
mov rcx, qword [rbp + 0x160]
mov rdx, qword [rbp + 0x140]
call fcn.00410d80
test eax, eax
jne 0x6384eb
mov byte [rbp + 0x17f], 1
mov eax, dword [0x00699a78]
mov dword [0x006995f0], eax
lea rcx, [rbp + 0x130]
mov rdx, qword [rbp + 0x1a0]
call fcn.004108b0
lea rcx, [rbp + 0x138]
mov rdx, qword [rbp + 0x130]
call fcn.0042d7c0
lea rcx, [rbp + 0x120]
lea rdx, [0x006926d1]
mov r8d, 7
mov r9d, 0x2d
call fcn.00597b20
lea rcx, [rbp + 0x128]
mov rdx, qword [rbp + 0x120]
xor r8, r8
call fcn.005a8ac0
lea rcx, [rbp + 0x118]
mov rdx, qword [rbp + 0x128]
call fcn.004108b0
mov rcx, qword [rbp + 0x138]
mov rdx, qword [rbp + 0x118]
call fcn.00410d80
test eax, eax
jne 0x638585
mov byte [rbp + 0x17f], 1
mov eax, dword [0x00693444]
add eax, 1
cmp dword [0x00693444], eax
jne 0x6385d6
mov eax, dword [0x00696138]
test eax, eax
jge 0x6385a5
call fcn.0040afc0
mov ecx, dword [0x00698b00]
test ecx, ecx
jge 0x6385b4
call fcn.0040afc0
mov edx, dword [0x006994ec]
test edx, edx
jge 0x6385c3
call fcn.0040afc0
mov r8d, ecx
mov r9d, edx
mov ecx, eax
mov edx, r8d
mov r8d, r9d
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov eax, dword [0x00696aa0]
add eax, dword [0x006974d4]
mov ecx, dword [0x00698778]
add ecx, dword [0x00698fb0]
cmp eax, ecx
jle 0x6385fe
mov eax, dword [0x00698fb0]
mov dword [0x00696aa0], eax
call fcn.0061e920
cmp eax, dword [0x00699c10]
jle 0x638615
mov dword [0x00699c10], 0x4d
lea rcx, [rbp + 0x108]
mov rdx, qword [rbp + 0x1a0]
call fcn.004108b0
lea rcx, [rbp + 0x110]
mov rdx, qword [rbp + 0x108]
call fcn.0042d7c0
lea rcx, [rbp + 0xf8]
lea rdx, [0x006926d9]
mov r8d, 7
mov r9d, 0x2d
call fcn.00597b20
lea rcx, [rbp + 0x100]
mov rdx, qword [rbp + 0xf8]
xor r8, r8
call fcn.005a8ac0
lea rcx, [rbp + 0xf0]
mov rdx, qword [rbp + 0x100]
call fcn.004108b0
mov rcx, qword [rbp + 0x110]
mov rdx, qword [rbp + 0xf0]
call fcn.00410d80
test eax, eax
jne 0x6386a3
mov byte [rbp + 0x17f], 1
mov eax, dword [0x00696aa0]
add eax, dword [0x006974d4]
mov ecx, dword [0x00698778]
add ecx, dword [0x00698fb0]
cmp eax, ecx
jle 0x6386cb
mov eax, dword [0x00698fb0]
mov dword [0x00696aa0], eax
mov eax, dword [0x00698e8c]
cmp eax, dword [0x00699510]
je 0x6386e5
mov eax, dword [0x00698e8c]
mov dword [0x00699510], eax
mov eax, dword [0x006932dc]
add eax, dword [0x006934bc]
mov ecx, dword [0x006940b0]
add ecx, dword [0x00695850]
cmp eax, ecx
jle 0x63870b
mov dword [0x006932dc], 0x8b
mov eax, dword [0x0069328c]
mov dword [0x00699864], eax
mov eax, dword [0x00699394]
add eax, dword [0x00699658]
mov ecx, dword [0x006978e0]
add ecx, dword [0x00698b14]
cmp ecx, eax
jle 0x63873f
mov ecx, dword [0x00699658]
mov dword [0x006978e0], ecx
mov ecx, dword [0x006978e0]
add ecx, dword [0x00698b14]
cmp ecx, eax
jle 0x63875b
mov eax, dword [0x00699658]
mov dword [0x006978e0], eax
mov eax, dword [0x00698b30]
cmp eax, dword [0x006993ac]
je 0x638775
mov eax, dword [0x00698b30]
mov dword [0x006993ac], eax
mov eax, dword [0x00696cdc]
add eax, dword [0x00697e88]
mov ecx, dword [0x00698e54]
add ecx, dword [0x006994d4]
cmp eax, ecx
jle 0x63879d
mov eax, dword [0x006994d4]
mov dword [0x00696cdc], eax
mov eax, dword [0x00696324]
mov dword [0x0069611c], eax
mov eax, dword [0x00699bec]
mov dword [0x00699534], eax
lea rcx, [rbp + 0xe0]
mov rdx, qword [rbp + 0x1a0]
call fcn.004108b0
lea rcx, [rbp + 0xe8]
mov rdx, qword [rbp + 0xe0]
call fcn.0042d7c0
lea rcx, [rbp + 0xd0]
lea rdx, [0x006926ee]
mov r8d, 0xb
mov r9d, 0x2d
call fcn.00597b20
lea rcx, [rbp + 0xd8]
mov rdx, qword [rbp + 0xd0]
xor r8, r8
call fcn.005a8ac0
lea rcx, [rbp + 0xc8]
mov rdx, qword [rbp + 0xd8]
call fcn.004108b0
mov rcx, qword [rbp + 0xe8]
mov rdx, qword [rbp + 0xc8]
call fcn.00410d80
test eax, eax
jne 0x638843
mov byte [rbp + 0x17f], 1
mov eax, dword [0x00696c9c]
add eax, dword [0x006978f0]
mov ecx, dword [0x00698b28]
add ecx, dword [0x006993a4]
cmp eax, ecx
jle 0x63886b
mov eax, dword [0x006993a4]
mov dword [0x00696c9c], eax
call fcn.00614990
mov dword [0x006933ac], 0x313
mov eax, dword [0x006933ac]
sub eax, 0x1ab
mov dword [0x006935f4], eax
mov eax, dword [0x00693534]
add eax, 1
cmp dword [0x00693534], eax
jne 0x6388b3
mov eax, dword [0x006934bc]
test eax, eax
jge 0x6388ac
call fcn.0040afc0
mov ecx, eax
call sub.kernel32.dll_SetConsoleKeyShortcuts
mov eax, dword [0x00696a70]
add eax, dword [0x006974a4]
mov ecx, dword [0x00698b38]
add ecx, dword [0x006993b4]
cmp eax, ecx
jle 0x6388db
mov eax, dword [0x006993b4]
mov dword [0x00696a70], eax
mov eax, dword [0x006934c8]
add eax, 1
cmp dword [0x006934c8], eax
jne 0x638943
mov eax, dword [0x006978f8]
test eax, eax
jge 0x6388fb
call fcn.0040afc0
mov ecx, dword [0x006993ac]
test ecx, ecx
jge 0x63890a
call fcn.0040afc0
mov edx, dword [0x006931b4]
test edx, edx
jge 0x638919
call fcn.0040afc0
mov r8d, dword [0x006934e8]
test r8d, r8d
jge 0x63892a
call fcn.0040afc0
mov r9d, ecx
mov r10d, edx
mov r11d, r8d
mov ecx, eax
mov edx, r9d
mov r8d, r10d
mov r9d, r11d
call sub.advapi32.dll_CryptDuplicateKey
call fcn.005ffbe0
mov dword [0x0069339c], 0x30e
mov eax, dword [0x0069339c]
sub eax, 0x1a9
mov dword [0x00693564], eax
lea rcx, [rbp + 0xb8]
mov rdx, qword [rbp + 0x1a0]
call fcn.004108b0
lea rcx, [rbp + 0xc0]
mov rdx, qword [rbp + 0xb8]
call fcn.0042d7c0
lea rcx, [rbp + 0xa8]
lea rdx, [0x006926fa]
mov r8d, 0xb
mov r9d, 0x2d
call fcn.00597b20
lea rcx, [rbp + 0xb0]
mov rdx, qword [rbp + 0xa8]
xor r8, r8
call fcn.005a8ac0
lea rcx, [rbp + 0xa0]
mov rdx, qword [rbp + 0xb0]
call fcn.004108b0
mov rcx, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0xa0]
call fcn.00410d80
test eax, eax
jne 0x6389f2
mov byte [rbp + 0x17f], 1
mov eax, dword [0x00693510]
add eax, 1
cmp dword [0x00693510], eax
jne 0x638a70
mov eax, dword [0x0069594c]
test eax, eax
jge 0x638a12
call fcn.0040afc0
mov ecx, dword [0x006980e0]
test ecx, ecx
jge 0x638a21
call fcn.0040afc0
mov edx, dword [0x00698fc0]
test edx, edx
jge 0x638a30
call fcn.0040afc0
mov r8d, dword [0x00699640]
test r8d, r8d
jge 0x638a41
call fcn.0040afc0
mov r9d, dword [0x006933e0]
test r9d, r9d
jge 0x638a52
call fcn.0040afc0
mov r10d, ecx
mov r11d, edx
mov ebx, r8d
mov dword [rsp + 0x20], r9d
mov ecx, eax
mov edx, r10d
mov r8d, r11d
mov r9d, ebx
call sub.kernel32.dll_LockFile
lea rcx, [rbp + 0x90]
mov rdx, qword [rbp + 0x1a0]
call fcn.004108b0
lea rcx, [rbp + 0x98]
mov rdx, qword [rbp + 0x90]
call fcn.0042d7c0
lea rcx, [rbp + 0x80]
lea rdx, [0x00692d9f]
mov r8d, 0xc
mov r9d, 0x2d
call fcn.00597b20
lea rcx, [rbp + 0x88]
mov rdx, qword [rbp + 0x80]
xor r8, r8
call fcn.005a8ac0
lea rcx, [rbp + 0x78]
mov rdx, qword [rbp + 0x88]
call fcn.004108b0
mov rcx, qword [rbp + 0x98]
mov rdx, qword [rbp + 0x78]
call fcn.00410d80
test eax, eax
jne 0x638af8
mov byte [rbp + 0x17f], 1
mov eax, dword [0x00699654]
mov dword [0x0069938c], eax
lea rcx, [rbp + 0x68]
mov rdx, qword [rbp + 0x1a0]
call fcn.004108b0
lea rcx, [rbp + 0x70]
mov rdx, qword [rbp + 0x68]
call fcn.0042d7c0
lea rcx, [rbp + 0x58]
lea rdx, [0x00692db9]
mov r8d, 0xc
mov r9d, 0x2d
call fcn.00597b20
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0x58]
xor r8, r8
call fcn.005a8ac0
lea rcx, [rbp + 0x50]
mov rdx, qword [rbp + 0x60]
call fcn.004108b0
mov rcx, qword [rbp + 0x70]
mov rdx, qword [rbp + 0x50]
call fcn.00410d80
test eax, eax
jne 0x638b74
mov byte [rbp + 0x17f], 1
mov dword [0x006931b0], 0x30d
mov eax, dword [0x006931b0]
sub eax, 0x199
mov dword [0x00693410], eax
mov eax, dword [0x00696578]
mov dword [0x00695bec], eax
mov eax, dword [0x00699bf8]
mov dword [0x0069953c], eax
call fcn.006011a0
call fcn.00622e10
cmp eax, dword [0x00699c14]
jle 0x638bc4
mov dword [0x00699c14], 0x4f
mov eax, dword [0x00699c38]
add eax, dword [0x006933f8]
mov ecx, dword [0x00693548]
add ecx, dword [0x00694284]
cmp eax, ecx
jle 0x638bea
mov dword [0x00699c38], 6
cmp byte [rbp + 0x17f], 0
jne 0x638c9c
lea rcx, [rbp + 0x40]
lea rdx, [0x00692dac]
mov r8d, 0xc
mov r9d, 0x2d
call fcn.00597b20
lea rcx, [rbp + 0x48]
mov rdx, qword [rbp + 0x40]
xor r8, r8
call fcn.005a8ac0
mov rcx, qword [0x006a8a10]
mov rdx, qword [rbp + 0x48]
call fcn.00410520
test eax, eax
je 0x638c9c
lea rcx, [rbp + 0x30]
lea rdx, [0x00692d86]
mov r8d, 0xc
mov r9d, 0x2d
call fcn.00597b20
lea rcx, [rbp + 0x38]
mov rdx, qword [rbp + 0x30]
xor r8, r8
call fcn.005a8ac0
mov rcx, qword [0x006a8a10]
mov rdx, qword [rbp + 0x38]
call fcn.00410520
test eax, eax
je 0x638c9c
mov rcx, qword [rbp + 0x1a0]
call fcn.005d6ef0
test al, al
je 0x638c9c
mov byte [rbp + 0x17f], 1
jmp 0x638c9c
mov eax, dword [0x00699c38]
add eax, dword [0x006933f8]
mov ecx, dword [0x00693548]
add ecx, dword [0x00694284]
cmp eax, ecx
jle 0x638cc2
mov dword [0x00699c38], 6
mov eax, dword [0x006989b0]
cmp eax, dword [0x006990b8]
je 0x638cdc
mov eax, dword [0x006989b0]
mov dword [0x006990b8], eax
mov eax, dword [0x00693424]
add eax, 1
cmp dword [0x00693424], eax
jne 0x638d2d
mov eax, dword [0x006990bc]
test eax, eax
jge 0x638cfc
call fcn.0040afc0
mov ecx, dword [0x00699bf8]
test ecx, ecx
jge 0x638d0b
call fcn.0040afc0
mov edx, dword [0x00693438]
test edx, edx
jge 0x638d1a
call fcn.0040afc0
mov r8d, ecx
mov r9d, edx
mov ecx, eax
mov edx, r8d
mov r8d, r9d
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov dword [0x00693294], 0x310
mov eax, dword [0x00693294]
sub eax, 0x19a
mov dword [0x0069341c], eax
mov eax, dword [0x00697e7c]
add eax, dword [0x00698adc]
mov ecx, dword [0x00696320]
add ecx, dword [0x00696cd0]
cmp ecx, eax
jle 0x638d71
mov ecx, dword [0x00698adc]
mov dword [0x00696320], ecx
mov ecx, dword [0x00696320]
add ecx, dword [0x00696cd0]
cmp ecx, eax
jle 0x638d8d
mov eax, dword [0x00698adc]
mov dword [0x00696320], eax
mov eax, dword [0x00698114]
cmp eax, dword [0x00698e9c]
je 0x638da7
mov eax, dword [0x00698114]
mov dword [0x00698e9c], eax
nop
lea rcx, [rbp + 0x30]
call fcn.0040e970
lea rcx, [rbp + 0x38]
call fcn.0040e9c0
lea rcx, [rbp + 0x40]
call fcn.0040e970
lea rcx, [rbp + 0x48]
call fcn.0040e9c0
lea rcx, [rbp + 0x50]
call fcn.0040e920
lea rcx, [rbp + 0x58]
call fcn.0040e970
lea rcx, [rbp + 0x60]
call fcn.0040e9c0
lea rcx, [rbp + 0x68]
mov edx, 3
call fcn.0040ea00
lea rcx, [rbp + 0x80]
call fcn.0040e970
lea rcx, [rbp + 0x88]
call fcn.0040e9c0
lea rcx, [rbp + 0x90]
mov edx, 3
call fcn.0040ea00
lea rcx, [rbp + 0xa8]
call fcn.0040e970
lea rcx, [rbp + 0xb0]
call fcn.0040e9c0
lea rcx, [rbp + 0xb8]
mov edx, 3
call fcn.0040ea00
lea rcx, [rbp + 0xd0]
call fcn.0040e970
lea rcx, [rbp + 0xd8]
call fcn.0040e9c0
lea rcx, [rbp + 0xe0]
mov edx, 3
call fcn.0040ea00
lea rcx, [rbp + 0xf8]
call fcn.0040e970
lea rcx, [rbp + 0x100]
call fcn.0040e9c0
lea rcx, [rbp + 0x108]
mov edx, 3
call fcn.0040ea00
lea rcx, [rbp + 0x120]
call fcn.0040e970
lea rcx, [rbp + 0x128]
call fcn.0040e9c0
lea rcx, [rbp + 0x130]
mov edx, 3
call fcn.0040ea00
lea rcx, [rbp + 0x148]
call fcn.0040e970
lea rcx, [rbp + 0x150]
call fcn.0040e9c0
lea rcx, [rbp + 0x158]
mov edx, 2
call fcn.0040ea00
lea rcx, [rbp + 0x1a0]
call fcn.0040e9c0
movzx rax, byte [rbp + 0x17f]
lea rsp, [rbp + 0x188]
pop rbx
pop rbp
ret