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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x539498
mov eax, dword fs:[0]
push eax
mov eax, 0x1b2c
call fcn.004fa800
mov eax, dword [0x5954a0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
push 0x567128
lea ecx, [ebp - 0x8ac]
call fcn.0044f380
mov byte [ebp - 4], 1
push 0x567128
lea ecx, [ebp - 0x270]
call fcn.0044f380
mov byte [ebp - 4], 2
push 0x567128
lea ecx, [ebp - 0x26c]
call fcn.0044f380
mov byte [ebp - 4], 3
call fcn.004c02e6
push eax
lea ecx, [ebp - 0x8a8]
call fcn.004514d0
mov byte [ebp - 4], 4
mov eax, dword [ebp + 8]
push eax
push str._r_nCdgOut:COpenAsDialog::OpenDocumentByPatch_1_Link_file_name:_s_r_n
lea ecx, [ebp - 0x8a8]
push ecx
call fcn.00451560
add esp, 0xc
mov edx, dword [ebp - 0x8a8]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor eax, eax
mov word [ebp - 0x8a4], ax
push 0x200
push 0
lea ecx, [ebp - 0x8a2]
push ecx
call fcn.004f8090
add esp, 0xc
push 0x100
lea edx, [ebp - 0x8a4]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp + 8]
push eax
call fcn.004fad12
add esp, 0x24
push 0x5478a0
lea ecx, [ebp - 0x8a4]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
neg eax
sbb eax, eax
add eax, 1
mov dword [ebp - 0x698], eax
je 0x45dfe2
lea edx, [ebp - 0x8ac]
push edx
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x1908]
push ecx
call fcn.0045db30
add esp, 0xc
mov dword [ebp - 0x1adc], eax
mov edx, dword [ebp - 0x1adc]
mov dword [ebp - 0x1950], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x1950]
push eax
lea ecx, [ebp - 0x270]
call fcn.0044f9d0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x1908]
sub ecx, 0x10
mov dword [ebp - 0x1954], ecx
mov ecx, dword [ebp - 0x1954]
call fcn.00451230
jmp 0x45dff1
lea edx, [ebp + 8]
push edx
lea ecx, [ebp - 0x270]
call fcn.0044f9d0
mov eax, dword [ebp - 0x270]
push eax
mov ecx, dword [ebp - 0x698]
push ecx
push str._r_nCdgOut:COpenAsDialog::OpenDocumentByPatch_2_bLink_:__d_File_name:_s_r_n
lea edx, [ebp - 0x8a8]
push edx
call fcn.00451560
add esp, 0x10
mov eax, dword [ebp - 0x8a8]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor ecx, ecx
mov word [ebp - 0x224], cx
push 0x208
push 0
lea edx, [ebp - 0x222]
push edx
call fcn.004f8090
add esp, 0xc
xor eax, eax
mov word [ebp - 0x694], ax
push 0x200
push 0
lea ecx, [ebp - 0x692]
push ecx
call fcn.004f8090
add esp, 0xc
xor edx, edx
mov word [ebp - 0x484], dx
push 0x208
push 0
lea eax, [ebp - 0x482]
push eax
call fcn.004f8090
add esp, 0xc
push 0x100
lea ecx, [ebp - 0x8a4]
push ecx
push 0x100
lea edx, [ebp - 0x484]
push edx
push 0x100
lea eax, [ebp - 0x694]
push eax
push 3
lea ecx, [ebp - 0x224]
push ecx
mov edx, dword [ebp - 0x270]
push edx
call fcn.004fad12
add esp, 0x24
lea eax, [ebp - 0x694]
push eax
lea ecx, [ebp - 0x224]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea edx, [ebp - 0x8a4]
push edx
lea eax, [ebp - 0x484]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
lea ecx, [ebp - 0x8a4]
push ecx
lea ecx, [ebp - 0x190c]
call fcn.0044f380
mov dword [ebp - 0x1ae0], eax
mov edx, dword [ebp - 0x1ae0]
mov dword [ebp - 0x1ae4], edx
mov byte [ebp - 4], 6
lea eax, [ebp - 0x484]
push eax
lea ecx, [ebp - 0x1910]
call fcn.0044f380
mov dword [ebp - 0x1ae8], eax
mov ecx, dword [ebp - 0x1ae8]
mov dword [ebp - 0x1aec], ecx
mov byte [ebp - 4], 7
lea edx, [ebp - 0x694]
push edx
lea ecx, [ebp - 0x1914]
call fcn.0044f380
mov dword [ebp - 0x1af0], eax
mov eax, dword [ebp - 0x1af0]
mov dword [ebp - 0x1af4], eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x224]
push ecx
lea ecx, [ebp - 0x1918]
call fcn.0044f380
mov dword [ebp - 0x1af8], eax
mov edx, dword [ebp - 0x1af8]
mov dword [ebp - 0x1afc], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x1ae4]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x1aec]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x1af4]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x1afc]
mov ecx, dword [eax]
push ecx
push str._r_nCdgOut:COpenAsDialog::OpenDocumentByPatch_12_szPath:_s_szDir:_s_szName:_s_szExt:_s__r_n
lea edx, [ebp - 0x8a8]
push edx
call fcn.00451560
add esp, 0x18
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x1918]
sub eax, 0x10
mov dword [ebp - 0x1978], eax
mov ecx, dword [ebp - 0x1978]
call fcn.00451230
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x1914]
sub ecx, 0x10
mov dword [ebp - 0x197c], ecx
mov ecx, dword [ebp - 0x197c]
call fcn.00451230
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x1910]
sub edx, 0x10
mov dword [ebp - 0x1980], edx
mov ecx, dword [ebp - 0x1980]
call fcn.00451230
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x190c]
sub eax, 0x10
mov dword [ebp - 0x1984], eax
mov ecx, dword [ebp - 0x1984]
call fcn.00451230
mov ecx, dword [ebp - 0x8a8]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp dword [ebp - 0x698], 0
je 0x45eb84
push 0x100
lea edx, [ebp - 0x8a4]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
push 0x599eb0
call fcn.004fad12
add esp, 0x24
lea eax, [ebp - 0x8a4]
push eax
lea ecx, [ebp - 0x191c]
call fcn.0044f380
mov dword [ebp - 0x1b00], eax
mov ecx, dword [ebp - 0x1b00]
mov dword [ebp - 0x1b04], ecx
mov byte [ebp - 4], 0xa
push 0x599eb0
mov edx, dword [ebp - 0x1b04]
mov eax, dword [edx]
push eax
push str._r_nCdgOut:COpenAsDialog::OpenDocumentByPatch_3_szExt:_s_g_szOpenAsFileName:_s_r_n
lea ecx, [ebp - 0x8a8]
push ecx
call fcn.00451560
add esp, 0x10
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x191c]
sub edx, 0x10
mov dword [ebp - 0x1990], edx
mov ecx, dword [ebp - 0x1990]
call fcn.00451230
mov eax, dword [ebp - 0x8a8]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push str..dwg
lea ecx, [ebp - 0x8a4]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x45eb7f
xor edx, edx
mov word [ebp - 0x10d4], dx
push 0x400
push 0
lea eax, [ebp - 0x10d2]
push eax
call fcn.004f8090
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0xccc], cx
push 0x400
push 0
lea edx, [ebp - 0xcca]
push edx
call fcn.004f8090
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x1920], esp
lea eax, [ebp - 0x8a4]
push eax
call fcn.0044f380
mov dword [ebp - 0x1b08], eax
lea ecx, [ebp - 0x8c0]
call fcn.00471c20
mov dword [ebp - 0x1b0c], eax
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x10d8], 0
mov ecx, dword [ebp + 8]
sub ecx, 0x10
mov dword [ebp - 0x199c], ecx
mov edx, dword [ebp - 0x199c]
push edx
call fcn.0044fd30
add esp, 4
mov dword [ebp - 0x19a0], eax
mov eax, dword [ebp - 0x19a0]
add eax, 0x10
mov dword [ebp - 0x10dc], eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x10d8]
push ecx
push 0
lea edx, [ebp - 0xccc]
push edx
lea eax, [ebp - 0x10d4]
push eax
lea ecx, [ebp - 0x8c0]
call fcn.00474970
test eax, eax
je 0x45eb61
push str.THvacStart.exe
lea ecx, [ebp - 0x484]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x45e53e
lea edx, [ebp - 0x224]
test edx, edx
jne 0x45e405
mov dword [ebp - 0x19a4], 0
jmp 0x45e41a
lea eax, [ebp - 0x224]
push eax
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19a4], eax
mov ecx, dword [ebp - 0x19a4]
push ecx
lea edx, [ebp - 0x224]
push edx
lea ecx, [ebp - 0x26c]
call fcn.0044fb50
lea eax, [ebp - 0x10d4]
test eax, eax
jne 0x45e449
mov dword [ebp - 0x19a8], 0
jmp 0x45e45e
lea ecx, [ebp - 0x10d4]
push ecx
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19a8], eax
mov edx, dword [ebp - 0x19a8]
push edx
lea eax, [ebp - 0x10d4]
push eax
lea ecx, [ebp - 0x270]
call fcn.0044fb50
mov ecx, str._p_THvac8__t__
test ecx, ecx
jne 0x45e48c
mov dword [ebp - 0x19ac], 0
jmp 0x45e49f
push str._p_THvac8__t__
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19ac], eax
mov edx, dword [ebp - 0x19ac]
push edx
push str._p_THvac8__t__
lea ecx, [ebp - 0x8ac]
call fcn.0044fb50
lea eax, [ebp - 0x224]
test eax, eax
jne 0x45e4cc
mov dword [ebp - 0x19b0], 0
jmp 0x45e4e1
lea ecx, [ebp - 0x224]
push ecx
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19b0], eax
mov edx, dword [ebp - 0x19b0]
push edx
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x8ac]
call fcn.0044ecb0
mov ecx, str.sys_acad.dwt_
test ecx, ecx
jne 0x45e50f
mov dword [ebp - 0x19b4], 0
jmp 0x45e522
push str.sys_acad.dwt_
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19b4], eax
mov edx, dword [ebp - 0x19b4]
push edx
push str.sys_acad.dwt_
lea ecx, [ebp - 0x8ac]
call fcn.0044ecb0
jmp 0x45eae9
push str.TGStart.exe
lea eax, [ebp - 0x484]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x45e6c8
lea ecx, [ebp - 0x224]
test ecx, ecx
jne 0x45e56e
mov dword [ebp - 0x19b8], 0
jmp 0x45e583
lea edx, [ebp - 0x224]
push edx
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19b8], eax
mov eax, dword [ebp - 0x19b8]
push eax
lea ecx, [ebp - 0x224]
push ecx
lea ecx, [ebp - 0x26c]
call fcn.0044fb50
lea edx, [ebp - 0x10d4]
test edx, edx
jne 0x45e5b2
mov dword [ebp - 0x19bc], 0
jmp 0x45e5c7
lea eax, [ebp - 0x10d4]
push eax
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19bc], eax
mov ecx, dword [ebp - 0x19bc]
push ecx
lea edx, [ebp - 0x10d4]
push edx
lea ecx, [ebp - 0x270]
call fcn.0044fb50
mov eax, str._p_TArch8__t__
test eax, eax
jne 0x45e5f5
mov dword [ebp - 0x19c0], 0
jmp 0x45e608
push str._p_TArch8__t__
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19c0], eax
mov ecx, dword [ebp - 0x19c0]
push ecx
push str._p_TArch8__t__
lea ecx, [ebp - 0x8ac]
call fcn.0044fb50
lea edx, [ebp - 0x224]
test edx, edx
jne 0x45e635
mov dword [ebp - 0x19c4], 0
jmp 0x45e64a
lea eax, [ebp - 0x224]
push eax
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19c4], eax
mov ecx, dword [ebp - 0x19c4]
push ecx
lea edx, [ebp - 0x224]
push edx
lea ecx, [ebp - 0x8ac]
call fcn.0044ecb0
mov eax, str.sys16_acad.dwt_
test eax, eax
jne 0x45e678
mov dword [ebp - 0x19c8], 0
jmp 0x45e68b
push str.sys16_acad.dwt_
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19c8], eax
mov ecx, dword [ebp - 0x19c8]
push ecx
push str.sys16_acad.dwt_
lea ecx, [ebp - 0x8ac]
call fcn.0044ecb0
push str._r_nCdgOut:COpenAsDialog::OpenDocumentByPatch_4_0__lstrcmpi__szName___T__TGStart.exe____r_n
lea edx, [ebp - 0x8a8]
push edx
call fcn.00451560
add esp, 8
mov eax, dword [ebp - 0x8a8]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x45eae9
push str.TGStart32.exe
lea ecx, [ebp - 0x484]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x45e8d4
lea edx, [ebp - 0x224]
test edx, edx
jne 0x45e6f8
mov dword [ebp - 0x19cc], 0
jmp 0x45e70d
lea eax, [ebp - 0x224]
push eax
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19cc], eax
mov ecx, dword [ebp - 0x19cc]
push ecx
lea edx, [ebp - 0x224]
push edx
lea ecx, [ebp - 0x26c]
call fcn.0044fb50
push 0
push str.TArch8
lea ecx, [ebp - 0x26c]
call fcn.0046f880
cmp eax, 0xffffffff
je 0x45e85d
lea eax, [ebp - 0x10d4]
test eax, eax
jne 0x45e757
mov dword [ebp - 0x19dc], 0
jmp 0x45e76c
lea ecx, [ebp - 0x10d4]
push ecx
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19dc], eax
mov edx, dword [ebp - 0x19dc]
push edx
lea eax, [ebp - 0x10d4]
push eax
lea ecx, [ebp - 0x270]
call fcn.0044fb50
mov ecx, str._p_TArch8__t__
test ecx, ecx
jne 0x45e79a
mov dword [ebp - 0x19e0], 0
jmp 0x45e7ad
push str._p_TArch8__t__
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19e0], eax
mov edx, dword [ebp - 0x19e0]
push edx
push str._p_TArch8__t__
lea ecx, [ebp - 0x8ac]
call fcn.0044fb50
lea eax, [ebp - 0x224]
test eax, eax
jne 0x45e7da
mov dword [ebp - 0x19e4], 0
jmp 0x45e7ef
lea ecx, [ebp - 0x224]
push ecx
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19e4], eax
mov edx, dword [ebp - 0x19e4]
push edx
lea eax, [ebp - 0x224]
push eax
lea ecx, [ebp - 0x8ac]
call fcn.0044ecb0
mov ecx, str.sys16_acad.dwt_
test ecx, ecx
jne 0x45e81d
mov dword [ebp - 0x19e8], 0
jmp 0x45e830
push str.sys16_acad.dwt_
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19e8], eax
mov edx, dword [ebp - 0x19e8]
push edx
push str.sys16_acad.dwt_
lea ecx, [ebp - 0x8ac]
call fcn.0044ecb0
push str._r_nCdgOut:COpenAsDialog::OpenDocumentByPatch_4_TArch8_r_n
lea eax, [ebp - 0x8a8]
push eax
call fcn.00451560
add esp, 8
jmp 0x45e8c2
lea ecx, [ebp - 0x270]
push ecx
lea ecx, [ebp - 0x270]
call fcn.0044f9d0
mov edx, 0x567128
test edx, edx
jne 0x45e884
mov dword [ebp - 0x19ec], 0
jmp 0x45e897
push 0x567128
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19ec], eax
mov eax, dword [ebp - 0x19ec]
push eax
push 0x567128
lea ecx, [ebp - 0x8ac]
call fcn.0044fb50
push str._r_nCdgOut:COpenAsDialog::OpenDocumentByPatch_4__TArch8_r_n
lea ecx, [ebp - 0x8a8]
push ecx
call fcn.00451560
add esp, 8
mov edx, dword [ebp - 0x8a8]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x45eae9
push str.TwtStart.exe
lea eax, [ebp - 0x484]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x45ea3d
lea ecx, [ebp - 0x224]
test ecx, ecx
jne 0x45e904
mov dword [ebp - 0x19f0], 0
jmp 0x45e919
lea edx, [ebp - 0x224]
push edx
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19f0], eax
mov eax, dword [ebp - 0x19f0]
push eax
lea ecx, [ebp - 0x224]
push ecx
lea ecx, [ebp - 0x26c]
call fcn.0044fb50
lea edx, [ebp - 0x10d4]
test edx, edx
jne 0x45e948
mov dword [ebp - 0x19f4], 0
jmp 0x45e95d
lea eax, [ebp - 0x10d4]
push eax
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19f4], eax
mov ecx, dword [ebp - 0x19f4]
push ecx
lea edx, [ebp - 0x10d4]
push edx
lea ecx, [ebp - 0x270]
call fcn.0044fb50
mov eax, str._p_TWT8__t__
test eax, eax
jne 0x45e98b
mov dword [ebp - 0x19f8], 0
jmp 0x45e99e
push str._p_TWT8__t__
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19f8], eax
mov ecx, dword [ebp - 0x19f8]
push ecx
push str._p_TWT8__t__
lea ecx, [ebp - 0x8ac]
call fcn.0044fb50
lea edx, [ebp - 0x224]
test edx, edx
jne 0x45e9cb
mov dword [ebp - 0x19fc], 0
jmp 0x45e9e0
lea eax, [ebp - 0x224]
push eax
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x19fc], eax
mov ecx, dword [ebp - 0x19fc]
push ecx
lea edx, [ebp - 0x224]
push edx
lea ecx, [ebp - 0x8ac]
call fcn.0044ecb0
mov eax, str.sys_acad.dwt_
test eax, eax
jne 0x45ea0e
mov dword [ebp - 0x1a00], 0
jmp 0x45ea21
push str.sys_acad.dwt_
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x1a00], eax
mov ecx, dword [ebp - 0x1a00]
push ecx
push str.sys_acad.dwt_
lea ecx, [ebp - 0x8ac]
call fcn.0044ecb0
jmp 0x45eae9
lea edx, [ebp - 0x224]
test edx, edx
jne 0x45ea53
mov dword [ebp - 0x1a04], 0
jmp 0x45ea68
lea eax, [ebp - 0x224]
push eax
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x1a04], eax
mov ecx, dword [ebp - 0x1a04]
push ecx
lea edx, [ebp - 0x224]
push edx
lea ecx, [ebp - 0x26c]
call fcn.0044fb50
lea eax, [ebp - 0x270]
push eax
lea ecx, [ebp - 0x270]
call fcn.0044f9d0
push 0
push str._Yck
lea ecx, [ebp - 0x10dc]
call fcn.0046f880
cmp eax, 0xffffffff
jne 0x45eae9
mov ecx, 0x567128
test ecx, ecx
jne 0x45eabf
mov dword [ebp - 0x1a14], 0
jmp 0x45ead2
push 0x567128
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x1a14], eax
mov edx, dword [ebp - 0x1a14]
push edx
push 0x567128
lea ecx, [ebp - 0x8ac]
call fcn.0044fb50
mov eax, dword [ebp - 0x8ac]
push eax
push str._r_nCdgOut:COpenAsDialog::OpenDocumentByPatch_5_strCmd:_s_r_n
lea ecx, [ebp - 0x8a8]
push ecx
call fcn.00451560
add esp, 0xc
mov edx, dword [ebp - 0x8a8]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [ebp - 0x26c]
push eax
push str._r_nCdgOut:COpenAsDialog::OpenDocumentByPatch_6_strDir:_s_r_n
lea ecx, [ebp - 0x8a8]
push ecx
call fcn.00451560
add esp, 0xc
mov edx, dword [ebp - 0x8a8]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [ebp - 0x270]
push eax
push str._r_nCdgOut:COpenAsDialog::OpenDocumentByPatch_7_strExe:_s_r_n
lea ecx, [ebp - 0x8a8]
push ecx
call fcn.00451560
add esp, 0xc
mov edx, dword [ebp - 0x8a8]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x10dc]
call fcn.0044f990
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x8c0]
call fcn.00471e70
jmp 0x45eee3
push 0x100
lea eax, [ebp - 0x8a4]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push 0x599eb0
call fcn.004fad12
add esp, 0x24
lea ecx, [ebp - 0x8a4]
push ecx
lea ecx, [ebp - 0x1924]
call fcn.0044f380
mov dword [ebp - 0x1b10], eax
mov edx, dword [ebp - 0x1b10]
mov dword [ebp - 0x1b14], edx
mov byte [ebp - 4], 0xd
push 0x599eb0
mov eax, dword [ebp - 0x1b14]
mov ecx, dword [eax]
push ecx
push str._r_nCdgOut:COpenAsDialog::OpenDocumentByPatch_13_szExt:_s_g_szOpenAsFileName:_s_r_n
lea edx, [ebp - 0x8a8]
push edx
call fcn.00451560
add esp, 0x10
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1924]
call fcn.0044f990
mov eax, dword [ebp - 0x8a8]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x484]
push ecx
lea ecx, [ebp - 0x1928]
call fcn.0044f380
mov dword [ebp - 0x1b18], eax
mov edx, dword [ebp - 0x1b18]
mov dword [ebp - 0x1b1c], edx
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x1b1c]
mov ecx, dword [eax]
push ecx
push str._r_nCdgOut:COpenAsDialog::OpenDocumentByPatch_8_szName:_s__r_n
lea edx, [ebp - 0x8a8]
push edx
call fcn.00451560
add esp, 0xc
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1928]
call fcn.0044f990
mov eax, dword [ebp - 0x8a8]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
xor ecx, ecx
mov word [ebp - 0x18fc], cx
push 0x400
push 0
lea edx, [ebp - 0x18fa]
push edx
call fcn.004f8090
add esp, 0xc
xor eax, eax
mov word [ebp - 0x14f4], ax
push 0x400
push 0
lea ecx, [ebp - 0x14f2]
push ecx
call fcn.004f8090
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0x192c], esp
lea edx, [ebp - 0x8a4]
push edx
call fcn.0044f380
mov dword [ebp - 0x1b20], eax
lea ecx, [ebp - 0x10ec]
call fcn.00471c20
mov dword [ebp - 0x1b24], eax
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x1900], 0
lea eax, [ebp - 0x1900]
push eax
push 0
lea ecx, [ebp - 0x14f4]
push ecx
lea edx, [ebp - 0x18fc]
push edx
lea ecx, [ebp - 0x10ec]
call fcn.00474970
test eax, eax
je 0x45eed4
push str.TGStart.exe
lea eax, [ebp - 0x484]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
je 0x45ed42
push str.TGStart32.exe
lea ecx, [ebp - 0x484]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x45eed4
lea edx, [ebp - 0x224]
test edx, edx
jne 0x45ed58
mov dword [ebp - 0x1a4c], 0
jmp 0x45ed6d
lea eax, [ebp - 0x224]
push eax
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x1a4c], eax
mov ecx, dword [ebp - 0x1a4c]
push ecx
lea edx, [ebp - 0x224]
push edx
lea ecx, [ebp - 0x26c]
call fcn.0044fb50
mov eax, dword [ebp - 0x26c]
push eax
push str._r_nCdgOut:COpenAsDialog::OpenDocumentByPatch_8_strDir:_s_r_n
lea ecx, [ebp - 0x8a8]
push ecx
call fcn.00451560
add esp, 0xc
mov edx, dword [ebp - 0x8a8]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0
push str.TArch8
lea ecx, [ebp - 0x26c]
call fcn.0046f880
cmp eax, 0xffffffff
je 0x45eed4
lea eax, [ebp - 0x18fc]
test eax, eax
jne 0x45eddf
mov dword [ebp - 0x1a5c], 0
jmp 0x45edf4
lea ecx, [ebp - 0x18fc]
push ecx
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x1a5c], eax
mov edx, dword [ebp - 0x1a5c]
push edx
lea eax, [ebp - 0x18fc]
push eax
lea ecx, [ebp - 0x270]
call fcn.0044fb50
mov ecx, str._p_TArch8__t__
test ecx, ecx
jne 0x45ee22
mov dword [ebp - 0x1a60], 0
jmp 0x45ee35
push str._p_TArch8__t__
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x1a60], eax
mov edx, dword [ebp - 0x1a60]
push edx
push str._p_TArch8__t__
lea ecx, [ebp - 0x8ac]
call fcn.0044fb50
mov eax, dword [ebp - 0x26c]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x1a64], ecx
mov edx, dword [ebp - 0x1a64]
push edx
mov eax, dword [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x8ac]
call fcn.0044ecb0
mov ecx, str.sys16_acad.dwt_
test ecx, ecx
jne 0x45ee89
mov dword [ebp - 0x1a68], 0
jmp 0x45ee9c
push str.sys16_acad.dwt_
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x1a68], eax
mov edx, dword [ebp - 0x1a68]
push edx
push str.sys16_acad.dwt_
lea ecx, [ebp - 0x8ac]
call fcn.0044ecb0
push str._r_nCdgOut:COpenAsDialog::OpenDocumentByPatch_8_TArch8_r_n
lea eax, [ebp - 0x8a8]
push eax
call fcn.00451560
add esp, 8
mov ecx, dword [ebp - 0x8a8]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x10ec]
call fcn.00471e70
push 0x567128
lea ecx, [ebp - 0x268]
call fcn.0044f380
mov byte [ebp - 4], 0x10
lea edx, [ebp - 0x8ac]
push edx
lea ecx, [ebp - 0x268]
call fcn.0044f9d0
mov eax, dword [ebp - 0x8ac]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x1a7c], ecx
xor edx, edx
cmp dword [ebp - 0x1a7c], 0
sete dl
movzx eax, dl
test eax, eax
je 0x45ef37
mov dword [ebp - 0x1a84], 0x546398
jmp 0x45ef41
mov dword [ebp - 0x1a84], 0x547088
cmp dword [ebp - 0x1a84], 0
jne 0x45ef56
mov dword [ebp - 0x1a80], 0
jmp 0x45ef6b
mov ecx, dword [ebp - 0x1a84]
push ecx
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x1a80], eax
mov edx, dword [ebp - 0x1a80]
push edx
mov eax, dword [ebp - 0x1a84]
push eax
lea ecx, [ebp - 0x268]
call fcn.0044ecb0
mov ecx, 0x599eb0
test ecx, ecx
jne 0x45ef99
mov dword [ebp - 0x1a88], 0
jmp 0x45efac
push 0x599eb0
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x1a88], eax
mov edx, dword [ebp - 0x1a88]
push edx
push 0x599eb0
lea ecx, [ebp - 0x268]
call fcn.0044ecb0
mov eax, 0x546398
test eax, eax
jne 0x45efd8
mov dword [ebp - 0x1a8c], 0
jmp 0x45efeb
push 0x546398
call fcn.004f810a
add esp, 4
mov dword [ebp - 0x1a8c], eax
mov ecx, dword [ebp - 0x1a8c]
push ecx
push 0x546398
lea ecx, [ebp - 0x268]
call fcn.0044ecb0
mov dword [ebp - 0x69c], 3
mov edx, dword [ebp - 0x270]
mov dword [ebp - 0x488], edx
cmp dword [ebp - 0x488], 0
jne 0x45f030
mov dword [ebp - 0x1b28], 0
jmp 0x45f106
mov eax, dword [ebp - 0x488]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], 0x3fffffff
jle 0x45f061
mov dword [ebp - 0x1b2c], 0
jmp 0x45f0fa
mov eax, dword [ebp - 0x264]
shl eax, 1
call fcn.004f86f0
mov dword [ebp - 0x1a94], esp
mov ecx, dword [ebp - 0x1a98]
mov dword [ebp - 0x1b2c], ecx
cmp dword [ebp - 0x1a94], 0
je 0x45f092
cmp dword [ebp - 0x488], 0
jne 0x45f09e
mov dword [ebp - 0x1b2c], 0
jmp 0x45f0fa
mov edx, dword [ebp - 0x1a94]
mov byte [edx], 0
push 0
push 0
mov eax, dword [ebp - 0x264]
shl eax, 1
push eax
mov ecx, dword [ebp - 0x1a94]
push ecx
push 0xffffffffffffffff
mov edx, dword [ebp - 0x488]
push edx
push 0
mov eax, dword [ebp - 0x69c]
push eax
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 0x1a90], eax
cmp dword [ebp - 0x1a90], 0
jne 0x45f0ee
mov dword [ebp - 0x1b2c], 0
jmp 0x45f0fa
mov ecx, dword [ebp - 0x1a94]
mov dword [ebp - 0x1b2c], ecx
mov edx, dword [ebp - 0x1b2c]
mov dword [ebp - 0x1b28], edx
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x488], eax
cmp dword [ebp - 0x488], 0
jne 0x45f12a
mov dword [ebp - 0x1b30], 0
jmp 0x45f200
mov ecx, dword [ebp - 0x488]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], 0x3fffffff
jle 0x45f15b
mov dword [ebp - 0x1b34], 0
jmp 0x45f1f4
mov eax, dword [ebp - 0x264]
shl eax, 1
call fcn.004f86f0
mov dword [ebp - 0x1aa0], esp
mov edx, dword [ebp - 0x1aa4]
mov dword [ebp - 0x1b34], edx
cmp dword [ebp - 0x1aa0], 0
je 0x45f18c
cmp dword [ebp - 0x488], 0
jne 0x45f198
mov dword [ebp - 0x1b34], 0
jmp 0x45f1f4
mov eax, dword [ebp - 0x1aa0]
mov byte [eax], 0
push 0
push 0
mov ecx, dword [ebp - 0x264]
shl ecx, 1
push ecx
mov edx, dword [ebp - 0x1aa0]
push edx
push 0xffffffffffffffff
mov eax, dword [ebp - 0x488]
push eax
push 0
mov ecx, dword [ebp - 0x69c]
push ecx
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 0x1a9c], eax
cmp dword [ebp - 0x1a9c], 0
jne 0x45f1e8
mov dword [ebp - 0x1b34], 0
jmp 0x45f1f4
mov edx, dword [ebp - 0x1aa0]
mov dword [ebp - 0x1b34], edx
mov eax, dword [ebp - 0x1b34]
mov dword [ebp - 0x1b30], eax
mov ecx, dword [ebp - 0x1b28]
push ecx
mov edx, dword [ebp - 0x1b30]
push edx
push str.OpenDocumentByPath:_cmd_s_exe_s
call fcn.0047c040
add esp, 0xc
push 0x3c
push 0
lea eax, [ebp - 0x260]
push eax
call fcn.004f8090
add esp, 0xc
mov dword [ebp - 0x260], 0x3c
mov dword [ebp - 0x25c], 0x400
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], str.open
mov ecx, dword [ebp - 0x270]
mov dword [ebp - 0x250], ecx
mov edx, dword [ebp - 0x268]
mov dword [ebp - 0x24c], edx
mov eax, dword [ebp - 0x26c]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x1aa8], ecx
xor edx, edx
cmp dword [ebp - 0x1aa8], 0
sete dl
movzx eax, dl
test eax, eax
je 0x45f29c
mov dword [ebp - 0x1b38], 0
jmp 0x45f2a8
mov ecx, dword [ebp - 0x26c]
mov dword [ebp - 0x1b38], ecx
mov edx, dword [ebp - 0x1b38]
mov dword [ebp - 0x248], edx
mov dword [ebp - 0x244], 1
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x228], 0
mov eax, dword [ebp - 0x268]
push eax
push str._r_nCdgOut:COpenAsDialog::OpenDocumentByPatch_9_szCmdLine:_s_r_n
lea ecx, [ebp - 0x8a8]
push ecx
call fcn.00451560
add esp, 0xc
mov edx, dword [ebp - 0x8a8]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov eax, dword [ebp - 0x270]
push eax
push str._r_nCdgOut:COpenAsDialog::OpenDocumentByPatch_10_strExe:_s_r_n
lea ecx, [ebp - 0x8a8]
push ecx
call fcn.00451560
add esp, 0xc
mov edx, dword [ebp - 0x8a8]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea eax, [ebp - 0x260]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x45f3c2
mov dword [ebp - 0x1930], 1
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x268]
call fcn.0044f990
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x8a8]
call fcn.0044f990
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x26c]
call fcn.0044f990
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x270]
call fcn.0044f990
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x8ac]
call fcn.0044f990
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.0044f990
mov eax, dword [ebp - 0x1930]
jmp 0x45f460
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1904], eax
mov ecx, dword [ebp - 0x1904]
push ecx
push str._r_nCdgOut:COpenAsDialog::OpenDocumentByPatch_11_dwLastError:_d_r_n
lea edx, [ebp - 0x8a8]
push edx
call fcn.00451560
add esp, 0xc
mov eax, dword [ebp - 0x8a8]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov dword [ebp - 0x1934], 0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x268]
call fcn.0044f990
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x8a8]
call fcn.0044f990
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x26c]
call fcn.0044f990
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x270]
call fcn.0044f990
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x8ac]
call fcn.0044f990
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 8]
call fcn.0044f990
mov eax, dword [ebp - 0x1934]
lea esp, [ebp - 0x1b3c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004f8124
mov esp, ebp
pop ebp
ret