Function at 0x41c710
Capabilities:
Get disk information
Resolve function by parsing pe exports

Disassembly:
push 0x514
mov eax, 0x444c85
call fcn.00443f18
mov ebx, ecx
mov dword [ebp - 0x3d0], ebx
mov eax, dword [ebp + 0xc]
sub esp, 0x58
mov ecx, esp
mov dword [ebp - 0x3f4], ebx
mov dword [ebp - 0x464], eax
push 0xdc
push 9
push 0x379
push 0x4066fc
push 0x402d58
push 0x404fd8
call fcn.00440fc8
xor esi, esi
lea ecx, [ebp - 0x45c]
push esi
call fcn.00441304
mov eax, dword [ebp + 8]
mov dword [ebp - 4], esi
test eax, eax
jne 0x41c778
mov eax, 0x406738
push eax
push esi
push 0x406754
lea eax, [ebp - 0x408]
push eax
push ebx
call fcn.004279d2
add esp, 0x14
lea eax, [ebp - 0x45c]
push 0x40676c
push eax
call fcn.00441fad
mov byte [ebp - 4], 2
lea edi, [ebp - 0x3b0]
mov esi, 0x402730
xor eax, eax
pop ecx
pop ecx
push 0x12
movsd dword es:[edi], dword [esi]
push eax
push eax
lea eax, [ebp - 0x3b0]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [sym.imp.SETUPAPI.dll_SetupDiGetClassDevsW]
mov esi, eax
mov dword [ebp - 0x3f8], esi
cmp esi, 0xffffffff
je 0x41e053
xor eax, eax
mov dword [ebp - 0x384], 0x1c
mov dword [ebp - 0x380], eax
mov edi, eax
mov dword [ebp - 0x37c], eax
mov dword [ebp - 0x378], eax
mov dword [ebp - 0x374], eax
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x36c], eax
mov dword [ebp - 0x460], eax
lea ecx, [ebp - 0x384]
push ecx
push edi
lea ecx, [ebp - 0x3b0]
push ecx
push eax
push esi
call dword [sym.imp.SETUPAPI.dll_SetupDiEnumDeviceInterfaces]
test eax, eax
jne 0x41c850
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x103
jne 0x41e089
and dword [ebp - 0x454], 0
mov dword [ebp - 4], 1
jmp 0x41dffb
xor eax, eax
mov dword [ebp - 0x410], 0x4010c0
mov dword [ebp - 0x40c], eax
push eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x3f0]
push ecx
push eax
push eax
mov dword [ebp - 0x39c], eax
mov dword [ebp - 0x398], eax
mov dword [ebp - 0x394], eax
mov dword [ebp - 0x390], eax
mov dword [ebp - 0x38c], eax
mov dword [ebp - 0x388], eax
mov dword [ebp - 0x3f0], eax
lea eax, [ebp - 0x384]
push eax
push esi
mov dword [ebp - 0x3a0], 0x1c
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInterfaceDetailW]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x41decc
cmp dword [ebp - 0x3f0], 0
je 0x41decc
push dword [ebp - 0x3f0]
lea ecx, [ebp - 0x410]
call fcn.00428737
mov esi, dword [ebp - 0x40c]
lea eax, [ebp - 0x3a0]
push eax
xor edi, edi
lea eax, [ebp - 0x384]
push edi
mov dword [esi], 6
push dword [ebp - 0x3f0]
push esi
push eax
push dword [ebp - 0x3f8]
call dword [sym.imp.SETUPAPI.dll_SetupDiGetDeviceInterfaceDetailW]
test eax, eax
jne 0x41c930
push 0x406950
sub esp, 0x58
mov ecx, esp
push 0xff
push 1
push 0x3cc
jmp 0x41e069
add esi, 4
push esi
push 0x4069dc
sub esp, 0x58
mov ecx, esp
push 0xdc
push 9
push 0x3d0
push 0x4066fc
push 0x402d58
push 0x404fd8
call fcn.00440fc8
lea eax, [ebp - 0x45c]
push eax
call fcn.00441c0c
add esp, 0x64
lea eax, [ebp - 0x1ac]
push 0xc8
push eax
lea eax, [esi + 8]
push eax
call dword [sym.imp.KERNEL32.dll_QueryDosDeviceW]
test eax, eax
jne 0x41ca6d
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x41c99d
movzx eax, ax
or eax, 0x80070000
push eax
push esi
push 0x4069f0
sub esp, 0x58
mov dword [ebp - 0x454], eax
mov ecx, esp
push 0xdc
push 9
push 0x3db
push 0x4066fc
push 0x402d58
push 0x404fd8
call fcn.00440fc8
lea eax, [ebp - 0x45c]
push eax
call fcn.00441c0c
push esi
push 0x406a50
push 0xd
push 0x406a5c
lea eax, [ebp - 0x46c]
push eax
push ebx
call fcn.004279d2
add esp, 0x80
push esi
push 0x406a68
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 4
call fcn.00419156
push dword [ebp - 0x454]
lea eax, [ebp - 0x46c]
push 0x4055a0
push 0x406a84
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x18
lea eax, [ebp - 0x46c]
lea ecx, [ebp - 0x408]
push eax
lea eax, [ebp - 0x4e0]
push eax
call fcn.00419a59
lea ecx, [ebp - 0x4e0]
call fcn.00419d7f
lea ecx, [ebp - 0x46c]
call fcn.00419d7f
jmp 0x41dea3
lea eax, [ebp - 0x1ac]
push eax
push 0x406ab0
sub esp, 0x58
mov ecx, esp
push 0xdc
push 9
push 0x3e5
push 0x4066fc
push 0x402d58
push 0x404fd8
call fcn.00440fc8
lea eax, [ebp - 0x45c]
push eax
call fcn.00441c0c
add esp, 0x64
lea eax, [ebp - 0x1ac]
push eax
push 0x406ad0
lea eax, [ebp - 0x33c]
push 0xc8
push eax
call fcn.00417966
add esp, 0x10
mov dword [ebp - 0x454], eax
test eax, eax
js 0x41e0c0
push ecx
lea ecx, [ebp - 0x4d4]
call fcn.0042be67
push ecx
push ecx
push SysReAllocString
push ecx
push ecx
push edi
lea eax, [ebp - 0x33c]
mov byte [ebp - 4], 5
push eax
lea edx, [ebp - 0x45c]
call fcn.0042bae0
mov dword [ebp - 0x454], eax
test eax, eax
jns 0x41cc3f
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x41cb27
movzx eax, ax
or eax, 0x80070000
mov dword [ebp - 0x454], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0x454]
lea eax, [ebp - 0x33c]
push eax
push 0x406b20
sub esp, 0x58
mov ecx, esp
push 0xdc
push 9
push 0x3f8
push 0x4066fc
push 0x402d58
push 0x404fd8
call fcn.00440fc8
lea eax, [ebp - 0x45c]
push eax
call fcn.00441c0c
add esp, 0x6c
lea eax, [ebp - 0x1ac]
push eax
push 0x406a50
push 0xd
push 0x406a5c
lea eax, [ebp - 0x418]
push eax
push ebx
call fcn.004279d2
add esp, 0x18
lea eax, [ebp - 0x1ac]
mov byte [ebp - 4], 6
push eax
push 0x406b60
lea ecx, [ebp - 0x418]
call fcn.00419156
push esi
push 0x406a68
lea ecx, [ebp - 0x418]
call fcn.00419156
lea eax, [ebp - 0x33c]
push eax
push 0x406b70
lea ecx, [ebp - 0x418]
call fcn.00419156
push dword [ebp - 0x454]
lea eax, [ebp - 0x33c]
push eax
push 0x406b90
push 0x406bac
push ecx
push ecx
lea eax, [ebp - 0x418]
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x1c
lea eax, [ebp - 0x418]
lea ecx, [ebp - 0x408]
push eax
lea eax, [ebp - 0x4e8]
push eax
call fcn.00419a59
lea ecx, [ebp - 0x4e8]
call fcn.00419d7f
lea ecx, [ebp - 0x418]
jmp 0x41de93
push edi
push edi
push edi
push edi
push 0x2d1080
lea edx, [ebp - 0x45c]
mov dword [ebp - 0x4b8], edi
lea ecx, [ebp - 0x4d4]
mov dword [ebp - 0x4ac], edi
call fcn.0042bea3
mov dword [ebp - 0x454], eax
test eax, eax
jns 0x41ccfa
lea eax, [ebp - 0x1ac]
push eax
push 0x406a50
push 0xd
push 0x406a5c
lea eax, [ebp - 0x474]
push eax
push ebx
call fcn.004279d2
add esp, 0x18
lea eax, [ebp - 0x1ac]
mov byte [ebp - 4], 7
push eax
push 0x406b60
lea ecx, [ebp - 0x474]
call fcn.00419156
push esi
push 0x406a68
lea ecx, [ebp - 0x474]
call fcn.00419156
push dword [ebp - 0x454]
lea eax, [ebp - 0x474]
push 0x406698
push 0x406bd0
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x18
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x474]
call fcn.00419d7f
push ecx
push ecx
lea eax, [ebp - 0x3bc]
push eax
lea eax, [ebp - 0x45c]
push eax
lea ecx, [ebp - 0x4d4]
call fcn.0042a0b4
push dword [ebp - 0x3b8]
lea eax, [ebp - 0x3cc]
push 0x406c20
push 0xd
push 0x406a5c
push eax
push ebx
call fcn.004279d2
add esp, 0x18
mov byte [ebp - 4], 8
lea eax, [ebp - 0x3cc]
push dword [ebp - 0x3bc]
push 0x40642c
push 0x406c48
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x18
lea eax, [ebp - 0x3cc]
push dword [ebp - 0x3b8]
push 0x40642c
push 0x406c60
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x18
lea eax, [ebp - 0x3cc]
push dword [ebp - 0x3b4]
push 0x40642c
push 0x406c7c
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x18
lea eax, [ebp - 0x1ac]
lea ecx, [ebp - 0x3cc]
push eax
push 0x406b60
call fcn.00419156
push esi
push 0x406a68
lea ecx, [ebp - 0x3cc]
call fcn.00419156
lea eax, [ebp - 0x33c]
push eax
push 0x406b70
lea ecx, [ebp - 0x3cc]
call fcn.00419156
push edi
push edi
push edi
push edi
push 0x560038
lea edx, [ebp - 0x45c]
lea ecx, [ebp - 0x4d4]
call fcn.0042bea3
mov dword [ebp - 0x454], eax
test eax, eax
js 0x41cf11
push ecx
push ecx
lea eax, [ebp - 0x47c]
push eax
lea eax, [ebp - 0x45c]
push eax
lea ecx, [ebp - 0x4d4]
call fcn.0042a234
mov esi, dword [ebp - 0x478]
lea eax, [ebp - 0x3cc]
push esi
push dword [ebp - 0x47c]
push 0x406c9c
push 0x406cb4
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
mov ecx, esi
mov eax, edi
and ecx, 0x10000000
add esp, 0x1c
or eax, ecx
mov eax, 0x405a2c
jne 0x41ce80
mov eax, 0x405a34
push eax
push 0x406cc8
push ecx
push ecx
lea eax, [ebp - 0x3cc]
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
mov ecx, esi
mov eax, edi
and ecx, 0x40000000
add esp, 0x14
or eax, ecx
mov eax, 0x405a2c
jne 0x41ceb7
mov eax, 0x405a34
push eax
push 0x406ce0
push ecx
push ecx
lea eax, [ebp - 0x3cc]
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x14
cmp esi, edi
jg 0x41ceeb
jl 0x41cee4
cmp dword [ebp - 0x47c], edi
jae 0x41ceeb
mov eax, 0x405a2c
jmp 0x41cef0
mov eax, 0x405a34
push eax
push 0x406cf4
push ecx
push ecx
lea eax, [ebp - 0x3cc]
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x14
jmp 0x41cf3c
push eax
lea eax, [ebp - 0x33c]
push eax
push 0x406b90
push 0x406d18
push ecx
push ecx
lea eax, [ebp - 0x3cc]
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x1c
push ecx
lea eax, [ebp - 0x488]
mov dword [ebp - 0x488], edi
push eax
lea eax, [ebp - 0x45c]
mov dword [ebp - 0x484], edi
push eax
lea ecx, [ebp - 0x4d4]
mov dword [ebp - 0x4b8], edi
mov dword [ebp - 0x4ac], edi
call fcn.0042a978
push edi
push edi
push edi
push edi
push 0x2d1400
lea edx, [ebp - 0x45c]
lea ecx, [ebp - 0x4d4]
call fcn.0042bea3
mov dword [ebp - 0x454], eax
test eax, eax
js 0x41d205
mov edi, dword [ebp - 0x4a0]
lea eax, [ebp - 0x3cc]
mov esi, 0x406d64
mov dword [ebp - 0x3d4], edi
push dword [edi]
push esi
push 0x406d6c
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x18
lea eax, [ebp - 0x3cc]
push dword [edi + 4]
push esi
push 0x406d8c
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
movzx eax, byte [edi + 8]
add esp, 0x18
push eax
push esi
push 0x406da4
push ecx
push ecx
lea eax, [ebp - 0x3cc]
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
movzx eax, byte [edi + 9]
add esp, 0x18
push eax
push esi
push 0x406dc8
push ecx
push ecx
lea eax, [ebp - 0x3cc]
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
movzx eax, byte [edi + 0xa]
add esp, 0x18
push eax
push esi
push 0x406dfc
push ecx
push ecx
lea eax, [ebp - 0x3cc]
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
movzx eax, byte [edi + 0xb]
add esp, 0x18
push eax
push esi
push 0x406e28
push ecx
push ecx
lea eax, [ebp - 0x3cc]
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
mov ecx, dword [edi + 0x1c]
add esp, 0x18
cmp ecx, 0x7f
jg 0x41d089
call fcn.004282ca
jmp 0x41d08e
mov eax, 0x4047a0
push eax
push ecx
push 0x406e54
push 0x406e64
push ecx
push ecx
lea eax, [ebp - 0x3cc]
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x1c
lea eax, [ebp - 0x3cc]
mov esi, 0x40642c
push dword [edi + 0x20]
push esi
push 0x406e84
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x18
lea eax, [ebp - 0x3cc]
push 0x28
push esi
push 0x406ec0
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x18
mov byte [ebp - 4], 9
mov esi, dword [ebp - 0x4a4]
lea eax, [ebp - 0x3cc]
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push esi
push dword [edi + 0xc]
lea eax, [ebp - 0x45c]
mov ecx, ebx
push edi
push 0x406f10
push eax
call fcn.00427567
push ecx
push ecx
lea eax, [ebp - 0x3cc]
mov ecx, esp
push eax
call fcn.0042c1f1
push esi
push dword [edi + 0x10]
lea eax, [ebp - 0x45c]
mov ecx, ebx
push edi
push 0x406f30
push eax
call fcn.00427567
push ecx
push ecx
lea eax, [ebp - 0x3cc]
mov ecx, esp
push eax
call fcn.0042c1f1
push esi
push dword [edi + 0x14]
lea eax, [ebp - 0x45c]
mov ecx, ebx
push edi
push 0x406f54
push eax
call fcn.00427567
push ecx
push ecx
lea eax, [ebp - 0x3cc]
mov ecx, esp
push eax
call fcn.0042c1f1
push esi
push dword [edi + 0x18]
lea eax, [ebp - 0x45c]
mov ecx, ebx
push edi
push 0x406f84
push eax
call fcn.00427567
mov dword [ebp - 4], 8
jmp 0x41d1cd
mov esi, dword [ebp - 0x4a4]
mov eax, dword [edi + 4]
cmp esi, eax
jbe 0x41d1e5
add eax, 0x100
cmp esi, eax
jbe 0x41d1e5
mov esi, eax
push ecx
push ecx
lea eax, [ebp - 0x3cc]
mov ecx, esp
push eax
call fcn.0042c1f1
push esi
push edi
push 0x406fac
call fcn.00427283
xor edi, edi
jmp 0x41d229
push eax
push 0x406698
push 0x406fd8
push ecx
push ecx
lea eax, [ebp - 0x3cc]
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x18
push ecx
lea eax, [ebp - 0x488]
mov dword [ebp - 0x488], 2
push eax
lea eax, [ebp - 0x45c]
mov dword [ebp - 0x484], edi
push eax
lea ecx, [ebp - 0x4d4]
mov dword [ebp - 0x4b8], edi
mov dword [ebp - 0x4ac], edi
call fcn.0042a978
push edi
push edi
push edi
push edi
push 0x2d1400
lea edx, [ebp - 0x45c]
lea ecx, [ebp - 0x4d4]
call fcn.0042bea3
mov dword [ebp - 0x454], eax
test eax, eax
js 0x41d520
mov esi, dword [ebp - 0x4a0]
lea eax, [ebp - 0x3cc]
push dword [esi]
push 0x406d64
push 0x407024
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x18
lea eax, [ebp - 0x3cc]
push dword [esi + 4]
push 0x406d64
push 0x407044
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x18
lea eax, [ebp - 0x3cc]
push dword [esi + 8]
push 0x406d64
push 0x40705c
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x18
lea eax, [ebp - 0x3cc]
push 0x10
push 0x40642c
push 0x407098
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x18
lea eax, [ebp - 0x3cc]
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push dword [esi + 4]
push esi
push 0x4070f0
call fcn.00427283
mov ebx, dword [esi + 8]
add esi, 0xc
mov dword [ebp - 0x3c4], ebx
mov dword [ebp - 0x3dc], esi
mov dword [ebp - 0x3d4], edi
cmp edi, ebx
jae 0x41d546
push edi
push 0x407108
push 1
push 0x407134
lea eax, [ebp - 0x400]
push eax
push dword [ebp - 0x3d0]
call fcn.004279d2
add esp, 0x18
mov byte [ebp - 4], 0xc
push dword [esi + 4]
call fcn.00428418
push eax
push dword [esi + 4]
lea eax, [ebp - 0x400]
push 0x406e54
push 0x4043c4
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push dword [ebp - 0x3d0]
call fcn.00427b5e
add esp, 0x1c
push dword [esi + 0xc]
call fcn.004283e3
push eax
push dword [esi + 0xc]
lea eax, [ebp - 0x400]
push 0x406e54
push 0x40714c
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push dword [ebp - 0x3d0]
call fcn.00427b5e
add esp, 0x1c
push dword [esi]
call fcn.004283ae
push eax
push dword [esi]
lea eax, [ebp - 0x400]
push 0x406e54
push 0x407164
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push dword [ebp - 0x3d0]
call fcn.00427b5e
movzx eax, word [esi + 8]
add esp, 0x1c
push eax
push 0x40642c
push 0x407174
push ecx
push ecx
lea eax, [ebp - 0x400]
mov ecx, esp
push eax
call fcn.0042c1f1
push dword [ebp - 0x3d0]
call fcn.00427b5e
add esp, 0x18
lea eax, [ebp - 0x400]
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
movzx eax, word [esi + 8]
push eax
lea eax, [esi + 0x10]
push eax
push 0x407134
call fcn.00427283
mov dword [ebp - 4], 0xb
jmp 0x41d4a5
push ecx
xor eax, eax
cmp word [esi + 0xa], ax
lea eax, [ebp - 0x400]
push ecx
mov ecx, esp
push eax
je 0x41d4c3
call fcn.0042c1f1
movzx eax, word [esi + 0xa]
jmp 0x41d4cf
call fcn.0042c1f1
movzx eax, word [esi + 8]
add eax, 0x10
push eax
push esi
push 0x407194
call fcn.00427283
lea eax, [ebp - 0x400]
push eax
lea eax, [ebp - 0x4f0]
push eax
lea ecx, [ebp - 0x3cc]
call fcn.00419a59
lea ecx, [ebp - 0x4f0]
call fcn.00419d7f
movzx eax, word [esi + 0xa]
lea ecx, [ebp - 0x400]
add esi, eax
mov byte [ebp - 4], 8
mov dword [ebp - 0x3dc], esi
call fcn.00419d7f
inc edi
jmp 0x41d353
push eax
push 0x406698
push 0x4071b8
push ecx
push ecx
lea eax, [ebp - 0x3cc]
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x18
jmp 0x41d54c
mov ebx, dword [ebp - 0x3d0]
xor eax, eax
lea edx, [ebp - 0x45c]
push eax
push eax
push eax
push eax
push 0x70050
lea ecx, [ebp - 0x4d4]
mov byte [ebp - 0x3d5], al
mov dword [ebp - 0x4b8], eax
mov dword [ebp - 0x4ac], eax
call fcn.0042bea3
mov dword [ebp - 0x454], eax
test eax, eax
js 0x41dd1d
mov esi, dword [ebp - 0x4a0]
xor edi, edi
mov dword [ebp - 0x3dc], esi
mov eax, dword [esi]
sub eax, edi
je 0x41da3f
sub eax, 1
je 0x41d5ca
sub eax, 1
lea eax, [ebp - 0x3cc]
je 0x41d5c1
push dword [esi]
push 0x4071f8
push 0x407214
jmp 0x41de41
push 2
push 0x407234
jmp 0x41d5b7
push 1
push 0x407248
push 0x407214
push ecx
push ecx
lea eax, [ebp - 0x3cc]
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
movzx eax, byte [esi + 0x17]
add esp, 0x18
push eax
movzx eax, byte [esi + 0x16]
push eax
movzx eax, byte [esi + 0x15]
push eax
movzx eax, byte [esi + 0x14]
push eax
movzx eax, byte [esi + 0x13]
push eax
movzx eax, byte [esi + 0x12]
push eax
movzx eax, byte [esi + 0x11]
push eax
movzx eax, byte [esi + 0x10]
push eax
movzx eax, word [esi + 0xe]
push eax
movzx eax, word [esi + 0xc]
push eax
push dword [esi + 8]
lea eax, [ebp - 0x3cc]
push 0x406460
push 0x40725c
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x40
lea eax, [ebp - 0x3cc]
push dword [esi + 4]
push 0x40642c
push 0x407278
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
mov ebx, edi
add esp, 0x18
mov edi, dword [ebp - 0x3d0]
mov dword [ebp - 0x3d4], ebx
cmp ebx, dword [esi + 4]
jae 0x41dd43
push ebx
push 0x407298
push 1
push 0x4072bc
lea eax, [ebp - 0x3ec]
push eax
push edi
call fcn.004279d2
add esp, 0x18
imul ebx, ebx, 0x90
lea eax, [ebp - 0x3ec]
mov byte [ebp - 4], 0xe
push dword [ebx + esi + 0x30]
push 0x40642c
push 0x407214
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push edi
call fcn.00427b5e
add esp, 0x18
lea eax, [ebp - 0x3ec]
push dword [ebx + esi + 0x3c]
push dword [ebx + esi + 0x38]
push 0x406c9c
push 0x4072d0
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push edi
call fcn.00427b5e
add esp, 0x1c
lea eax, [ebp - 0x3ec]
push dword [ebx + esi + 0x44]
push dword [ebx + esi + 0x40]
push 0x406c9c
push 0x4072f0
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push edi
call fcn.00427b5e
add esp, 0x1c
lea eax, [ebp - 0x3ec]
push dword [ebx + esi + 0x48]
push 0x40642c
push 0x406c7c
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push edi
call fcn.00427b5e
movzx eax, byte [ebx + esi + 0x4c]
add esp, 0x18
push eax
push 0x40642c
push 0x407310
push ecx
push ecx
lea eax, [ebp - 0x3ec]
mov ecx, esp
push eax
call fcn.0042c1f1
push edi
call fcn.00427b5e
add esi, 0x50
lea edi, [ebp - 0x34c]
add esp, 0x18
add esi, ebx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x4047a0
lea ecx, [ebp - 0x368]
movsd dword es:[edi], dword [esi]
call fcn.00428c5f
xor esi, esi
mov byte [ebp - 4], 0xf
lea edx, [ebp - 0x34c]
mov edi, 0x40d368
mov ecx, esi
mov eax, dword [edx + ecx*4]
cmp eax, dword [edi + ecx*4]
jne 0x41d7c8
inc ecx
cmp ecx, 4
jne 0x41d7aa
push 0x407334
lea ecx, [ebp - 0x368]
call fcn.00428c36
lea edx, [ebp - 0x34c]
mov edi, 0x40d328
mov ecx, esi
mov eax, dword [edx + ecx*4]
cmp eax, dword [edi + ecx*4]
jne 0x41d7f3
inc ecx
cmp ecx, 4
jne 0x41d7d5
push 0x407344
lea ecx, [ebp - 0x368]
call fcn.00428c36
lea edx, [ebp - 0x34c]
mov edi, 0x40d338
mov ecx, esi
mov eax, dword [edx + ecx*4]
cmp eax, dword [edi + ecx*4]
jne 0x41d81e
inc ecx
cmp ecx, 4
jne 0x41d800
push 0x407354
lea ecx, [ebp - 0x368]
call fcn.00428c36
lea edx, [ebp - 0x34c]
mov edi, 0x40d378
mov ecx, esi
mov eax, dword [edx + ecx*4]
cmp eax, dword [edi + ecx*4]
jne 0x41d849
inc ecx
cmp ecx, 4
jne 0x41d82b
push 0x407370
lea ecx, [ebp - 0x368]
call fcn.00428c36
lea edx, [ebp - 0x34c]
mov edi, 0x40d348
mov ecx, esi
mov eax, dword [edx + ecx*4]
cmp eax, dword [edi + ecx*4]
jne 0x41d874
inc ecx
cmp ecx, 4
jne 0x41d856
push 0x40737c
lea ecx, [ebp - 0x368]
call fcn.00428c36
lea edx, [ebp - 0x34c]
mov edi, 0x40d358
mov ecx, esi
mov eax, dword [edx + ecx*4]
cmp eax, dword [edi + ecx*4]
jne 0x41d89f
inc ecx
cmp ecx, 4
jne 0x41d881
push 0x407398
lea ecx, [ebp - 0x368]
call fcn.00428c36
cmp dword [ebp - 0x350], 8
mov eax, dword [ebp - 0x364]
jae 0x41d8b4
lea eax, [ebp - 0x364]
push eax
movzx eax, byte [ebp - 0x33d]
push eax
movzx eax, byte [ebp - 0x33e]
push eax
movzx eax, byte [ebp - 0x33f]
push eax
movzx eax, byte [ebp - 0x340]
push eax
movzx eax, byte [ebp - 0x341]
push eax
movzx eax, byte [ebp - 0x342]
push eax
movzx eax, byte [ebp - 0x343]
push eax
movzx eax, byte [ebp - 0x344]
push eax
movzx eax, word [ebp - 0x346]
push eax
movzx eax, word [ebp - 0x348]
push eax
push dword [ebp - 0x34c]
lea eax, [ebp - 0x3ec]
push 0x4073b0
push 0x407420
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
mov edi, dword [ebp - 0x3d0]
push edi
call fcn.00427b5e
mov esi, dword [ebp - 0x3dc]
add esp, 0x44
lea eax, [esi + 0x78]
add eax, ebx
push eax
push 0x403c64
push 0x407434
push ecx
push ecx
lea eax, [ebp - 0x3ec]
mov ecx, esp
push eax
call fcn.0042c1f1
push edi
call fcn.00427b5e
add esp, 0x18
lea eax, [ebp - 0x3ec]
push dword [ebx + esi + 0x74]
push dword [ebx + esi + 0x70]
push 0x406c9c
push 0x407448
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push edi
call fcn.00427b5e
movzx eax, byte [ebx + esi + 0x6f]
add esp, 0x1c
push eax
movzx eax, byte [ebx + esi + 0x6e]
push eax
movzx eax, byte [ebx + esi + 0x6d]
push eax
movzx eax, byte [ebx + esi + 0x6c]
push eax
movzx eax, byte [ebx + esi + 0x6b]
push eax
movzx eax, byte [ebx + esi + 0x6a]
push eax
movzx eax, byte [ebx + esi + 0x69]
push eax
movzx eax, byte [ebx + esi + 0x68]
push eax
movzx eax, word [ebx + esi + 0x66]
push eax
movzx eax, word [ebx + esi + 0x64]
push eax
push dword [ebx + esi + 0x60]
lea eax, [ebp - 0x3ec]
push 0x406460
push 0x407468
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push edi
call fcn.00427b5e
add esp, 0x40
lea eax, [ebp - 0x3ec]
lea ecx, [ebp - 0x3cc]
push eax
lea eax, [ebp - 0x4f8]
push eax
call fcn.00419a59
lea ecx, [ebp - 0x4f8]
call fcn.00419d7f
push 0
push 1
lea ecx, [ebp - 0x368]
call fcn.00429325
lea ecx, [ebp - 0x3ec]
mov byte [ebp - 4], 8
call fcn.00419d7f
mov ebx, dword [ebp - 0x3d4]
inc ebx
jmp 0x41d675
push edi
push 0x407488
push 0x407214
push ecx
push ecx
lea eax, [ebp - 0x3cc]
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x18
lea eax, [ebp - 0x3cc]
push dword [esi + 4]
push 0x40642c
push 0x407278
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x18
lea eax, [ebp - 0x3cc]
push dword [esi + 8]
push 0x4055a0
push 0x40749c
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
movzx eax, byte [esi + 0x17]
add esp, 0x18
push eax
movzx eax, byte [esi + 0x16]
push eax
movzx eax, byte [esi + 0x15]
push eax
movzx eax, byte [esi + 0x14]
push eax
movzx eax, byte [esi + 0x13]
push eax
movzx eax, byte [esi + 0x12]
push eax
movzx eax, byte [esi + 0x11]
push eax
movzx eax, byte [esi + 0x10]
push eax
movzx eax, word [esi + 0xe]
push eax
movzx eax, word [esi + 0xc]
push eax
push dword [esi + 8]
lea eax, [ebp - 0x3cc]
push 0x406460
push 0x40725c
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x40
cmp edi, dword [esi + 4]
jae 0x41dd19
push edi
push 0x4074b8
push 1
push 0x4072bc
lea eax, [ebp - 0x3e4]
push eax
push ebx
call fcn.004279d2
add esp, 0x18
mov ebx, dword [ebp - 0x3dc]
lea eax, [ebp - 0x3e4]
imul esi, edi, 0x90
mov byte [ebp - 4], 0x10
push dword [esi + ebx + 0x30]
push 0x40642c
push 0x407214
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push dword [ebp - 0x3d0]
call fcn.00427b5e
add esp, 0x18
lea eax, [ebp - 0x3e4]
push dword [esi + ebx + 0x3c]
push dword [esi + ebx + 0x38]
push 0x406c9c
push 0x4072d0
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push dword [ebp - 0x3d0]
call fcn.00427b5e
add esp, 0x1c
lea eax, [ebp - 0x3e4]
push dword [esi + ebx + 0x44]
push dword [esi + ebx + 0x40]
push 0x406c9c
push 0x4072f0
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push dword [ebp - 0x3d0]
call fcn.00427b5e
add esp, 0x1c
lea eax, [ebp - 0x3e4]
push dword [esi + ebx + 0x48]
push 0x40642c
push 0x406c7c
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push dword [ebp - 0x3d0]
call fcn.00427b5e
movzx eax, byte [esi + ebx + 0x4c]
add esp, 0x18
push eax
push 0x40642c
push 0x407310
push ecx
push ecx
lea eax, [ebp - 0x3e4]
mov ecx, esp
push eax
call fcn.0042c1f1
push dword [ebp - 0x3d0]
call fcn.00427b5e
movzx eax, byte [esi + ebx + 0x50]
add esp, 0x18
push eax
push 0x40642c
push 0x4074dc
push ecx
push ecx
lea eax, [ebp - 0x3e4]
mov ecx, esp
push eax
call fcn.0042c1f1
push dword [ebp - 0x3d0]
call fcn.00427b5e
movzx eax, byte [esi + ebx + 0x51]
add esp, 0x18
push eax
push 0x40642c
push 0x407500
push ecx
push ecx
lea eax, [ebp - 0x3e4]
mov ecx, esp
push eax
call fcn.0042c1f1
push dword [ebp - 0x3d0]
call fcn.00427b5e
movzx eax, byte [esi + ebx + 0x52]
add esp, 0x18
push eax
push 0x40642c
push 0x407524
push ecx
push ecx
lea eax, [ebp - 0x3e4]
mov ecx, esp
push eax
call fcn.0042c1f1
push dword [ebp - 0x3d0]
call fcn.00427b5e
add esp, 0x18
lea eax, [ebp - 0x3e4]
push dword [esi + ebx + 0x54]
push 0x40642c
push 0x407554
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
mov ebx, dword [ebp - 0x3d0]
push ebx
call fcn.00427b5e
add esp, 0x18
lea eax, [ebp - 0x3e4]
lea ecx, [ebp - 0x3cc]
push eax
lea eax, [ebp - 0x500]
push eax
call fcn.00419a59
lea ecx, [ebp - 0x500]
call fcn.00419d7f
lea ecx, [ebp - 0x3e4]
mov byte [ebp - 4], 8
call fcn.00419d7f
mov esi, dword [ebp - 0x3dc]
inc edi
jmp 0x41db07
mov al, 1
jmp 0x41dd4f
push eax
push 0x406698
push 0x407578
push ecx
push ecx
lea eax, [ebp - 0x3cc]
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x18
jmp 0x41dd49
mov ebx, dword [ebp - 0x3d0]
mov al, byte [ebp - 0x3d5]
test al, al
je 0x41de54
xor esi, esi
lea edx, [ebp - 0x45c]
push esi
push esi
push esi
push esi
push 0x704008
lea ecx, [ebp - 0x4d4]
mov dword [ebp - 0x4b8], esi
mov dword [ebp - 0x4ac], esi
call fcn.0042bea3
mov dword [ebp - 0x454], eax
test eax, eax
js 0x41de30
push ecx
push ecx
lea eax, [ebp - 0x3d4]
mov dword [ebp - 0x3d4], esi
push eax
lea eax, [ebp - 0x45c]
push eax
lea ecx, [ebp - 0x4d4]
call fcn.0042a3ba
push dword [ebp - 0x3d4]
mov edi, 0x4055a0
lea eax, [ebp - 0x3cc]
push edi
push 0x4075c8
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x18
mov dword [ebp - 0x3d4], esi
lea eax, [ebp - 0x3d4]
push ecx
push ecx
push eax
lea eax, [ebp - 0x45c]
push eax
lea ecx, [ebp - 0x4d4]
call fcn.0042a537
test al, al
lea eax, [ebp - 0x3cc]
jne 0x41de22
push 0x405990
push 0x4075f4
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x14
jmp 0x41de54
push dword [ebp - 0x3d4]
push edi
push 0x4075f4
jmp 0x41de41
push eax
push 0x406698
push 0x407620
lea eax, [ebp - 0x3cc]
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
push ebx
call fcn.00427b5e
add esp, 0x18
lea eax, [ebp - 0x3cc]
mov ecx, ebx
push eax
lea eax, [ebp - 0x4d4]
push eax
call fcn.0041c490
lea eax, [ebp - 0x3cc]
push eax
lea eax, [ebp - 0x508]
push eax
lea ecx, [ebp - 0x408]
call fcn.00419a59
lea ecx, [ebp - 0x508]
call fcn.00419d7f
lea ecx, [ebp - 0x3cc]
call fcn.00419d7f
lea ecx, [ebp - 0x4d4]
call fcn.0042bd5a
lea ecx, [ebp - 0x410]
mov byte [ebp - 4], 2
call fcn.00428711
mov edi, dword [ebp - 0x460]
mov esi, dword [ebp - 0x3f8]
inc edi
mov dword [ebp - 0x460], edi
xor eax, eax
jmp 0x41c811
mov eax, 0x40ccc4
test esi, esi
jne 0x41deda
mov eax, 0x40ccb8
push eax
push 0x4068c8
sub esp, 0x58
mov ecx, esp
push 0xff
push 1
push 0x3c2
jmp 0x41e0a0
cmp esi, 0xffffffff
je 0x41e007
push esi
call dword [sym.imp.SETUPAPI.dll_SetupDiDestroyDeviceInfoList]
cmp dword [ebp - 0x464], 0
lea eax, [ebp - 0x408]
jne 0x41e029
push ecx
push ecx
mov ecx, esp
push eax
call fcn.0042c1f1
mov ecx, ebx
call fcn.00427b26
jmp 0x41e035
push eax
push dword [ebp - 0x464]
call fcn.00433199
lea ecx, [ebp - 0x408]
call fcn.00419d7f
lea ecx, [ebp - 0x45c]
call fcn.004413c9
call fcn.00443e6a
ret 8
push 0x4067b0
sub esp, 0x58
mov ecx, esp
push 0xff
push 1
push 0x392
push 0x4066fc
push 0x406844
push 0x404fd8
call fcn.00440fc8
lea eax, [ebp - 0x45c]
push eax
call fcn.004423d6
push edi
push 0x406858
sub esp, 0x58
mov ecx, esp
push 0xff
push 1
push 0x3a3
push 0x4066fc
push 0x406844
push 0x404fd8
call fcn.00440fc8
lea eax, [ebp - 0x45c]
push eax
call fcn.004423d6
lea eax, [ebp - 0x1ac]
push eax
push 0x406af4
lea ecx, [ebp - 0x45c]
call fcn.00418c3e
push eax
sub esp, 0x58
mov ecx, esp
push 0xdc
push 9
push 0x3f0
push 0x4066fc
push 0x402d58
push 0x404fd8
call fcn.00440fc8
lea eax, [ebp - 0x45c]
push eax
call fcn.0044255f
sub esp, 0x58
mov byte [ebp - 4], 0x12
mov ecx, esp
push 0xdc
push 9
push 0x550
push 0x4066fc
push 0x402d58
push 0x404fd8
call fcn.00440fc8
lea ecx, [ebp - 0x45c]
call fcn.00441d17
int3