Function at 0x4012d0
Capabilities:
Accept command line arguments
Get common file path
Get disk size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x89c
mov eax, dword [0x44b024]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
call dword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
mov dword [ebp - 0x894], eax
push 0xfde9
call dword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov dword [ebp - 0x848], eax
push 0x28
push 0
push 0x44b958
call fcn.00404c40
add esp, 0xc
mov dword [ebp - 0x86c], 0
push str.AGENTGWLIST
mov eax, dword [ebp - 0x848]
push eax
call fcn.00401f30
add esp, 8
test eax, eax
je 0x401344
mov dword [ebp - 0x86c], 1
mov dword [ebp - 0x830], 0
call fcn.00402760
mov dword [ebp - 0x874], eax
mov dword [ebp - 0x868], 0
mov dword [ebp - 0x864], 0
mov dword [ebp - 0x884], 0
mov dword [ebp - 0x844], 0
call fcn.00401180
push 0x9c
push 0
lea ecx, [ebp - 0x82c]
push ecx
call fcn.00404c40
add esp, 0xc
mov dword [ebp - 0x82c], 0x9c
lea edx, [ebp - 0x82c]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x401425
cmp dword [ebp - 0x81c], 2
jne 0x4013ec
push 0xc
push 0
push str.Platform_check_passed
push 0x1d4d6
call section..text
add esp, 0x10
push 0x438212
push 0
push 0x438214
call fcn.00401220
add esp, 0xc
jmp 0x401423
push 0xc
push 0
push 0x43821c
push 0x1d4d5
call section..text
add esp, 0x10
push 0x438213
push 0xbc1
push 0x438254
call fcn.00401220
add esp, 0xc
mov dword [ebp - 0x830], 1
jmp 0x40145c
push 0xc
push 0
push str.This_machine_is_not_running_NT_Service_Pack_6_or_higher
push 0x1d4d5
call section..text
add esp, 0x10
push 0x43821b
push 0xbc1
push str.SetEnv
call fcn.00401220
add esp, 0xc
mov dword [ebp - 0x830], 1
mov byte [ebp - 0x838], 0
mov byte [ebp - 0x837], 0
mov byte [ebp - 0x836], 0
mov byte [ebp - 0x835], 0
push 0x43829c
mov eax, dword [ebp - 0x848]
push eax
call fcn.00401f30
add esp, 8
mov dword [ebp - 0x840], eax
cmp dword [ebp - 0x840], 0
je 0x4014fc
push str._DRIVE
call fcn.00408a10
add esp, 4
add eax, dword [ebp - 0x840]
mov dword [ebp - 0x840], eax
mov ecx, 1
imul edx, ecx, 0
mov eax, dword [ebp - 0x840]
mov cl, byte [eax]
mov byte [ebp + edx - 0x838], cl
mov edx, 1
shl edx, 0
mov eax, dword [ebp - 0x840]
mov cl, byte [eax + 1]
mov byte [ebp + edx - 0x838], cl
mov edx, 1
shl edx, 1
mov eax, dword [ebp - 0x840]
mov cl, byte [eax + 2]
mov byte [ebp + edx - 0x838], cl
jmp 0x40153a
push 0x400
push 0
lea edx, [ebp - 0x784]
push edx
call fcn.00404c40
add esp, 0xc
push 0x400
lea eax, [ebp - 0x784]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
push 3
lea ecx, [ebp - 0x784]
push ecx
lea edx, [ebp - 0x838]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov dword [ebp - 0x834], 0
mov dword [ebp - 0x850], 0
mov eax, dword [ebp - 0x848]
push eax
call fcn.00417ce0
add esp, 4
mov dword [ebp - 0x850], eax
push 0x4382ac
mov ecx, dword [ebp - 0x850]
push ecx
call fcn.00408aa0
add esp, 8
mov dword [ebp - 0x84c], eax
cmp dword [ebp - 0x84c], 0
je 0x4015bb
cmp dword [ebp - 0x834], 0
jne 0x4015bb
mov edx, dword [ebp - 0x84c]
push edx
call fcn.00409d60
add esp, 4
mov dword [ebp - 0x834], eax
push 0x4382b0
push 0
call fcn.00408aa0
add esp, 8
mov dword [ebp - 0x84c], eax
jmp 0x40157d
mov eax, dword [ebp - 0x834]
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
mov dword [ebp - 0x834], eax
cmp dword [ebp - 0x834], 0
jne 0x4015e6
mov dword [ebp - 0x834], 0x64
mov eax, dword [ebp - 0x850]
push eax
call fcn.00408ac0
add esp, 4
lea ecx, [ebp - 0x868]
push ecx
lea edx, [ebp - 0x880]
push edx
lea eax, [ebp - 0x89c]
push eax
lea ecx, [ebp - 0x838]
push ecx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
push 0
push 0x400
mov edx, dword [ebp - 0x87c]
push edx
mov eax, dword [ebp - 0x880]
push eax
call fcn.00403800
push 0
push 0x400
push edx
push eax
call fcn.00403800
mov dword [ebp - 0x880], eax
mov dword [ebp - 0x87c], edx
mov ecx, dword [ebp - 0x880]
mov dword [ebp - 0x884], ecx
push 0
push 0x400
mov edx, dword [ebp - 0x864]
push edx
mov eax, dword [ebp - 0x868]
push eax
call fcn.00403800
push 0
push 0x400
push edx
push eax
call fcn.00403800
mov dword [ebp - 0x868], eax
mov dword [ebp - 0x864], edx
mov ecx, dword [ebp - 0x868]
mov dword [ebp - 0x844], ecx
mov edx, dword [ebp - 0x844]
cmp edx, dword [ebp - 0x834]
jae 0x4017b2
push 0x200
push 0
lea eax, [ebp - 0x384]
push eax
call fcn.00404c40
add esp, 0xc
push 0x40
push 0
lea ecx, [ebp - 0x44]
push ecx
call fcn.00404c40
add esp, 0xc
push 0x40
push 0
lea edx, [ebp - 0x84]
push edx
call fcn.00404c40
add esp, 0xc
mov eax, dword [ebp - 0x834]
push eax
push 0x4382b4
lea ecx, [ebp - 0x44]
push ecx
call fcn.00402040
add esp, 0xc
mov edx, dword [ebp - 0x844]
push edx
push 0x4382b8
lea eax, [ebp - 0x84]
push eax
call fcn.00402040
add esp, 0xc
mov ecx, dword [ebp - 0x844]
push ecx
mov edx, dword [ebp - 0x834]
push edx
push str.There_is_not_enough_disk_space_to_complete_the_n_installation.__uMB_is_required__and_only__uMB_is_available.
lea eax, [ebp - 0x384]
push eax
call fcn.00402040
add esp, 0x10
mov ecx, 4
imul edx, ecx, 0
lea eax, [ebp - 0x44]
mov dword [ebp + edx - 0x790], eax
mov ecx, 4
shl ecx, 0
lea edx, [ebp - 0x84]
mov dword [ebp + ecx - 0x790], edx
mov eax, 4
shl eax, 1
mov dword [ebp + eax - 0x790], 0
push 0xd
lea ecx, [ebp - 0x790]
push ecx
lea edx, [ebp - 0x384]
push edx
push 0x1d4d8
call section..text
add esp, 0x10
lea eax, [ebp - 0x384]
push eax
push 0x3e80
push 0x4382bc
call fcn.00401220
add esp, 0xc
mov dword [ebp - 0x830], 1
jmp 0x4017dc
push 0xd
push 0
push str.Disk_space_check_passed
push 0x1d4d4
call section..text
add esp, 0x10
push 0x43825b
push 0
push str.DiskSpace
call fcn.00401220
add esp, 0xc
mov dword [ebp - 0x83c], 0
cmp dword [ebp - 0x86c], 0
jne 0x401c7f
cmp dword [ebp - 0x874], 0
je 0x401be9
push 5
push 0x3ec
push str.spin
call fcn.00402240
add esp, 0xc
mov dword [ebp - 0x83c], eax
mov ecx, dword [ebp - 0x83c]
mov dword [ebp - 0x854], ecx
cmp dword [ebp - 0x854], 1
je 0x40184a
cmp dword [ebp - 0x854], 2
je 0x4018a3
cmp dword [ebp - 0x854], 3
je 0x4018dc
jmp 0x401915
push 0xf
push 0
push str.Successful_name_resolution_for_the_Data_Access_Engine
push 0x1d4c2
call section..text
add esp, 0x10
push 0x14
push 0
push str.Successfully_connected_to_the_Data_Access_Engine_on_port_1004
push 0x1d4c1
call section..text
add esp, 0x10
push 0x43829b
push 0
push 0x4383d8
call fcn.00401220
add esp, 0xc
push 0x4382ae
push 0
push 0x4383e4
call fcn.00401220
add esp, 0xc
jmp 0x40194c
push 0x14
push 0
push str.Unable_to_connect_to_the_Data_Access_Engine_on_port_1004
push 0x1d4c0
call section..text
add esp, 0x10
push 0x4382af
push 0x2eeb
push 0x43842c
call fcn.00401220
add esp, 0xc
mov dword [ebp - 0x830], 1
jmp 0x40194c
push 0x14
push 0
push str.Unsuccessful_name_resolution_for_the_Data_Access_Engine
push 0x1d4c3
call section..text
add esp, 0x10
push 0x4382b2
push 0x1b62
push str.SpinResolv
call fcn.00401220
add esp, 0xc
mov dword [ebp - 0x830], 1
jmp 0x40194c
push 0x14
push 0
push 0x43847c
push 0x1d4c4
call section..text
add esp, 0x10
push 0x4382b3
push 0x2eea
push 0x4384b4
call fcn.00401220
add esp, 0xc
mov dword [ebp - 0x830], 1
push 5
push 0x3fa
push 0x4384c0
call fcn.00402240
add esp, 0xc
mov dword [ebp - 0x83c], eax
mov edx, dword [ebp - 0x83c]
mov dword [ebp - 0x858], edx
cmp dword [ebp - 0x858], 1
je 0x401996
cmp dword [ebp - 0x858], 2
je 0x4019ef
cmp dword [ebp - 0x858], 3
je 0x401a28
jmp 0x401a61
push 0x19
push 0
push str.Succesful_name_resolution_for_the_Command_Engine
push 0x1d4ce
call section..text
add esp, 0x10
push 0x1e
push 0
push str.Successfully_connected_to_the_Command_Engine_on_port_1018
push 0x1d4cb
call section..text
add esp, 0x10
push 0x4382b7
push 0
push 0x438538
call fcn.00401220
add esp, 0xc
push 0x4382bb
push 0
push 0x438544
call fcn.00401220
add esp, 0xc
jmp 0x401a98
push 0x1e
push 0
push str.Unable_to_connect_to_the_Command_Engine_on_port_1018
push 0x1d4ca
call section..text
add esp, 0x10
push 0x4382c6
push 0x32d3
push 0x438584
call fcn.00401220
add esp, 0xc
mov dword [ebp - 0x830], 1
jmp 0x401a98
push 0x1e
push 0
push str.Unsuccessful_name_resolution_for_the_Command_Engine
push 0x1d4cc
call section..text
add esp, 0x10
push 0x4382c7
push 0x1f4a
push str.WayResolv
call fcn.00401220
add esp, 0xc
mov dword [ebp - 0x830], 1
jmp 0x401a98
push 0x1e
push 0
push 0x4385cc
push 0x1d4cd
call section..text
add esp, 0x10
push 0x438356
push 0x32d2
push 0x438600
call fcn.00401220
add esp, 0xc
mov dword [ebp - 0x830], 1
push 5
push 0x3eb
push str.theword
call fcn.00402240
add esp, 0xc
mov dword [ebp - 0x83c], eax
mov eax, dword [ebp - 0x83c]
mov dword [ebp - 0x85c], eax
cmp dword [ebp - 0x85c], 1
je 0x401ae2
cmp dword [ebp - 0x85c], 2
je 0x401b3b
cmp dword [ebp - 0x85c], 3
je 0x401b74
jmp 0x401bad
push 0x23
push 0
push str.Successful_name_resolution_for_the_Software_Repository
push 0x1d4c9
call section..text
add esp, 0x10
push 0x28
push 0
push str.Successfully_connected_to_the_Software_Repository_on_port_1003
push 0x1d4c6
call section..text
add esp, 0x10
push 0x438357
push 0
push 0x43868c
call fcn.00401220
add esp, 0xc
push 0x43835e
push 0
push 0x438698
call fcn.00401220
add esp, 0xc
jmp 0x401be4
push 0x28
push 0
push str.Unable_to_connect_to_the_Software_Repository_on_port_1003
push 0x1d4c5
call section..text
add esp, 0x10
push 0x43835f
push 0x36bb
push 0x4386e0
call fcn.00401220
add esp, 0xc
mov dword [ebp - 0x830], 1
jmp 0x401be4
push 0x28
push 0
push str.Unsuccessful_name_resolution_for_the_Software_Repository
push 0x1d4c7
call section..text
add esp, 0x10
push 0x438396
push 0x271a
push str.WordResolv
call fcn.00401220
add esp, 0xc
mov dword [ebp - 0x830], 1
jmp 0x401be4
push 0x28
push 0
push 0x438734
push 0x1d4c8
call section..text
add esp, 0x10
push 0x438397
push 0x36ba
push 0x438770
call fcn.00401220
add esp, 0xc
mov dword [ebp - 0x830], 1
jmp 0x401c7a
push 0x14
push 0
push str.Error_when_attempting_to_contact_the_Data_Access_Engine
push 0x1d4c4
call section..text
add esp, 0x10
push 0x4383d6
push 0x2eea
push str.SpinPort
call fcn.00401220
add esp, 0xc
push 0x1e
push 0
push str.Error_when_attempting_to_contact_the_Command_Engine
push 0x1d4cd
call section..text
add esp, 0x10
push 0x4383d7
push 0x32d2
push str.WayPort
call fcn.00401220
add esp, 0xc
push 0x28
push 0
push str.Error_when_attempting_to_contact_the_Software_Repository
push 0x1d4c8
call section..text
add esp, 0x10
push 0x4383e3
push 0x36ba
push str.WordPort
call fcn.00401220
add esp, 0xc
mov dword [ebp - 0x830], 1
jmp 0x401de6
push 0x438844
mov ecx, dword [ebp - 0x848]
push ecx
call fcn.00401f30
add esp, 8
mov esi, eax
push str._AGENTGWLIST
call fcn.00408a10
add esp, 4
add esi, eax
mov dword [ebp - 0x888], esi
push 0x438864
mov edx, dword [ebp - 0x888]
push edx
call fcn.00408aa0
add esp, 8
mov dword [ebp - 0x860], eax
push pe_nt_image_headers32
push 0
lea eax, [ebp - 0x184]
push eax
call fcn.00404c40
add esp, 0xc
mov dword [ebp - 0x870], 0
cmp dword [ebp - 0x860], 0
je 0x401d7a
push pe_nt_image_headers32
push 0
lea ecx, [ebp - 0x184]
push ecx
call fcn.00404c40
add esp, 0xc
lea edx, [ebp - 0x88c]
push edx
push pe_nt_image_headers32
lea eax, [ebp - 0x184]
push eax
mov ecx, dword [ebp - 0x860]
push ecx
call fcn.00402080
add esp, 0x10
test eax, eax
je 0x401d60
push 5
mov edx, dword [ebp - 0x88c]
push edx
lea eax, [ebp - 0x184]
push eax
call fcn.00402240
add esp, 0xc
mov dword [ebp - 0x890], eax
cmp dword [ebp - 0x890], 1
jne 0x401d60
mov dword [ebp - 0x870], 1
jmp 0x401d7a
push 0x438868
push 0
call fcn.00408aa0
add esp, 8
mov dword [ebp - 0x860], eax
jmp 0x401ce4
cmp dword [ebp - 0x870], 1
jne 0x401daf
push 0x2d
push 0
push str.Gateway_reachability_check_passed
push 0x1d4d2
call section..text
add esp, 0x10
push 0x4383ed
push 0
push 0x438890
call fcn.00401220
add esp, 0xc
jmp 0x401de6
push 0x2d
push 0
push str.Gateway_reachability_check_failed
push 0x1d4d3
call section..text
add esp, 0x10
push 0x4383ee
push 0x4277
push str.GatewayCheck
call fcn.00401220
add esp, 0xc
mov dword [ebp - 0x830], 1
cmp dword [ebp - 0x874], 0
je 0x401ec8
push 5
push 0x3ea
push 0
call fcn.00402240
add esp, 0xc
mov dword [ebp - 0x83c], eax
mov ecx, dword [ebp - 0x83c]
mov dword [ebp - 0x878], ecx
cmp dword [ebp - 0x878], 1
je 0x401e2a
cmp dword [ebp - 0x878], 2
je 0x401e63
jmp 0x401e8f
push 0x32
push 0
push str.Local_port_1002_is_currently_in_use
push 0x1d4d0
call section..text
add esp, 0x10
push 0x4383ef
push 0x2b02
push 0x4388f8
call fcn.00401220
add esp, 0xc
mov dword [ebp - 0x830], 1
jmp 0x401ec6
push 0x32
push 0
push str.Local_port_1002_is_available_for_the_agents_use
push 0x1d4cf
call section..text
add esp, 0x10
push 0x438429
push 0
push 0x438938
call fcn.00401220
add esp, 0xc
jmp 0x401ec6
push 0x32
push 0
push 0x438944
push 0x1d4d1
call section..text
add esp, 0x10
push 0x43842a
push 0x2b03
push 0x438978
call fcn.00401220
add esp, 0xc
mov dword [ebp - 0x830], 1
jmp 0x401eff
push 0x32
push 0
push str.Unable_to_determine_if_local_port_1002_is_available
push 0x1d4d1
call section..text
add esp, 0x10
push 0x43842b
push 0x2b03
push str.AgentPort
call fcn.00401220
add esp, 0xc
mov dword [ebp - 0x830], 1
call fcn.004027a0
mov edx, dword [ebp - 0x894]
push edx
call dword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
cmp dword [ebp - 0x830], 0
je 0x401f1f
or eax, 0xffffffff
jmp 0x401f21
xor eax, eax
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004037f0
mov esp, ebp
pop ebp
ret