Function at 0x406810
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x2c]
mov esi, str.___vEV_r_
push ebx
xor ebx, ebx
sub esp, 0x3c
sub dword [0x429454], 0x560c8f
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov eax, dword [0x429454]
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
mov esi, 0xd000
sub eax, 0x16301d98
mov dword [0x429454], eax
imul eax, eax, 0x21670489
mov dword [0x4294e4], eax
mov edx, 0x429ec0
mov al, byte [edx]
test al, al
je 0x40687f
sub eax, 0x30
cmp al, 9
jbe 0x40687c
mov eax, dword [0x429454]
xor eax, 0x9810a0af
mov dword [0x4294e4], eax
jmp 0x40687f
inc edx
jmp 0x40685e
mov eax, dword [0x4294e4]
mov edi, esi
mov edx, eax
and edx, 0x28963cb7
mov dword [0x429454], edx
mov dword [esp + 0xc], str.Child_device_presence_was_not_reliably_detected.
mov dword [esp + 8], eax
mov dword [esp + 4], str.SelfTestFull_has_not_been_run.
mov dword [esp], str.SdbpResolveInitSdbPath_failed_to_resolve_the_sdb_path___x_
call fcn.00414cd0
sub edi, dword [ebp + ebx*4 - 0x2c]
inc ebx
mov esi, edi
cmp ebx, 5
jne 0x406859
mov dword [ebp - 0x38], 0x1e
xor ebx, ebx
mov esi, 0x34
mov dword [ebp - 0x34], 0xa
mov dword [ebp - 0x30], 8
mov edx, 0x429ec0
mov ecx, 0xc70
movzx eax, byte [edx]
inc edx
test al, al
je 0x406907
add ecx, eax
cmp ecx, 0x1807
jbe 0x4068e6
mov eax, dword [0x429454]
or eax, 0xac8addd5
mov dword [0x4294e4], eax
mov edx, dword [0x4294e4]
mov eax, edx
and eax, 0xeda7f032
imul eax, eax, 0x30d9496e
mov dword [0x429454], eax
mov dword [esp + 4], edx
mov dword [esp], str.SelfTestFull_has_not_been_run.
call fcn.00412770
sub esi, dword [ebp + ebx*4 - 0x38]
inc ebx
cmp ebx, 3
jne 0x4068dc
xor ebx, ebx
mov dword [esp + 0xc], esi
xor esi, esi
mov dword [esp], ebx
mov dword [esp + 8], edi
mov dword [esp + 4], 0x2cc
mov eax, dword [0x41611c]
call dword [eax + 0x28]
sub esp, 0x10
mov ebx, eax
test eax, eax
je 0x406b02
mov edx, str.SdbpResolveInitSdbPath_failed_to_resolve_the_sdb_path___x_
mov ecx, 0xe18
movsx eax, byte [edx]
inc edx
test al, al
je 0x40698b
add ecx, eax
cmp ecx, 0x22e2
jbe 0x40696f
sub dword [0x429454], 0x3972640a
mov eax, dword [0x429454]
mov esi, 0x84c
xor eax, 0x42f46495
mov dword [0x4294e4], eax
add eax, 0x474a739f
mov dword [0x429454], eax
mov dword [esp], str.SelfTestFull_has_not_been_run.
call fcn.00414b84
mov eax, dword [0x4294e4]
mov ecx, str.Child_device_presence_was_not_reliably_detected.
or eax, 0x5bb363f5
movzx edx, byte [ecx]
inc ecx
test dl, dl
je 0x4069e0
add esi, edx
cmp esi, 0x2414
jbe 0x4069c4
xor eax, 0x4a205cb0
mov dword [0x4294e4], eax
mov eax, dword [0x4294e4]
lea edx, [ebx + 0x2cc]
sub eax, 0x5469c329
mov dword [0x429454], eax
or eax, 0xe4c30099
mov dword [0x4294e4], eax
mov eax, ebx
mov ecx, eax
inc eax
mov byte [ecx], 0
cmp edx, eax
jne 0x406a01
mov dword [ebx], 0x10010
mov dword [esp + 4], ebx
mov dword [esp], 0xfffffffe
mov eax, dword [0x41611c]
call dword [eax + 0x2c]
mov esi, eax
push ecx
push ecx
test eax, eax
je 0x406ae6
xor eax, eax
cmp byte [eax + str.Child_device_presence_was_not_reliably_detected.], 0
je 0x406a52
inc eax
cmp eax, 0x1810
jne 0x406a32
mov eax, dword [0x4294e4]
and eax, 0x80c40f1e
mov dword [0x429454], eax
add dword [0x4294e4], 0x5bfdf3e3
mov dword [esp], str.RtlFormatCurrentUserKeyPath_failed___x_
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push edx
mov eax, dword [0x4294e4]
add eax, 0x6d0ed38c
mov dword [0x429454], eax
call fcn.00412174
xor dword [0x429454], 0xb3937246
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
xor eax, eax
cmp word [eax + str.SelfTestFull_has_not_been_run.], 0
je 0x406aa9
add eax, 2
cmp eax, 0x2f8a
jne 0x406a90
call fcn.0040f4d4
mov eax, dword [0x429454]
mov esi, 1
lea edx, [eax - 0x66ef02bd]
add eax, 0xaf62429
cmp dword [ebx + 4], 0
mov dword [0x4294e4], edx
mov dword [0x429454], eax
jne 0x406ae6
cmp dword [ebx + 8], 0
jne 0x406ae6
cmp dword [ebx + 0xc], 0
jne 0x406ae6
xor eax, eax
cmp dword [ebx + 0x10], 0
setne al
mov esi, eax
xor eax, eax
mov dword [esp + 8], 0x8000
mov dword [esp + 4], eax
mov dword [esp], ebx
mov eax, dword [0x41611c]
call dword [eax + 0x30]
sub esp, 0xc
mov eax, dword [0x4294e4]
lea edx, [eax + 0x7ae04347]
add eax, 0xbe6c042
mov dword [0x429454], eax
mov eax, esi
mov dword [0x4294e4], edx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret