Function at 0x4315b0
Capabilities:
Get common file path
Get disk information
Get disk information via ioctl
Get storage device properties

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x8cc
mov dword [ebp - 0x8b4], eax
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
lea eax, [ebp - 0x820]
mov dword [ebp - 0x824], 0
mov byte [ebp - 0x820], 0
mov dword [ebp - 0x828], eax
lea eax, [ebp - 0x520]
mov dword [ebp - 0x524], 0
mov byte [ebp - 0x520], 0
mov dword [ebp - 0x50c], 0
mov dword [ebp - 0x528], eax
lea eax, [ebp - 0x508]
mov byte [ebp - 0x508], 0
mov dword [ebp - 0x4f4], 0
mov byte [ebp - 0x4f0], 0
mov dword [ebp - 0x510], eax
lea eax, [ebp - 0x4f0]
mov dword [ebp - 0x4d8], 0
mov byte [ebp - 0x4d4], 0
mov dword [ebp - 0x4c0], 0
mov dword [ebp - 0x4f8], eax
lea eax, [ebp - 0x4d4]
mov byte [ebp - 0x4bc], 0
mov dword [ebp - 0x4a4], 0
mov byte [ebp - 0x4a0], 0
mov dword [ebp - 0x4dc], eax
lea eax, [ebp - 0x4bc]
mov dword [ebp - 0x48c], 0
mov dword [ebp - 0x4c4], eax
lea eax, [ebp - 0x4a0]
mov dword [ebp - 0x4a8], eax
lea eax, [ebp - 0x488]
mov dword [ebp - 0x490], eax
lea eax, [ebp - 0x470]
mov byte [ebp - 0x488], 0
mov dword [ebp - 0x474], 0
mov byte [ebp - 0x470], 0
mov dword [ebp - 0x478], eax
lea eax, [ebp - 0x528]
mov dword [ebp - 0x458], 0x200
mov dword [ebp - 0x454], 0x200
mov dword [ebp - 0x450], 0
mov dword [ebp - 0x44c], 0
mov dword [ebp - 0x448], 0
mov dword [ebp - 0x444], 0
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x43c], 0
mov dword [esp + 0xc], 0x12
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x53d874
mov dword [ebp - 0x8b0], eax
call dword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsA]
sub esp, 0x10
cmp eax, 0xffffffff
mov dword [ebp - 0x8a0], eax
je 0x433f8c
lea eax, [ebp - 0x528]
mov dword [ebp - 0x674], 0x1c
mov dword [ebp - 0x8b8], 0
mov dword [ebp - 0x8b0], eax
nop
lea eax, [ebp - 0x674]
mov esi, dword [ebp - 0x8a0]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x8b8]
mov dword [esp], esi
mov dword [esp + 4], eax
call dword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInfo]
sub esp, 0xc
test eax, eax
je 0x43325c
mov eax, dword [ebp - 0x674]
lea edi, [ebp - 0x428]
mov ecx, 0x41
mov ebx, dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyA]
mov dword [ebp - 0x63c], eax
mov eax, dword [ebp - 0x670]
mov dword [ebp - 0x638], eax
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0x634], eax
mov eax, dword [ebp - 0x668]
mov dword [ebp - 0x630], eax
mov eax, dword [ebp - 0x664]
mov dword [ebp - 0x62c], eax
mov eax, dword [ebp - 0x660]
mov dword [ebp - 0x628], eax
mov eax, dword [ebp - 0x65c]
mov dword [ebp - 0x624], eax
xor eax, eax
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x428]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x16
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x63c]
mov dword [esp], esi
mov dword [esp + 4], eax
call ebx
sub esp, 0x1c
test eax, eax
jne 0x43322b
lea eax, [ebp - 0x808]
lea edi, [ebp - 0x810]
mov dword [ebp - 0x80c], 0
mov byte [ebp - 0x808], 0
mov dword [ebp - 0x88c], eax
mov dword [ebp - 0x810], eax
lea esi, [ebp - 0x828]
mov dword [esp], edi
mov ecx, esi
call fcn.00526a38
mov eax, dword [ebp - 0x810]
sub esp, 4
cmp eax, dword [ebp - 0x88c]
je 0x4318bd
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x828]
mov dword [esp], str._INFO__Enumerating__s_n
mov dword [esp + 4], eax
call fcn.0042f6c0
lea edi, [ebp - 0x1d8]
xor eax, eax
mov ecx, 0x2e
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x218]
mov edi, dword [ebp - 0x8b0]
mov dword [ebp - 0x21c], 0
mov byte [ebp - 0x218], 0
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0x200]
mov byte [ebp - 0x200], 0
mov ecx, edi
mov dword [ebp - 0x1ec], 0
mov byte [ebp - 0x1e8], 0
mov dword [ebp - 0x208], eax
lea eax, [ebp - 0x1e8]
mov dword [ebp - 0x150], 0x200
mov dword [ebp - 0x14c], 0x200
mov dword [ebp - 0x1f0], eax
lea eax, [ebp - 0x1cc]
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x1b4]
mov dword [ebp - 0x1bc], eax
lea eax, [ebp - 0x198]
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x180]
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0x168]
mov dword [ebp - 0x170], eax
lea eax, [ebp - 0x220]
mov dword [esp], eax
call fcn.00526a38
lea eax, [ebp - 0x208]
sub esp, 4
lea ecx, [ebp - 0x510]
mov dword [esp], eax
call fcn.00526a38
lea eax, [ebp - 0x1f0]
sub esp, 4
lea ecx, [ebp - 0x4f8]
mov dword [esp], eax
call fcn.00526a38
movzx eax, byte [ebp - 0x1d8]
sub esp, 4
lea ecx, [ebp - 0x4dc]
mov byte [ebp - 0x4e0], al
lea eax, [ebp - 0x1d4]
mov dword [esp], eax
call fcn.00526a38
lea eax, [ebp - 0x1bc]
sub esp, 4
lea ecx, [ebp - 0x4c4]
mov dword [esp], eax
call fcn.00526a38
movzx eax, byte [ebp - 0x1a4]
sub esp, 4
lea ecx, [ebp - 0x4a8]
mov byte [ebp - 0x4ac], al
lea eax, [ebp - 0x1a0]
mov dword [esp], eax
call fcn.00526a38
lea eax, [ebp - 0x188]
sub esp, 4
lea ecx, [ebp - 0x490]
mov dword [esp], eax
call fcn.00526a38
lea eax, [ebp - 0x170]
sub esp, 4
lea ecx, [ebp - 0x478]
mov dword [esp], eax
call fcn.00526a38
mov eax, dword [ebp - 0x158]
mov edx, dword [ebp - 0x154]
lea ecx, [ebp - 0x324]
sub esp, 4
mov dword [ebp - 0x460], eax
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x45c], edx
mov dword [ebp - 0x458], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x454], eax
mov eax, dword [ebp - 0x450]
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x44c]
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x450], eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x44c], eax
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x448], eax
call fcn.00407a30
mov eax, dword [ebp - 0x444]
lea ecx, [ebp - 0x324]
mov dword [ebp - 0x324], eax
mov eax, dword [ebp - 0x440]
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0x43c]
mov dword [ebp - 0x31c], eax
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x13c], 0
mov dword [ebp - 0x444], eax
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x440], eax
mov eax, dword [ebp - 0x134]
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x43c], eax
call fcn.00407a30
mov eax, dword [ebp - 0x130]
lea ecx, [ebp - 0x220]
mov dword [ebp - 0x438], eax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x434], eax
movzx eax, byte [ebp - 0x128]
mov byte [ebp - 0x430], al
call fcn.00407ba0
mov dword [esp], esi
mov ecx, edi
call fcn.00526a60
mov eax, dword [ebp - 0x674]
lea edi, [ebp - 0x220]
mov ecx, 0x82
sub esp, 4
mov dword [ebp - 0x620], eax
mov eax, dword [ebp - 0x670]
mov dword [ebp - 0x61c], eax
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0x618], eax
mov eax, dword [ebp - 0x668]
mov dword [ebp - 0x614], eax
mov eax, dword [ebp - 0x664]
mov dword [ebp - 0x610], eax
mov eax, dword [ebp - 0x660]
mov dword [ebp - 0x60c], eax
mov eax, dword [ebp - 0x65c]
mov dword [ebp - 0x608], eax
xor eax, eax
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x220]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x208
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xc
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x620]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8a0]
mov dword [esp], eax
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceRegistryPropertyW]
sub esp, 0x1c
test eax, eax
lea esi, [ebp - 0x7f8]
je 0x4330a0
lea edx, [ebp - 0x220]
mov eax, esi
call fcn.0042f970
lea ecx, [ebp - 0x490]
mov dword [esp], esi
call fcn.00526a38
mov eax, dword [ebp - 0x7f8]
lea edx, [ebp - 0x7f0]
sub esp, 4
cmp eax, edx
je 0x431c99
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x674]
mov esi, dword [ebp - 0x8a0]
mov dword [ebp - 0x880], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 4
mov dword [esp + 0xc], 0
mov dword [ebp - 0x658], eax
mov eax, dword [ebp - 0x670]
mov dword [esp + 8], 0x1f
mov dword [esp], esi
mov dword [ebp - 0x654], eax
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0x650], eax
mov eax, dword [ebp - 0x668]
mov dword [ebp - 0x64c], eax
mov eax, dword [ebp - 0x664]
mov dword [ebp - 0x648], eax
mov eax, dword [ebp - 0x660]
mov dword [ebp - 0x644], eax
mov eax, dword [ebp - 0x65c]
mov dword [ebp - 0x640], eax
lea eax, [ebp - 0x880]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x658]
mov dword [esp + 4], eax
call ebx
mov eax, dword [ebp - 0x880]
sub esp, 0x1c
lea edi, [ebp - 0x324]
mov ecx, 0x41
sub eax, 2
cmp eax, 2
mov eax, dword [ebp - 0x674]
setb byte [ebp - 0x435]
mov dword [ebp - 0x604], eax
mov eax, dword [ebp - 0x670]
mov dword [ebp - 0x600], eax
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0x5fc], eax
mov eax, dword [ebp - 0x668]
mov dword [ebp - 0x5f8], eax
mov eax, dword [ebp - 0x664]
mov dword [ebp - 0x5f4], eax
mov eax, dword [ebp - 0x660]
mov dword [ebp - 0x5f0], eax
mov eax, dword [ebp - 0x65c]
mov dword [ebp - 0x5ec], eax
xor eax, eax
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x324]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0x104
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x604]
mov dword [esp], esi
mov dword [esp + 4], eax
call ebx
sub esp, 0x1c
xor ebx, ebx
test eax, eax
jne 0x433100
lea eax, [ebp - 0x218]
mov edx, dword [ebp - 0x824]
lea ecx, [ebp - 0x220]
mov byte [ebp - 0x436], bl
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x828]
add edx, eax
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00431450
mov ebx, dword [0x62f104]
sub esp, 8
lea esi, [ebp - 0x7c0]
cmp ebx, 0x62f0fc
jne 0x431e71
jmp 0x433090
cmp edi, esi
je 0x431e5c
mov dword [esp], edi
call sub.libstdc_6.dll_operator_delete_void_
mov dword [esp], ebx
call fcn.005269b0
cmp eax, 0x62f0fc
mov ebx, eax
je 0x433090
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
lea ecx, [ebp - 0x7c8]
mov dword [ebp - 0x7c8], esi
add edx, eax
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00431450
sub esp, 8
mov eax, dword [ebp - 0x21c]
cmp eax, dword [ebp - 0x7c4]
mov edi, dword [ebp - 0x7c8]
jne 0x431e50
test eax, eax
mov edx, dword [ebp - 0x220]
je 0x431ed6
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [ebp - 0x88c], edx
call sub.msvcrt.dll_memcmp
test eax, eax
mov edx, dword [ebp - 0x88c]
jne 0x431e50
cmp edi, esi
je 0x431ee8
mov dword [esp], edi
call sub.libstdc_6.dll_operator_delete_void_
mov edx, dword [ebp - 0x220]
mov eax, 1
mov byte [ebp - 0x433], al
lea eax, [ebp - 0x218]
cmp edx, eax
je 0x431f05
mov dword [esp], edx
call sub.libstdc_6.dll_operator_delete_void_
lea eax, [ebp - 0x218]
mov edx, dword [ebp - 0x824]
lea ecx, [ebp - 0x220]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x828]
add edx, eax
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00431450
mov ebx, dword [0x62f11c]
sub esp, 8
lea esi, [ebp - 0x7a8]
cmp ebx, 0x62f114
jne 0x431f71
jmp 0x433080
cmp edi, esi
je 0x431f5c
mov dword [esp], edi
call sub.libstdc_6.dll_operator_delete_void_
mov dword [esp], ebx
call fcn.005269b0
cmp eax, 0x62f114
mov ebx, eax
je 0x433080
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
lea ecx, [ebp - 0x7b0]
mov dword [ebp - 0x7b0], esi
add edx, eax
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00431450
sub esp, 8
mov eax, dword [ebp - 0x21c]
cmp eax, dword [ebp - 0x7ac]
mov edi, dword [ebp - 0x7b0]
jne 0x431f50
test eax, eax
mov edx, dword [ebp - 0x220]
je 0x431fd6
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [ebp - 0x88c], edx
call sub.msvcrt.dll_memcmp
test eax, eax
mov edx, dword [ebp - 0x88c]
jne 0x431f50
cmp edi, esi
je 0x431fe8
mov dword [esp], edi
call sub.libstdc_6.dll_operator_delete_void_
mov edx, dword [ebp - 0x220]
mov eax, 1
mov byte [ebp - 0x432], al
lea eax, [ebp - 0x218]
cmp edx, eax
je 0x432005
mov dword [esp], edx
call sub.libstdc_6.dll_operator_delete_void_
mov ecx, dword [ebp - 0x8b0]
mov dword [esp], 0x53d187
call fcn.00526b70
sub esp, 4
test eax, eax
sete byte [ebp - 0x434]
xor edx, edx
cmp byte [ebp - 0x435], 0
je 0x4331ea
movzx eax, byte [ebp - 0x433]
mov byte [ebp - 0x437], dl
test al, al
je 0x432070
movzx eax, byte [ebp - 0x435]
test al, al
je 0x432070
xor eax, eax
cmp byte [ebp - 0x436], 0
jne 0x432070
movzx eax, byte [ebp - 0x434]
xor eax, 1
lea esi, [esi]
lea edi, [edi]
mov byte [ebp - 0x431], al
mov eax, dword [ebp - 0x674]
mov byte [ebp - 0x4ac], 1
mov dword [ebp - 0x8ac], 0
mov dword [ebp - 0x8a8], 0
mov dword [ebp - 0x5e8], eax
mov eax, dword [ebp - 0x670]
mov dword [ebp - 0x5e4], eax
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0x5e0], eax
mov eax, dword [ebp - 0x668]
mov dword [ebp - 0x5dc], eax
mov eax, dword [ebp - 0x664]
mov dword [ebp - 0x5d8], eax
mov eax, dword [ebp - 0x660]
mov dword [ebp - 0x5d4], eax
mov eax, dword [ebp - 0x65c]
mov dword [ebp - 0x5d0], eax
lea esi, [esi]
lea edi, [edi]
lea eax, [ebp - 0x5cc]
mov dword [ebp - 0x5cc], 0x1c
mov dword [esp + 8], 0x53d874
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x8ac]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x5e8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8a0]
mov dword [esp], eax
call dword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInterfaces]
sub esp, 0x14
test eax, eax
je 0x43329f
lea eax, [ebp - 0x87c]
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov ebx, dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInterfaceDetailW]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x5cc]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8a0]
mov dword [esp], eax
call ebx
sub esp, 0x18
test eax, eax
jne 0x432ab0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x433ef0
mov esi, dword [ebp - 0x87c]
mov dword [esp], esi
call sub.msvcrt.dll_malloc
test eax, eax
mov dword [ebp - 0x8a8], eax
je 0x433d11
mov dword [eax], 6
mov dword [esp + 8], eax
lea eax, [ebp - 0x5cc]
lea edi, [ebp - 0x87c]
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x8a0]
mov dword [esp + 0x10], edi
mov dword [esp], eax
call ebx
sub esp, 0x18
test eax, eax
je 0x433854
mov eax, dword [ebp - 0x8a8]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], pe_nt_image_headers32
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 3
add eax, 4
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
sub esp, 0x1c
cmp eax, 0xffffffff
mov dword [ebp - 0x89c], eax
je 0x433955
lea eax, [ebp - 0x5b0]
lea ebx, [ebp - 0x878]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0x20
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x89c]
mov dword [esp + 0x18], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x560000
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov dword [ebp - 0x890], eax
call eax
sub esp, 0x20
test eax, eax
je 0x432880
mov eax, dword [ebp - 0x5b0]
test eax, eax
je 0x432880
cmp eax, 1
ja 0x4338f6
mov eax, dword [ebp - 0x5a8]
mov dword [ebp - 0x898], eax
lea eax, [ebp - 0x864]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], 0xc
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x89c]
mov dword [esp + 8], 0
mov dword [esp + 4], 0x2d1080
mov dword [esp], eax
mov eax, dword [ebp - 0x890]
call eax
sub esp, 0x20
test eax, eax
mov eax, dword [ebp - 0x898]
cmovne eax, dword [ebp - 0x860]
cmp eax, 0xffffffff
mov dword [ebp - 0x898], eax
je 0x4338f6
lea ebx, [ebp - 0x720]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x53d3ce
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x42f220
mov dword [esp], ebx
call fcn.00431510
mov dword [esp + 0xc], 0x11
mov dword [esp + 8], str..PhysicalDrive
mov ecx, ebx
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00526ac0
sub esp, 0x10
lea ecx, [ebp - 0x220]
lea edi, [ebp - 0x218]
mov dword [esp], eax
call fcn.00526a40
lea eax, [ebp - 0x220]
sub esp, 4
lea ecx, [ebp - 0x4a8]
mov dword [esp], eax
call fcn.00526a38
mov eax, dword [ebp - 0x220]
sub esp, 4
cmp eax, edi
je 0x4323bc
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x720]
lea edx, [ebp - 0x718]
cmp eax, edx
je 0x4323d4
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
lea eax, [ebp - 0x4a8]
lea ecx, [ebp - 0x4dc]
mov dword [esp], eax
call fcn.00526a60
sub esp, 4
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
test eax, eax
mov ebx, eax
mov dword [ebp - 0x858], 0
mov dword [ebp - 0x854], 0
mov dword [ebp - 0x850], 0
je 0x432ad0
lea eax, [ebp - 0x858]
mov esi, 0x41
mov dword [ebp - 0x8a4], eax
jmp 0x432437
add esi, 1
shr ebx, 1
je 0x4324a0
test bl, 1
je 0x432430
lea eax, [ebp - 0x218]
lea ecx, [ebp - 0x220]
mov dword [esp], 1
mov dword [ebp - 0x220], eax
mov eax, esi
movsx eax, al
mov dword [esp + 4], eax
call fcn.00526ab8
lea eax, [ebp - 0x220]
mov ecx, dword [ebp - 0x8a4]
sub esp, 8
mov dword [esp], eax
call fcn.0042f6f0
mov eax, dword [ebp - 0x220]
lea edi, [ebp - 0x218]
sub esp, 4
cmp eax, edi
je 0x432430
mov dword [esp], eax
add esi, 1
call sub.libstdc_6.dll_operator_delete_void_
shr ebx, 1
jne 0x432437
lea esi, [esi]
mov eax, dword [ebp - 0x854]
mov esi, dword [ebp - 0x858]
cmp esi, eax
mov dword [ebp - 0x894], eax
je 0x4328b1
lea eax, [ebp - 0x420]
mov edi, 0xffffffff
mov dword [ebp - 0x88c], eax
jmp 0x4324fa
mov eax, dword [ebp - 0x428]
mov edi, 0xffffffff
cmp eax, dword [ebp - 0x88c]
je 0x4324eb
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
add esi, 0x18
cmp dword [ebp - 0x894], esi
je 0x4328a0
mov eax, dword [ebp - 0x88c]
lea ecx, [ebp - 0x428]
mov dword [ebp - 0x428], eax
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov dword [esp], eax
add edx, eax
mov dword [esp + 4], edx
call fcn.00431450
sub esp, 8
cmp edi, 0xffffffff
je 0x432533
mov dword [esp], edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
lea eax, [ebp - 0x218]
mov edx, dword [ebp - 0x424]
lea ecx, [ebp - 0x220]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp - 0x428]
add edx, eax
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00431450
mov eax, 0x7fffffff
sub eax, dword [ebp - 0x21c]
sub esp, 8
cmp eax, 1
jbe 0x434048
lea ecx, [ebp - 0x220]
mov dword [esp + 4], 2
mov dword [esp], 0x53d3f8
call fcn.00526a68
mov eax, dword [ebp - 0x220]
sub esp, 8
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
mov ebx, eax
mov eax, dword [ebp - 0x220]
lea edi, [ebp - 0x218]
sub esp, 4
cmp eax, edi
je 0x4325bf
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
lea eax, [ebx - 2]
cmp eax, 1
ja 0x4324d0
mov eax, dword [ebp - 0x424]
lea ebx, [ebp - 0x31c]
lea ecx, [ebp - 0x324]
mov dword [ebp - 0x320], 0
mov byte [ebp - 0x31c], 0
mov dword [ebp - 0x324], ebx
add eax, 4
mov dword [esp], eax
call fcn.00526a78
mov eax, 0x7fffffff
sub eax, dword [ebp - 0x320]
sub esp, 4
cmp eax, 3
jbe 0x434100
lea ecx, [ebp - 0x324]
mov dword [esp + 4], 4
mov dword [esp], 0x53d3fb
call fcn.00526a68
mov eax, dword [ebp - 0x424]
sub esp, 8
lea ecx, [ebp - 0x324]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x428]
mov dword [esp], eax
call fcn.00526a68
sub esp, 8
cmp dword [ebp - 0x320], 0x7fffffff
je 0x4340d0
lea ecx, [ebp - 0x324]
mov dword [esp + 4], 1
mov dword [esp], 0x53d400
call fcn.00526a68
sub esp, 8
lea ecx, [ebp - 0x220]
mov dword [esp], eax
call fcn.00526a40
mov eax, dword [ebp - 0x220]
sub esp, 4
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], pe_nt_image_headers32
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 3
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, eax
mov eax, dword [ebp - 0x220]
lea edx, [ebp - 0x218]
sub esp, 0x1c
cmp eax, edx
je 0x4326ee
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x324]
cmp eax, ebx
je 0x432700
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
cmp edi, 0xffffffff
je 0x432870
lea eax, [ebp - 0x874]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0x20
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x590]
mov dword [esp + 4], 0x560000
mov dword [esp], edi
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x890]
call eax
sub esp, 0x20
test eax, eax
je 0x432aa0
mov eax, dword [ebp - 0x590]
test eax, eax
je 0x432aa0
cmp eax, 1
mov ebx, dword [ebp - 0x588]
ja 0x432870
lea eax, [ebp - 0x874]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0xc
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 0x18], eax
lea eax, [ebp - 0x84c]
mov dword [esp + 4], 0x2d1080
mov dword [esp], edi
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x890]
call eax
sub esp, 0x20
test eax, eax
cmovne ebx, dword [ebp - 0x848]
mov eax, dword [ebp - 0x428]
cmp ebx, 0xffffffff
je 0x4324db
cmp dword [ebp - 0x898], ebx
jne 0x4324db
mov edx, dword [ebp - 0x424]
lea ebx, [ebp - 0x218]
lea ecx, [ebp - 0x220]
mov dword [esp], eax
mov dword [ebp - 0x220], ebx
add edx, eax
mov dword [esp + 4], edx
call fcn.00431450
mov eax, 0x7fffffff
sub eax, dword [ebp - 0x21c]
sub esp, 8
cmp eax, 1
jbe 0x43432e
lea ecx, [ebp - 0x220]
mov dword [esp + 4], 2
mov dword [esp], 0x53d3f8
call fcn.00526a68
lea eax, [ebp - 0x220]
sub esp, 8
lea ecx, [ebp - 0x450]
mov dword [esp], eax
call fcn.0042f6f0
mov eax, dword [ebp - 0x220]
lea ebx, [ebp - 0x218]
sub esp, 4
cmp eax, ebx
je 0x432870
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
nop
mov eax, dword [ebp - 0x428]
jmp 0x4324db
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x898], 0xffffffff
jmp 0x4322c1
cmp edi, 0xffffffff
je 0x4328b1
mov dword [esp], edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov ecx, dword [ebp - 0x8a4]
call fcn.00407a30
mov eax, dword [ebp - 0x4a8]
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], pe_nt_image_headers32
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 3
mov dword [esp + 4], 0
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
sub esp, 0x1c
cmp eax, 0xffffffff
mov edi, eax
je 0x433c30
lea eax, [ebp - 0x870]
lea ebx, [ebp - 0x550]
mov dword [ebp - 0x870], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0x28
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x700a0
mov dword [esp], edi
mov esi, dword [ebp - 0x890]
call esi
sub esp, 0x20
test eax, eax
je 0x432af0
mov eax, dword [ebp - 0x538]
mov edx, dword [ebp - 0x534]
mov dword [ebp - 0x86c], 0
mov dword [ebp - 0x83c], 0
mov dword [ebp - 0x838], 0
mov dword [ebp - 0x840], 1
mov dword [ebp - 0x460], eax
mov eax, dword [ebp - 0x53c]
mov dword [ebp - 0x45c], edx
lea edx, [ebp - 0x86c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0x20
mov dword [esp + 0xc], 0xc
mov dword [ebp - 0x458], eax
mov dword [esp + 0x18], edx
lea eax, [ebp - 0x840]
lea edx, [ebp - 0x570]
mov dword [esp + 4], 0x2d1400
mov dword [esp], edi
mov dword [esp + 8], eax
mov dword [esp + 0x10], edx
call esi
sub esp, 0x20
test eax, eax
jne 0x432c20
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ebx, [ebp - 0x6d8]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x53d287
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x42f220
mov dword [esp], ebx
call fcn.00431510
mov dword [esp], str.Couldnt_get_device_adapter_descriptor:_Error
mov ecx, ebx
call fcn.0042f1e0
sub esp, 4
lea ecx, [ebp - 0x220]
lea esi, [ebp - 0x218]
mov dword [esp], eax
call fcn.00526a40
lea eax, [ebp - 0x220]
sub esp, 4
lea ecx, [ebp - 0x478]
mov dword [esp], eax
call fcn.00526a38
mov eax, dword [ebp - 0x220]
sub esp, 4
cmp eax, esi
je 0x432a80
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x6d8]
lea edx, [ebp - 0x6d0]
cmp eax, edx
jne 0x432b81
jmp 0x432b89
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, 0xffffffff
jmp 0x432778
mov esi, dword [ebp - 0x87c]
mov eax, dword [ebp - 0x8a8]
jmp 0x4321ad
lea eax, [ebp - 0x858]
mov dword [ebp - 0x8a4], eax
jmp 0x4328b1
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ebx, [ebp - 0x6f0]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x53d287
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x42f220
mov dword [esp], ebx
call fcn.00431510
mov dword [esp], str.Couldnt_get_disk_geometry:_Error
mov ecx, ebx
call fcn.0042f1e0
sub esp, 4
lea ecx, [ebp - 0x220]
lea esi, [ebp - 0x218]
mov dword [esp], eax
call fcn.00526a40
lea eax, [ebp - 0x220]
sub esp, 4
lea ecx, [ebp - 0x478]
mov dword [esp], eax
call fcn.00526a38
mov eax, dword [ebp - 0x220]
sub esp, 4
cmp eax, esi
je 0x432b71
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x6f0]
lea edx, [ebp - 0x6e8]
cmp eax, edx
je 0x432b89
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x89c]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esp], eax
call ebx
sub esp, 4
mov dword [esp], edi
call ebx
sub esp, 4
mov eax, dword [ebp - 0x8a8]
mov dword [esp], eax
call sub.msvcrt.dll_free
lea ecx, [ebp - 0x478]
mov dword [esp], 0x53d282
call fcn.00526b70
sub esp, 4
test eax, eax
je 0x433cdd
mov esi, dword [ebp - 0x8b4]
mov edi, dword [esi + 4]
cmp edi, dword [esi + 8]
je 0x4333ee
test edi, edi
je 0x432bfc
mov eax, dword [ebp - 0x8b0]
mov ecx, edi
mov dword [esp], eax
call fcn.00407c70
mov edi, dword [esi + 4]
sub esp, 4
mov eax, dword [ebp - 0x8b4]
add edi, 0x100
mov dword [eax + 4], edi
add dword [ebp - 0x8b8], 1
jmp 0x431790
cmp byte [ebp - 0x558], 0xf
ja case.default.0x432c3a
movzx eax, byte [ebp - 0x558]
lea ebx, [ebp - 0x6a8]
jmp dword [eax*4 + 0x53d500]
mov dword [esp], str.VIRTUAL
mov ecx, ebx
call fcn.00431570
nop
sub esp, 4
lea ecx, [ebp - 0x510]
mov dword [esp], ebx
call fcn.00526a38
mov eax, dword [ebp - 0x6a8]
lea edx, [ebp - 0x6a0]
sub esp, 4
cmp eax, edx
je 0x432c7c
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
movzx eax, word [ebp - 0x554]
mov dword [esp + 0xc], 0x53d3ce
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x42f220
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x6c0]
mov dword [esp], eax
call fcn.00431510
movzx eax, word [ebp - 0x556]
mov dword [esp + 0xc], 0x53d3ce
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x42f220
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x428]
mov dword [esp], eax
call fcn.00431510
cmp dword [ebp - 0x424], 0x7fffffff
je 0x43421e
lea ecx, [ebp - 0x428]
mov dword [esp + 4], 1
mov dword [esp], 0x53d4b6
call fcn.00526a68
sub esp, 8
lea ecx, [ebp - 0x324]
lea ebx, [ebp - 0x31c]
mov dword [esp], eax
mov esi, 0xf
call fcn.00526a40
mov eax, dword [ebp - 0x320]
mov edx, dword [ebp - 0x6bc]
sub esp, 4
lea ecx, [eax + edx]
mov dword [ebp - 0x898], eax
mov eax, dword [ebp - 0x324]
cmp eax, ebx
cmovne esi, dword [ebp - 0x31c]
mov dword [ebp - 0x8a4], eax
mov eax, dword [ebp - 0x6c0]
cmp ecx, esi
mov dword [ebp - 0x88c], eax
jbe 0x433060
lea esi, [ebp - 0x6b8]
cmp dword [ebp - 0x88c], esi
mov eax, 0xf
cmovne eax, dword [ebp - 0x6b8]
mov dword [ebp - 0x894], esi
cmp ecx, eax
jbe 0x4330c0
mov eax, dword [ebp - 0x88c]
lea ecx, [ebp - 0x324]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00526a68
sub esp, 8
lea ecx, [ebp - 0x220]
mov dword [esp], eax
lea esi, [ebp - 0x218]
call fcn.00526a40
lea eax, [ebp - 0x220]
sub esp, 4
lea ecx, [ebp - 0x4f8]
mov dword [esp], eax
call fcn.00526a38
mov eax, dword [ebp - 0x220]
sub esp, 4
cmp eax, esi
je 0x432de6
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x324]
cmp eax, ebx
je 0x432df8
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x428]
lea esi, [ebp - 0x420]
cmp eax, esi
je 0x432e10
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x6c0]
cmp eax, dword [ebp - 0x894]
je 0x432e26
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
lea edx, [ebp - 0x868]
lea eax, [ebp - 0x834]
mov dword [ebp - 0x868], 0
mov dword [ebp - 0x830], 0
mov dword [ebp - 0x82c], 0
mov dword [esp + 0x18], edx
lea edx, [ebp - 0x690]
mov dword [esp + 8], eax
mov dword [ebp - 0x834], 6
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0x1c
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0xc
mov dword [esp + 4], 0x2d1400
mov dword [esp], edi
mov eax, dword [ebp - 0x890]
call eax
sub esp, 0x20
test eax, eax
je 0x433050
mov eax, dword [ebp - 0x67c]
mov dword [ebp - 0x458], eax
mov eax, dword [ebp - 0x680]
mov dword [ebp - 0x454], eax
lea eax, [ebp - 0x87c]
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x18], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x70024
mov dword [esp], edi
mov eax, dword [ebp - 0x890]
call eax
sub esp, 0x20
test eax, eax
mov eax, dword [ebp - 0x89c]
sete byte [ebp - 0x438]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
add dword [ebp - 0x8ac], 1
mov dword [esp], eax
call ebx
sub esp, 4
mov dword [esp], edi
call ebx
sub esp, 4
jmp 0x4320f0
mov dword [esp], 0x53d490
mov ecx, ebx
call fcn.00431570
jmp 0x432c50
mov dword [esp], 0x53d187
mov ecx, ebx
call fcn.00431570
jmp 0x432c50
mov dword [esp], str.SATA
mov ecx, ebx
call fcn.00431570
jmp 0x432c50
mov dword [esp], 0x53d487
mov ecx, ebx
call fcn.00431570
jmp 0x432c50
mov dword [esp], str.iSCSI
mov ecx, ebx
call fcn.00431570
jmp 0x432c50
mov dword [esp], str.RAID
mov ecx, ebx
call fcn.00431570
jmp 0x432c50
mov dword [esp], 0x53d478
mov ecx, ebx
call fcn.00431570
jmp 0x432c50
mov dword [esp], str.FIBRE
mov ecx, ebx
call fcn.00431570
jmp 0x432c50
mov dword [esp], 0x53d46e
mov ecx, ebx
call fcn.00431570
jmp 0x432c50
mov dword [esp], str.1394
mov ecx, ebx
call fcn.00431570
jmp 0x432c50
mov dword [esp], 0x53d465
mov ecx, ebx
call fcn.00431570
jmp 0x432c50
mov dword [esp], str.ATAPI
mov ecx, ebx
call fcn.00431570
jmp 0x432c50
mov dword [esp], str.SCSI
mov ecx, ebx
call fcn.00431570
jmp 0x432c50
mov dword [esp], 0x53d457
mov ecx, ebx
call fcn.00431570
jmp 0x432c50
mov dword [esp], str.FILEBACKEDVIRTUAL
mov ecx, ebx
call fcn.00431570
jmp 0x432c50
call dword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x432eba
lea eax, [ebp - 0x6b8]
mov dword [ebp - 0x894], eax
jmp 0x432d8b
mov edx, dword [ebp - 0x220]
xor eax, eax
jmp 0x431fed
mov edx, dword [ebp - 0x220]
xor eax, eax
jmp 0x431eed
mov dword [esp], 0x53d282
mov ecx, esi
call fcn.00431570
sub esp, 4
jmp 0x431c70
mov eax, dword [ebp - 0x898]
lea ecx, [ebp - 0x6c0]
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x8a4]
mov dword [esp + 8], eax
call fcn.00526ac0
sub esp, 0x10
jmp 0x432da6
lea eax, [ebp - 0x324]
lea ecx, [ebp - 0x7e0]
mov dword [esp], eax
call fcn.00431570
mov ebx, dword [0x62f0ec]
sub esp, 4
cmp ebx, 0x62f0e4
jne 0x433151
jmp 0x433255
cmp eax, edi
je 0x43313c
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov dword [esp], ebx
call fcn.005269b0
cmp eax, 0x62f0e4
mov ebx, eax
je 0x433255
lea eax, [ebp - 0x218]
lea ecx, [ebp - 0x220]
mov dword [ebp - 0x220], eax
mov eax, dword [ebx + 0x10]
mov edx, dword [ebx + 0x14]
mov dword [esp], eax
add edx, eax
mov dword [esp + 4], edx
call fcn.00431450
mov eax, dword [ebp - 0x21c]
sub esp, 8
lea ecx, [ebp - 0x7e0]
mov dword [esp + 4], 0
lea edi, [ebp - 0x218]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x220]
mov dword [esp], eax
call fcn.00526b78
sub esp, 0xc
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x220]
je 0x433130
cmp eax, edi
je 0x4331c4
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov ebx, 1
mov eax, dword [ebp - 0x7e0]
lea edx, [ebp - 0x7d8]
cmp eax, edx
je 0x431df5
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
jmp 0x431df5
mov ecx, dword [ebp - 0x8b0]
mov dword [esp], str.SCSI
call fcn.00526b70
sub esp, 4
test eax, eax
mov edx, 1
je 0x432032
mov ecx, dword [ebp - 0x8b0]
mov dword [esp], 0x53d283
call fcn.00526b70
sub esp, 4
test eax, eax
sete dl
jmp 0x432032
lea edi, [ebp - 0x810]
lea eax, [ebp - 0x428]
mov ecx, edi
mov dword [esp], eax
call fcn.00431570
lea eax, [ebp - 0x808]
sub esp, 4
mov dword [ebp - 0x88c], eax
jmp 0x431894
xor ebx, ebx
jmp 0x4331c9
mov eax, dword [ebp - 0x8a0]
mov dword [esp], eax
call dword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
mov ecx, dword [ebp - 0x8b0]
sub esp, 4
call fcn.00407ba0
mov eax, dword [ebp - 0x828]
lea edi, [ebp - 0x820]
cmp eax, edi
je 0x433291
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x8b4]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x103
jne 0x433a0c
mov eax, dword [ebp - 0x8a8]
mov dword [esp], eax
call sub.msvcrt.dll_free
mov eax, dword [ebp - 0x8ac]
test eax, eax
je 0x432bb3
movzx eax, byte [ebp - 0x437]
test al, al
jne 0x433371
lea ebx, [ebp - 0x550]
mov dword [ebp - 0x550], 0
mov edi, 0x62f0a0
mov dword [ebp - 0x890], 0
mov eax, dword [edi]
mov dword [ebp - 0x428], eax
mov eax, dword [edi + 4]
mov dword [ebp - 0x424], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x420], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [ebp - 0x41c], eax
lea eax, [ebp - 0x428]
mov dword [esp], eax
call sub.SHELL32.dll_SHGetKnownFolderPath
sub esp, 0x10
test eax, eax
mov edx, dword [ebp - 0x550]
je 0x433ab0
mov dword [esp], edx
call dword [sym.imp.ole32.dll_CoTaskMemFree]
add edi, 0x10
sub esp, 4
cmp edi, 0x62f0e0
jne 0x4332fa
movzx eax, byte [ebp - 0x890]
and eax, 1
lea ecx, [ebp - 0x510]
mov dword [esp], 0x53d187
mov byte [ebp - 0x437], al
call fcn.00526b70
sub esp, 4
test eax, eax
mov edx, 1
jne 0x433bec
mov ecx, dword [ebp - 0x8b0]
mov dword [esp], str.SCSI
mov byte [ebp - 0x434], dl
call fcn.00526b70
xor edx, edx
sub esp, 4
test eax, eax
je 0x433bcd
cmp byte [ebp - 0x436], 0
mov byte [ebp - 0x431], dl
je 0x433b91
mov eax, 1
mov esi, dword [ebp - 0x8b4]
mov byte [ebp - 0x436], al
mov edi, dword [esi + 4]
cmp edi, dword [esi + 8]
jne 0x432be2
mov ebx, edi
sub ebx, dword [esi]
mov eax, ebx
sar eax, 8
test eax, eax
je 0x4339f7
lea esi, [eax + eax]
cmp eax, esi
mov dword [ebp - 0x894], esi
jbe 0x433fb7
mov dword [ebp - 0x894], 0xffffff00
mov eax, dword [ebp - 0x894]
mov dword [esp], eax
call sub.libstdc_6.dll_operator_new_unsigned_int_
mov dword [ebp - 0x890], eax
add ebx, dword [ebp - 0x890]
je 0x433449
mov eax, dword [ebp - 0x8b0]
mov ecx, ebx
mov dword [esp], eax
call fcn.00407c70
sub esp, 4
mov eax, dword [ebp - 0x8b4]
mov ebx, dword [ebp - 0x890]
mov eax, dword [eax]
cmp edi, eax
mov esi, eax
je 0x433ff0
mov dword [ebp - 0x88c], eax
mov esi, esi
lea edi, [edi]
test ebx, ebx
je 0x434030
mov ecx, ebx
mov dword [esp], esi
call fcn.00526a40
lea eax, [esi + 0x18]
sub esp, 4
lea ecx, [ebx + 0x18]
mov dword [esp], eax
call fcn.00526a40
lea eax, [esi + 0x30]
sub esp, 4
lea ecx, [ebx + 0x30]
mov dword [esp], eax
call fcn.00526a40
movzx eax, byte [esi + 0x48]
sub esp, 4
lea ecx, [ebx + 0x4c]
mov byte [ebx + 0x48], al
lea eax, [esi + 0x4c]
mov dword [esp], eax
call fcn.00526a40
lea eax, [esi + 0x64]
sub esp, 4
lea ecx, [ebx + 0x64]
mov dword [esp], eax
call fcn.00526a40
movzx eax, byte [esi + 0x7c]
sub esp, 4
lea ecx, [ebx + 0x80]
mov byte [ebx + 0x7c], al
lea eax, [esi + 0x80]
mov dword [esp], eax
call fcn.00526a40
lea eax, [esi + 0x98]
sub esp, 4
lea ecx, [ebx + 0x98]
mov dword [esp], eax
call fcn.00526a40
lea eax, [esi + 0xb0]
sub esp, 4
lea ecx, [ebx + 0xb0]
add esi, 0x100
add ebx, 0x100
mov dword [esp], eax
call fcn.00526a40
mov eax, dword [esi - 0x38]
mov edx, dword [esi - 0x34]
sub esp, 4
mov dword [ebx - 0x38], eax
mov eax, dword [esi - 0x30]
mov dword [ebx - 0x34], edx
mov dword [ebx - 0x30], eax
mov eax, dword [esi - 0x2c]
mov dword [ebx - 0x24], 0
mov dword [ebx - 0x20], 0
mov dword [ebx - 0x28], 0
mov dword [ebx - 0x2c], eax
mov eax, dword [esi - 0x28]
mov dword [ebx - 0x28], eax
mov dword [esi - 0x28], 0
mov edx, dword [esi - 0x24]
mov eax, dword [ebx - 0x24]
mov dword [ebx - 0x24], edx
mov dword [esi - 0x24], eax
mov edx, dword [esi - 0x20]
mov eax, dword [ebx - 0x20]
mov dword [ebx - 0x20], edx
mov dword [esi - 0x20], eax
mov dword [ebx - 0x18], 0
mov dword [ebx - 0x1c], 0
mov dword [ebx - 0x14], 0
mov eax, dword [esi - 0x1c]
mov dword [ebx - 0x1c], eax
mov dword [esi - 0x1c], 0
mov edx, dword [esi - 0x18]
mov eax, dword [ebx - 0x18]
mov dword [ebx - 0x18], edx
mov dword [esi - 0x18], eax
mov eax, dword [ebx - 0x14]
mov edx, dword [esi - 0x14]
mov dword [ebx - 0x14], edx
mov dword [esi - 0x14], eax
movzx eax, byte [esi - 0x10]
mov byte [ebx - 0x10], al
movzx eax, byte [esi - 0xf]
mov byte [ebx - 0xf], al
movzx eax, byte [esi - 0xe]
mov byte [ebx - 0xe], al
movzx eax, byte [esi - 0xd]
mov byte [ebx - 0xd], al
movzx eax, byte [esi - 0xc]
mov byte [ebx - 0xc], al
movzx eax, byte [esi - 0xb]
mov byte [ebx - 0xb], al
movzx eax, byte [esi - 0xa]
mov byte [ebx - 0xa], al
movzx eax, byte [esi - 9]
mov byte [ebx - 9], al
movzx eax, byte [esi - 8]
mov byte [ebx - 8], al
cmp edi, esi
jne 0x433470
mov eax, dword [ebp - 0x88c]
add eax, 0x100
mov esi, eax
mov eax, edi
sub eax, esi
mov esi, dword [ebp - 0x890]
xor al, al
lea ebx, [esi + eax + 0x200]
mov eax, dword [ebp - 0x8b4]
mov eax, dword [eax + 4]
cmp edi, eax
mov edx, eax
je 0x4337f7
mov dword [ebp - 0x898], ebx
mov esi, edi
mov dword [ebp - 0x88c], edx
lea esi, [esi]
test ebx, ebx
je 0x434014
mov ecx, ebx
mov dword [esp], esi
call fcn.00526a40
lea eax, [esi + 0x18]
sub esp, 4
lea ecx, [ebx + 0x18]
mov dword [esp], eax
call fcn.00526a40
lea eax, [esi + 0x30]
sub esp, 4
lea ecx, [ebx + 0x30]
mov dword [esp], eax
call fcn.00526a40
movzx eax, byte [esi + 0x48]
sub esp, 4
lea ecx, [ebx + 0x4c]
mov byte [ebx + 0x48], al
lea eax, [esi + 0x4c]
mov dword [esp], eax
call fcn.00526a40
lea eax, [esi + 0x64]
sub esp, 4
lea ecx, [ebx + 0x64]
mov dword [esp], eax
call fcn.00526a40
movzx eax, byte [esi + 0x7c]
sub esp, 4
lea ecx, [ebx + 0x80]
mov byte [ebx + 0x7c], al
lea eax, [esi + 0x80]
mov dword [esp], eax
call fcn.00526a40
lea eax, [esi + 0x98]
sub esp, 4
lea ecx, [ebx + 0x98]
mov dword [esp], eax
call fcn.00526a40
lea eax, [esi + 0xb0]
sub esp, 4
lea ecx, [ebx + 0xb0]
add esi, 0x100
add ebx, 0x100
mov dword [esp], eax
call fcn.00526a40
mov eax, dword [esi - 0x38]
mov edx, dword [esi - 0x34]
sub esp, 4
mov dword [ebx - 0x38], eax
mov eax, dword [esi - 0x30]
mov dword [ebx - 0x34], edx
mov dword [ebx - 0x30], eax
mov eax, dword [esi - 0x2c]
mov dword [ebx - 0x24], 0
mov dword [ebx - 0x20], 0
mov dword [ebx - 0x28], 0
mov dword [ebx - 0x2c], eax
mov eax, dword [esi - 0x28]
mov dword [ebx - 0x28], eax
mov dword [esi - 0x28], 0
mov edx, dword [esi - 0x24]
mov eax, dword [ebx - 0x24]
mov dword [ebx - 0x24], edx
mov dword [esi - 0x24], eax
mov edx, dword [esi - 0x20]
mov eax, dword [ebx - 0x20]
mov dword [ebx - 0x20], edx
mov dword [esi - 0x20], eax
mov dword [ebx - 0x18], 0
mov dword [ebx - 0x1c], 0
mov dword [ebx - 0x14], 0
mov eax, dword [esi - 0x1c]
mov dword [ebx - 0x1c], eax
mov dword [esi - 0x1c], 0
mov edx, dword [esi - 0x18]
mov eax, dword [ebx - 0x18]
mov dword [ebx - 0x18], edx
mov dword [esi - 0x18], eax
mov eax, dword [ebx - 0x14]
mov edx, dword [esi - 0x14]
mov dword [ebx - 0x14], edx
mov dword [esi - 0x14], eax
movzx eax, byte [esi - 0x10]
mov byte [ebx - 0x10], al
movzx eax, byte [esi - 0xf]
mov byte [ebx - 0xf], al
movzx eax, byte [esi - 0xe]
mov byte [ebx - 0xe], al
movzx eax, byte [esi - 0xd]
mov byte [ebx - 0xd], al
movzx eax, byte [esi - 0xc]
mov byte [ebx - 0xc], al
movzx eax, byte [esi - 0xb]
mov byte [ebx - 0xb], al
movzx eax, byte [esi - 0xa]
mov byte [ebx - 0xa], al
movzx eax, byte [esi - 9]
mov byte [ebx - 9], al
movzx eax, byte [esi - 8]
mov byte [ebx - 8], al
cmp esi, dword [ebp - 0x88c]
jne 0x433640
mov eax, dword [ebp - 0x88c]
add edi, 0x100
sub eax, edi
mov edi, dword [ebp - 0x898]
xor al, al
lea ebx, [edi + eax + 0x100]
mov eax, dword [ebp - 0x8b4]
mov eax, dword [eax + 4]
mov edx, eax
mov eax, dword [ebp - 0x8b4]
mov edi, dword [eax]
cmp edx, edi
je 0x433829
mov esi, edx
lea esi, [esi]
lea edi, [edi]
mov ecx, edi
add edi, 0x100
call fcn.00407ba0
cmp esi, edi
jne 0x433810
mov eax, dword [ebp - 0x8b4]
mov edi, dword [eax]
test edi, edi
je 0x433835
mov dword [esp], edi
call sub.libstdc_6.dll_operator_delete_void_
mov edi, dword [ebp - 0x8b4]
mov eax, dword [ebp - 0x890]
mov dword [edi], eax
add eax, dword [ebp - 0x894]
mov dword [edi + 4], ebx
mov dword [edi + 8], eax
jmp 0x432c0b
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ebx, [ebp - 0x750]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x53d287
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x42f220
mov dword [esp], ebx
call fcn.00431510
mov dword [esp], str.Couldnt_SetupDiGetDeviceInterfaceDetailW:_Error
mov ecx, ebx
call fcn.0042f1e0
sub esp, 4
lea ecx, [ebp - 0x220]
lea edi, [ebp - 0x218]
mov dword [esp], eax
call fcn.00526a40
lea eax, [ebp - 0x220]
sub esp, 4
lea ecx, [ebp - 0x478]
mov dword [esp], eax
call fcn.00526a38
mov eax, dword [ebp - 0x220]
sub esp, 4
cmp eax, edi
je 0x4338d5
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x750]
lea edx, [ebp - 0x748]
cmp eax, edx
je 0x432ba5
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
jmp 0x432ba5
mov eax, dword [ebp - 0x474]
lea ecx, [ebp - 0x478]
mov dword [esp + 0xc], 0x1a
mov dword [esp + 8], str.Couldnt_get_device_number
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00526ac0
mov eax, dword [ebp - 0x89c]
sub esp, 0x10
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
jmp 0x432ba5
lea ebx, [ebp - 0x6a8]
mov dword [esp], str.INVALID
mov ecx, ebx
call fcn.00431570
jmp 0x432c50
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ebx, [ebp - 0x738]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x53d287
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x42f220
mov dword [esp], ebx
call fcn.00431510
mov dword [esp], str.Couldnt_open_handle_to_device:_Error
mov ecx, ebx
call fcn.0042f1e0
sub esp, 4
lea ecx, [ebp - 0x220]
lea edi, [ebp - 0x218]
mov dword [esp], eax
call fcn.00526a40
lea eax, [ebp - 0x220]
sub esp, 4
lea ecx, [ebp - 0x478]
mov dword [esp], eax
call fcn.00526a38
mov eax, dword [ebp - 0x220]
sub esp, 4
cmp eax, edi
je 0x4339d6
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x738]
lea edx, [ebp - 0x730]
cmp eax, edx
je 0x432ba5
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
jmp 0x432ba5
mov dword [ebp - 0x894], 0x100
mov eax, dword [ebp - 0x894]
jmp 0x433420
lea ebx, [ebp - 0x798]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x53d287
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x42f220
mov dword [esp], ebx
call fcn.00431510
mov dword [esp], str.SetupDiEnumDeviceInterfaces:_Error
mov ecx, ebx
call fcn.0042f1e0
sub esp, 4
lea ecx, [ebp - 0x220]
lea edi, [ebp - 0x218]
mov dword [esp], eax
call fcn.00526a40
lea eax, [ebp - 0x220]
sub esp, 4
lea ecx, [ebp - 0x478]
mov dword [esp], eax
call fcn.00526a38
mov eax, dword [ebp - 0x220]
sub esp, 4
cmp eax, edi
je 0x433a87
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x798]
lea edx, [ebp - 0x790]
cmp eax, edx
je 0x432ba5
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
jmp 0x432ba5
lea eax, [ebp - 0x324]
call fcn.0042f970
mov eax, dword [ebp - 0x44c]
mov esi, dword [ebp - 0x450]
cmp esi, eax
mov dword [ebp - 0x88c], eax
je 0x433b5d
lea esi, [esi]
lea edi, [edi]
lea eax, [ebp - 0x218]
lea ecx, [ebp - 0x220]
mov dword [ebp - 0x220], eax
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov dword [esp], eax
add edx, eax
mov dword [esp + 4], edx
call fcn.00431450
mov eax, dword [ebp - 0x21c]
sub esp, 8
lea ecx, [ebp - 0x324]
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x220]
mov dword [esp], eax
call fcn.00526b78
sub esp, 0xc
cmp eax, 0xffffffff
mov eax, dword [ebp - 0x220]
jne 0x433c0b
lea edx, [ebp - 0x218]
cmp eax, edx
je 0x433b80
mov dword [esp], eax
add esi, 0x18
call sub.libstdc_6.dll_operator_delete_void_
cmp dword [ebp - 0x88c], esi
jne 0x433ae0
mov eax, dword [ebp - 0x324]
lea esi, [ebp - 0x31c]
cmp eax, esi
je 0x433b75
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov edx, dword [ebp - 0x550]
jmp 0x433350
add esi, 0x18
cmp dword [ebp - 0x88c], esi
jne 0x433ae0
jmp 0x433b5d
lea ecx, [ebp - 0x510]
mov dword [esp], str.VIRTUAL
call fcn.00526b70
sub esp, 4
test eax, eax
je 0x4333d1
lea ecx, [ebp - 0x510]
mov dword [esp], str.FILEBACKEDVIRTUAL
call fcn.00526b70
sub esp, 4
test eax, eax
sete al
jmp 0x4333d6
lea ecx, [ebp - 0x510]
mov dword [esp], 0x53d478
call fcn.00526b70
sub esp, 4
test eax, eax
sete dl
jmp 0x4333be
lea ecx, [ebp - 0x510]
mov dword [esp], 0x53d490
call fcn.00526b70
sub esp, 4
test eax, eax
sete dl
jmp 0x433399
lea esi, [ebp - 0x218]
mov dword [ebp - 0x890], 1
cmp eax, esi
je 0x433b5d
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
jmp 0x433b5d
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ebx, [ebp - 0x708]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x53d287
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x42f220
mov dword [esp], ebx
call fcn.00431510
mov dword [esp], str.Couldnt_open_handle_to_physical_device:_Error
mov ecx, ebx
call fcn.0042f1e0
sub esp, 4
lea ecx, [ebp - 0x220]
lea edi, [ebp - 0x218]
mov dword [esp], eax
call fcn.00526a40
lea eax, [ebp - 0x220]
sub esp, 4
lea ecx, [ebp - 0x478]
mov dword [esp], eax
call fcn.00526a38
mov eax, dword [ebp - 0x220]
sub esp, 4
cmp eax, edi
je 0x433cb1
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x708]
lea edx, [ebp - 0x700]
cmp eax, edx
je 0x433cc9
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x89c]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x433934
mov eax, dword [ebp - 0x474]
lea ecx, [ebp - 0x478]
mov dword [esp + 0xc], 0x18
mov dword [esp + 8], str.Couldnt_get_detail_data
mov dword [esp], 0
mov dword [esp + 4], eax
call fcn.00526ac0
sub esp, 0x10
jmp 0x432bd0
lea eax, [ebp - 0x780]
mov dword [esp + 0x10], 0x7a
mov dword [esp + 0xc], 0x53d287
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x42f220
mov dword [esp], eax
call fcn.00431510
mov eax, dword [ebp - 0x87c]
mov dword [esp + 0xc], 0x53d287
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x42f220
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x220]
mov dword [esp], eax
call fcn.00431510
lea ecx, [ebp - 0x220]
mov dword [esp], str.SetupDiGetDeviceInterfaceDetailW:_Unable_to_allocate_SP_DEVICE_INTERFACE_DETAIL_DATA_W_
call fcn.0042f1e0
sub esp, 4
lea ecx, [ebp - 0x324]
mov dword [esp], eax
call fcn.00526a40
lea ecx, [ebp - 0x324]
sub esp, 4
mov dword [esp], str.___Error
call fcn.00526aa0
sub esp, 4
lea ecx, [ebp - 0x428]
lea esi, [ebp - 0x420]
mov dword [esp], eax
call fcn.00526a40
mov edx, dword [ebp - 0x424]
mov ebx, dword [ebp - 0x77c]
sub esp, 4
mov edi, dword [ebp - 0x428]
mov dword [ebp - 0x88c], esi
mov ecx, dword [ebp - 0x780]
lea eax, [edx + ebx]
cmp edi, esi
mov dword [ebp - 0x890], eax
mov eax, 0xf
mov esi, eax
cmovne esi, dword [ebp - 0x420]
cmp dword [ebp - 0x890], esi
lea esi, [ebp - 0x778]
jbe 0x433e3e
cmp ecx, esi
cmovne eax, dword [ebp - 0x778]
cmp dword [ebp - 0x890], eax
ja 0x433e3e
lea ecx, [ebp - 0x780]
mov dword [esp + 0xc], edx
mov dword [esp + 8], edi
mov dword [esp + 4], 0
mov dword [esp], 0
call fcn.00526ac0
sub esp, 0x10
jmp 0x433e53
mov dword [esp], ecx
lea ecx, [ebp - 0x428]
mov dword [esp + 4], ebx
call fcn.00526a68
sub esp, 8
lea ebx, [ebp - 0x550]
mov dword [esp], eax
mov ecx, ebx
call fcn.00526a40
lea ecx, [ebp - 0x478]
sub esp, 4
mov dword [esp], ebx
call fcn.00526a38
mov eax, dword [ebp - 0x550]
lea edx, [ebp - 0x548]
sub esp, 4
cmp eax, edx
je 0x433e8f
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x428]
cmp eax, dword [ebp - 0x88c]
je 0x433ea5
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x324]
lea edx, [ebp - 0x31c]
cmp eax, edx
je 0x433ebd
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x220]
lea edi, [ebp - 0x218]
cmp eax, edi
je 0x433ed5
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x780]
cmp eax, esi
je 0x432bb3
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
jmp 0x432bb3
lea ebx, [ebp - 0x768]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x53d287
mov dword [esp + 8], 0x10
mov dword [esp + 4], 0x42f220
mov dword [esp], ebx
call fcn.00431510
mov dword [esp], str.SetupDiGetDeviceInterfaceDetailW:_Couldnt_get_detail_data__Error
mov ecx, ebx
call fcn.0042f1e0
sub esp, 4
lea ecx, [ebp - 0x220]
lea edi, [ebp - 0x218]
mov dword [esp], eax
call fcn.00526a40
lea eax, [ebp - 0x220]
sub esp, 4
lea ecx, [ebp - 0x478]
mov dword [esp], eax
call fcn.00526a38
mov eax, dword [ebp - 0x220]
sub esp, 4
cmp eax, edi
je 0x433f6b
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x768]
lea edx, [ebp - 0x760]
cmp eax, edx
je 0x432ba5
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
jmp 0x432ba5
lea eax, [ebp - 0x528]
mov dword [esp], str._ERROR__Invalid_DeviceInfo_handle_n
mov dword [ebp - 0x8b0], eax
call fcn.0042f6c0
lea eax, [ebp - 0x528]
mov dword [ebp - 0x8b0], eax
mov ecx, eax
jmp 0x433274
cmp dword [ebp - 0x894], 0xffffff
ja 0x433410
cmp dword [ebp - 0x894], 0
mov dword [ebp - 0x890], 0
je 0x43342e
shl eax, 9
mov dword [ebp - 0x894], eax
jmp 0x433420
mov eax, dword [ebp - 0x8b4]
lea ebx, [ebx + 0x100]
mov dword [ebp - 0x898], ebx
mov eax, dword [eax + 4]
cmp eax, edi
mov edx, eax
jne 0x433634
jmp 0x433829
add esi, 0x100
cmp esi, dword [ebp - 0x88c]
je 0x4337cf
mov ebx, 0x100
jmp 0x433648
add esi, 0x100
cmp edi, esi
je 0x4335fb
mov ebx, 0x100
jmp 0x433478
mov dword [esp], str.basic_string::append
call fcn.00526990
mov ebx, eax
mov eax, dword [ebp - 0x220]
lea edi, [ebp - 0x218]
cmp eax, edi
je 0x43406e
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov eax, dword [ebp - 0x428]
cmp eax, dword [ebp - 0x88c]
je 0x434084
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov ecx, dword [ebp - 0x8a4]
call fcn.00407a30
mov ecx, dword [ebp - 0x8b0]
lea edi, [ebp - 0x820]
call fcn.00407ba0
mov eax, dword [ebp - 0x828]
cmp eax, edi
je 0x4340b2
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov ecx, dword [ebp - 0x8b4]
call fcn.00408010
mov dword [esp], ebx
call sub.libgcc_s_dw2_1.dll__Unwind_Resume
lea esi, [esi]
lea edi, [edi]
mov dword [esp], str.basic_string::append
call fcn.00526990
mov esi, eax
mov eax, dword [ebp - 0x324]
cmp eax, ebx
je 0x4340f0
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov ebx, esi
jmp 0x43406e
mov dword [esp], str.basic_string::append
call fcn.00526990
jmp 0x4340dc
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
jmp 0x43408f
mov dword [esp], str.basic_string::append
call fcn.00526990
mov ebx, eax
lea eax, [ebp - 0x6b8]
mov dword [ebp - 0x894], eax
mov eax, dword [ebp - 0x6c0]
cmp eax, dword [ebp - 0x894]
jne 0x434124
jmp 0x43408f
mov dword [esp], str.basic_string::append
call fcn.00526990
mov esi, eax
mov eax, dword [ebp - 0x324]
cmp eax, ebx
je 0x43434e
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
mov ebx, esi
mov eax, dword [ebp - 0x428]
lea edx, [ebp - 0x420]
cmp eax, edx
je 0x434238
mov dword [esp], eax
call sub.libstdc_6.dll_operator_delete_void_
jmp 0x434238