Function at 0x401000
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48a595
mov eax, dword fs:[0]
push eax
sub esp, 0xd78
mov eax, dword [0x4c4754]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xd04], 0
mov eax, dword [0x4c950c]
or eax, 1
mov dword [0x4c950c], eax
push 0
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
or eax, 1
or eax, 0x8000
push eax
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push 0
mov ecx, dword [ebp + 8]
push ecx
push 0
mov ecx, 0x4c5ca0
call fcn.004017f0
mov dword [ebp - 0x450], eax
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x224], edx
mov eax, dword [ebp - 0x224]
push eax
call fcn.0040fe80
add esp, 4
cmp dword [ebp - 0x224], 0
je 0x4010a3
mov ecx, dword [ebp - 0x224]
movzx edx, word [ecx]
test edx, edx
jne 0x40124f
push 0x104
lea eax, [ebp - 0x66c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov word [ebp - 0x466], 0
mov dword [ebp - 0x464], 0
mov dword [ebp - 0x460], 0
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 0
mov dword [ebp - 4], 0
push 3
push 0x80000000
lea ecx, [ebp - 0x66c]
push ecx
lea ecx, [ebp - 0x464]
call fcn.0040ccf0
test eax, eax
je 0x40123d
mov edx, dword [ebp - 0x458]
mov dword [ebp - 0xd08], edx
mov eax, dword [ebp - 0x45c]
mov dword [ebp - 0xd0c], eax
mov ecx, dword [ebp - 0xd08]
push ecx
mov edx, dword [ebp - 0xd0c]
push edx
call fcn.0040a5c0
add esp, 8
test eax, eax
je 0x40123d
mov dword [ebp - 0x670], 0
mov eax, dword [ebp - 0x458]
mov dword [ebp - 0xd10], eax
mov ecx, dword [ebp - 0x45c]
mov dword [ebp - 0xd14], ecx
lea edx, [ebp - 0x670]
push edx
push str.cmdline
mov eax, dword [ebp - 0xd10]
push eax
mov ecx, dword [ebp - 0xd14]
push ecx
call fcn.0040ca90
add esp, 0x10
mov dword [ebp - 0x674], eax
cmp dword [ebp - 0x674], 0
je 0x40123d
cmp dword [ebp - 0x670], 0
jbe 0x40123d
cmp dword [ebp - 0x670], 0x103
jae 0x40123d
mov dword [ebp - 0x678], 0
jmp 0x4011db
mov edx, dword [ebp - 0x678]
add edx, 1
mov dword [ebp - 0x678], edx
mov eax, dword [ebp - 0x678]
cmp eax, dword [ebp - 0x670]
jae 0x401209
mov ecx, dword [ebp - 0x674]
add ecx, dword [ebp - 0x678]
movsx dx, byte [ecx]
mov eax, dword [ebp - 0x678]
mov word [ebp + eax*2 - 0x21c], dx
jmp 0x4011cc
mov ecx, dword [ebp - 0x670]
mov word [ebp + ecx*2 - 0x21c], 0
lea edx, [ebp - 0x21c]
mov dword [ebp - 0x224], edx
push 1
push 0
lea eax, [ebp - 0x21c]
push eax
push str.Custom_command_line_is_found:
call fcn.00410090
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x464]
call fcn.0040ce40
mov dword [ebp - 0x244], 0
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x230], 0
push str._silent
mov ecx, dword [ebp - 0x224]
push ecx
call fcn.0040f5c0
add esp, 8
neg eax
sbb eax, eax
neg eax
mov dword [0x4c5ce0], eax
mov edx, dword [0x4c5ce0]
mov dword [ebp - 0x244], edx
push str._reboot
mov eax, dword [ebp - 0x224]
push eax
call fcn.0040f5c0
add esp, 8
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x240], eax
push str._fixed
mov ecx, dword [ebp - 0x224]
push ecx
call fcn.0040f5c0
add esp, 8
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x23c], eax
push 0x48dda4
mov edx, dword [ebp - 0x224]
push edx
call fcn.0040f5c0
add esp, 8
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x238], eax
push str._unatt
mov eax, dword [ebp - 0x224]
push eax
call fcn.0040f5c0
add esp, 8
neg eax
sbb eax, eax
neg eax
mov dword [0x4c5cdc], eax
mov ecx, dword [0x4c5cdc]
mov dword [ebp - 0x234], ecx
push 0x48ddc4
mov edx, dword [ebp - 0x224]
push edx
call fcn.0040f5c0
add esp, 8
neg eax
sbb eax, eax
neg eax
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x234], 0
je 0x401374
mov dword [ebp - 0x244], 1
cmp dword [ebp - 0x450], 0
jge 0x4013a4
cmp dword [ebp - 0x234], 0
jne 0x40139a
push 0x10
push 0x48ddd8
push str.Module_Init_failed.
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, 1
jmp 0x4017ad
push str._help
mov eax, dword [ebp - 0x224]
push eax
call fcn.0040f5c0
add esp, 8
test eax, eax
jne 0x4013d4
push 0x48de2c
mov ecx, dword [ebp - 0x224]
push ecx
call fcn.0040f5c0
add esp, 8
test eax, eax
je 0x4013f1
push 0x40
push str.RoboForm_Install_Uninstall_command_line_switches
mov edx, dword [section..data]
push edx
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
jmp 0x4017ad
push 0x104
lea eax, [ebp - 0x44c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
cmp dword [ebp - 0x238], 0
jne 0x40149a
lea ecx, [ebp - 0x44c]
push ecx
lea ecx, [ebp - 0xcfc]
call fcn.00401de0
mov dword [ebp - 4], 1
mov edx, dword [ebp - 0xd04]
or edx, 1
mov dword [ebp - 0xd04], edx
lea eax, [ebp - 0xcfc]
push eax
lea ecx, [ebp - 0xd00]
push ecx
call fcn.004104f0
add esp, 8
mov dword [ebp - 0xd7c], eax
mov edx, dword [ebp - 0xd7c]
mov dword [ebp - 0xd80], edx
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0xd04]
or eax, 2
mov dword [ebp - 0xd04], eax
mov ecx, dword [ebp - 0xd80]
push ecx
call fcn.00411250
add esp, 4
movzx edx, al
test edx, edx
je 0x40149a
mov dword [ebp - 0xd84], 1
jmp 0x4014a4
mov dword [ebp - 0xd84], 0
mov al, byte [ebp - 0xd84]
mov byte [ebp - 0xcf5], al
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0xd04]
and ecx, 2
je 0x4014ee
and dword [ebp - 0xd04], 0xfffffffd
mov dword [ebp - 4], 3
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0xd00]
sub edx, 0x14
mov dword [ebp - 0xd1c], edx
mov ecx, dword [ebp - 0xd1c]
call fcn.004102a0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xd04]
and eax, 1
je 0x40152f
and dword [ebp - 0xd04], 0xfffffffe
mov dword [ebp - 4], 4
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xcfc]
sub ecx, 0x14
mov dword [ebp - 0xd20], ecx
mov ecx, dword [ebp - 0xd20]
call fcn.004102a0
movzx edx, byte [ebp - 0xcf5]
test edx, edx
je 0x4016ee
push 1
push 0
lea eax, [ebp - 0x44c]
push eax
push str.RfSetup:_from_removable_drive
call fcn.0040ffb0
add esp, 0x10
push 0x104
lea ecx, [ebp - 0x884]
push ecx
call fcn.0040f1d0
add esp, 8
test eax, eax
je 0x4016ee
push 0x48debc
lea edx, [ebp - 0x884]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea eax, [ebp - 0x44c]
push eax
call fcn.0040b1e0
add esp, 4
push eax
lea ecx, [ebp - 0x884]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0
lea edx, [ebp - 0x884]
push edx
lea eax, [ebp - 0x44c]
push eax
call fcn.0040bd70
add esp, 0xc
mov dword [ebp - 0x888], eax
push 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x884]
push ecx
push str.RfSetup:_copy_to
call fcn.0040ffb0
add esp, 0x10
cmp dword [ebp - 0x888], 0
je 0x4016cb
push 0x44
push 0
lea edx, [ebp - 0xcf4]
push edx
call fcn.00466b50
add esp, 0xc
xor eax, eax
mov dword [ebp - 0xcac], eax
mov dword [ebp - 0xca8], eax
mov dword [ebp - 0xca4], eax
mov dword [ebp - 0xca0], eax
mov word [ebp - 0xc9c], 0
mov ecx, dword [ebp - 0x224]
push ecx
lea edx, [ebp - 0x884]
push edx
push 0x48ded4
lea eax, [ebp - 0xc9c]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea ecx, [ebp - 0xcac]
push ecx
lea edx, [ebp - 0xcf4]
push edx
push 0
push 0
push 0x20
push 0
push 0
push 0
lea eax, [ebp - 0xc9c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
mov dword [ebp - 0x888], eax
push 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0xc9c]
push ecx
push str.RfSetup:_Run
call fcn.0040ffb0
add esp, 0x10
cmp dword [ebp - 0xca8], 0
je 0x4016a4
mov edx, dword [ebp - 0xca8]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0xcac], 0
je 0x4016ba
mov eax, dword [ebp - 0xcac]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
lea ecx, [ebp - 0x884]
push ecx
call fcn.0040ba50
add esp, 8
cmp dword [ebp - 0x888], 0
je 0x4016ee
push 1
push 0
push 0
push str.RfSetup:_quit
call fcn.0040ffb0
add esp, 0x10
xor eax, eax
jmp 0x4017ad
push str.B0320D13_5528_4de6_A342_0A56FAE05D88_RfSetup
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp - 0x220], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x40174b
cmp dword [ebp - 0x238], 0
jne 0x40174b
cmp dword [ebp - 0x228], 0
jne 0x40174b
push 0
push 0
push str.RoboForm_Setup_is_already_running._Please__finish_the_previous_setup_before_running_a_new_one.
push 0
call fcn.0040b330
add esp, 0x10
mov edx, dword [ebp - 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 2
jmp 0x4017ad
cmp dword [ebp - 0x228], 0
je 0x401772
lea eax, [ebp - 0x244]
push eax
mov ecx, dword [ebp - 0x224]
push ecx
call fcn.00409c60
add esp, 8
mov dword [ebp - 0x22c], eax
jmp 0x401790
push 0
lea edx, [ebp - 0x244]
push edx
mov eax, dword [ebp - 0x224]
push eax
call fcn.00406cd0
add esp, 0xc
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0x220]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 0x4c5ca0
call fcn.004019b0
mov eax, dword [ebp - 0x22c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00466b32
mov esp, ebp
pop ebp
ret 0x10