Function at 0x4017f8
Capabilities:
Accept command line arguments

Disassembly:
jmp 0x4364d0
sub esp, 0xa58
mov eax, dword [0x53bbf0]
xor eax, esp
mov dword [esp + 0xa54], eax
mov eax, dword [str.Infantry]
mov ecx, dword [0x513954]
mov dl, byte [0x513958]
push ebx
push ebp
push esi
mov esi, dword [esp + 0xa68]
push edi
mov edi, dword [esp + 0xa70]
mov dword [0x562f88], eax
mov dword [0x562f8c], ecx
mov byte [0x562f90], dl
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov ebp, dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
mov ebx, eax
push 0x200
lea eax, [esp + 0x468]
push eax
push 0
call ebp
lea ecx, [esp + 0x464]
push 0x5c
push ecx
call fcn.004c0af0
add esp, 8
test eax, eax
jne 0x436563
lea edx, [esp + 0x464]
push 0x2f
push edx
call fcn.004c0af0
add esp, 8
test eax, eax
je 0x436576
mov byte [eax], 0
lea eax, [esp + 0x464]
push eax
call fcn.004c4911
add esp, 4
push str._upgrade
push ebx
call fcn.0048d1a0
add esp, 8
test eax, eax
je 0x4366fb
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
xor edi, edi
push 0x3e8
call esi
push 0x562f88
lea ecx, [esp + 0x368]
push str._s.exe
push ecx
call fcn.004c1313
lea edx, [esp + 0x370]
push edx
call fcn.004c4780
add esp, 0x10
test eax, eax
je 0x4365ce
add edi, 1
cmp edi, 8
jl 0x436594
push 0x1f4
call esi
push 0x562f88
lea eax, [esp + 0x168]
push str._s.exe
push eax
call fcn.004c1313
add esp, 0xc
push 0x400
lea ecx, [esp + 0x668]
push ecx
push 0
call ebp
lea edx, [esp + 0x664]
push edx
lea eax, [esp + 0x168]
push eax
call fcn.0048d3e0
push str._ticket:
push ebx
mov byte [esp + 0x274], 0
call fcn.0048d1a0
add esp, 0x10
test eax, eax
je 0x436686
mov cl, byte [eax + 8]
add eax, 8
cmp cl, 0x22
lea edx, [esp + 0x264]
jne 0x436665
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
je 0x436683
jmp 0x436650
cmp cl, 0x22
je 0x436683
add eax, 1
mov byte [edx], cl
mov cl, byte [eax]
add edx, 1
test cl, cl
jne 0x436650
jmp 0x436683
test cl, cl
je 0x436683
lea esp, [esp]
cmp cl, 0x20
je 0x436683
add eax, 1
mov byte [edx], cl
mov cl, byte [eax]
add edx, 1
test cl, cl
jne 0x436670
mov byte [edx], 0
push 0x44
lea ecx, [esp + 0x24]
push 0
push ecx
call fcn.004c14b0
lea edx, [esp + 0x670]
push edx
lea eax, [esp + 0x274]
push eax
push 0x562f88
lea ecx, [esp + 0x7c]
push str._s.exe__TICKET:_s__QUICK__DELETE:__s_
push ecx
mov dword [esp + 0x40], 0x44
mov dword [esp + 0x4c], str.Upgrading
call fcn.004c1313
add esp, 0x20
lea edx, [esp + 0x10]
push edx
lea eax, [esp + 0x24]
push eax
push 0
push 0
push 0x210
push 0
push 0
push 0
lea ecx, [esp + 0x84]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
xor eax, eax
jmp 0x436817
call fcn.0040286f
push 0x513904
push ebx
call fcn.0048d1a0
add esp, 8
test eax, eax
je 0x43671e
call fcn.00401c17
xor eax, eax
jmp 0x436817
push str.infup.exe
call fcn.004c4780
push 0xa854
call fcn.004c1ea3
add esp, 8
test eax, eax
je 0x43674b
mov edx, dword [esp + 0xa78]
push edx
push ebx
push edi
push esi
mov ecx, eax
call fcn.004015c3
mov ecx, dword [0x563918]
call fcn.00401e88
cmp byte [0x563088], 0
mov ecx, dword [0x563918]
mov edi, eax
je 0x436801
lea eax, [ecx + 0x24c8]
lea esi, [esp + 0x64]
sub esi, eax
mov dl, byte [eax]
mov byte [esi + eax], dl
add eax, 1
test dl, dl
jne 0x436777
test ecx, ecx
mov esi, ecx
je 0x436797
call fcn.00402257
push esi
call fcn.004c130e
add esp, 4
push 0x44
lea eax, [esp + 0x24]
push 0
push eax
call fcn.004c14b0
lea ecx, [esp + 0x70]
push ecx
push 0x563088
lea edx, [esp + 0x178]
push str._s__TICKET:_s__UPGRADE
push edx
mov dword [esp + 0x3c], 0x44
mov dword [esp + 0x48], str.Upgrading
call fcn.004c1313
add esp, 0x1c
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x24]
push ecx
push 0
push 0
push 0x210
push 0
push 0
push 0
lea edx, [esp + 0x184]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessA]
xor eax, eax
jmp 0x436817
test ecx, ecx
mov esi, ecx
je 0x436815
call fcn.00402257
push esi
call fcn.004c130e
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0xa64]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004c118f
add esp, 0xa58
ret 0x10