Function at 0x402000
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa54
mov eax, dword [0x406018]
xor eax, esp
mov dword [esp + 0xa50], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
push 0x104
lea eax, [esp + 0x244]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor eax, eax
lea ecx, [eax + 0x65]
lea ebx, [eax + 0x70]
lea edi, [eax + 0x2e]
lea edx, [eax + 0x78]
cmp word [esp + eax*2 + 0x240], 0x5c
jne 0x4020c1
cmp word [esp + eax*2 + 0x242], 0x48
jne 0x4020c1
cmp word [esp + eax*2 + 0x244], 0x50
jne 0x4020c1
cmp word [esp + eax*2 + 0x246], 0x53
jne 0x4020c1
cmp word [esp + eax*2 + 0x248], cx
jne 0x4020c1
cmp word [esp + eax*2 + 0x24a], 0x74
jne 0x4020c1
cmp word [esp + eax*2 + 0x24c], 0x75
jne 0x4020c1
cmp word [esp + eax*2 + 0x24e], bx
jne 0x4020c1
cmp word [esp + eax*2 + 0x250], di
jne 0x4020c1
cmp word [esp + eax*2 + 0x252], cx
jne 0x4020c1
cmp word [esp + eax*2 + 0x254], dx
jne 0x4020c1
cmp word [esp + eax*2 + 0x256], cx
je 0x4020cf
inc eax
cmp eax, 0x104
jl 0x402043
jmp 0x4020d9
xor ecx, ecx
mov word [esp + eax*2 + 0x240], cx
push 0x4065c8
mov edi, str.CurPath_with_HPSetup.exe_file_name
call fcn.00401db0
push 0x4065c8
lea edi, [esp + 0x244]
call fcn.00401db0
mov edx, dword [0x404c24]
mov ax, word [0x404c28]
mov dword [esp + 0x30], edx
mov word [esp + 0x34], ax
test esi, esi
je 0x40223c
cmp word [esi], 0
je 0x40223c
mov edi, dword [sym.imp.USER32.dll_CharNextW]
lea eax, [esp + 0x30]
lea ebx, [ebx]
movzx ecx, word [eax]
test cx, cx
je 0x402144
cmp word [esi], cx
je 0x402152
push eax
call edi
test eax, eax
jne 0x402130
push esi
call edi
mov esi, eax
test esi, esi
jne 0x402116
jmp 0x40223c
push esi
call edi
mov ebx, eax
test ebx, ebx
je 0x40223c
nop
lea eax, [esp + 0x650]
mov esi, ebx
mov ecx, eax
mov edx, 0x80
sub esi, ecx
lea ecx, [edx - 0x78]
test ecx, ecx
je 0x40218d
movzx ecx, word [esi + eax]
test cx, cx
je 0x40218d
mov word [eax], cx
add eax, 2
dec edx
jne 0x402172
jmp 0x402191
test edx, edx
jne 0x402194
sub eax, 2
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
xor edx, edx
mov word [eax], dx
push str.LOGFILE:
lea eax, [esp + 0x654]
push eax
call esi
test eax, eax
je 0x4021c5
push str.logfile:
lea ecx, [esp + 0x654]
push ecx
call esi
test eax, eax
jne 0x4021fd
push ebx
mov esi, 8
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, esi
jle 0x4021fd
mov eax, 0x40a734
sub eax, ebx
lea edi, [ebx + 0x10]
mov dword [esp + 0x1c], eax
mov dx, word [edi]
mov eax, dword [esp + 0x1c]
mov word [eax + edi], dx
push ebx
inc esi
add edi, 2
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp esi, eax
jl 0x4021e3
mov esi, dword [sym.imp.USER32.dll_CharNextW]
cmp word [ebx], 0
je 0x40223c
lea eax, [esp + 0x30]
lea ecx, [ecx]
movzx ecx, word [eax]
test cx, cx
je 0x402224
cmp word [ebx], cx
je 0x40222f
push eax
call esi
test eax, eax
jne 0x402210
push ebx
call esi
mov ebx, eax
test ebx, ebx
jne 0x402203
jmp 0x40223c
push ebx
call esi
mov ebx, eax
test ebx, ebx
jne 0x402160
cmp word [0x40a744], 0
jne 0x402265
lea ecx, [esp + 0x240]
push ecx
push str._sHPSetup.log
mov eax, 0x104
mov ebx, 0x40a744
call section..text
add esp, 8
lea edx, [esp + 0x240]
push edx
push str._sHPSetup.inf
mov eax, 0x104
lea ebx, [esp + 0x858]
call section..text
add esp, 8
mov ecx, ebx
call fcn.00402f50
cmp eax, 0xffffffff
jne 0x4022bb
push 0x4065c8
mov edi, str.Cant_find_HPSetup.inf
call fcn.00401db0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa50]
xor ecx, esp
call fcn.0040359e
mov esp, ebp
pop ebp
ret 0x10
push 0x206
xor esi, esi
lea ecx, [esp + 0x3e]
xor eax, eax
push esi
push ecx
mov word [esp + 0x44], ax
call sub.MSVCR100.dll_memset
mov edi, dword [0x40a958]
mov ecx, dword [0x40a954]
mov ebx, edi
sub ebx, ecx
mov eax, 0xa80a80a9
imul ebx
add edx, ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
add esp, 0xc
mov dword [esp + 0x18], esi
mov dword [esp + 0xc], esi
test eax, eax
jle 0x4024e0
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpW]
add ecx, esi
push str.RETURN_CODE
push ecx
call edi
test eax, eax
jne 0x4024a7
push str.IsWow64Process
push str.kernel32
mov dword [esp + 0x2c], eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4065c8], eax
test eax, eax
je 0x402358
lea ecx, [esp + 0x24]
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [0x4065c8]
cmp dword [esp + 0x24], 0
je 0x40240a
mov edx, dword [0x40a954]
push str.RETURN_CODE_64
lea eax, [esi + edx + 0x208]
push eax
call edi
test eax, eax
jne 0x4024a7
mov ecx, dword [0x40a954]
lea edx, [esi + ecx + 0x410]
push edx
push str.RETURN_CODE_s
mov eax, 0x104
lea ebx, [esp + 0x40]
call section..text
add esp, 8
push 0x4065c8
mov edi, ebx
call fcn.00401db0
mov ecx, dword [0x40a954]
lea eax, [esp + 0x448]
lea edi, [esi + ecx + 0x410]
mov edx, eax
mov ebx, 0x82
sub edi, edx
lea ecx, [ecx]
lea edx, [ebx + 0x7fffff7c]
test edx, edx
je 0x4023f9
movzx edx, word [eax + edi]
test dx, dx
je 0x4023f9
mov word [eax], dx
add eax, 2
dec ebx
jne 0x4023d0
sub eax, 2
xor edx, edx
mov word [eax], dx
jmp 0x4024ad
test ebx, ebx
jne 0x402400
sub eax, 2
xor edx, edx
mov word [eax], dx
jmp 0x4024ad
mov eax, dword [0x40a954]
push str.RETURN_CODE_32
lea ecx, [esi + eax + 0x208]
push ecx
call edi
test eax, eax
jne 0x4024a7
mov edx, dword [0x40a954]
lea eax, [esi + edx + 0x410]
push eax
push str.RETURN_CODE_s
mov eax, 0x104
lea ebx, [esp + 0x40]
call section..text
add esp, 8
push 0x4065c8
mov edi, ebx
call fcn.00401db0
mov ecx, dword [0x40a954]
lea eax, [esp + 0x448]
lea edi, [esi + ecx + 0x410]
mov edx, eax
mov ebx, 0x82
sub edi, edx
lea edx, [ebx + 0x7fffff7c]
test edx, edx
je 0x402499
movzx edx, word [eax + edi]
test dx, dx
je 0x402499
mov word [eax], dx
add eax, 2
dec ebx
jne 0x402473
sub eax, 2
xor edx, edx
mov word [eax], dx
jmp 0x4024ad
test ebx, ebx
jne 0x4024a0
sub eax, 2
xor edx, edx
mov word [eax], dx
jmp 0x4024ad
mov ecx, dword [0x40a954]
mov edi, dword [0x40a958]
inc dword [esp + 0xc]
mov ebx, edi
sub ebx, ecx
mov eax, 0xa80a80a9
imul ebx
add edx, ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
add esi, 0x618
cmp dword [esp + 0xc], eax
jl 0x40230a
xor esi, esi
mov dword [esp + 0x24], esi
mov esi, edi
sub esi, ecx
mov eax, 0xa80a80a9
imul esi
add edx, esi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, eax
jle 0x402e9c
xor esi, esi
mov dword [esp + 0x20], esi
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpW]
add ecx, esi
push str.INSTALL_SEQUENCE
push ecx
call ebx
test eax, eax
jne 0x402e61
push 0x4065c8
mov edi, str._INSTALL_SEQUENCE__Section_Found_
call fcn.00401db0
mov ecx, dword [0x40a954]
push str.UNINSTALL_PROGRAM
lea edx, [esi + ecx + 0x410]
push edx
call ebx
mov ecx, dword [0x40a954]
test eax, eax
jne 0x402662
mov edi, dword [0x40a958]
mov dword [esp + 0xc], eax
mov ebx, edi
sub ebx, ecx
mov eax, 0xa80a80a9
imul ebx
add edx, ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, eax
jle 0x402e6d
xor esi, esi
mov edi, edi
add ecx, esi
push str.UNINSTALL_PROGRAM
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x402622
mov ecx, dword [0x40a954]
lea edx, [esi + ecx + 0x410]
push edx
push str.__s__Section_Found
mov eax, 0x104
lea ebx, [esp + 0x40]
call section..text
add esp, 8
push 0x4065c8
mov edi, ebx
call fcn.00401db0
mov eax, dword [0x40a954]
lea ecx, [esi + eax + 0x410]
push ecx
push 0x4065c8
call fcn.00401a20
mov edi, eax
mov eax, dword [0x40a954]
lea edx, [esp + 0x448]
push edx
lea ecx, [esi + eax + 0x208]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x402622
push edi
push edi
push str._Return_Code_:_0x_08x__d_
mov eax, 0x104
mov dword [esp + 0x24], edi
call section..text
add esp, 0xc
push 0x4065c8
mov edi, ebx
call fcn.00401db0
mov edi, dword [0x40a958]
mov ecx, dword [0x40a954]
inc dword [esp + 0xc]
mov ebx, edi
sub ebx, ecx
mov eax, 0xa80a80a9
imul ebx
add edx, ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
add esi, 0x618
cmp dword [esp + 0xc], eax
jl 0x402580
mov esi, dword [esp + 0x20]
jmp 0x402e6d
push str.INSTALL_MSI_PROGRAM
lea edx, [esi + ecx + 0x410]
push edx
call ebx
test eax, eax
jne 0x402898
mov eax, dword [0x40a954]
lea ecx, [esi + eax + 0x410]
push ecx
push str.__s__Section_Found
mov eax, 0x104
lea ebx, [esp + 0x40]
call section..text
add esp, 8
push 0x4065c8
mov edi, ebx
call fcn.00401db0
mov edi, dword [0x40a958]
mov ecx, dword [0x40a954]
mov ebx, edi
sub ebx, ecx
mov eax, 0xa80a80a9
imul ebx
add edx, ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0xc], 0
test eax, eax
jle 0x402e6d
xor esi, esi
lea ecx, [ecx]
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpW]
push str.IsWow64Process
push str.kernel32
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x4065c8], eax
test eax, eax
je 0x402720
lea ecx, [esp + 0x10]
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [0x4065c8]
cmp dword [esp + 0x10], 0
je 0x4027ab
mov edx, dword [0x40a954]
push str.INSTALL_64
lea eax, [esi + edx + 0x208]
push eax
call edi
test eax, eax
jne 0x402858
mov ecx, dword [0x40a954]
lea edx, [esi + ecx + 0x410]
push edx
push str._INSTALL_64_:__s
mov eax, 0x104
lea ebx, [esp + 0x40]
call section..text
add esp, 8
push 0x4065c8
mov edi, ebx
call fcn.00401db0
mov eax, dword [0x40a954]
lea edx, [esi + eax + 0x410]
mov ecx, 0x4065c8
call fcn.00401870
mov edx, dword [0x40a954]
lea ecx, [esp + 0x448]
mov edi, eax
push ecx
lea eax, [esi + edx + 0x208]
push eax
jmp 0x402826
mov ecx, dword [0x40a954]
push str.INSTALL_32
lea edx, [esi + ecx + 0x208]
push edx
call edi
test eax, eax
jne 0x402858
mov eax, dword [0x40a954]
lea ecx, [esi + eax + 0x410]
push ecx
push str._INSTALL_32_:__s
mov eax, 0x104
lea ebx, [esp + 0x40]
call section..text
add esp, 8
push 0x4065c8
mov edi, ebx
call fcn.00401db0
mov edx, dword [0x40a954]
lea edx, [esi + edx + 0x410]
mov ecx, 0x4065c8
call fcn.00401870
mov ecx, dword [0x40a954]
mov edi, eax
lea eax, [esp + 0x448]
push eax
lea edx, [esi + ecx + 0x208]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x402858
push edi
push edi
push str._Return_Code_:_0x_08x__d_
mov eax, 0x104
lea ebx, [esp + 0x44]
mov dword [esp + 0x24], edi
call section..text
add esp, 0xc
push 0x4065c8
mov edi, ebx
call fcn.00401db0
mov edi, dword [0x40a958]
mov ecx, dword [0x40a954]
inc dword [esp + 0xc]
mov ebx, edi
sub ebx, ecx
mov eax, 0xa80a80a9
imul ebx
add edx, ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
add esi, 0x618
cmp dword [esp + 0xc], eax
jl 0x4026e0
mov esi, dword [esp + 0x20]
jmp 0x402e6d
mov ecx, dword [0x40a954]
push str.COMMAND_SYSTEM_ID
lea edx, [esi + ecx + 0x410]
push edx
call ebx
lea ebx, [esp + 0x38]
test eax, eax
jne 0x402bcf
mov eax, dword [0x40a954]
lea ecx, [esi + eax + 0x410]
push 0x40a716
push ecx
push str.__s__Section_Found:_System_ID___s
mov eax, 0x104
call section..text
add esp, 0xc
push 0x4065c8
mov edi, ebx
call fcn.00401db0
mov edi, dword [0x40a958]
mov ecx, dword [0x40a954]
mov ebx, edi
sub ebx, ecx
mov eax, 0xa80a80a9
imul ebx
add edx, ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x10], 0
test eax, eax
jle 0x402e6d
xor esi, esi
mov dword [esp + 0x1c], esi
add ecx, esi
push str.SYSTEM_ID
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x402b8b
mov ecx, dword [0x40a954]
lea edx, [esi + ecx + 0x410]
push edx
push str.System_ID___s__Search
mov eax, 0x104
lea ebx, [esp + 0x40]
call section..text
add esp, 8
push 0x4065c8
mov edi, ebx
call fcn.00401db0
mov eax, dword [0x40a954]
push 0x40a716
lea ecx, [esi + eax + 0x410]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x402b8b
mov edx, dword [0x40a954]
lea eax, [esi + edx + 0x410]
push eax
push str.System_ID___s__Identical
mov eax, 0x104
call section..text
add esp, 8
push 0x4065c8
call fcn.00401db0
mov edi, dword [0x40a958]
mov ecx, dword [0x40a954]
mov ebx, edi
sub ebx, ecx
mov eax, 0xa80a80a9
imul ebx
add edx, ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x28], 0
test eax, eax
jle 0x402b97
mov dword [esp + 0xc], 0
mov edx, dword [esp + 0xc]
lea eax, [edx + ecx + 0x208]
push eax
lea ecx, [esi + ecx + 0x208]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
mov edi, dword [0x40a958]
mov ecx, dword [0x40a954]
test eax, eax
jne 0x402b5c
mov dword [esp + 0x2c], eax
mov ebx, edi
sub ebx, ecx
mov eax, 0xa80a80a9
imul ebx
add edx, ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, eax
jle 0x402b5c
xor esi, esi
mov dword [esp + 0x14], esi
jmp 0x402a50
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpW]
add ecx, esi
push str.COMMAND
push ecx
call edi
test eax, eax
jne 0x402b1d
mov eax, dword [0x40a954]
mov ecx, dword [esp + 0xc]
lea edx, [ecx + eax + 0x410]
push edx
lea eax, [esi + eax + 0x208]
push eax
call edi
test eax, eax
jne 0x402b1d
mov ecx, dword [0x40a954]
lea edx, [esi + ecx + 0x410]
push edx
push str.Execute___s_
mov eax, 0x104
lea ebx, [esp + 0x40]
call section..text
add esp, 8
push 0x4065c8
mov edi, ebx
call fcn.00401db0
mov eax, dword [0x40a954]
lea ecx, [esi + eax + 0x410]
push ecx
mov esi, 0x4065c8
call fcn.004016e0
mov ecx, dword [esp + 0x14]
mov esi, eax
mov eax, dword [0x40a954]
lea edx, [esp + 0x448]
push edx
lea edx, [ecx + eax + 0x208]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x402b19
push esi
push esi
push str._Return_Code_:_0x_08x__d_
mov eax, 0x104
mov dword [esp + 0x24], esi
call section..text
add esp, 0xc
push 0x4065c8
call fcn.00401db0
mov esi, dword [esp + 0x14]
mov edi, dword [0x40a958]
mov ecx, dword [0x40a954]
inc dword [esp + 0x2c]
mov ebx, edi
sub ebx, ecx
mov eax, 0xa80a80a9
imul ebx
add edx, ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add esi, 0x618
add eax, edx
mov dword [esp + 0x14], esi
cmp dword [esp + 0x2c], eax
jl 0x402a50
mov esi, dword [esp + 0x1c]
inc dword [esp + 0x28]
add dword [esp + 0xc], 0x618
mov ebx, edi
sub ebx, ecx
mov eax, 0xa80a80a9
imul ebx
add edx, ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [esp + 0x28], eax
jl 0x4029ed
jmp 0x402b97
mov edi, dword [0x40a958]
mov ecx, dword [0x40a954]
inc dword [esp + 0x10]
mov ebx, edi
sub ebx, ecx
mov eax, 0xa80a80a9
imul ebx
add edx, ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add esi, 0x618
add eax, edx
mov dword [esp + 0x1c], esi
cmp dword [esp + 0x10], eax
jl 0x402922
mov esi, dword [esp + 0x20]
jmp 0x402e6d
mov ecx, dword [0x40a954]
lea edx, [esi + ecx + 0x410]
push edx
push str.__s__Section_Found
mov eax, 0x104
call section..text
add esp, 8
push 0x4065c8
lea edi, [esp + 0x3c]
call fcn.00401db0
mov edi, dword [0x40a958]
mov ecx, dword [0x40a954]
mov ebx, edi
sub ebx, ecx
mov eax, 0xa80a80a9
imul ebx
add edx, ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x1c], 0
test eax, eax
jle 0x402e6d
mov dword [esp + 0x14], 0
jmp 0x402c40
mov edx, dword [esp + 0x20]
lea ebx, [edx + ecx + 0x410]
lea eax, [esp + 0x38]
mov edx, eax
mov edi, 0x82
sub ebx, edx
jmp 0x402c60
lea edx, [edi + 0x7fffff7c]
test edx, edx
je 0x402c7e
movzx edx, word [eax + ebx]
test dx, dx
je 0x402c7e
mov word [eax], dx
add eax, 2
dec edi
jne 0x402c60
jmp 0x402c82
test edi, edi
jne 0x402c85
sub eax, 2
mov esi, dword [esp + 0x14]
xor edx, edx
mov word [eax], dx
add esi, ecx
lea eax, [esp + 0x38]
mov ebx, esi
mov edx, eax
mov edi, 0x82
sub ebx, edx
nop
lea edx, [edi + 0x7fffff7c]
test edx, edx
je 0x402cbe
movzx edx, word [eax + ebx]
test dx, dx
je 0x402cbe
mov word [eax], dx
add eax, 2
dec edi
jne 0x402ca0
jmp 0x402cc2
test edi, edi
jne 0x402cc5
sub eax, 2
xor edx, edx
mov word [eax], dx
mov eax, dword [esp + 0x20]
push esi
lea ecx, [eax + ecx + 0x410]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
mov edi, dword [0x40a958]
mov ecx, dword [0x40a954]
test eax, eax
jne 0x402e2b
mov dword [esp + 0x10], eax
mov ebx, edi
sub ebx, ecx
mov eax, 0xa80a80a9
imul ebx
add edx, ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
test eax, eax
jle 0x402e2b
xor esi, esi
mov dword [esp + 0xc], esi
lea ebx, [ebx]
lea eax, [esi + ecx]
push str.COMMAND
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x402df0
mov eax, dword [0x40a954]
mov edx, dword [esp + 0x14]
lea ecx, [esi + eax + 0x208]
push ecx
lea eax, [edx + eax + 0x410]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x402df0
mov ecx, dword [0x40a954]
lea edx, [esi + ecx + 0x410]
push edx
push str.Execute___s_
mov eax, 0x104
lea ebx, [esp + 0x40]
call section..text
add esp, 8
push 0x4065c8
mov edi, ebx
call fcn.00401db0
mov eax, dword [0x40a954]
lea ecx, [esi + eax + 0x410]
push ecx
mov esi, 0x4065c8
call fcn.004016e0
mov ecx, dword [esp + 0xc]
mov esi, eax
mov eax, dword [0x40a954]
lea edx, [esp + 0x448]
push edx
lea edx, [ecx + eax + 0x208]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x402dec
push esi
push esi
push str._Return_Code_:_0x_08x__d_
mov eax, 0x104
mov dword [esp + 0x24], esi
call section..text
add esp, 0xc
push 0x4065c8
call fcn.00401db0
mov esi, dword [esp + 0xc]
mov edi, dword [0x40a958]
mov ecx, dword [0x40a954]
inc dword [esp + 0x10]
mov ebx, edi
sub ebx, ecx
mov eax, 0xa80a80a9
imul ebx
add edx, ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add esi, 0x618
add eax, edx
mov dword [esp + 0xc], esi
cmp dword [esp + 0x10], eax
jl 0x402d20
mov esi, dword [esp + 0x1c]
add dword [esp + 0x14], 0x618
mov ebx, edi
sub ebx, ecx
mov eax, 0xa80a80a9
imul ebx
add edx, ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
mov dword [esp + 0x1c], esi
cmp esi, eax
jl 0x402c40
mov esi, dword [esp + 0x20]
jmp 0x402e6d
mov edi, dword [0x40a958]
mov ecx, dword [0x40a954]
inc dword [esp + 0x24]
mov ebx, edi
sub ebx, ecx
mov eax, 0xa80a80a9
imul ebx
add edx, ebx
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add esi, 0x618
add eax, edx
mov dword [esp + 0x20], esi
cmp dword [esp + 0x24], eax
jl 0x402509
sub edi, ecx
mov eax, 0xa80a80a9
imul edi
add edx, edi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
add eax, edx
xor esi, esi
test eax, eax
jle 0x402f33
xor ebx, ebx
lea esp, [esp]
mov edi, dword [sym.imp.MSVCR100.dll__wtol]
add ecx, ebx
push str.RETURN_CODE_TRANSLATION
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x402f07
mov ecx, dword [0x40a954]
lea edx, [ebx + ecx + 0x208]
push edx
call edi
add esp, 4
cmp dword [esp + 0x18], eax
jne 0x402f07
mov eax, dword [0x40a954]
lea ecx, [ebx + eax + 0x410]
push ecx
call edi
add esp, 4
mov dword [esp + 0x18], eax
mov edi, dword [0x40a958]
mov ecx, dword [0x40a954]
sub edi, ecx
mov eax, 0xa80a80a9
imul edi
add edx, edi
sar edx, 0xa
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
add ebx, 0x618
cmp esi, eax
jl 0x402ec0
mov ecx, dword [esp + 0xa5c]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0040359e
mov esp, ebp
pop ebp
ret 0x10