Function at 0x444150
Capabilities:
Get disk information

Disassembly:
push ebp
mov ebp, esp
push edi
mov edi, 0x10
lea esp, [esp - 0xffc]
push eax
sub edi, 1
jne 0x444159
lea esp, [esp - 0x85c]
mov edi, dword [esp + 0x1085c]
push ebx
mov dword [ebp - 4], eax
call fcn.00408b30
mov dword [ebp - 0x103c0], 0
mov dword [ebp - 0x103c4], 0
mov dword [ebp - 0x103c8], 0
mov dword [ebp - 0x103cc], 0
mov dword [ebp - 0x103d0], 0
mov dword [ebp - 0x103d4], 0
mov dword [ebp - 0x103d8], 0
mov dword [ebp - 0x103dc], 0
mov dword [ebp - 0x10860], 0
mov dword [ebp - 0x1085c], 0
mov dword [ebp - 0x10858], 0
mov dword [ebp - 0x10654], 0
mov dword [ebp - 0x10638], 0
mov dword [ebp - 0x10634], 0
mov dword [ebp - 0x10630], 0
mov dword [ebp - 0x10620], 0
xor eax, eax
push fcn.00444090
push ebp
push 0x4154e0
push dword fs:[eax]
mov dword fs:[eax], esp
mov dword [0x696010], 0xffffffff
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x4bc]
mov dl, 1
mov ecx, dword [0x6985f0]
mov ecx, dword [ecx + 0x4bc]
mov ecx, dword [ecx]
call dword [ecx + 0xec]
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x5d8]
mov edx, 2
call fcn.0053eda0
mov eax, dword [0x8b9630]
mov eax, dword [eax + 0x4d4]
xor edx, edx
call fcn.0055ec40
mov eax, dword [0x8b9630]
mov eax, dword [eax + 0x4fc]
mov edx, 1
call fcn.005a3fc0
mov eax, dword [ebp - 4]
lea edx, [ebp - 0x10620]
call fcn.0040a1a0
mov edx, dword [ebp - 0x10620]
lea eax, [ebp - 4]
call fcn.00408b60
mov eax, dword [ebp - 4]
mov edx, str.ZERO
call fcn.00409720
test eax, eax
jne 0x4442d6
lea eax, [ebp - 0x103c8]
mov edx, 0x61e2dc
call fcn.00408b60
jmp 0x444330
mov eax, dword [ebp - 4]
mov edx, 0x61dfe0
call fcn.00409720
test eax, eax
jne 0x4442f9
lea eax, [ebp - 0x103c8]
mov edx, str.One_delete_free_space
call fcn.00408b60
jmp 0x444330
push 0
mov eax, str.Secure_delete_free_space__
mov dword [ebp - 0x1062c], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x10628], eax
mov eax, 0x61d4ac
mov dword [ebp - 0x10624], eax
lea edx, [ebp - 0x1062c]
lea eax, [ebp - 0x103c8]
mov ecx, 2
call fcn.00408ef0
mov edx, dword [ebp - 0x103c8]
mov eax, dword [0x8b9630]
call fcn.005403b0
mov edx, dword [ebp - 0x103c8]
mov eax, dword [0x6985f0]
call fcn.005403b0
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x5ec]
xor edx, edx
call fcn.0056a2b0
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x5e4]
mov dx, 0xfff5
mov ecx, dword [0x6985f0]
mov ecx, dword [ecx + 0x5e4]
mov ecx, dword [ecx]
call dword [ecx + 0xe8]
mov eax, dword [ebp - 4]
mov edx, str.ZERO
call fcn.00409720
test eax, eax
jne 0x4443a5
mov dword [ebp - 0x280], 1
jmp 0x444443
mov eax, dword [ebp - 4]
mov edx, 0x61dfe0
call fcn.00409720
test eax, eax
jne 0x4443c5
mov dword [ebp - 0x280], 1
jmp 0x444443
mov eax, dword [ebp - 4]
mov edx, str.VERY_FAST
call fcn.00409720
test eax, eax
jne 0x4443e2
mov dword [ebp - 0x280], 1
jmp 0x444443
mov eax, dword [ebp - 4]
mov edx, str.FAST
call fcn.00409720
test eax, eax
jne 0x4443ff
mov dword [ebp - 0x280], 2
jmp 0x444443
mov eax, dword [ebp - 4]
mov edx, 0x61e01c
call fcn.00409720
test eax, eax
jne 0x44441c
mov dword [ebp - 0x280], 3
jmp 0x444443
mov eax, dword [ebp - 4]
mov edx, str.SLOW
call fcn.00409720
test eax, eax
jne 0x444439
mov dword [ebp - 0x280], 4
jmp 0x444443
mov dword [ebp - 0x280], 5
mov eax, dword [ebp - 0x280]
mov dword [ebp - 0x284], eax
call fcn.004148e0
mov eax, dword [0x8b9630]
mov eax, dword [eax + 0x4fc]
mov edx, 1
call fcn.005a3fc0
mov eax, dword [0x5f3160]
call fcn.00422010
lea edx, [ebp - 0x10620]
mov eax, 3
call fcn.00415c30
mov eax, dword [ebp - 0x10620]
mov al, byte [eax]
call fcn.00404e20
and eax, 0xff
sub eax, 0x40
mov dword [ebp - 0x28c], eax
cmp eax, 2
jle 0x4444bc
mov al, byte [ebp - 0x28c]
call fcn.0048f4b0
mov dword [ebp - 0x105f0], eax
mov dword [ebp - 0x105ec], edx
mov esi, esi
cmp dword [ebp - 0x28c], 2
jle 0x4444dc
mov al, byte [ebp - 0x28c]
call fcn.0048f580
mov dword [ebp - 0x105f8], eax
mov dword [ebp - 0x105f4], edx
mov dword [ebp - 0x268], 0x7fffffff
mov dword [ebp - 0x264], 0
push 0
lea edx, [ebp - 0x10630]
mov eax, 3
call fcn.00415c30
mov eax, dword [ebp - 0x10630]
mov dword [ebp - 0x1062c], eax
mov eax, 0x61c418
mov dword [ebp - 0x10628], eax
mov eax, str..ptmp
mov dword [ebp - 0x10624], eax
lea edx, [ebp - 0x1062c]
lea eax, [ebp - 0x103c4]
mov ecx, 2
call fcn.00408ef0
mov eax, dword [ebp - 0x103c4]
call fcn.00484600
call fcn.00489560
lea esp, [esp - 8]
fstp qword [esp]
lea eax, [ebp - 0x10614]
call fcn.00488e40
lea ecx, [ebp - 0x103dc]
lea edx, [ebp - 0x103d8]
lea eax, [ebp - 0x103d4]
call fcn.004603a0
mov eax, dword [ebp - 0x103d8]
mov edx, 0x61e360
call fcn.00409720
test eax, eax
je 0x44459f
mov eax, dword [ebp - 0x103d8]
mov edx, 0x61e374
call fcn.00409720
test eax, eax
jne 0x444638
push 0
lea edx, [ebp - 0x10634]
mov eax, 3
call fcn.00415c30
mov eax, dword [ebp - 0x10634]
lea edx, [ebp - 0x10630]
call fcn.004837b0
mov edx, dword [ebp - 0x10630]
lea eax, [ebp - 0x103d0]
mov ecx, 0x61c418
call fcn.00408c60
push 0x100
lea eax, [ebp - 0x105dc]
push eax
lea eax, [ebp - 0x105e8]
push eax
lea eax, [ebp - 0x105e4]
push eax
lea eax, [ebp - 0x105e0]
push eax
push 0x100
lea eax, [ebp - 0x104dc]
push eax
mov eax, dword [ebp - 0x103d0]
test eax, eax
jne 0x444614
mov eax, 0x6972f0
push eax
call sub.kernel32.dll_GetVolumeInformationA
push 1
lea eax, [ebp - 0x103cc]
push eax
lea eax, [ebp - 0x105dc]
xor cx, cx
mov edx, 0xff
call fcn.00409550
jmp 0x444645
lea eax, [ebp - 0x103cc]
xor edx, edx
call fcn.00408b60
cmp dword [ebp - 0x103cc], 0
je 0x44473d
lea eax, [ebp - 0x10638]
call fcn.00403c70
push 0
mov eax, str.Processing_drive
mov dword [ebp - 0x10650], eax
lea edx, [ebp - 0x10634]
mov eax, 3
call fcn.00415c30
mov eax, dword [ebp - 0x10634]
mov dword [ebp - 0x1064c], eax
mov eax, 0x61c3d0
mov dword [ebp - 0x10648], eax
mov eax, dword [ebp - 0x103cc]
mov dword [ebp - 0x10644], eax
mov eax, 0x61dfa4
mov dword [ebp - 0x10640], eax
push dword [ebp - 0x105f4]
push dword [ebp - 0x105f8]
mov ecx, 0xff
lea edx, [ebp - 0x10754]
mov eax, 0xffffffff
call fcn.00405050
lea ecx, [ebp - 0x10654]
xor dx, dx
lea eax, [ebp - 0x10754]
call fcn.004093e0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x10654]
call fcn.0040a2a0
mov eax, dword [ebp - 0x10654]
lea ecx, [ebp - 0x10630]
xor edx, edx
call fcn.0045dd60
mov eax, dword [ebp - 0x10630]
mov dword [ebp - 0x1063c], eax
lea edx, [ebp - 0x10650]
mov ecx, 5
lea eax, [ebp - 0x10638]
call fcn.00408ef0
mov edx, dword [ebp - 0x10638]
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x588]
call fcn.005403b0
jmp 0x44480c
lea eax, [ebp - 0x10638]
call fcn.00403c70
push 0
mov eax, str.Processing_drive
mov dword [ebp - 0x10664], eax
lea edx, [ebp - 0x10634]
mov eax, 3
call fcn.00415c30
mov eax, dword [ebp - 0x10634]
mov dword [ebp - 0x10660], eax
mov eax, 0x61c228
mov dword [ebp - 0x1065c], eax
push dword [ebp - 0x105f4]
push dword [ebp - 0x105f8]
mov ecx, 0xff
lea edx, [ebp - 0x10854]
mov eax, 0xffffffff
call fcn.00405050
lea ecx, [ebp - 0x10654]
xor dx, dx
lea eax, [ebp - 0x10854]
call fcn.004093e0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x10654]
call fcn.0040a2a0
mov eax, dword [ebp - 0x10654]
lea ecx, [ebp - 0x10630]
xor edx, edx
call fcn.0045dd60
mov eax, dword [ebp - 0x10630]
mov dword [ebp - 0x10658], eax
lea edx, [ebp - 0x10664]
mov ecx, 3
lea eax, [ebp - 0x10638]
call fcn.00408ef0
mov edx, dword [ebp - 0x10638]
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x588]
call fcn.005403b0
mov eax, dword [0x5f3160]
call fcn.00422010
mov eax, dword [ebp - 4]
mov edx, str.ZERO
call fcn.00409720
test eax, eax
jne 0x44483a
mov ecx, 1
xor dl, dl
mov eax, ebp
call fcn.00445870
jmp 0x4452c8
mov eax, dword [ebp - 4]
mov edx, 0x61dfe0
call fcn.00409720
test eax, eax
jne 0x44485e
mov ecx, 1
mov dl, 0xff
mov eax, ebp
call fcn.00445870
jmp 0x4452c8
mov eax, 0x8b8e20
xor dl, dl
call fcn.0045c670
mov dword [ebp - 0x270], 0xffffffff
lea esi, [esi]
mov eax, dword [ebp - 0x270]
add eax, 1
mov dword [ebp - 0x270], eax
mov dl, byte [eax + 0x8b8e20]
cmp dword [ebp - 0x270], 0x1f
jl 0x444878
mov dword [ebp - 0x270], 0xffffffff
mov eax, dword [ebp - 0x270]
add eax, 1
mov dword [ebp - 0x270], eax
movzx ebx, byte [eax + 0x8b8e20]
mov eax, 0x100
call fcn.0040f220
add eax, ebx
mov edx, dword [ebp - 0x270]
mov byte [ebp + edx - 0x103bc], al
cmp dword [ebp - 0x270], 0xf
jl 0x4448a0
lea eax, [ebp - 0x103ac]
push eax
lea ecx, [ebp - 0x103bc]
mov eax, 0x8b8e20
mov dx, 0x100
call fcn.005e9640
cmp dword [ebp - 0x280], 2
jle 0x444920
sub dword [ebp - 0x284], 2
mov ecx, 1
xor dl, dl
mov eax, ebp
call fcn.00445870
mov ecx, 2
mov dl, 0xff
mov eax, ebp
call fcn.00445870
nop
mov ebx, dword [ebp - 0x284]
cmp ebx, 1
jl 0x4452c8
mov dword [ebp - 0x274], 0
lea esi, [esi]
add dword [ebp - 0x274], 1
cmp dword [ebp - 0x103cc], 0
je 0x444af9
lea eax, [ebp - 0x10638]
call fcn.00403c70
push 0
mov eax, str.Processing_drive
mov dword [ebp - 0x1067c], eax
lea edx, [ebp - 0x10634]
mov eax, 3
call fcn.00415c30
mov eax, dword [ebp - 0x10634]
mov dword [ebp - 0x10678], eax
mov eax, 0x61c3d0
mov dword [ebp - 0x10674], eax
mov eax, dword [ebp - 0x103cc]
mov dword [ebp - 0x10670], eax
mov eax, 0x61dfa4
mov dword [ebp - 0x1066c], eax
push dword [ebp - 0x105f4]
push dword [ebp - 0x105f8]
mov ecx, 0xff
lea edx, [ebp - 0x1077c]
mov eax, 0xffffffff
call fcn.00405050
lea ecx, [ebp - 0x10654]
xor dx, dx
lea eax, [ebp - 0x1077c]
call fcn.004093e0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x10654]
call fcn.0040a2a0
mov eax, dword [ebp - 0x10654]
lea ecx, [ebp - 0x10630]
xor edx, edx
call fcn.0045dd60
mov eax, dword [ebp - 0x10630]
mov dword [ebp - 0x10668], eax
mov eax, str.__pass
mov dword [ebp - 0x10664], eax
mov edx, dword [ebp - 0x274]
mov eax, dword [ebp - 0x280]
add eax, edx
sub eax, dword [ebp - 0x284]
push 0xff
lea ecx, [ebp - 0x1077c]
mov edx, 0xffffffff
call fcn.00404f70
lea ecx, [ebp - 0x10858]
xor dx, dx
lea eax, [ebp - 0x1077c]
call fcn.004093e0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x10858]
call fcn.0040a2a0
mov eax, dword [ebp - 0x10858]
mov dword [ebp - 0x10660], eax
mov eax, str._of
mov dword [ebp - 0x1065c], eax
push 0xff
mov eax, dword [ebp - 0x280]
lea ecx, [ebp - 0x1077c]
mov edx, 0xffffffff
call fcn.00404f70
lea ecx, [ebp - 0x1085c]
xor dx, dx
lea eax, [ebp - 0x1077c]
call fcn.004093e0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x1085c]
call fcn.0040a2a0
mov eax, dword [ebp - 0x1085c]
mov dword [ebp - 0x10658], eax
lea edx, [ebp - 0x1067c]
mov ecx, 9
lea eax, [ebp - 0x10638]
call fcn.00408ef0
mov edx, dword [ebp - 0x10638]
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x588]
call fcn.005403b0
jmp 0x444c80
lea eax, [ebp - 0x10638]
call fcn.00403c70
push 0
mov eax, str.Processing_drive
mov dword [ebp - 0x10674], eax
lea edx, [ebp - 0x1085c]
mov eax, 3
call fcn.00415c30
mov eax, dword [ebp - 0x1085c]
mov dword [ebp - 0x10670], eax
mov eax, 0x61c228
mov dword [ebp - 0x1066c], eax
push dword [ebp - 0x105f4]
push dword [ebp - 0x105f8]
mov ecx, 0xff
lea edx, [ebp - 0x10774]
mov eax, 0xffffffff
call fcn.00405050
lea ecx, [ebp - 0x10654]
xor dx, dx
lea eax, [ebp - 0x10774]
call fcn.004093e0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x10654]
call fcn.0040a2a0
mov eax, dword [ebp - 0x10654]
lea ecx, [ebp - 0x10858]
xor edx, edx
call fcn.0045dd60
mov eax, dword [ebp - 0x10858]
mov dword [ebp - 0x10668], eax
mov eax, str.__pass
mov dword [ebp - 0x10664], eax
mov eax, dword [ebp - 0x274]
add eax, dword [ebp - 0x280]
sub eax, dword [ebp - 0x284]
push 0xff
lea ecx, [ebp - 0x10774]
mov edx, 0xffffffff
call fcn.00404f70
lea ecx, [ebp - 0x10634]
xor dx, dx
lea eax, [ebp - 0x10774]
call fcn.004093e0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x10634]
call fcn.0040a2a0
mov eax, dword [ebp - 0x10634]
mov dword [ebp - 0x10660], eax
mov eax, str._of
mov dword [ebp - 0x1065c], eax
push 0xff
mov eax, dword [ebp - 0x280]
lea ecx, [ebp - 0x10774]
mov edx, 0xffffffff
call fcn.00404f70
lea ecx, [ebp - 0x10630]
xor dx, dx
lea eax, [ebp - 0x10774]
call fcn.004093e0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x10630]
call fcn.0040a2a0
mov eax, dword [ebp - 0x10630]
mov dword [ebp - 0x10658], eax
lea edx, [ebp - 0x10674]
mov ecx, 7
lea eax, [ebp - 0x10638]
call fcn.00408ef0
mov edx, dword [ebp - 0x10638]
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x588]
call fcn.005403b0
mov eax, dword [0x5f3160]
call fcn.00422010
mov byte [ebp - 0x1060c], 0
mov dword [ebp - 0x260], 0
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x26c], 0
nop
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0
add dword [ebp - 0x26c], 1
push 0
mov eax, dword [ebp - 0x103c4]
mov dword [ebp - 0x1062c], eax
mov eax, 0x61c418
mov dword [ebp - 0x10628], eax
push 0xff
mov eax, dword [ebp - 0x26c]
lea ecx, [ebp - 0x10754]
mov edx, 0xffffffff
call fcn.00404f70
lea ecx, [ebp - 0x1085c]
xor dx, dx
lea eax, [ebp - 0x10754]
call fcn.004093e0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x1085c]
call fcn.0040a2a0
mov eax, dword [ebp - 0x1085c]
mov dword [ebp - 0x10624], eax
lea edx, [ebp - 0x1062c]
lea eax, [ebp - 0x103c0]
mov ecx, 2
call fcn.00408ef0
mov edx, dword [ebp - 0x103c0]
lea eax, [ebp - 0x250]
call fcn.00415c20
lea eax, [ebp - 0x250]
mov edx, 1
call fcn.00413c60
call fcn.0040f2a0
xor eax, eax
push fcn.00444060
push ebp
push 0x4154e0
push dword fs:[eax]
mov dword fs:[eax], esp
mov esi, esi
mov eax, dword [ebp - 0x268]
mov edx, dword [ebp - 0x264]
sub eax, dword [ebp - 0x258]
sbb edx, dword [ebp - 0x254]
test edx, edx
ja 0x444da5
jb 0x444db1
cmp eax, 0x10000
jbe 0x444db1
mov dword [ebp - 0x278], 0x10000
jmp 0x444dcf
mov eax, dword [ebp - 0x268]
mov edx, dword [ebp - 0x264]
sub eax, dword [ebp - 0x258]
sbb edx, dword [ebp - 0x254]
mov dword [ebp - 0x278], eax
mov al, byte [ebp - 0x28c]
call fcn.0048f4b0
mov dword [ebp - 0x10600], eax
mov dword [ebp - 0x105fc], edx
push dword [ebp - 0x105ec]
push dword [ebp - 0x105f0]
imul ecx, dword [ebp - 0x105fc], 0x64
mov eax, 0x64
mul dword [ebp - 0x10600]
add edx, ecx
push edx
push eax
call fcn.00403ff0
mov ecx, 0x64
sub ecx, eax
mov eax, ecx
mov ecx, 0
sbb ecx, edx
mov edx, ecx
mov edx, eax
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x5ec]
call fcn.0056a2b0
lea eax, [ebp - 0x10638]
call fcn.00403c70
push 0
push dword [ebp - 0x105ec]
push dword [ebp - 0x105f0]
mov ecx, 0xff
lea edx, [ebp - 0x10764]
mov eax, 0xffffffff
call fcn.00405050
lea ecx, [ebp - 0x10654]
xor dx, dx
lea eax, [ebp - 0x10764]
call fcn.004093e0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x10654]
call fcn.0040a2a0
mov eax, dword [ebp - 0x10654]
lea ecx, [ebp - 0x1085c]
xor edx, edx
call fcn.0045dd60
mov eax, dword [ebp - 0x1085c]
mov dword [ebp - 0x10664], eax
mov eax, str._free_
mov dword [ebp - 0x10660], eax
push dword [ebp - 0x105fc]
push dword [ebp - 0x10600]
mov ecx, 0xff
lea edx, [ebp - 0x10764]
mov eax, 0xffffffff
call fcn.00405050
lea ecx, [ebp - 0x10654]
xor dx, dx
lea eax, [ebp - 0x10764]
call fcn.004093e0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x10654]
call fcn.0040a2a0
mov eax, dword [ebp - 0x10654]
lea ecx, [ebp - 0x10858]
xor edx, edx
call fcn.0045dd60
mov eax, dword [ebp - 0x10858]
mov dword [ebp - 0x1065c], eax
mov eax, str._remaining
mov dword [ebp - 0x10658], eax
lea edx, [ebp - 0x10664]
mov ecx, 3
lea eax, [ebp - 0x10638]
call fcn.00408ef0
mov edx, dword [ebp - 0x10638]
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x580]
call fcn.005403b0
call fcn.00489560
lea esp, [esp - 8]
fstp qword [esp]
lea eax, [ebp - 0x1061c]
call fcn.00488e40
mov eax, dword [ebp - 0x10618]
mov edx, dword [ebp - 0x10610]
sub eax, edx
imul eax, eax, 0x18
imul eax, eax, 0x3c
imul eax, eax, 0x3c
imul eax, eax, 0x3e8
add eax, dword [ebp - 0x1061c]
sub eax, dword [ebp - 0x10614]
mov dword [ebp - 0x290], eax
lea eax, [ebp - 0x10638]
call fcn.00403c70
push 0
push 0xff
mov eax, dword [ebp - 0x290]
lea ecx, [ebp - 0x10754]
mov edx, 0xffffffff
call fcn.00404f70
lea ecx, [ebp - 0x10860]
xor dx, dx
lea eax, [ebp - 0x10754]
call fcn.004093e0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x10860]
call fcn.0040a2a0
mov eax, dword [ebp - 0x10860]
lea edx, [ebp - 0x10654]
call fcn.0045da40
mov edx, dword [ebp - 0x10654]
mov ecx, str._elapsed
lea eax, [ebp - 0x10638]
call fcn.00408c60
mov edx, dword [ebp - 0x10638]
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x584]
call fcn.005403b0
mov eax, dword [0x5f3160]
call fcn.00422010
cmp byte [0x8b86f0], 0
je 0x44504c
lea eax, [ebp - 0x250]
call fcn.00415bf0
call fcn.0040f2a0
mov edx, dword [ebp - 0x26c]
mov eax, ebp
call fcn.00445f80
jmp 0x445105
cmp dword [ebp - 0x105fc], 0
jb 0x445063
ja 0x44506c
cmp dword [ebp - 0x10600], 0x10000
ja 0x44506c
mov byte [ebp - 0x1060c], 1
jmp 0x4450c4
lea eax, [ebp - 0x103ac]
push eax
lea edx, [ebp - 0x10290]
lea eax, [ebp - 0x10290]
mov ecx, dword [ebp - 0x278]
call fcn.005e96b0
lea eax, [ebp - 0x27c]
push eax
mov ecx, dword [ebp - 0x278]
lea edx, [ebp - 0x10290]
lea eax, [ebp - 0x250]
call fcn.00413800
call fcn.0040f2a0
mov edx, dword [ebp - 0x27c]
mov eax, edx
sar eax, 0x1f
add dword [ebp - 0x258], edx
adc dword [ebp - 0x254], eax
cmp byte [ebp - 0x1060c], 0
jne 0x4450f3
mov edx, dword [ebp - 0x258]
mov eax, dword [ebp - 0x254]
cmp eax, dword [ebp - 0x264]
ja 0x4450f3
jb 0x444d80
cmp edx, dword [ebp - 0x268]
jb 0x444d80
xor edx, edx
pop eax
add esp, 0xc
mov dword fs:[edx], eax
mov eax, ebp
call fcn.00444060
jmp 0x44510f
call fcn.00404190
jmp 0x4457c8
cmp byte [ebp - 0x1060c], 0
je 0x444cb0
mov edx, dword [ebp - 0x26c]
mov eax, ebp
call fcn.004460c0
lea eax, [ebp - 0x10638]
call fcn.00403c70
push 0
mov eax, str.Done_drive
mov dword [ebp - 0x10674], eax
lea edx, [ebp - 0x1085c]
mov eax, 3
call fcn.00415c30
mov eax, dword [ebp - 0x1085c]
mov dword [ebp - 0x10670], eax
mov eax, 0x61c228
mov dword [ebp - 0x1066c], eax
push dword [ebp - 0x105f4]
push dword [ebp - 0x105f8]
mov ecx, 0xff
lea edx, [ebp - 0x10774]
mov eax, 0xffffffff
call fcn.00405050
lea ecx, [ebp - 0x10860]
xor dx, dx
lea eax, [ebp - 0x10774]
call fcn.004093e0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x10860]
call fcn.0040a2a0
mov eax, dword [ebp - 0x10860]
lea ecx, [ebp - 0x10858]
xor edx, edx
call fcn.0045dd60
mov eax, dword [ebp - 0x10858]
mov dword [ebp - 0x10668], eax
mov eax, str.__pass
mov dword [ebp - 0x10664], eax
mov eax, dword [ebp - 0x274]
add eax, dword [ebp - 0x280]
sub eax, dword [ebp - 0x284]
mov dword [ebp - 0x10624], eax
push 0xff
lea ecx, [ebp - 0x10774]
mov edx, 0xffffffff
mov eax, dword [ebp - 0x10624]
call fcn.00404f70
lea ecx, [ebp - 0x10634]
xor dx, dx
lea eax, [ebp - 0x10774]
call fcn.004093e0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x10634]
call fcn.0040a2a0
mov eax, dword [ebp - 0x10634]
mov dword [ebp - 0x10660], eax
mov eax, str._of
mov dword [ebp - 0x1065c], eax
push 0xff
mov eax, dword [ebp - 0x280]
lea ecx, [ebp - 0x10774]
mov edx, 0xffffffff
call fcn.00404f70
lea ecx, [ebp - 0x10630]
xor dx, dx
lea eax, [ebp - 0x10774]
call fcn.004093e0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x10630]
call fcn.0040a2a0
mov eax, dword [ebp - 0x10630]
mov dword [ebp - 0x10658], eax
lea edx, [ebp - 0x10674]
mov ecx, 7
lea eax, [ebp - 0x10638]
call fcn.00408ef0
mov edx, dword [ebp - 0x10638]
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x588]
call fcn.005403b0
cmp ebx, dword [ebp - 0x274]
jg 0x444940
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x4bc]
xor dl, dl
mov ecx, dword [0x6985f0]
mov ecx, dword [ecx + 0x4bc]
mov ecx, dword [ecx]
call dword [ecx + 0xec]
mov eax, dword [ebp - 0x103c4]
call fcn.00484580
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x5ec]
mov edx, 0x64
call fcn.0056a2b0
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x5e4]
xor dx, dx
mov ecx, dword [0x6985f0]
mov ecx, dword [ecx + 0x5e4]
mov ecx, dword [ecx]
call dword [ecx + 0xe8]
mov eax, str.File
push eax
mov eax, dword [0x8b9630]
mov eax, dword [eax + 0x4fc]
xor ecx, ecx
xor edx, edx
mov ebx, dword [0x8b9630]
mov ebx, dword [ebx + 0x4fc]
mov ebx, dword [ebx]
call dword [ebx + 0x664]
mov eax, str.Result
push eax
mov eax, dword [0x8b9630]
mov eax, dword [eax + 0x4fc]
xor ecx, ecx
mov edx, 1
mov ebx, dword [0x8b9630]
mov ebx, dword [ebx + 0x4fc]
mov ebx, dword [ebx]
call dword [ebx + 0x664]
mov eax, dword [0x8b9630]
mov eax, dword [eax + 0x4fc]
call fcn.005bbc30
mov al, byte [ebp - 0x28c]
call fcn.0048f4b0
mov dword [ebp - 0x10600], eax
mov dword [ebp - 0x105fc], edx
lea eax, [ebp - 0x10638]
call fcn.00403c70
push 0
push dword [ebp - 0x105ec]
push dword [ebp - 0x105f0]
mov ecx, 0xff
lea edx, [ebp - 0x10754]
mov eax, 0xffffffff
call fcn.00405050
lea ecx, [ebp - 0x10860]
xor dx, dx
lea eax, [ebp - 0x10754]
call fcn.004093e0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x10860]
call fcn.0040a2a0
mov eax, dword [ebp - 0x10860]
lea ecx, [ebp - 0x1085c]
xor edx, edx
call fcn.0045dd60
mov eax, dword [ebp - 0x1085c]
mov dword [ebp - 0x1064c], eax
mov eax, str._free_when_task_started_
mov dword [ebp - 0x10648], eax
push dword [ebp - 0x105fc]
push dword [ebp - 0x10600]
mov ecx, 0xff
lea edx, [ebp - 0x10754]
mov eax, 0xffffffff
call fcn.00405050
lea ecx, [ebp - 0x10860]
xor dx, dx
lea eax, [ebp - 0x10754]
call fcn.004093e0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x10860]
call fcn.0040a2a0
mov eax, dword [ebp - 0x10860]
lea ecx, [ebp - 0x10858]
xor edx, edx
call fcn.0045dd60
mov eax, dword [ebp - 0x10858]
mov dword [ebp - 0x10644], eax
mov eax, str._currently_free__temporary_work_dir
mov dword [ebp - 0x10640], eax
mov eax, dword [ebp - 0x103c4]
mov dword [ebp - 0x1063c], eax
lea edx, [ebp - 0x1064c]
mov ecx, 4
lea eax, [ebp - 0x10638]
call fcn.00408ef0
mov edx, dword [ebp - 0x10638]
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x580]
call fcn.005403b0
call fcn.00489560
lea esp, [esp - 8]
fstp qword [esp]
lea eax, [ebp - 0x1061c]
call fcn.00488e40
mov eax, dword [ebp - 0x10618]
mov edx, dword [ebp - 0x10610]
sub eax, edx
imul eax, eax, 0x18
imul eax, eax, 0x3c
imul eax, eax, 0x3c
imul eax, eax, 0x3e8
add eax, dword [ebp - 0x1061c]
sub eax, dword [ebp - 0x10614]
mov dword [ebp - 0x290], eax
test eax, eax
jle 0x445660
mov edx, dword [ebp - 0x290]
mov eax, edx
sar eax, 0x1f
push eax
push edx
imul ecx, dword [ebp - 0x105ec], 0x3e8
mov eax, 0x3e8
mul dword [ebp - 0x105f0]
add edx, ecx
push edx
push eax
call fcn.00403e20
mov dword [ebp - 0x10608], eax
mov dword [ebp - 0x10604], edx
lea eax, [ebp - 0x10638]
call fcn.00403c70
push 0
push 0xff
mov eax, dword [ebp - 0x290]
lea ecx, [ebp - 0x10764]
mov edx, 0xffffffff
call fcn.00404f70
lea ecx, [ebp - 0x10860]
xor dx, dx
lea eax, [ebp - 0x10764]
call fcn.004093e0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x10860]
call fcn.0040a2a0
mov eax, dword [ebp - 0x10860]
lea edx, [ebp - 0x1085c]
call fcn.0045da40
mov eax, dword [ebp - 0x1085c]
mov dword [ebp - 0x10664], eax
mov eax, str._total_time__
mov dword [ebp - 0x10660], eax
push dword [ebp - 0x10604]
push dword [ebp - 0x10608]
mov ecx, 0xff
lea edx, [ebp - 0x10764]
mov eax, 0xffffffff
call fcn.00405050
lea ecx, [ebp - 0x10860]
xor dx, dx
lea eax, [ebp - 0x10764]
call fcn.004093e0
xor cl, cl
xor dx, dx
lea eax, [ebp - 0x10860]
call fcn.0040a2a0
mov eax, dword [ebp - 0x10860]
lea ecx, [ebp - 0x10858]
xor edx, edx
call fcn.0045dd60
mov eax, dword [ebp - 0x10858]
mov dword [ebp - 0x1065c], eax
mov eax, 0x61b880
mov dword [ebp - 0x10658], eax
lea edx, [ebp - 0x10664]
mov ecx, 3
lea eax, [ebp - 0x10638]
call fcn.00408ef0
mov edx, dword [ebp - 0x10638]
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x584]
call fcn.005403b0
jmp 0x445672
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x584]
xor edx, edx
call fcn.005403b0
mov eax, dword [0x8b9630]
mov eax, dword [eax + 0x498]
mov edx, dword [ebp - 0x103c8]
call fcn.005403b0
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x588]
lea edx, [ebp - 0x10638]
call fcn.0053d370
mov edx, dword [ebp - 0x10638]
mov eax, dword [0x8b9630]
mov eax, dword [eax + 0x49c]
call fcn.005403b0
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x580]
lea edx, [ebp - 0x10638]
call fcn.0053d370
mov edx, dword [ebp - 0x10638]
mov eax, dword [0x8b9630]
mov eax, dword [eax + 0x4a0]
call fcn.005403b0
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x584]
lea edx, [ebp - 0x10638]
call fcn.0053d370
mov edx, dword [ebp - 0x10638]
mov eax, dword [0x8b9630]
mov eax, dword [eax + 0x4a4]
call fcn.005403b0
mov eax, dword [0x8b9630]
mov eax, dword [eax + 0x4dc]
xor dl, dl
call fcn.0055d570
mov eax, dword [0x8b9630]
mov eax, dword [eax + 0x4d4]
xor dl, dl
call fcn.0055f4b0
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x4a0]
mov dl, 1
mov ecx, dword [0x6985f0]
mov ecx, dword [ecx + 0x4a0]
mov ecx, dword [ecx]
call dword [ecx + 0xec]
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x54c]
mov dl, 1
mov ecx, dword [0x6985f0]
mov ecx, dword [ecx + 0x54c]
mov ecx, dword [ecx]
call dword [ecx + 0xec]
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x54c]
xor dl, dl
mov ecx, dword [0x6985f0]
mov ecx, dword [ecx + 0x54c]
mov ecx, dword [ecx]
call dword [ecx + 0x220]
mov eax, dword [0x6985f0]
mov eax, dword [eax + 0x548]
mov dl, 1
mov ecx, dword [0x6985f0]
mov ecx, dword [ecx + 0x548]
mov ecx, dword [ecx]
call dword [ecx + 0xec]
mov eax, dword [0x5f3160]
call fcn.00422010
mov dword [0x696010], 0
xor edx, edx
pop eax
add esp, 0xc
mov dword fs:[edx], eax
mov eax, ebp
call fcn.00444090
pop ebx
mov esp, ebp
pop ebp
ret