Function at 0x40b740
Capabilities:
Persist via run registry key

Disassembly:
mov eax, dword [0x420e58]
sub esp, 0x48c
push ebx
push ebp
push esi
push edi
push str._inst_d.exe
push eax
xor ebp, ebp
call fcn.00401d70
mov ebx, eax
add esp, 8
cmp ebx, 0xffffffff
je 0x40ba77
mov ecx, dword [0x4210c4]
push 0x80000000
push ecx
call fcn.00401e20
mov esi, eax
add esp, 8
cmp esi, 0xffffffff
je 0x40ba6e
cmp dword [esp + 0x4a4], ebp
je 0x40b79d
mov edi, dword [0x421000]
jmp 0x40b842
push esi
call fcn.0040aeb0
add esp, 4
test eax, eax
je 0x40ba77
mov edx, dword [0x42100c]
mov eax, dword [0x421008]
push edx
push eax
push esi
call fcn.00401f20
add esp, 0xc
mov word [esp + 0x14], bp
mov edi, 0x7f7f
lea ecx, [esp + 0x14]
push 0xc
push ecx
push esi
call fcn.00401e70
add esp, 0xc
test eax, eax
jne 0x40ba77
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
or edx, eax
jne 0x40b7f9
cmp word [esp + 0x14], di
jne 0x40b7ce
push esi
call fcn.00401ef0
mov ecx, dword [esp + 0x1c]
add esp, 4
add eax, ecx
mov ecx, dword [esp + 0x1c]
adc edx, ecx
cmp word [esp + 0x14], di
je 0x40b834
push edx
push eax
push esi
call fcn.00401f20
add esp, 0xc
cmp word [esp + 0x14], di
jne 0x40b7ce
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x48c
ret
push esi
call fcn.00401ef0
mov edi, eax
add esp, 4
add edi, 8
test edi, edi
je 0x40ba77
push 0
push 0
push esi
call fcn.00401f20
lea eax, [esp + 0x1c]
push eax
push edi
call fcn.00402de0
add esp, 0x14
test eax, eax
je 0x40b887
mov ebp, dword [esp + 0x10]
push edi
push ebp
push esi
call fcn.00401e70
push edi
push ebp
push ebx
call fcn.00401eb0
lea ecx, [esp + 0x28]
push ecx
call fcn.00402e60
add esp, 0x1c
push esi
call fcn.004020b0
push ebx
call fcn.004020b0
mov eax, dword [esp + 0x4ac]
xor edi, edi
add esp, 8
cmp eax, edi
je 0x40ba2d
mov edx, dword [0x4210a4]
mov eax, dword [0x420e58]
inc edx
push edx
push str.__B_d__DEL
push eax
call fcn.00411d78
mov ecx, dword [0x420e58]
add esp, 4
lea edx, [ecx + eax*2]
push edx
call fcn.00411f6f
mov al, byte [0x41c140]
add esp, 0xc
test al, al
jne 0x40b8f0
mov eax, dword [0x420e58]
push 0x41d038
push eax
call fcn.00411cc0
add esp, 8
mov ecx, dword [0x420e5c]
mov edx, dword [0x420e58]
push 0x104
push ecx
push edx
call dword [0x421128]
mov ecx, dword [str.SoftwareMicrosoftWindowsCurrentVersionRunOnce]
lea eax, [esp + 0x10]
push edi
push eax
push edi
push 0xf003f
push edi
push edi
push edi
push ecx
push 0x80000002
call dword [0x42115c]
test eax, eax
je 0x40b956
mov eax, dword [str.SoftwareMicrosoftWindowsCurrentVersionRunOnce]
lea edx, [esp + 0x10]
push edi
push edx
push edi
push 0xf003f
push edi
push edi
push edi
push eax
push 0x80000001
call dword [0x42115c]
test eax, eax
jne 0x40ba5e
mov eax, dword [0x420e4c]
cmp eax, 0x64
jge 0x40ba12
mov esi, 0x208
mov ecx, dword [str.ICLaunch]
push eax
push ecx
lea edx, [esp + 0x30]
push str._s_3.3d
push edx
call fcn.00411f6f
mov ebp, dword [0x420e4c]
add esp, 0x10
lea eax, [esp + 0x24]
lea ecx, [esp + 0x8c]
push eax
lea edx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x18]
push edx
lea eax, [esp + 0x34]
push edi
inc ebp
push eax
push ecx
mov dword [0x420e4c], ebp
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], esi
call dword [0x421158]
test eax, eax
jne 0x40b9e4
mov eax, dword [0x420e4c]
cmp eax, 0x64
jl 0x40b969
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x48c
ret
mov edx, dword [0x420e58]
push edx
call fcn.00411d78
mov ecx, dword [0x420e58]
add esp, 4
lea eax, [eax + eax + 2]
lea edx, [esp + 0x28]
push eax
mov eax, dword [esp + 0x14]
push ecx
push 1
push edi
push edx
push eax
call dword [0x421154]
mov ecx, dword [esp + 0x10]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x48c
ret
mov edx, dword [0x4210c4]
lea eax, [esp + 0x8c]
push edx
push str._S__s___DEL
push eax
call fcn.00411f6f
mov edx, dword [0x420e58]
lea ecx, [esp + 0x98]
push edi
push ecx
push edx
call fcn.00403470
add esp, 0x18
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x48c
ret
push ebx
call fcn.004020b0
add esp, 4
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x48c
ret