Function at 0x463630
Capabilities:
Get disk size

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x2e
push 0
push 0
dec ecx
jne 0x463638
push ecx
push ebx
push esi
push edi
lea eax, [ebp - 0x90]
mov edx, dword [0x423b80]
call fcn.00407d00
xor eax, eax
push ebp
push 0x4645c5
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x8001
call sub.KERNEL32.DLL_SetErrorMode
call fcn.004626e0
test al, al
jne 0x464546
mov eax, 0x476958
call fcn.00406c44
lea eax, [ebp - 0x38]
call fcn.00406c44
call fcn.00426380
test eax, eax
jle 0x4637d8
mov dword [ebp - 0x4c], eax
mov dword [ebp - 4], 1
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 4]
call fcn.004263f0
mov eax, dword [ebp - 0x2c]
mov edx, 0x4645e0
call fcn.00407a90
jne 0x4636f3
mov eax, dword [0x46f0f4]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x464640
call fcn.004349e0
mov eax, dword [0x46f078]
mov dword [eax], 0xc9
mov dword [0x46f040], 4
mov dword [0x46f044], 0
jmp 0x464546
mov eax, dword [ebp - 0x2c]
mov edx, 0x46467c
call fcn.00407a90
jne 0x46370e
mov byte [0x476952], 1
jmp 0x4637cc
mov eax, dword [ebp - 0x2c]
mov edx, 0x4646a4
call fcn.00407a90
jne 0x463736
mov eax, 0x476958
mov edx, dword [ebp - 0x2c]
call fcn.00406fd8
mov byte [0x46f055], 1
jmp 0x4637cc
mov eax, dword [ebp - 0x2c]
mov edx, 0x4646d0
call fcn.00407a90
jne 0x46374e
mov byte [0x46f056], 1
jmp 0x4637cc
mov eax, dword [ebp - 0x2c]
mov edx, 0x464700
call fcn.00407a90
jne 0x463766
mov byte [0x476951], 1
jmp 0x4637cc
lea eax, [ebp - 0x94]
push eax
mov ecx, 6
mov edx, 1
mov eax, dword [ebp - 0x2c]
call fcn.00407ac8
mov eax, dword [ebp - 0x94]
mov edx, 0x464728
call fcn.00426e60
test eax, eax
jne 0x4637cc
lea eax, [ebp - 0x38]
mov edx, dword [ebp - 0x2c]
call fcn.00407020
lea eax, [ebp - 0x38]
mov ecx, 6
mov edx, 1
call fcn.00407b10
lea edx, [ebp - 0x98]
mov eax, dword [ebp - 0x38]
call fcn.00426e10
mov edx, dword [ebp - 0x98]
lea eax, [ebp - 0x38]
call fcn.00407020
inc dword [ebp - 4]
dec dword [ebp - 0x4c]
jne 0x4636a2
call fcn.00461dd0
call fcn.00461fd0
call fcn.00460e10
mov eax, dword [eax + 8]
cmp byte [eax + 0xc], 0
je 0x4637f7
mov byte [0x46f055], 1
cmp byte [0x46f056], 0
je 0x463807
mov byte [0x46f055], 0
cmp dword [0x476958], 0
jne 0x46381f
mov eax, 0x476958
mov edx, 0x464744
call fcn.00406fd8
lea eax, [ebp - 0x9c]
push eax
push 0x464770
lea edx, [ebp - 0xa4]
xor eax, eax
call fcn.004263f0
push dword [ebp - 0xa4]
push 0x464794
lea eax, [ebp - 0xa0]
mov edx, 3
call fcn.004079e0
mov edx, dword [ebp - 0xa0]
mov ecx, 0x4647a4
mov eax, dword [0x476958]
call fcn.00425150
mov edx, dword [ebp - 0x9c]
mov eax, 0x476958
call fcn.00406fd8
cmp dword [0x47693c], 0
je 0x4638cd
lea eax, [ebp - 0xa8]
push eax
push 0x4647b4
push dword [0x47693c]
push 0x464794
lea eax, [ebp - 0xac]
mov edx, 3
call fcn.004079e0
mov edx, dword [ebp - 0xac]
mov ecx, 0x4647a4
mov eax, dword [0x476958]
call fcn.00425150
mov edx, dword [ebp - 0xa8]
mov eax, 0x476958
call fcn.00406fd8
call fcn.00460e10
mov eax, dword [eax + 8]
lea edx, [ebp - 0xb0]
call fcn.0045c2b0
cmp dword [ebp - 0xb0], 0
je 0x46393e
lea eax, [ebp - 0xb4]
push eax
call fcn.00460e10
mov eax, dword [eax + 8]
lea edx, [ebp - 0xbc]
call fcn.0045c2b0
mov ecx, dword [ebp - 0xbc]
lea eax, [ebp - 0xb8]
mov edx, 0x4647d4
call fcn.00407958
mov edx, dword [ebp - 0xb8]
mov ecx, 0x4647a4
mov eax, dword [0x476958]
call fcn.00425150
mov edx, dword [ebp - 0xb4]
mov eax, 0x476958
call fcn.00406fd8
cmp dword [0x476928], 0
je 0x463999
lea eax, [ebp - 0xc0]
push eax
lea edx, [ebp - 0xc8]
mov eax, 0x47692c
call fcn.00455030
mov ecx, dword [ebp - 0xc8]
lea eax, [ebp - 0xc4]
mov edx, 0x464810
call fcn.00407958
mov edx, dword [ebp - 0xc4]
mov ecx, 0x4647a4
mov eax, dword [0x476958]
call fcn.00425150
mov edx, dword [ebp - 0xc0]
mov eax, 0x476958
call fcn.00406fd8
call fcn.00426380
test eax, eax
jle 0x4639ff
mov dword [ebp - 0x4c], eax
mov dword [ebp - 4], 1
lea eax, [ebp - 0xcc]
push eax
lea edx, [ebp - 0xd4]
mov eax, dword [ebp - 4]
call fcn.004263f0
mov eax, dword [ebp - 0xd4]
lea edx, [ebp - 0xd0]
call fcn.004241c0
mov edx, dword [ebp - 0xd0]
mov ecx, 0x4647a4
mov eax, dword [0x476958]
call fcn.00425150
mov edx, dword [ebp - 0xcc]
mov eax, 0x476958
call fcn.00406fd8
inc dword [ebp - 4]
dec dword [ebp - 0x4c]
jne 0x4639ac
call fcn.00462670
call fcn.00463340
test al, al
jne 0x463a1d
mov eax, dword [0x46f078]
mov dword [eax], 1
jmp 0x464546
mov eax, dword [0x476954]
call fcn.00425e50
lea eax, [ebp - 0xd8]
mov ecx, 0x464828
mov edx, dword [0x476954]
call fcn.00407958
mov edx, dword [ebp - 0xd8]
mov eax, dword [0x46f0f4]
mov eax, dword [eax]
call fcn.00433ff0
lea eax, [ebp - 0xe0]
call fcn.00462220
mov ecx, dword [ebp - 0xe0]
lea eax, [ebp - 0xdc]
mov edx, 0x464848
call fcn.00407958
mov edx, dword [ebp - 0xdc]
mov eax, dword [0x46f0f4]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004349e0
lea edx, [ebp - 0xe4]
mov eax, 0x464894
call fcn.00426e10
mov eax, dword [ebp - 0xe4]
call fcn.0045d930
cmp al, 2
jne 0x463acf
xor edx, edx
mov al, 3
call fcn.00426280
test al, al
je 0x463acf
call fcn.004518b0
test al, al
je 0x463acf
call fcn.00451810
test al, al
jne 0x463acf
call fcn.00462da0
test al, al
jne 0x464546
mov eax, 0x4648c0
call fcn.0045d930
cmp al, 2
jne 0x463b09
xor edx, edx
mov al, 3
call fcn.00426280
test al, al
je 0x463b09
call fcn.004518b0
test al, al
je 0x463b09
call fcn.00451810
test al, al
jne 0x463b09
call fcn.00462da0
test al, al
jne 0x464546
mov eax, dword [ebp - 0x38]
mov edx, dword [0x46f228]
mov edx, dword [edx]
call fcn.00407a90
jne 0x463b47
xor edx, edx
mov al, 1
call fcn.0044e560
mov byte [ebp - 0x31], al
cmp byte [ebp - 0x31], 0
jne 0x463b31
mov byte [ebp - 0x31], 1
lea eax, [ebp - 0x38]
xor edx, edx
mov dl, byte [ebp - 0x31]
mov ecx, dword [0x46f160]
mov edx, dword [ecx + edx*4]
call fcn.00407020
cmp dword [ebp - 0x38], 0
je 0x463b85
lea edx, [ebp - 0x31]
mov eax, dword [ebp - 0x38]
call fcn.00454e80
test al, al
je 0x463b85
lea eax, [ebp - 0xe8]
mov ecx, dword [ebp - 0x38]
mov edx, 0x4648e0
call fcn.00407958
mov edx, dword [ebp - 0xe8]
mov eax, dword [0x46f0f4]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004349e0
jmp 0x463b8d
call fcn.00461d40
mov byte [ebp - 0x31], al
mov al, byte [ebp - 0x31]
call fcn.00454e70
mov al, byte [0x46f055]
call fcn.00462420
test al, al
jne 0x463bb3
mov eax, dword [0x46f078]
mov dword [eax], 1
jmp 0x464546
call fcn.00463490
mov eax, dword [0x476954]
call fcn.00427040
test al, al
jne 0x463c57
push 0
push 1
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call fcn.0045e9b0
mov ecx, 0x47692c
mov edx, 0x1fa
call fcn.00455870
cmp byte [0x46f055], 0
jne 0x463c47
push 0x10
lea eax, [ebp - 0xec]
push eax
mov eax, dword [0x476954]
mov dword [ebp - 0xf4], eax
mov byte [ebp - 0xf0], 0x11
lea edx, [ebp - 0xf4]
xor ecx, ecx
mov al, 0x2c
call fcn.00454c60
mov eax, dword [ebp - 0xec]
push eax
lea eax, [ebp - 0xf8]
call fcn.00460560
mov ecx, dword [ebp - 0xf8]
xor eax, eax
pop edx
call fcn.00442590
mov eax, dword [0x46f078]
mov dword [eax], 1
jmp 0x464546
call fcn.00461520
cdq
mov dword [0x46f048], eax
mov dword [0x46f04c], edx
lea edx, [ebp - 0xfc]
mov eax, dword [0x476954]
call fcn.00425af0
mov eax, dword [ebp - 0xfc]
call fcn.00426eb0
test al, al
jne 0x463ca0
mov dl, byte [0x464908]
mov eax, dword [0x476954]
call fcn.004244d0
test al, al
jne 0x463d2d
push 0
push 2
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call fcn.0045e9b0
mov ecx, 0x47692c
mov edx, 0x1fa
call fcn.00455870
cmp byte [0x46f055], 0
jne 0x463d1d
push 0x10
lea eax, [ebp - 0x100]
push eax
mov eax, dword [0x476954]
mov dword [ebp - 0xf4], eax
mov byte [ebp - 0xf0], 0x11
lea edx, [ebp - 0xf4]
xor ecx, ecx
mov al, 0x2b
call fcn.00454c60
mov eax, dword [ebp - 0x100]
push eax
lea eax, [ebp - 0x104]
call fcn.00460560
mov ecx, dword [ebp - 0x104]
xor eax, eax
pop edx
call fcn.00442590
mov eax, dword [0x46f078]
mov dword [eax], 1
jmp 0x464546
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
push 0
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [0x476954]
call fcn.00407780
push eax
call sub.KERNEL32.DLL_GetDiskFreeSpaceExW
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc]
cmp edx, dword [0x46f05c]
jne 0x463d7f
cmp eax, dword [0x46f058]
jae 0x463eb8
jmp 0x463d85
jge 0x463eb8
push 0x464918
push dword [ebp - 0x14]
push dword [ebp - 0x18]
lea eax, [ebp - 0x10c]
call fcn.00415508
push dword [ebp - 0x10c]
push 0x464970
push dword [ebp - 0xc]
push dword [ebp - 0x10]
lea eax, [ebp - 0x110]
call fcn.00415508
push dword [ebp - 0x110]
lea eax, [ebp - 0x108]
mov edx, 4
call fcn.004079e0
mov edx, dword [ebp - 0x108]
mov eax, dword [0x46f0f4]
mov eax, dword [eax]
xor ecx, ecx
call fcn.004349e0
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call fcn.0045e9b0
mov ecx, 0x47692c
mov edx, 0x1fd
call fcn.00455870
cmp byte [0x46f055], 0
jne 0x463ea8
push 0x10
lea eax, [ebp - 0x114]
push eax
lea edx, [ebp - 0x128]
mov eax, dword [0x476954]
call fcn.00426cf0
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x124], eax
mov byte [ebp - 0x120], 0x11
push dword [0x46f05c]
push dword [0x46f058]
lea ecx, [ebp - 0x12c]
xor edx, edx
xor eax, eax
call fcn.004254a0
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x11c], eax
mov byte [ebp - 0x118], 0x11
lea edx, [ebp - 0x124]
mov ecx, 1
mov al, 1
call fcn.00454c60
mov eax, dword [ebp - 0x114]
push eax
lea eax, [ebp - 0x130]
call fcn.00460560
mov ecx, dword [ebp - 0x130]
xor eax, eax
pop edx
call fcn.00442590
mov eax, dword [0x46f078]
mov dword [eax], 1
jmp 0x464546
push 0x46498c
push 0xa
mov ecx, dword [0x473620]
mov dl, 1
mov eax, dword [0x422f1c]
call fcn.00428230
mov dword [ebp - 0x24], eax
xor eax, eax
push ebp
push 0x46412c
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx]
cmp edx, 0
jne 0x463efa
cmp eax, 0
jbe 0x463f5d
jmp 0x463efc
jle 0x463f5d
lea edx, [ebp - 0x134]
mov eax, dword [ebp - 0x24]
call fcn.00460610
lea edx, [ebp - 0x28]
mov ecx, 4
mov eax, dword [ebp - 0x24]
call fcn.00427bc0
mov eax, dword [ebp - 0x24]
call fcn.00427a90
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x28]
dec eax
test eax, eax
jl 0x463f4f
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 4], 0
mov cl, 1
xor edx, edx
mov eax, dword [ebp - 0x24]
call fcn.00460ba0
inc dword [ebp - 4]
dec dword [ebp - 0x4c]
jne 0x463f3b
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
call fcn.00427ac0
call fcn.00461800
test al, al
je 0x463f95
call fcn.004614c0
test al, al
jne 0x463ff6
xor eax, eax
mov dword [ebp - 4], eax
mov eax, dword [0x46f154]
mov edx, dword [ebp - 4]
mov eax, dword [eax + edx*4]
xor edx, edx
call fcn.00460a40
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x15
jne 0x463f78
jmp 0x463ff6
mov eax, dword [0x476954]
call fcn.00425e50
xor eax, eax
mov dword [ebp - 4], eax
mov eax, dword [0x46f154]
mov edx, dword [ebp - 4]
mov eax, dword [eax + edx*4]
mov dl, 1
call fcn.00460a40
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x15
jne 0x463fa4
call fcn.00460d90
mov edx, 0x4649a0
call fcn.0043fff0
call fcn.00462ac0
push eax
lea eax, [ebp - 0x138]
call fcn.00460e40
mov eax, dword [ebp - 0x138]
push eax
call fcn.00460d90
mov edx, 0x4649a0
pop ecx
call fcn.004419d0
cmp byte [0x46f054], 0
je 0x464030
mov eax, dword [0x46f0f4]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x4649b4
call fcn.004349e0
mov dword [0x46f040], 2
mov dword [0x46f044], 0
call fcn.00406434
jmp 0x464546
call fcn.00460f50
cmp byte [0x46f056], 0
je 0x464092
call fcn.00460d90
mov ecx, eax
mov dl, 1
mov eax, dword [0x45a3b0]
call fcn.0045c0b0
mov dword [ebp - 0x44], eax
xor eax, eax
push ebp
push 0x46408b
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x44]
cmp byte [eax + 0xc], 0
je 0x464075
xor edx, edx
mov eax, dword [ebp - 0x44]
call fcn.0045c490
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x464092
mov eax, dword [ebp - 0x44]
call fcn.00405598
ret
cmp dword [ebp - 0x38], 0
je 0x4640ef
call fcn.00460d90
mov ecx, eax
mov dl, 1
mov eax, dword [0x45a268]
call fcn.0045a4a0
mov dword [ebp - 0x40], eax
xor eax, eax
push ebp
push 0x4640e8
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
mov al, byte [ebp - 0x31]
mov edx, dword [0x46f160]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0x40]
call fcn.0045a9e0
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4640ef
mov eax, dword [ebp - 0x40]
call fcn.00405598
ret
mov eax, dword [ebp - 0x28]
dec eax
test eax, eax
jl 0x464116
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 4], 0
xor ecx, ecx
xor edx, edx
mov eax, dword [ebp - 0x24]
call fcn.00460ba0
inc dword [ebp - 4]
dec dword [ebp - 0x4c]
jne 0x464102
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x464133
lea eax, [ebp - 0x24]
call fcn.0041c6e8
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4645cc
lea eax, [ebp - 0x174]
mov edx, 0x10
call fcn.00406ca4
lea eax, [ebp - 0x134]
call fcn.00406c68
lea eax, [ebp - 0x130]
mov edx, 3
call fcn.00406ca4
lea eax, [ebp - 0x114]
mov edx, 8
call fcn.00406ca4
lea eax, [ebp - 0xec]
mov edx, 0x17
call fcn.00406ca4
lea eax, [ebp - 0x90]
mov edx, dword [0x423b80]
call fcn.00407ddc
lea eax, [ebp - 0x38]
call fcn.00406c44
lea eax, [ebp - 0x30]
mov edx, 2
call fcn.00406ca4
ret