Function at 0x58d820
Capabilities:
Get disk information
Get storage device properties

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x25d8
mov dword [esp + 0x15dc], eax
mov dword [esp + 0x5dc], eax
push eax
mov dword [ebp - 0x25dc], ebx
mov dword [ebp - 4], eax
mov dword [ebp - 0x2030], 0
mov dword [ebp - 0x2034], 0
mov dword [ebp - 0x2344], 0
mov dword [ebp - 0x25d8], 0
mov dword [ebp - 0x25d4], 0
mov dword [ebp - 0x25a0], 0
mov dword [ebp - 0x2584], 0
mov dword [ebp - 0x2580], 0
mov dword [ebp - 0x257c], 0
mov dword [ebp - 0x2378], 0
mov dword [ebp - 0x2374], 0
lea ecx, [ebp - 0x2354]
lea edx, [ebp - 0x236c]
mov eax, 1
call fcn.0040d0e0
call fcn.0040f290
push eax
test eax, eax
jne 0x58e6d3
lea eax, [ebp - 0x202c]
mov cl, 0
mov edx, 0x2000
call fcn.00404670
lea ecx, [ebp - 0x2030]
mov eax, dword [ebp - 4]
mov dl, 0
call fcn.0058d5d0
mov dword [ebp - 0x24], 0
push 0
push 0
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x24]
push eax
push 0
push 0x2000
lea eax, [ebp - 0x202c]
push eax
lea eax, [ebp - 0x2374]
call fcn.0040a610
mov dword [ebp - 0x2374], 0
lea eax, [ebp - 0x2378]
call fcn.00404c10
mov dword [ebp - 0x2378], 0
mov edx, dword [ebp - 0x2030]
lea eax, [ebp - 0x2378]
mov ecx, 0x765ebc
call fcn.00408350
mov eax, dword [ebp - 0x2378]
lea edx, [ebp - 0x2374]
call fcn.0040bb30
mov eax, dword [ebp - 0x2374]
test eax, eax
jne 0x58d976
mov eax, 0x7cbe60
push eax
call sub.kernel32.dll_GetVolumeInformationW
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
test eax, eax
jne 0x58daf2
push 0x765ec0
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x98]
shl eax, 8
or eax, 1
mov word [ebp - 0x2578], ax
lea ecx, [ebp - 0x2578]
lea eax, [ebp - 0x2478]
mov edx, 0xff
call fcn.00404de0
lea eax, [ebp - 0x2478]
lea edx, [ebp - 0x2034]
call fcn.00408640
lea eax, [ebp - 0x257c]
call fcn.00409310
mov dword [ebp - 0x257c], 0
lea eax, [ebp - 0x257c]
push eax
lea eax, [ebp - 0x202c]
mov cl, 1
mov edx, 0xfff
call fcn.0040aa90
mov eax, dword [ebp - 0x257c]
mov edx, 0
call fcn.00409a10
test eax, eax
je 0x58dace
lea eax, [ebp - 0x2580]
call fcn.00404c10
mov dword [ebp - 0x2580], 0
mov eax, 0x765ecc
mov dword [ebp - 0x2384], eax
lea eax, [ebp - 0x2584]
call fcn.00404c10
mov dword [ebp - 0x2584], 0
lea eax, [ebp - 0x257c]
call fcn.00409310
mov dword [ebp - 0x257c], 0
lea eax, [ebp - 0x257c]
push eax
lea eax, [ebp - 0x202c]
mov cl, 1
mov edx, 0xfff
call fcn.0040aa90
mov eax, dword [ebp - 0x257c]
lea edx, [ebp - 0x2584]
call fcn.0040a320
mov eax, dword [ebp - 0x2584]
mov dword [ebp - 0x2380], eax
mov eax, 0x765ed8
mov dword [ebp - 0x237c], eax
lea edx, [ebp - 0x2384]
lea eax, [ebp - 0x2580]
mov ecx, 2
call fcn.004084c0
mov ecx, dword [ebp - 0x2580]
mov edx, dword [ebp - 0x2034]
lea eax, [ebp - 0x2034]
call fcn.00408350
mov eax, dword [ebp - 0x2034]
call fcn.00408320
mov ebx, dword [ebp - 4]
lea eax, [ebx + 0x24]
call fcn.00404c10
mov eax, dword [ebp - 0x2034]
mov dword [ebx + 0x24], eax
jmp 0x58dd51
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
cmp eax, 2
jne 0x58db6c
lea eax, [ebp - 0x2584]
call fcn.00404c10
mov dword [ebp - 0x2584], 0
lea eax, [ebp - 0x2584]
push eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x98]
mov dword [ebp - 0x2588], eax
mov dword [ebp - 0x258c], 0
lea edx, [ebp - 0x258c]
mov ecx, 0
mov eax, str.SCSI_.2d
call fcn.0041b420
mov eax, dword [ebp - 0x2584]
call fcn.00408320
mov ebx, dword [ebp - 4]
lea eax, [ebx + 0x24]
call fcn.00404c10
mov eax, dword [ebp - 0x2584]
mov dword [ebx + 0x24], eax
jmp 0x58dbd6
lea eax, [ebp - 0x2584]
call fcn.00404c10
mov dword [ebp - 0x2584], 0
lea eax, [ebp - 0x2584]
push eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x98]
mov dword [ebp - 0x2588], eax
mov dword [ebp - 0x258c], 0
lea edx, [ebp - 0x258c]
mov ecx, 0
mov eax, str.DISK_.2d
call fcn.0041b420
mov eax, dword [ebp - 0x2584]
call fcn.00408320
mov ebx, dword [ebp - 4]
lea eax, [ebx + 0x24]
call fcn.00404c10
mov eax, dword [ebp - 0x2584]
mov dword [ebx + 0x24], eax
push 1
mov eax, dword [ebp - 4]
mov cl, 1
mov dl, 0
call fcn.0058eeb0
test al, al
je 0x58dd51
mov dword [ebp - 0x2324], 0x224
lea eax, [ebp - 0x2104]
mov cl, 0
mov edx, 0xc
call fcn.00404670
lea eax, [ebp - 0x2328]
mov cl, 0
mov edx, 0x224
call fcn.00404670
push 0
lea eax, [ebp - 0x24]
push eax
push 0x224
lea eax, [ebp - 0x2328]
push eax
push 0xc
lea eax, [ebp - 0x2104]
push eax
push 0x2d1400
mov eax, dword [ebp - 4]
push dword [eax + 0x90]
call sub.kernel32.dll_DeviceIoControl
test eax, eax
je 0x58dd31
push dword [ebp - 0x24]
lea ecx, [ebp - 0x2328]
mov eax, dword [0x7cefc0]
mov edx, str.query
call fcn.00415bd0
mov eax, dword [ebp - 0x2318]
test eax, eax
je 0x58dd1d
lea edx, [ebp - 0x2328]
mov eax, dword [ebp - 0x2318]
lea eax, [edx + eax]
mov dword [ebp - 0x232c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x259c], eax
mov eax, 0x765ecc
mov dword [ebp - 0x2598], eax
lea eax, [ebp - 0x2584]
call fcn.00404c10
mov dword [ebp - 0x2584], 0
lea eax, [ebp - 0x25a0]
call fcn.00404c10
mov dword [ebp - 0x25a0], 0
lea edx, [ebp - 0x25a0]
mov eax, dword [ebp - 0x232c]
call fcn.004086c0
mov eax, dword [ebp - 0x25a0]
lea edx, [ebp - 0x2584]
call fcn.00419860
mov eax, dword [ebp - 0x2584]
mov dword [ebp - 0x2594], eax
mov eax, 0x765ed8
mov dword [ebp - 0x2590], eax
lea edx, [ebp - 0x259c]
mov eax, dword [ebp - 4]
add eax, 0x24
mov ecx, 3
call fcn.004084c0
jmp 0x58dd43
mov eax, dword [ebp - 4]
mov ecx, str.no_product_id
mov edx, 2
call fcn.00579e90
jmp 0x58dd43
mov eax, dword [ebp - 4]
mov ecx, str.IOCTL_STORAGE_QUERY_PROPERTY_failed
mov edx, 2
call fcn.00579e90
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx]
call dword [edx + 0x8c]
mov eax, dword [ebp - 0x2030]
test eax, eax
jne 0x58dd60
mov eax, 0x7cbe60
push eax
call sub.kernel32.dll_GetDriveTypeA
mov dword [ebp - 0x2038], eax
cmp eax, 2
jl 0x58ddb7
sub eax, 2
je 0x58dda4
dec eax
je 0x58dd91
sub eax, 2
jne 0x58ddb7
mov dword [ebp - 8], 0x2404c
mov eax, dword [ebp - 4]
mov dword [eax + 0x40], 2
jmp 0x58de08
mov dword [ebp - 8], 0x70000
mov eax, dword [ebp - 4]
mov dword [eax + 0x40], 3
jmp 0x58de08
mov dword [ebp - 8], 0x70000
mov eax, dword [ebp - 4]
mov dword [eax + 0x40], 1
jmp 0x58de08
lea eax, [ebp - 0x25a0]
call fcn.00404c10
mov dword [ebp - 0x25a0], 0
mov ecx, dword [ebp - 0x2030]
lea eax, [ebp - 0x25a0]
mov edx, str.unknown_drive_type:
call fcn.00408350
mov ecx, dword [ebp - 0x25a0]
mov eax, dword [0x7cefc0]
mov edx, 5
call fcn.00415870
mov dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov dword [eax + 0x40], 0
mov dword [ebp - 0x2338], 0
mov dword [ebp - 0x2334], 0
mov dword [ebp - 0x2340], 0
mov dword [ebp - 0x233c], 0
mov dword [ebp - 0x20f0], 0
mov dword [ebp - 0x20ec], 0
lea ecx, [ebp - 0x2340]
lea edx, [ebp - 0x2338]
mov eax, dword [ebp - 0x2030]
call fcn.005594f0
mov eax, dword [ebp - 0x2338]
mov edx, dword [ebp - 0x2334]
test edx, edx
jg 0x58de71
jl 0x58de89
test eax, eax
jbe 0x58de89
mov eax, dword [ebp - 0x2338]
mov dword [ebp - 0x20f0], eax
mov eax, dword [ebp - 0x2334]
mov dword [ebp - 0x20ec], eax
mov eax, dword [ebp - 4]
call fcn.00582ab0
cmp eax, 2
jne 0x58dea8
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x9a]
mov byte [edx + 0x99], al
mov eax, dword [ebp - 4]
mov dl, 0
call fcn.00582ae0
test al, al
je 0x58e693
mov dword [ebp - 0x24], 0
push 0
lea eax, [ebp - 0x24]
push eax
push 0x18
lea eax, [ebp - 0x20]
push eax
push 0
push 0
push dword [ebp - 8]
mov eax, dword [ebp - 4]
push dword [eax + 0x90]
call sub.kernel32.dll_DeviceIoControl
test eax, eax
je 0x58e34a
lea eax, [ebp - 0x2058]
mov cl, 0
mov edx, 0x20
call fcn.00404670
push 0
lea eax, [ebp - 0x24]
push eax
push 0x20
lea eax, [ebp - 0x2058]
push eax
push 0
push 0
push 0x74004
mov eax, dword [ebp - 4]
push dword [eax + 0x90]
call sub.kernel32.dll_DeviceIoControl
mov dword [ebp - 0x20e8], eax
test eax, eax
je 0x58df68
mov edx, dword [ebp - 0x20f0]
mov eax, dword [ebp - 0x20ec]
test eax, eax
jne 0x58df47
test edx, edx
jne 0x58df47
mov eax, 0xffffffff
jmp 0x58df4c
mov eax, 0
test eax, eax
je 0x58df68
mov eax, dword [ebp - 0x2050]
mov dword [ebp - 0x20f0], eax
mov eax, dword [ebp - 0x204c]
mov dword [ebp - 0x20ec], eax
lea eax, [ebp - 0x25a0]
call fcn.00404c10
mov dword [ebp - 0x25a0], 0
lea edx, [ebp - 0x25a0]
mov eax, dword [ebp - 4]
call fcn.005845b0
mov eax, dword [ebp - 0x25a0]
mov dword [ebp - 0x25cc], eax
mov dword [ebp - 0x25d0], 0xb
mov eax, dword [ebp - 0x2030]
mov dword [ebp - 0x25c4], eax
mov dword [ebp - 0x25c8], 0xb
mov eax, dword [ebp - 0x20e8]
mov dword [ebp - 0x25bc], eax
mov dword [ebp - 0x25c0], 0
mov dword [ebp - 0x25b4], 0x20
mov dword [ebp - 0x25b8], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x25ac], eax
mov dword [ebp - 0x25b0], 0
lea eax, [ebp - 0x20f0]
mov dword [ebp - 0x25a4], eax
mov dword [ebp - 0x25a8], 0x11
lea eax, [ebp - 0x25d0]
push eax
push 5
mov eax, dword [0x7cefc0]
mov ecx, str.IOCTL_DISK_GET_PARTITION_INFO:_Device_name_s__path_s__res_d__sizeof_pi__d__bytesReturned_d__partitionlength_d
mov edx, 5
call fcn.00415900
mov edx, dword [ebp - 0x20f0]
mov eax, dword [ebp - 0x20ec]
test eax, eax
jne 0x58e175
test edx, edx
jne 0x58e175
lea eax, [ebp - 0x20e4]
mov cl, 0
mov edx, 0x89
call fcn.00404670
push 0
lea eax, [ebp - 0x24]
push eax
push 0x89
lea eax, [ebp - 0x20e4]
push eax
push 0
push 0
push 0x70048
mov eax, dword [ebp - 4]
push dword [eax + 0x90]
call sub.kernel32.dll_DeviceIoControl
mov dword [ebp - 0x20e8], eax
test eax, eax
je 0x58e0a2
mov eax, dword [ebp - 0x20d8]
mov dword [ebp - 0x20f0], eax
mov eax, dword [ebp - 0x20d4]
mov dword [ebp - 0x20ec], eax
jmp 0x58e0b6
mov dword [ebp - 0x20f0], 0
mov dword [ebp - 0x20ec], 0
lea eax, [ebp - 0x25a0]
call fcn.00404c10
mov dword [ebp - 0x25a0], 0
lea edx, [ebp - 0x25a0]
mov eax, dword [ebp - 4]
call fcn.005845b0
mov eax, dword [ebp - 0x25a0]
mov dword [ebp - 0x25cc], eax
mov dword [ebp - 0x25d0], 0xb
mov eax, dword [ebp - 0x2030]
mov dword [ebp - 0x25c4], eax
mov dword [ebp - 0x25c8], 0xb
mov eax, dword [ebp - 0x20e8]
mov dword [ebp - 0x25bc], eax
mov dword [ebp - 0x25c0], 0
mov dword [ebp - 0x25b4], 0x89
mov dword [ebp - 0x25b8], 0
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x25ac], eax
mov dword [ebp - 0x25b0], 0
lea eax, [ebp - 0x20f0]
mov dword [ebp - 0x25a4], eax
mov dword [ebp - 0x25a8], 0x11
lea eax, [ebp - 0x25d0]
push eax
push 5
mov eax, dword [0x7cefc0]
mov ecx, str.IOCTL_DISK_GET_PARTITION_INFO_EX:_device_name_s__path_s__res_d__sizeof_piEx__d__bytesReturned_d__partitionlength_d
mov edx, 5
call fcn.00415900
mov eax, dword [ebp - 0x20f0]
mov edx, dword [ebp - 0x20ec]
test edx, edx
jne 0x58e262
test eax, eax
jne 0x58e262
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
mov eax, 0
push eax
push edx
mov eax, 0
call fcn.00407f10
push edx
push eax
mov eax, dword [ebp - 0x10]
mov edx, 0
push edx
push eax
mov eax, 0
call fcn.00407f10
push edx
push eax
mov eax, dword [ebp - 0xc]
mov edx, 0
push edx
push eax
mov eax, 0
call fcn.00407f10
mov dword [ebp - 0x20f0], eax
mov dword [ebp - 0x20ec], edx
lea eax, [ebp - 0x20]
mov dword [ebp - 0x25c4], eax
mov dword [ebp - 0x25c8], 0x10
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x25bc], eax
mov dword [ebp - 0x25c0], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x25b4], eax
mov dword [ebp - 0x25b8], 0
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x25ac], eax
mov dword [ebp - 0x25b0], 0
lea eax, [ebp - 0x20f0]
mov dword [ebp - 0x25a4], eax
mov dword [ebp - 0x25a8], 0x11
lea eax, [ebp - 0x25c8]
push eax
push 4
mov eax, dword [0x7cefc0]
mov ecx, str.Using_geometry_size:_geo.Cylinders___d___geo.TracksPerCylinder___d___geo.SectorsPerTrack___d___geo.BytesPerSector___d____d_bytes
mov edx, 5
call fcn.00415900
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.00582c70
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx]
call dword [edx + 0x70]
mov edx, 0
push edx
push eax
push dword [ebp - 0x20ec]
push dword [ebp - 0x20f0]
call fcn.00407de0
push edx
push eax
mov eax, dword [ebp - 4]
call fcn.005844d0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x84]
mov dword [ebp - 0x25bc], eax
mov dword [ebp - 0x25c0], 0
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx]
call dword [edx + 0x70]
mov dword [ebp - 0x25b4], eax
mov dword [ebp - 0x25b8], 0
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx]
call dword [edx + 0x7c]
mov dword [ebp - 0x25c8], eax
mov dword [ebp - 0x25c4], edx
lea eax, [ebp - 0x25c8]
mov dword [ebp - 0x25ac], eax
mov dword [ebp - 0x25b0], 0x11
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx]
call dword [edx + 0x64]
mov dword [ebp - 0x25d0], eax
mov dword [ebp - 0x25cc], edx
lea eax, [ebp - 0x25d0]
mov dword [ebp - 0x25a4], eax
mov dword [ebp - 0x25a8], 0x11
lea eax, [ebp - 0x25c0]
push eax
push 3
mov eax, dword [0x7cefc0]
mov ecx, str.physicalBlockSize_d__BlockSize_d__BlockCount_d__Size_d
mov edx, 5
call fcn.00415900
jmp 0x58e3e2
lea eax, [ebp - 0x25a0]
call fcn.00404c10
mov dword [ebp - 0x25a0], 0
mov eax, str.Error:_Cannot_get_drive_geometry
mov dword [ebp - 0x25b0], eax
mov eax, dword [ebp - 0x2030]
mov dword [ebp - 0x25ac], eax
mov eax, str.__ctlcode
mov dword [ebp - 0x25a8], eax
lea eax, [ebp - 0x25d4]
call fcn.00404c10
mov dword [ebp - 0x25d4], 0
mov eax, dword [ebp - 8]
mov edx, 0
push edx
push eax
lea eax, [ebp - 0x25d4]
call fcn.00419b60
mov eax, dword [ebp - 0x25d4]
mov dword [ebp - 0x25a4], eax
lea edx, [ebp - 0x25b0]
lea eax, [ebp - 0x25a0]
mov ecx, 3
call fcn.004084c0
mov ecx, dword [ebp - 0x25a0]
mov eax, dword [0x7cefc0]
mov edx, 3
call fcn.00415870
mov eax, dword [ebp - 4]
call fcn.00582ab0
cmp eax, 2
jne 0x58e444
mov eax, dword [ebp - 4]
call fcn.0058cf30
lea edx, [ebp - 0x20f8]
mov eax, dword [ebp - 4]
call fcn.0058cfa0
test al, al
je 0x58e56c
push dword [ebp - 0x20f4]
push dword [ebp - 0x20f8]
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 4]
mov edx, dword [edx]
call dword [edx + 0x70]
mov edx, 0
push edx
push eax
mov eax, 0
call fcn.00407f10
push edx
push eax
mov eax, dword [ebp - 4]
call fcn.00584680
jmp 0x58e56c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
test eax, eax
jne 0x58e56c
mov dword [ebp - 8], fcn.00560000
mov dword [ebp - 0x28], 0x610
push 0
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x28]
mov eax, dword [ebp - 4]
add eax, 0xa0
push eax
push 0
push 0
push dword [ebp - 8]
mov eax, dword [ebp - 4]
push dword [eax + 0x90]
call sub.kernel32.dll_DeviceIoControl
test eax, eax
je 0x58e524
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0xa0]
dec ebx
mov dword [ebp - 0x2348], 0
cmp ebx, dword [ebp - 0x2348]
jl 0x58e56c
dec dword [ebp - 0x2348]
inc dword [ebp - 0x2348]
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x2348]
imul eax, eax, 0x18
mov eax, dword [edx + eax + 0xa8]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2030]
mov dword [ebp - 0x25ac], eax
mov dword [ebp - 0x25b0], 0xb
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x25a4], eax
mov dword [ebp - 0x25a8], 0
lea eax, [ebp - 0x25b0]
push eax
push 1
mov eax, dword [0x7cefc0]
mov ecx, str.volume__s_belongs_to_physical_disk_d
mov edx, 4
call fcn.00415900
cmp ebx, dword [ebp - 0x2348]
jg 0x58e4b8
jmp 0x58e56c
mov eax, dword [ebp - 0x2030]
mov dword [ebp - 0x25ac], eax
mov dword [ebp - 0x25b0], 0xb
call sub.kernel32.dll_GetLastError
mov dword [ebp - 0x25a4], eax
mov dword [ebp - 0x25a8], 0
lea eax, [ebp - 0x25b0]
push eax
push 1
mov eax, dword [0x7cefc0]
mov ecx, str.Cannot_get_volume_extents_of__s__getLastError_d
mov edx, 2
call fcn.00415900
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
test eax, eax
jne 0x58e689
lea eax, [ebp - 0x25d4]
call fcn.00404c10
mov dword [ebp - 0x25d4], 0
lea edx, [ebp - 0x25d4]
mov eax, dword [ebp - 0x2030]
call fcn.00559260
mov eax, dword [ebp - 0x25d4]
lea edx, [ebp - 0x2344]
call fcn.00419680
mov ebx, dword [ebp - 4]
lea eax, [ebp - 0x25d4]
call fcn.00404c10
mov dword [ebp - 0x25d4], 0
lea eax, [ebp - 0x25a0]
call fcn.00404c10
mov dword [ebp - 0x25a0], 0
lea eax, [ebp - 0x25d8]
call fcn.00404c10
mov dword [ebp - 0x25d8], 0
lea eax, [ebp - 0x25d8]
call fcn.005596a0
mov eax, dword [ebp - 0x25d8]
mov edx, dword [ebp - 0x2344]
test edx, edx
je 0x58e614
mov edx, dword [edx - 4]
lea ecx, [ebp - 0x25a0]
call fcn.0041d140
mov eax, dword [ebp - 0x25a0]
lea edx, [ebp - 0x25d4]
call fcn.00419680
mov eax, dword [ebp - 0x25d4]
mov edx, dword [ebp - 0x2344]
call fcn.00408880
test eax, eax
sete byte [ebx + 0x9e]
lea eax, [ebp - 0x25d8]
call fcn.00404c10
mov dword [ebp - 0x25d8], 0
mov edx, dword [ebp - 0x2344]
lea eax, [ebp - 0x25d8]
mov ecx, str.pagefile.sys
call fcn.00408350
mov eax, dword [ebp - 0x25d8]
call fcn.00559db0
mov edx, dword [ebp - 4]
mov byte [edx + 0x9f], al
mov eax, dword [ebp - 4]
call fcn.00583030
jmp 0x58e6d3
lea eax, [ebp - 0x25d8]
call fcn.00404c10
mov dword [ebp - 0x25d8], 0
mov ecx, dword [ebp - 0x2030]
lea eax, [ebp - 0x25d8]
mov edx, str.Error:_Cannot_open
call fcn.00408350
mov ecx, dword [ebp - 0x25d8]
mov eax, dword [0x7cefc0]
mov edx, 2
call fcn.00415870
call fcn.0040d3b0
lea eax, [ebp - 0x25d8]
call fcn.00404c10
mov dword [ebp - 0x25d8], 0
lea eax, [ebp - 0x25d4]
call fcn.00404c10
mov dword [ebp - 0x25d4], 0
lea eax, [ebp - 0x25a0]
call fcn.00404c10
mov dword [ebp - 0x25a0], 0
lea eax, [ebp - 0x2584]
call fcn.00404c10
mov dword [ebp - 0x2584], 0
lea eax, [ebp - 0x2580]
call fcn.00404c10
mov dword [ebp - 0x2580], 0
lea eax, [ebp - 0x257c]
call fcn.00409310
mov dword [ebp - 0x257c], 0
lea eax, [ebp - 0x2378]
call fcn.00404c10
mov dword [ebp - 0x2378], 0
lea eax, [ebp - 0x2374]
call fcn.0040a610
mov dword [ebp - 0x2374], 0
lea eax, [ebp - 0x2030]
call fcn.00404c10
mov dword [ebp - 0x2030], 0
lea eax, [ebp - 0x2034]
call fcn.00404c10
mov dword [ebp - 0x2034], 0
lea eax, [ebp - 0x2344]
call fcn.00404c10
mov dword [ebp - 0x2344], 0
pop eax
test eax, eax
je 0x58e7c9
call fcn.0040d520
mov ebx, dword [ebp - 0x25dc]
leave
ret