Function at 0x626640
Capabilities:
Get disk size

Disassembly:
push rbp
push rbx
sub rsp, 0x348
mov rbp, rsp
mov qword [rbp + 0x40], 0
mov qword [rbp + 0x38], 0
mov qword [rbp + 0x70], 0
mov qword [rbp + 0x60], 0
mov qword [rbp + 0x58], 0
mov qword [rbp + 0x48], 0
mov qword [rbp + 0x50], 0
mov qword [rbp + 0x68], 0
mov qword [rbp + 0x80], 0
mov qword [rbp + 0x78], 0
mov qword [rbp + 0x90], 0
mov qword [rbp + 0x88], 0
mov qword [rbp + 0xa8], 0
mov qword [rbp + 0xa0], 0
mov qword [rbp + 0x98], 0
mov qword [rbp + 0xb0], 0
mov qword [rbp + 0xb8], rbp
mov qword [rbp + 0x360], rcx
mov qword [rbp + 0x368], rdx
mov qword [rbp + 0x370], r8
lea rcx, [rbp + 0x360]
call fcn.0040eaf0
lea rcx, [rbp + 0xc8]
mov rdx, qword [0x00597950]
call fcn.004111e0
nop
nop
mov eax, dword [0x006968c0]
add eax, dword [0x00697478]
mov ecx, dword [0x006980d4]
add ecx, dword [0x00698e34]
cmp eax, ecx
jle 0x626746
mov eax, dword [0x00698e34]
mov dword [0x006968c0], eax
mov eax, dword [0x006a94a8]
mov dword [rbp + 0xc0], eax
mov eax, dword [0x006932e8]
add eax, 1
cmp dword [0x006932e8], eax
jne 0x6267ba
mov eax, dword [0x00698f90]
test eax, eax
jge 0x626772
call fcn.0040afc0
mov ecx, dword [0x006933fc]
test ecx, ecx
jge 0x626781
call fcn.0040afc0
mov edx, dword [0x00694100]
test edx, edx
jge 0x626790
call fcn.0040afc0
mov r8d, dword [0x00695904]
test r8d, r8d
jge 0x6267a1
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.005f9240
mov eax, dword [0x0069352c]
add eax, 1
cmp dword [0x0069352c], eax
jne 0x626810
mov eax, dword [0x006932b0]
test eax, eax
jge 0x6267df
call fcn.0040afc0
mov ecx, dword [0x00693938]
test ecx, ecx
jge 0x6267ee
call fcn.0040afc0
mov edx, dword [0x00695828]
test edx, edx
jge 0x6267fd
call fcn.0040afc0
mov r8d, ecx
mov r9d, edx
mov ecx, eax
mov edx, r8d
mov r8d, r9d
call sub.kernel32.dll_GetDiskFreeSpaceExW
call fcn.005fbf20
mov eax, dword [0x006962c8]
mov dword [0x00695bb0], eax
lea rcx, [rbp + 0xb0]
mov rdx, qword [rbp + 0x360]
lea r8, [0x00627068]
call fcn.00410100
mov rcx, qword [rbp + 0xb0]
mov edx, 0x1ff
lea r8, [rbp + 0xc8]
call fcn.005ff840
mov dword [rbp + 0xc4], eax
cmp dword [rbp + 0xc4], 0
jne 0x626dae
mov eax, dword [rbp + 0xd0]
and eax, 0x10
cmp eax, 0x10
jne 0x6268ba
mov rcx, qword [rbp + 0xd8]
lea rdx, [0x00627074]
call fcn.00410520
test eax, eax
je 0x6268a3
mov rcx, qword [rbp + 0xd8]
lea rdx, [0x0062707c]
call fcn.00410520
test eax, eax
jne 0x6268ba
lea rcx, [rbp + 0xc8]
call fcn.005ffa80
mov dword [rbp + 0xc4], eax
jmp 0x626da1
mov eax, dword [rbp + 0xd0]
mov ecx, eax
and ecx, 0x10
cmp ecx, 0x10
jne 0x626a1b
and eax, 0x400
cmp eax, 0x400
je 0x626a1b
add dword [0x006a94a8], 1
cmp byte [0x006a94ac], 0
jne 0x626934
mov eax, dword [rbp + 0xc0]
test eax, eax
jge 0x6268ff
call fcn.0040afc0
mov dword [rbp + 0x114], eax
mov eax, dword [0x006a94a8]
test eax, eax
jge 0x626914
call fcn.0040afc0
mov dword [rbp + 0x118], eax
mov rcx, qword [rbp + 0x368]
lea rdx, [rbp + 0xf0]
mov r8d, 0x250
call fcn.004fbd70
lea rcx, [rbp + 0xa8]
call fcn.005cc340
lea rcx, [rbp + 0x98]
lea rdx, [rbp + 0x11c]
mov r8d, 0x104
call fcn.0040ff40
lea rcx, [rbp + 0xa0]
mov edx, 3
mov r8, qword [rbp + 0x360]
mov r9, qword [rbp + 0x98]
lea rax, [0x00627088]
mov qword [rsp + 0x20], rax
call fcn.00410400
mov rcx, qword [rbp + 0xa8]
mov rdx, qword [rbp + 0xa0]
mov r8d, 1
call fcn.00410fd0
test eax, eax
jne 0x626a04
lea rcx, [rbp + 0x88]
lea rdx, [rbp + 0x11c]
mov r8d, 0x104
call fcn.0040ff40
lea rcx, [rbp + 0x90]
mov edx, 3
mov r8, qword [rbp + 0x360]
mov r9, qword [rbp + 0x88]
lea rax, [0x00627088]
mov qword [rsp + 0x20], rax
call fcn.00410400
mov rcx, qword [rbp + 0x90]
mov rdx, qword [rbp + 0x368]
mov r8, qword [rbp + 0x370]
call fcn.00626640
lea rcx, [rbp + 0xc8]
call fcn.005ffa80
mov dword [rbp + 0xc4], eax
jmp 0x626da1
cmp byte [0x006a94ac], 0
jne 0x626b60
mov dword [0x006931c4], 0x313
mov eax, dword [0x006931c4]
sub eax, 0x19c
mov dword [0x00693300], eax
mov eax, dword [0x00699558]
mov dword [0x00698fd8], eax
mov eax, dword [0x006934c4]
add eax, 1
cmp dword [0x006934c4], eax
jne 0x626ace
mov eax, dword [0x006940d0]
test eax, eax
jge 0x626a70
call fcn.0040afc0
mov ecx, dword [0x006965b8]
test ecx, ecx
jge 0x626a7f
call fcn.0040afc0
mov edx, dword [0x00697468]
test edx, edx
jge 0x626a8e
call fcn.0040afc0
mov r8d, dword [0x00698134]
test r8d, r8d
jge 0x626a9f
call fcn.0040afc0
mov r9d, dword [0x00698e90]
test r9d, r9d
jge 0x626ab0
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
call fcn.00616be0
cmp eax, dword [0x006931b8]
jle 0x626ae5
mov dword [0x006931b8], 0x3a
call fcn.005fd1c0
call fcn.0061e9e0
cmp eax, dword [0x006932a8]
jle 0x626b01
mov dword [0x006932a8], 0x5e
mov eax, dword [0x00699558]
mov dword [0x00698fd8], eax
mov eax, dword [0x00698124]
cmp eax, dword [0x00698fcc]
je 0x626b27
mov eax, dword [0x00698124]
mov dword [0x00698fcc], eax
mov eax, dword [rbp + 0xc0]
test eax, eax
jge 0x626b36
call fcn.0040afc0
mov dword [rbp + 0x114], eax
mov dword [rbp + 0x118], 0
mov rcx, qword [rbp + 0x368]
lea rdx, [rbp + 0xf0]
mov r8d, 0x250
call fcn.004fbd70
mov rcx, qword [0x006a8ad0]
mov rax, qword [0x006a8ad0]
mov rax, qword [rax]
call qword [rax]
test rax, rax
jle 0x626d8f
lea rcx, [rbp + 0x78]
lea rdx, [rbp + 0x11c]
mov r8d, 0x104
call fcn.0040ff40
lea rcx, [rbp + 0x80]
mov rdx, qword [rbp + 0x360]
mov r8, qword [rbp + 0x78]
call fcn.00410100
mov rcx, qword [rbp + 0x80]
call fcn.00626060
test al, al
je 0x626d8f
mov byte [0x006922d9], 1
nop
mov rcx, qword [0x006a9fa0]
mov edx, dword [rbp + 0xcc]
add edx, 0x19c00000
movsxd rdx, edx
call fcn.005d2a00
test al, al
je 0x626c9e
mov eax, dword [0x00699514]
add eax, dword [0x00693304]
mov ecx, dword [0x00693538]
add ecx, dword [0x00694098]
cmp eax, ecx
jle 0x626c0f
mov dword [0x00699514], 0x97
lea rcx, [rbp + 0x68]
lea rdx, [rbp + 0x11c]
mov r8d, 0x104
call fcn.0040ff40
lea rcx, [rbp + 0x70]
mov rdx, qword [rbp + 0x360]
mov r8, qword [rbp + 0x68]
call fcn.00410100
lea rcx, [rbp + 0x60]
mov rdx, qword [rbp + 0x70]
call fcn.004108b0
lea rcx, [rbp + 0x50]
lea rdx, [rbp + 0x11c]
mov r8d, 0x104
call fcn.0040ff40
lea rcx, [rbp + 0x58]
mov rdx, qword [rbp + 0x360]
mov r8, qword [rbp + 0x50]
call fcn.00410100
lea rcx, [rbp + 0x48]
mov rdx, qword [rbp + 0x58]
call fcn.004108b0
mov rax, qword [rbp + 0x370]
mov rcx, qword [rax]
mov rdx, qword [rbp + 0x60]
mov r8, qword [rbp + 0x48]
mov r9b, 0xe
call fcn.00570840
jmp 0x626d8f
mov eax, dword [0x00696120]
add eax, dword [0x00696310]
mov ecx, dword [0x00696c98]
add ecx, dword [0x00697474]
cmp eax, ecx
jle 0x626cbf
call fcn.004096f0
mov eax, dword [0x006935f0]
add eax, 1
cmp dword [0x006935f0], eax
jne 0x626d10
mov eax, dword [0x00693554]
test eax, eax
jge 0x626cdf
call fcn.0040afc0
mov ecx, dword [0x006942d4]
test ecx, ecx
jge 0x626cee
call fcn.0040afc0
mov edx, dword [0x00695bcc]
test edx, edx
jge 0x626cfd
call fcn.0040afc0
mov r8d, ecx
mov r9d, edx
mov ecx, eax
mov edx, r8d
mov r8d, r9d
call sub.kernel32.dll_GetDiskFreeSpaceExW
call fcn.0061e920
cmp eax, dword [0x00693290]
jle 0x626d27
mov dword [0x00693290], 0x58
call fcn.005ffbe0
call fcn.00618050
cmp eax, dword [0x006931e0]
jle 0x626d43
mov dword [0x006931e0], 0x44
mov eax, dword [0x006994f0]
mov dword [0x00699088], eax
lea rcx, [rbp + 0x38]
lea rdx, [rbp + 0x11c]
mov r8d, 0x104
call fcn.0040ff40
lea rcx, [rbp + 0x40]
mov rdx, qword [rbp + 0x360]
mov r8, qword [rbp + 0x38]
call fcn.00410100
mov rcx, qword [rbp + 0x40]
xor edx, edx
call fcn.005d59b0
jmp 0x626d8f
lea rcx, [rbp + 0xc8]
call fcn.005ffa80
mov dword [rbp + 0xc4], eax
cmp dword [rbp + 0xc4], 0
je 0x626867
nop
mov rcx, qword [rbp + 0xe8]
call qword [0x006a8d08]
call fcn.0061f1e0
cmp eax, dword [0x006931ec]
jle 0x626dd3
mov dword [0x006931ec], 0x63
mov eax, dword [0x00693548]
add eax, 1
cmp dword [0x00693548], eax
jne 0x626dfa
mov eax, dword [0x006958f4]
test eax, eax
jge 0x626df3
call fcn.0040afc0
mov ecx, eax
call sub.kernel32.dll_SetConsoleKeyShortcuts
mov eax, dword [0x00696188]
mov dword [0x00695948], eax
call fcn.00612ef0
mov eax, dword [0x006994b0]
mov dword [0x00698e54], eax
mov eax, dword [0x00696cac]
add eax, dword [0x006978d8]
mov ecx, dword [0x006961a4]
add ecx, dword [0x006965dc]
cmp ecx, eax
jle 0x626e3f
mov ecx, dword [0x006978d8]
mov dword [0x006961a4], ecx
mov ecx, dword [0x006961a4]
add ecx, dword [0x006965dc]
cmp ecx, eax
jle 0x626e5b
mov eax, dword [0x006978d8]
mov dword [0x006961a4], eax
mov eax, dword [0x00697468]
cmp eax, dword [0x00698134]
je 0x626e75
mov eax, dword [0x00697468]
mov dword [0x00698134], eax
mov eax, dword [0x006994e8]
mov dword [0x00698fd8], eax
mov eax, dword [0x00696590]
add eax, dword [0x00696aa0]
mov ecx, dword [0x006974ac]
add ecx, dword [0x0069897c]
cmp eax, ecx
jle 0x626ebf
mov eax, dword [0x0069897c]
mov dword [0x00696590], eax
jmp 0x626ebf
mov eax, dword [0x00698fb8]
mov dword [0x00698980], eax
mov eax, dword [0x00696cb0]
cmp eax, dword [0x006978dc]
je 0x626ee5
mov eax, dword [0x00696cb0]
mov dword [0x006978dc], eax
call fcn.00612ef0
cmp eax, dword [0x00699510]
jle 0x626efc
mov dword [0x00699510], 0x3d
mov eax, dword [0x006937fc]
add eax, 1
cmp dword [0x006937fc], eax
jne 0x626f64
mov eax, dword [0x00697450]
test eax, eax
jge 0x626f1c
call fcn.0040afc0
mov ecx, dword [0x00698b1c]
test ecx, ecx
jge 0x626f2b
call fcn.0040afc0
mov edx, dword [0x00693950]
test edx, edx
jge 0x626f3a
call fcn.0040afc0
mov r8d, dword [0x006942e8]
test r8d, r8d
jge 0x626f4b
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
nop
lea rcx, [rbp + 0x38]
mov edx, 2
call fcn.0040ea60
lea rcx, [rbp + 0x48]
call fcn.0040e920
lea rcx, [rbp + 0x50]
mov edx, 2
call fcn.0040ea60
lea rcx, [rbp + 0x60]
call fcn.0040e920
lea rcx, [rbp + 0x68]
mov edx, 0xa
call fcn.0040ea60
lea rcx, [rbp + 0xc8]
mov rdx, qword [0x00597950]
call fcn.00411390
lea rcx, [rbp + 0x360]
call fcn.0040e9c0
lea rsp, [rbp + 0x348]
pop rbx
pop rbp
ret