Function at 0x44e560
Capabilities:
Accept command line arguments
Check if file exists
Delete file
Get file attributes
Get hostname

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5a8
mov eax, dword [0x4c1280]
xor eax, ebp
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
lea eax, [ebp - 4]
push eax
mov ecx, dword [ebp + 0x10]
push ecx
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 8], eax
cmp dword [ebp - 4], 1
jne 0x44e5b9
push 0x4a2218
mov edx, dword [ebp - 8]
mov eax, dword [edx]
push eax
call fcn.00477b12
add esp, 8
test eax, eax
jne 0x44e5b9
mov dword [0x4c36a4], 1
mov ecx, 0x4c3688
call fcn.0045bed0
test eax, eax
jne 0x44e5ce
xor eax, eax
jmp 0x44eb18
cmp dword [0x4c36a4], 0
je 0x44e64a
lea ecx, [ebp - 0x78]
call fcn.00431b90
push 0
lea ecx, [ebp - 0x78]
call fcn.00431d00
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
jne 0x44e60f
push str.update_succ
push 0x4a2220
call fcn.00401340
add esp, 4
push eax
call fcn.004013f0
add esp, 8
jmp 0x44e62e
mov ecx, dword [ebp - 0x10]
push ecx
push str.update_ret:0x_x
push 0x4a2244
call fcn.00401340
add esp, 4
push eax
call fcn.00401590
add esp, 0xc
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x5a4], edx
lea ecx, [ebp - 0x78]
call fcn.00431c70
mov eax, dword [ebp - 0x5a4]
jmp 0x44eb18
cmp dword [0x4c36a8], 0
je 0x44e941
cmp dword [ebp - 4], 2
jne 0x44e941
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
mov ecx, 0x4c3688
call fcn.00460f80
test eax, eax
jne 0x44e6a0
mov edx, dword [ebp - 8]
mov eax, dword [edx]
push eax
push str.wrong_ip:_s
push 0x4a2270
call fcn.00401340
add esp, 4
push eax
call fcn.00401590
add esp, 0xc
mov eax, 1
jmp 0x44eb18
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + 4]
push edx
call fcn.00474b5c
add esp, 4
mov dword [ebp - 0x4c0], eax
cmp dword [ebp - 0x4c0], 1
jl 0x44e6ca
cmp dword [ebp - 0x4c0], 0xffff
jle 0x44e6f6
mov eax, dword [ebp - 8]
mov ecx, dword [eax + 4]
push ecx
push str.wrong_port:_s
push 0x4a2294
call fcn.00401340
add esp, 4
push eax
call fcn.00401590
add esp, 0xc
mov eax, 1
jmp 0x44eb18
mov edx, dword [ebp - 8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
push edx
push str._s:_s
push 0x4a22bc
call fcn.00401340
add esp, 4
push eax
call fcn.004013f0
add esp, 0x10
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ecx
mov ecx, 0x4c3828
call fcn.0042e120
mov edx, dword [ebp - 8]
mov eax, dword [edx + 4]
push eax
mov ecx, 0x4c382c
call fcn.0042e120
xor ecx, ecx
mov word [ebp - 0x280], cx
push 0x206
push 0
lea edx, [ebp - 0x27e]
push edx
call fcn.00472990
add esp, 0xc
mov dword [ebp - 0x4c8], 0x104
xor eax, eax
mov word [ebp - 0x490], ax
push 0x206
push 0
lea ecx, [ebp - 0x48e]
push ecx
call fcn.00472990
add esp, 0xc
mov dword [ebp - 0x4c4], 0x104
lea edx, [ebp - 0x4c4]
push edx
lea eax, [ebp - 0x490]
push eax
lea ecx, [ebp - 0x4c8]
push ecx
lea edx, [ebp - 0x280]
push edx
call fcn.0044e300
add esp, 0x10
test eax, eax
jne 0x44e81f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.GetUserName_0x_x
push 0x4a22d4
call fcn.00401340
add esp, 4
push eax
call fcn.00401590
add esp, 0xc
lea eax, [ebp - 0x4c8]
push eax
lea ecx, [ebp - 0x280]
push ecx
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
test eax, eax
jne 0x44e81f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.GetComputerName_0x_x
push 0x4a2304
call fcn.00401340
add esp, 4
push eax
call fcn.00401590
add esp, 0xc
mov eax, 2
jmp 0x44eb18
lea edx, [ebp - 0x280]
push edx
mov ecx, 0x4c3830
call fcn.0042e120
lea eax, [ebp - 0x280]
push eax
lea ecx, [ebp - 0x490]
push ecx
push 0x4a2348
push 0x4a233c
call fcn.00401340
add esp, 4
push eax
call fcn.004013f0
add esp, 0x10
mov dword [ebp - 0x284], 0xffffffff
lea ecx, [ebp - 0x4bc]
call fcn.0044c250
push 0
lea ecx, [ebp - 0x4bc]
call fcn.0044db60
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
jne 0x44e8fd
lea ecx, [ebp - 0x528]
call fcn.00431b90
push 0
lea ecx, [ebp - 0x528]
call fcn.00431d00
mov dword [ebp - 0x284], eax
cmp dword [ebp - 0x284], 0
jne 0x44e8ce
push str.install_succ
push 0x4a2354
call fcn.00401340
add esp, 4
push eax
call fcn.004013f0
add esp, 8
jmp 0x44e8f0
mov edx, dword [ebp - 0x284]
push edx
push str.install_ret:0x_x
push 0x4a237c
call fcn.00401340
add esp, 4
push eax
call fcn.00401590
add esp, 0xc
lea ecx, [ebp - 0x528]
call fcn.00431c70
jmp 0x44e91f
mov eax, dword [ebp - 0x284]
push eax
push str.reg_ret:0x_x
push 0x4a23ac
call fcn.00401340
add esp, 4
push eax
call fcn.00401590
add esp, 0xc
mov ecx, dword [ebp - 0x284]
mov dword [ebp - 0x5a8], ecx
lea ecx, [ebp - 0x4bc]
call fcn.0044c2d0
mov eax, dword [ebp - 0x5a8]
jmp 0x44eb18
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
mov dword [ebp - 0xc], eax
push 0
push 0
push 0
push 0
call dword [sym.imp.USER32.dll_DefWindowProcW]
push 0x3fff
call fcn.0044eda0
add esp, 4
push 0x4b14b0
mov edx, dword [ebp + 8]
push edx
push 0
mov ecx, 0x4c33d8
call fcn.0044eea0
mov dword [ebp - 0xc], eax
push 0
lea ecx, [ebp - 0x5a0]
call fcn.004476b0
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x5a0]
call fcn.0044eb30
lea ecx, [ebp - 0x5a0]
call fcn.00447e80
cmp dword [0x4c36a8], 0
je 0x44ea45
call fcn.00469780
cmp dword [eax + 0x24], 0
je 0x44ea45
call fcn.00469780
mov eax, dword [eax + 0x24]
call eax
call fcn.00469780
mov ecx, eax
call fcn.00469b70
mov ecx, 0x4c3934
call fcn.00401ff0
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x44ea1f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, 0x4c3934
call fcn.00401ff0
push eax
push str.del__s_error:0x_x
push 0x4a23d4
call fcn.00401340
add esp, 4
push eax
call fcn.00401590
add esp, 0x10
jmp 0x44ea45
mov ecx, 0x4c3934
call fcn.00401ff0
push eax
push str.del__s
push 0x4a2404
call fcn.00401340
add esp, 4
push eax
call fcn.004013f0
add esp, 0xc
mov ecx, 0x4c3824
call fcn.00453990
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x44ea99
mov ecx, 0x4c3824
call fcn.00453990
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x44ea99
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov ecx, dword [0x4c3824]
push ecx
push str.del__s_ret:0x_x
push 0x4a2420
call fcn.00401340
add esp, 4
push eax
call fcn.00401590
add esp, 0x10
cmp dword [0x4c36cc], 0
je 0x44eb06
mov ecx, 0x4c3688
call fcn.0045fa40
push 4
push 0x4a244c
call fcn.00429fc0
add esp, 4
push eax
push str.1030
call fcn.00429fc0
add esp, 4
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x44eb06
call fcn.0044dda0
test eax, eax
jne 0x44eb06
push 0x10
push 0x4a2464
call fcn.00429fc0
add esp, 4
push eax
push str.1031
call fcn.00429fc0
add esp, 4
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, 0x4c33d8
call fcn.0044f060
call dword [sym.imp.ole32.dll_CoUninitialize]
xor eax, eax
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00472a79
mov esp, ebp
pop ebp
ret 0x10