Function at 0x41e8c0
Capabilities:
Get disk size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b8cf9
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push esi
push edi
mov eax, dword [0x504e20]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x20], ebx
mov eax, dword [esi]
mov ecx, 0x4c0b9c
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41e91d
test dx, dx
je 0x41e919
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41e91d
add eax, 4
add ecx, 4
test dx, dx
jne 0x41e8f7
xor eax, eax
jmp 0x41e922
sbb eax, eax
or eax, 1
test eax, eax
sete al
test al, al
je 0x41e950
mov esi, dword [ebp + 8]
push 1
push dword [ebp + 0x10]
push esi
call fcn.0041ece0
add esp, 0xc
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.___R0ssr
lea ecx, [ebp - 0x1c]
call fcn.00401b70
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x18]
push eax
mov dword [ebp - 4], 0
call fcn.00440ae0
add esp, 8
mov edx, dword [ebp - 0x1c]
add edx, 0xfffffff0
or edi, 0xffffffff
mov byte [ebp - 4], 2
lea ecx, [edx + 0xc]
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x41e997
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 4
push str.ider
lea ecx, [ebp - 0x18]
call fcn.00402c30
lea eax, [ebp - 0x18]
push eax
push esi
call fcn.00402750
add esp, 8
test al, al
jne 0x41ea10
push 0x4c3a5c
lea ecx, [ebp - 0x14]
call fcn.00401ae0
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x24]
push eax
mov byte [ebp - 4], 3
mov dword [ebp - 0x20], 2
call fcn.00402870
mov ecx, dword [eax]
add esp, 0xc
mov ebx, 6
test ecx, ecx
je 0x41ea0a
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
jl 0x41ea0a
push ecx
push eax
call fcn.00497a22
add esp, 8
test eax, eax
je 0x41ea0a
sub eax, dword [esi]
sar eax, 1
je 0x41ea10
mov byte [ebp - 0xd], 0
jmp 0x41ea14
mov byte [ebp - 0xd], 1
test bl, 4
je 0x41ea3b
mov edx, dword [ebp - 0x24]
add edx, 0xfffffff0
and ebx, 0xfffffffb
mov dword [ebp - 0x20], ebx
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41ea3b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 2
test bl, 2
je 0x41ea63
mov edx, dword [ebp - 0x14]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41ea63
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x5049f8]
mov ecx, 0x5049f8
call dword [eax + 0xc]
add eax, 0x10
cmp byte [ebp - 0xd], 0
mov dword [ebp - 0x24], eax
je 0x41ebe5
mov eax, dword [0x5049f8]
mov ecx, 0x5049f8
mov byte [ebp - 4], 4
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
push 1
push dword [ebp + 0x10]
lea eax, [ebp - 0x28]
push eax
mov byte [ebp - 4], 5
call fcn.0041ece0
add esp, 0xc
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 6
call fcn.00402500
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
mov byte [ebp - 4], 5
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41ead9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x14]
push 0x5c
push esi
call fcn.00498dd8
add esp, 8
test eax, eax
jne 0x41eaf0
or eax, 0xffffffff
jmp 0x41eaf4
sub eax, esi
sar eax, 1
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x14]
call fcn.004067d0
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 7
call fcn.00402500
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
mov byte [ebp - 4], 5
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41eb2e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp - 0x14]
push dword [eax]
lea eax, [ebp - 0x24]
push esi
push 0x4c2044
push eax
call fcn.00405040
add esp, 0x10
call fcn.004201a0
test al, al
jne 0x41eb61
push 0
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceW]
mov ebx, dword [ebp - 0x24]
add ebx, 0xfffffff0
push ebx
call fcn.00404d50
mov ecx, dword [ebp + 8]
add eax, 0x10
add esi, 0xfffffff0
mov dword [ecx], eax
add esp, 4
mov byte [ebp - 4], 4
lea eax, [esi + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41eb95
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
lea eax, [ebx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41ebaf
mov ecx, dword [ebx]
push ebx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x18]
add esi, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea eax, [esi + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x41ebd0
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [0x506280]
mov byte [ebp - 4], 8
lea ecx, [edx + 1]
lea eax, [edx + 2]
imul eax, ecx
imul eax, edx
cdq
mov ecx, 0x12
idiv ecx
cmp edx, 3
jne 0x41ec27
mov esi, 1
mov eax, esi
mov edx, 0x52
dec edx
lea ecx, [eax + esi]
lea esi, [eax]
mov eax, ecx
jns 0x41ec14
mov esi, dword [ebp + 0xc]
mov dword [0x506280], ecx
push 1
push dword [ebp + 0x10]
lea eax, [ebp - 0x28]
push eax
call fcn.0041ece0
push dword [esi]
mov byte [ebp - 4], 9
push dword [eax]
lea eax, [ebp - 0x24]
push 0x4c2044
push eax
call fcn.00405040
mov edx, dword [ebp - 0x28]
add edx, 0xfffffff0
add esp, 0x1c
mov byte [ebp - 4], 8
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41ec6e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x24]
add esi, 0xfffffff0
push esi
call fcn.00404d50
mov ebx, dword [ebp + 8]
add eax, 0x10
mov dword [ebx], eax
add esp, 4
mov byte [ebp - 4], 2
lea eax, [esi + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41ec9f
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x18]
add esi, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea eax, [esi + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x41ecc0
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret