Function at 0x5d0030
Capabilities:
Get disk size

Disassembly:
push rbp
sub rsp, 0x90
mov rbp, rsp
mov qword [rbp + 0x30], 0
mov qword [rbp + 0x38], rbp
mov qword [rbp + 0xa0], rcx
mov dword [rbp + 0xa8], edx
lea rcx, [rbp + 0xa0]
call fcn.0040eaf0
nop
mov eax, dword [0x00695bfc]
mov dword [0x00695930], eax
mov eax, dword [0x00693278]
add eax, dword [0x006933d0]
mov ecx, dword [0x006934ec]
add ecx, dword [0x006937fc]
cmp eax, ecx
jle 0x5d0093
mov dword [0x00693278], 0x110
mov eax, dword [0x006940f4]
mov dword [0x00693920], eax
call fcn.005a2d10
cmp eax, dword [0x006932a4]
jle 0x5d00b6
mov dword [0x006932a4], 0x58
mov eax, dword [0x00693204]
add eax, dword [0x006932fc]
mov ecx, dword [0x00693450]
add ecx, dword [0x0069353c]
cmp eax, ecx
jle 0x5d00dc
mov dword [0x00693204], 0x166
mov eax, dword [0x00695c20]
mov dword [0x00695924], eax
mov eax, dword [0x006931cc]
add eax, dword [0x006932f0]
mov ecx, dword [0x00693418]
add ecx, dword [0x00693504]
cmp eax, ecx
jle 0x5d010e
mov dword [0x006931cc], 0x8e
call fcn.005cff60
cmp eax, dword [0x006932c0]
jle 0x5d0125
mov dword [0x006932c0], 0x52
mov eax, dword [0x006931cc]
add eax, dword [0x006932f0]
mov ecx, dword [0x00693418]
add ecx, dword [0x00693504]
cmp eax, ecx
jle 0x5d014b
mov dword [0x006931cc], 0x8e
mov eax, dword [0x006957f0]
cmp eax, dword [0x00695884]
je 0x5d0165
mov eax, dword [0x006957f0]
mov dword [0x00695884], eax
mov qword [rbp + 0x88], 0
nop
mov eax, dword [0x006940b4]
add eax, dword [0x00694114]
mov ecx, dword [0x006942f0]
add ecx, dword [0x0069586c]
cmp eax, ecx
jle 0x5d0192
call fcn.004096f0
mov eax, dword [0x006931d4]
add eax, dword [0x006932c8]
mov ecx, dword [0x00693420]
add ecx, dword [0x0069350c]
cmp eax, ecx
jle 0x5d01b8
mov dword [0x006931d4], 0x15f
call fcn.005cc050
mov eax, dword [0x006931d4]
add eax, dword [0x006932c8]
mov ecx, dword [0x00693420]
add ecx, dword [0x0069350c]
cmp eax, ecx
jle 0x5d01e3
mov dword [0x006931d4], 0x15f
mov eax, dword [0x006942e4]
cmp eax, dword [0x00695860]
je 0x5d01fd
mov eax, dword [0x006942e4]
mov dword [0x00695860], eax
mov eax, dword [0x0069397c]
add eax, dword [0x006940ec]
mov ecx, dword [0x006942c4]
add ecx, dword [0x00695810]
cmp eax, ecx
jle 0x5d021e
call fcn.004096f0
lea rcx, [rbp + 0x70]
mov edx, 0x18
xor r8, r8
call fcn.0040a9a0
mov eax, dword [0x00693308]
add eax, 1
cmp dword [0x00693308], eax
jne 0x5d0259
mov ecx, dword [0x0069589c]
mov edx, dword [0x006932f8]
mov r8d, dword [0x00693450]
call sub.kernel32.dll_GetDiskFreeSpaceExW
call fcn.005cb920
mov dword [rbp + 0x70], 0x18
mov eax, dword [0x006958c8]
mov dword [0x00695848], eax
mov eax, dword [0x006958c8]
mov dword [0x00695848], eax
mov eax, dword [0x0069413c]
cmp eax, dword [0x006942e4]
je 0x5d0297
mov eax, dword [0x0069413c]
mov dword [0x006942e4], eax
mov eax, dword [0x00693308]
add eax, 1
cmp dword [0x00693308], eax
jne 0x5d02d1
mov ecx, dword [0x0069592c]
mov edx, dword [0x006931e4]
mov r8d, dword [0x006932d8]
mov r9d, dword [0x00693430]
mov eax, dword [0x006937fc]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x006931d8]
mov dword [0x00695bbc], eax
call fcn.005cacc0
mov eax, dword [0x006931d8]
mov dword [0x00695bbc], eax
mov eax, dword [0x006942d4]
cmp eax, dword [0x0069581c]
je 0x5d0308
mov eax, dword [0x006942d4]
mov dword [0x0069581c], eax
mov eax, dword [0x0069585c]
add eax, dword [0x00695910]
mov ecx, dword [0x00694138]
add ecx, dword [0x006957fc]
cmp ecx, eax
jle 0x5d0330
mov ecx, dword [0x00695910]
mov dword [0x00694138], ecx
mov ecx, dword [0x00694138]
add ecx, dword [0x006957fc]
cmp ecx, eax
jle 0x5d034c
mov eax, dword [0x00695910]
mov dword [0x00694138], eax
mov eax, dword [0x006942e0]
cmp eax, dword [0x0069582c]
je 0x5d0366
mov eax, dword [0x006942e0]
mov dword [0x0069582c], eax
mov dword [rbp + 0x80], 0xffffffff
mov eax, dword [0x00695bec]
mov dword [0x0069591c], eax
mov eax, dword [0x006933f0]
add eax, 1
cmp dword [0x006933f0], eax
jne 0x5d03b6
mov ecx, dword [0x006958d4]
mov edx, dword [0x00695c04]
mov r8d, dword [0x006933d8]
mov r9d, dword [0x006934f8]
mov eax, dword [0x00693904]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
mov eax, dword [0x00695bec]
mov dword [0x0069591c], eax
mov eax, dword [0x00694304]
cmp eax, dword [0x0069584c]
je 0x5d03dc
mov eax, dword [0x00694304]
mov dword [0x0069584c], eax
mov eax, dword [0x006933a8]
add eax, 1
cmp dword [0x006933a8], eax
jne 0x5d0405
mov ecx, dword [0x00695808]
mov edx, dword [0x00695bb4]
mov r8d, dword [0x006931d4]
call sub.kernel32.dll_GetDiskFreeSpaceExW
mov eax, dword [0x00695be8]
mov dword [0x00695918], eax
mov eax, dword [0x00695be8]
mov dword [0x00695918], eax
mov eax, dword [0x0069429c]
cmp eax, dword [0x006942fc]
je 0x5d0437
mov eax, dword [0x0069429c]
mov dword [0x006942fc], eax
call fcn.005cb0d0
cmp eax, dword [0x00695bc8]
jle 0x5d044e
mov dword [0x00695bc8], 1
mov eax, dword [0x0069394c]
add eax, dword [0x006940ec]
mov ecx, dword [0x00694294]
add ecx, dword [0x006942f8]
cmp eax, ecx
jle 0x5d046f
call fcn.004096f0
lea rax, [rbp + 0x48]
mov qword [rbp + 0x78], rax
mov eax, dword [0x00694110]
add eax, dword [0x006942e8]
mov ecx, dword [0x00695864]
add ecx, dword [0x006958e4]
cmp eax, ecx
jle 0x5d049f
mov eax, dword [0x006958e4]
mov dword [0x00694110], eax
mov eax, dword [0x00695bac]
mov dword [0x00695910], eax
mov eax, dword [0x00695bac]
mov dword [0x00695910], eax
mov eax, dword [0x00694284]
cmp eax, dword [0x006942e8]
je 0x5d04d1
mov eax, dword [0x00694284]
mov dword [0x006942e8], eax
mov eax, dword [0x00695bd4]
add eax, dword [0x006931f0]
mov ecx, dword [0x006932e8]
add ecx, dword [0x006933d8]
cmp eax, ecx
jle 0x5d04f7
mov dword [0x00695bd4], 0xcc
lea rcx, [rbp + 0x48]
mov edx, 1
call qword [0x006a8f18]
test eax, eax
je 0x5d085e
mov eax, dword [0x00695bd4]
add eax, dword [0x006931f0]
mov ecx, dword [0x006932e8]
add ecx, dword [0x006933d8]
cmp eax, ecx
jle 0x5d0535
mov dword [0x00695bd4], 0xcc
mov eax, dword [0x00695804]
cmp eax, dword [0x00695864]
je 0x5d054f
mov eax, dword [0x00695804]
mov dword [0x00695864], eax
mov eax, dword [0x006940e8]
add eax, dword [0x006942c4]
mov ecx, dword [0x00695840]
add ecx, dword [0x006958a0]
cmp eax, ecx
jle 0x5d0577
mov eax, dword [0x006958a0]
mov dword [0x006940e8], eax
mov dword [0x0069328c], 0x33f
mov eax, dword [0x0069328c]
sub eax, 0x1b1
mov dword [0x006933b0], eax
mov eax, dword [0x006931c0]
add eax, dword [0x00693284]
mov ecx, dword [0x006933a8]
add ecx, dword [0x0069343c]
cmp eax, ecx
jle 0x5d05b9
mov dword [0x006931c0], 0x17c
mov eax, dword [0x00695bd4]
mov dword [0x00695908], eax
lea rcx, [rbp + 0x48]
or edx, 0xffffffff
xor r8, r8
xor r9, r9
call qword [0x006a8f38]
test eax, eax
je 0x5d085e
mov eax, dword [0x006940b0]
add eax, dword [0x00694288]
mov ecx, dword [0x006942ec]
add ecx, dword [0x00695834]
cmp eax, ecx
jle 0x5d0608
mov eax, dword [0x00695834]
mov dword [0x006940b0], eax
mov dword [0x006931fc], 0x321
mov eax, dword [0x006931fc]
sub eax, 0x1a3
mov dword [0x006932f4], eax
mov eax, dword [0x00695bf4]
mov dword [0x00695928], eax
mov eax, dword [0x00695bf4]
mov dword [0x00695928], eax
mov eax, dword [0x006942d8]
cmp eax, dword [0x00695824]
je 0x5d0656
mov eax, dword [0x006942d8]
mov dword [0x00695824], eax
call fcn.005cb920
call fcn.005cb0d0
call fcn.005cc640
cmp eax, dword [0x006931b4]
jle 0x5d0677
mov dword [0x006931b4], 0x28
mov eax, dword [0x006931f0]
mov dword [0x00695bd4], eax
mov ecx, 0xff
call fcn.00409030
mov qword [rbp + 0x40], rax
mov dword [0x0069329c], 0x329
mov eax, dword [0x0069329c]
sub eax, 0x1b6
mov dword [0x006933c0], eax
mov eax, dword [0x00695bb4]
mov dword [0x0069591c], eax
mov eax, dword [0x00693938]
add eax, dword [0x006940d8]
mov ecx, dword [0x006942b4]
add ecx, dword [0x00695830]
cmp eax, ecx
jle 0x5d06db
call fcn.004096f0
call fcn.005cb0d0
lea rcx, [rbp + 0x30]
mov rdx, qword [rbp + 0xa0]
call fcn.004108b0
mov rcx, qword [rbp + 0x40]
mov rdx, qword [rbp + 0x30]
mov r8d, 0xff
call fcn.004304b0
or rcx, 0xffffffffffffffff
lea rdx, [rbp + 0x70]
mov r8d, 4
xor r9, r9
mov eax, dword [rbp + 0xa8]
mov dword [rsp + 0x20], eax
mov rax, qword [rbp + 0x40]
mov qword [rsp + 0x28], rax
call qword [0x006a8cb8]
mov qword [rbp + 0x88], rax
call fcn.005cc090
cmp eax, dword [0x00695c20]
jle 0x5d074d
mov dword [0x00695c20], 0x24
mov eax, dword [0x006931fc]
mov dword [0x00695be0], eax
call fcn.005cdc30
cmp eax, dword [0x00693200]
jle 0x5d0770
mov dword [0x00693200], 0x3a
mov rcx, qword [rbp + 0x40]
call fcn.00409060
call fcn.005cc640
cmp eax, dword [0x006931bc]
jle 0x5d0790
mov dword [0x006931bc], 0x29
mov eax, dword [0x00694124]
add eax, dword [0x006942fc]
mov ecx, dword [0x00695848]
add ecx, dword [0x006958f8]
cmp eax, ecx
jle 0x5d07d9
mov eax, dword [0x006958f8]
mov dword [0x00694124], eax
jmp 0x5d07d9
call fcn.005cad30
call fcn.005c9c20
mov eax, dword [0x00695bcc]
mov dword [0x00695900], eax
mov eax, dword [0x006940a4]
add eax, dword [0x00694138]
mov ecx, dword [0x006957f8]
add ecx, dword [0x0069588c]
cmp eax, ecx
jle 0x5d0817
mov eax, dword [0x0069588c]
mov dword [0x006940a4], eax
mov eax, dword [0x006940a4]
mov dword [0x00693904], eax
mov eax, dword [0x006933e8]
add eax, 1
cmp dword [0x006933e8], eax
jne 0x5d085d
mov ecx, dword [0x00695c08]
mov edx, dword [0x006933ac]
mov r8d, dword [0x006934fc]
mov r9d, dword [0x00693938]
mov eax, dword [0x006940d8]
mov dword [rsp + 0x20], eax
call sub.kernel32.dll_LockFile
nop
lea rcx, [rbp + 0x30]
call fcn.0040e920
lea rcx, [rbp + 0xa0]
call fcn.0040e9c0
mov rax, qword [rbp + 0x88]
lea rsp, [rbp + 0x90]
pop rbp
ret