Function at 0x448a90
Capabilities:
Create process on windows
Print debug messages

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4f4843
mov eax, dword fs:[0]
push eax
sub esp, 0x160
mov eax, dword [0x54b1b4]
xor eax, esp
mov dword [esp + 0x158], eax
push ebx
push esi
push edi
mov eax, dword [0x54b1b4]
xor eax, esp
push eax
lea eax, [esp + 0x170]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x14], eax
mov eax, dword [0x54eee0]
mov edi, ecx
test eax, eax
je 0x448b10
cmp dword [eax + 8], 4
mov ebx, eax
jl 0x448b10
push str.MainUpdate.cpp
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push ecx
mov ecx, str.begin_RunTempUpdate
mov esi, 0x6e
call fcn.0042ef60
push ebx
mov ecx, esi
call fcn.0042cbc0
mov eax, 1
test byte [0x54f12c], al
jne 0x448b4b
or dword [0x54f12c], eax
mov dword [esp + 0x178], 0
call fcn.00440710
push 0x4f6010
call fcn.004bc45e
add esp, 4
mov dword [esp + 0x178], 0xffffffff
mov edx, dword [esp + 0x14]
push edx
lea eax, [esp + 0x48]
push eax
mov ebx, 0x54f1e4
call fcn.0042e640
push eax
mov eax, str..exe
lea ecx, [esp + 0x74]
mov dword [esp + 0x184], 1
call fcn.00406d60
add esp, 0xc
mov byte [esp + 0x178], 3
cmp dword [esp + 0x58], 8
jb 0x448b98
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004ba3a4
add esp, 4
lea eax, [esp + 0xbc]
xor edx, edx
push edi
mov esi, 7
push eax
mov ebx, 0x54f1ac
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], 0
mov word [esp + 0x4c], dx
call fcn.0042e640
push eax
mov eax, 0x511ec8
lea ecx, [esp + 0xe8]
mov byte [esp + 0x184], 4
call fcn.00406d60
add esp, 0xc
mov ecx, eax
mov eax, 0x54f1e4
lea ebx, [esp + 0x84]
mov byte [esp + 0x178], 5
call fcn.00414010
mov ebx, 8
cmp dword [esp + 0xf0], ebx
jb 0x448c19
mov ecx, dword [esp + 0xdc]
push ecx
call fcn.004ba3a4
add esp, 4
xor edi, edi
xor edx, edx
mov dword [esp + 0xf0], esi
mov dword [esp + 0xec], edi
mov word [esp + 0xdc], dx
mov byte [esp + 0x178], bl
cmp dword [esp + 0xd0], ebx
jb 0x448c53
mov eax, dword [esp + 0xbc]
push eax
call fcn.004ba3a4
add esp, 4
mov eax, dword [esp + 0x68]
xor ecx, ecx
mov dword [esp + 0xd0], esi
mov dword [esp + 0xcc], edi
mov word [esp + 0xbc], cx
cmp dword [esp + 0x7c], ebx
jae 0x448c79
lea eax, [esp + 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [esp + 0x68]
cmp dword [esp + 0x7c], ebx
jae 0x448c8e
lea eax, [esp + 0x68]
push eax
mov edx, 0x75
push 0x516d30
push str.MainUpdate.cpp
lea esi, [edx - 0x71]
mov eax, 0x54eee0
call fcn.0042bb60
add esp, 0xc
lea edx, [esp + 0x18]
push edx
call fcn.00415460
mov byte [esp + 0x178], 9
mov edx, dword [esp + 0x68]
cmp dword [esp + 0x7c], ebx
jae 0x448cce
lea edx, [esp + 0x68]
xor eax, eax
mov word [esp + 0x44], ax
mov eax, edx
mov dword [esp + 0x58], 7
mov dword [esp + 0x54], edi
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x448ce6
sub eax, esi
sar eax, 1
push eax
push edx
lea ecx, [esp + 0x4c]
call fcn.00408440
mov byte [esp + 0x178], 0xa
mov eax, dword [esp + 0x84]
cmp dword [esp + 0x98], ebx
jae 0x448d1f
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea ebx, [esp + 0x4c]
call fcn.00415d40
test al, al
mov esi, 8
sete bl
mov byte [esp + 0x178], 9
cmp dword [esp + 0x58], esi
jb 0x448d53
mov edx, dword [esp + 0x44]
push edx
call fcn.004ba3a4
add esp, 4
xor edi, edi
test bl, bl
je 0x448ded
mov eax, dword [0x54eee0]
cmp eax, edi
je 0x448d95
cmp dword [eax + 8], 2
mov ebx, eax
jl 0x448d95
push str.MainUpdate.cpp
push 2
push ecx
mov eax, esp
mov dword [esp + 0x1c], esp
push eax
mov ecx, 0x516d48
lea esi, [edi + 0x7a]
call fcn.0042ef60
push ebx
mov ecx, esi
call fcn.0042cbc0
lea esi, [edi + 8]
lea ecx, [esp + 0x18]
call fcn.00415560
cmp dword [esp + 0x98], esi
jb 0x448db7
mov ecx, dword [esp + 0x84]
push ecx
call fcn.004ba3a4
add esp, 4
xor edx, edx
mov dword [esp + 0x98], 7
mov dword [esp + 0x94], edi
mov word [esp + 0x84], dx
cmp dword [esp + 0x7c], esi
jb 0x448de6
mov eax, dword [esp + 0x68]
push eax
call fcn.004ba3a4
add esp, 4
xor al, al
jmp 0x4494ae
lea ecx, [esp + 0x68]
push ecx
lea ecx, [esp + 0xa4]
call fcn.00402730
add esp, 4
mov byte [esp + 0x178], 0xb
cmp dword [0x54f1dc], 0x10
mov ecx, dword [0x54f1c8]
jae 0x448e1d
mov ecx, 0x54f1c8
mov esi, dword [esp + 0xb0]
mov ebx, dword [0x54f1d8]
mov eax, esi
cmp esi, ebx
jb 0x448e32
mov eax, ebx
cmp dword [esp + 0xb4], 0x10
mov edx, dword [esp + 0xa0]
jae 0x448e4a
lea edx, [esp + 0xa0]
call fcn.00406ef0
cmp eax, edi
jne 0x448e65
cmp esi, ebx
jae 0x448e5c
or eax, 0xffffffff
jmp 0x448e63
xor eax, eax
cmp esi, ebx
setne al
cmp eax, edi
sete al
test al, al
sete al
test al, al
je 0x448f40
mov ebx, dword [0x54eee0]
cmp ebx, edi
je 0x448eab
cmp dword [ebx + 8], 2
jl 0x448eab
push str.MainUpdate.cpp
push 2
push ecx
mov edx, esp
mov dword [esp + 0x1c], esp
push edx
mov ecx, 0x516d88
mov esi, 0x81
call fcn.0042ef60
push ebx
mov ecx, esi
call fcn.0042cbc0
cmp dword [esp + 0xb4], 0x10
jb 0x448ec5
mov eax, dword [esp + 0xa0]
push eax
call fcn.004ba3a4
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0xb4], 0xf
mov dword [esp + 0xb0], edi
mov byte [esp + 0xa0], 0
call fcn.00415560
mov esi, 8
cmp dword [esp + 0x98], esi
jb 0x448f06
mov ecx, dword [esp + 0x84]
push ecx
call fcn.004ba3a4
add esp, 4
xor edx, edx
mov dword [esp + 0x98], 7
mov dword [esp + 0x94], edi
mov word [esp + 0x84], dx
cmp dword [esp + 0x7c], esi
jb 0x448de6
mov eax, dword [esp + 0x68]
push eax
call fcn.004ba3a4
add esp, 4
xor al, al
jmp 0x4494ae
mov eax, 0xfffffe00
and dword [esp + 0xe4], eax
xor esi, esi
mov dword [esp + 0xe8], esi
and dword [esp + 0xc4], eax
mov dword [esp + 0xc8], esi
mov bl, 0xf
push 0x514a10
lea edi, [esp + 0x48]
mov byte [esp + 0x17c], bl
call fcn.00419cf0
push esi
lea ecx, [esp + 0xc0]
push ecx
mov ecx, str.quiet
mov byte [esp + 0x180], 0x10
call fcn.0041b320
mov esi, eax
mov eax, edi
call fcn.0041a030
mov eax, edi
mov byte [esp + 0x178], bl
call fcn.00419f90
push 0x514a10
lea edi, [esp + 0x48]
call fcn.00419cf0
push 0
lea edx, [esp + 0xc0]
push edx
mov ecx, 0x516dd8
mov byte [esp + 0x180], 0x11
call fcn.0041b320
mov esi, eax
mov eax, edi
call fcn.0041a030
mov eax, edi
mov byte [esp + 0x178], bl
call fcn.00419f90
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor ecx, ecx
push eax
mov dword [esp + 0x18], eax
mov byte [esp + 0x158], 0
mov dword [esp + 0x159], ecx
mov dword [esp + 0x15d], ecx
mov dword [esp + 0x161], ecx
mov dword [esp + 0x165], ecx
mov word [esp + 0x169], cx
mov byte [esp + 0x16b], cl
call dword [sym.imp.KERNEL32.dll_GetProcessId]
push eax
push 0x516de4
lea edx, [esp + 0x15c]
call fcn.0044c100
add esp, 8
lea eax, [esp + 0x154]
push eax
lea edi, [esp + 0x48]
call fcn.00419cf0
push 0
lea ecx, [esp + 0xe0]
push ecx
mov ecx, 0x516c94
mov byte [esp + 0x180], 0x12
call fcn.0041b320
mov esi, eax
mov eax, edi
call fcn.0041a030
mov eax, edi
mov byte [esp + 0x178], bl
call fcn.00419f90
mov ebx, 1
test byte [0x54f018], bl
jne 0x4490b1
or dword [0x54f018], ebx
call fcn.00443940
push 0x4f5ff0
call fcn.004bc45e
add esp, 4
push 0xb
push str.tempunsetup
push 0x54efd8
xor eax, eax
call fcn.004071a0
cmp eax, 0xffffffff
je 0x4490fa
test byte [0x54f018], bl
jne 0x4490e9
or dword [0x54f018], ebx
call fcn.00443940
push 0x4f5ff0
call fcn.004bc45e
add esp, 4
push 7
push str._update
mov ecx, 0x54efd8
call fcn.00408440
test byte [0x54f018], bl
jne 0x44911a
or dword [0x54f018], ebx
call fcn.00443940
push 0x4f5ff0
call fcn.004bc45e
add esp, 4
lea edx, [esp + 0x138]
push edx
mov ecx, 0x54efd8
call fcn.0040ae70
add esp, 4
mov byte [esp + 0x178], 0x13
mov ecx, dword [esp + 0x4c]
and ecx, 0xffffff04
or ecx, 0x104
cmp dword [eax + 0x14], 0x10
mov dword [esp + 0x4c], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x50], 0
jb 0x449160
mov ebx, dword [eax]
jmp 0x449162
mov ebx, eax
mov eax, ecx
call fcn.00419770
mov dword [esp + 0x44], eax
push 0
lea edx, [esp + 0xe0]
push edx
mov ecx, 0x516c98
mov byte [esp + 0x180], 0x14
call fcn.0041b320
mov esi, eax
lea eax, [esp + 0x44]
call fcn.0041a030
lea eax, [esp + 0x44]
mov byte [esp + 0x178], 0x13
call fcn.00419f90
mov esi, 0x10
mov byte [esp + 0x178], 0xf
cmp dword [esp + 0x14c], esi
jb 0x4491cb
mov eax, dword [esp + 0x138]
push eax
call fcn.004ba3a4
add esp, 4
lea ecx, [esp + 0x138]
push ecx
mov ecx, 0x54f200
call fcn.0040ae70
add esp, 4
mov byte [esp + 0x178], 0x15
mov edx, dword [esp + 0x4c]
mov ecx, dword [eax + 0x10]
and edx, 0xffffff04
or edx, 0x104
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], 0
cmp dword [eax + 0x14], esi
jb 0x449210
mov ebx, dword [eax]
jmp 0x449212
mov ebx, eax
mov eax, ecx
call fcn.00419770
mov dword [esp + 0x44], eax
xor ebx, ebx
push ebx
lea eax, [esp + 0xe0]
push eax
mov ecx, str.updateversion
mov byte [esp + 0x180], 0x16
call fcn.0041b320
mov esi, eax
lea eax, [esp + 0x44]
call fcn.0041a030
lea eax, [esp + 0x44]
mov byte [esp + 0x178], 0x15
call fcn.00419f90
mov byte [esp + 0x178], 0xf
cmp dword [esp + 0x14c], 0x10
jb 0x449278
mov ecx, dword [esp + 0x138]
push ecx
call fcn.004ba3a4
add esp, 4
push ebx
lea edx, [esp + 0xc0]
push edx
mov ecx, str.other
call fcn.0041b320
mov esi, eax
lea eax, [esp + 0xdc]
call fcn.0041a030
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x11c]
push ecx
lea ecx, [esp + 0xc0]
call fcn.0040f440
add esp, 4
lea edx, [esp + 0x100]
push edx
lea ecx, [esp + 0x120]
mov byte [esp + 0x17c], 0x17
call fcn.0040afa0
add esp, 4
mov byte [esp + 0x178], 0x18
cmp dword [esp + 0x7c], 8
mov ecx, dword [esp + 0x68]
jae 0x4492f1
lea ecx, [esp + 0x68]
mov edi, dword [0x54eee0]
cmp edi, ebx
je 0x449322
cmp dword [edi + 8], 2
jl 0x449322
push str.MainUpdate.cpp
push 2
push ecx
mov eax, esp
mov dword [esp + 0x1c], esp
push eax
mov esi, 0x94
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
mov ecx, dword [esp + 0x100]
mov esi, 8
cmp dword [esp + 0x114], esi
jae 0x44933e
lea ecx, [esp + 0x100]
mov eax, dword [esp + 0x68]
cmp dword [esp + 0x7c], esi
jae 0x44934c
lea eax, [esp + 0x68]
push 1
push ebx
push ecx
push eax
push str.open
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
mov eax, dword [0x54eee0]
cmp eax, ebx
je 0x449399
cmp dword [eax + 8], 4
mov edi, eax
jl 0x449399
push str.MainUpdate.cpp
push 4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push ecx
mov ecx, str.end_RunTempUpdate
mov esi, 0x97
call fcn.0042ef60
push edi
mov ecx, esi
call fcn.0042cbc0
mov esi, 8
cmp dword [esp + 0x114], esi
jb 0x4493b2
mov edx, dword [esp + 0x100]
push edx
call fcn.004ba3a4
add esp, 4
xor eax, eax
cmp dword [esp + 0x130], 0x10
mov esi, 7
mov dword [esp + 0x114], esi
mov dword [esp + 0x110], ebx
mov word [esp + 0x100], ax
jb 0x4493e9
mov ecx, dword [esp + 0x11c]
push ecx
call fcn.004ba3a4
add esp, 4
mov edi, 0xf
lea eax, [esp + 0xbc]
mov dword [esp + 0x130], edi
mov dword [esp + 0x12c], ebx
mov byte [esp + 0x11c], bl
mov byte [esp + 0x178], 0xd
call fcn.00419f90
lea eax, [esp + 0xdc]
mov byte [esp + 0x178], 0xb
call fcn.00419f90
cmp dword [esp + 0xb4], 0x10
jb 0x449445
mov edx, dword [esp + 0xa0]
push edx
call fcn.004ba3a4
add esp, 4
lea ecx, [esp + 0x18]
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb0], ebx
mov byte [esp + 0xa0], bl
call fcn.00415560
mov edi, 8
cmp dword [esp + 0x98], edi
jb 0x449481
mov eax, dword [esp + 0x84]
push eax
call fcn.004ba3a4
add esp, 4
xor ecx, ecx
mov dword [esp + 0x98], esi
mov dword [esp + 0x94], ebx
mov word [esp + 0x84], cx
cmp dword [esp + 0x7c], edi
jb 0x4494ac
mov edx, dword [esp + 0x68]
push edx
call fcn.004ba3a4
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x170]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x158]
xor ecx, esp
call fcn.004ba3af
mov esp, ebp
pop ebp
ret