Function at 0x412580
Capabilities:
Accept command line arguments
Print debug messages

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x194
mov eax, dword [0x46f068]
xor eax, esp
mov dword [esp + 0x190], eax
mov ecx, dword [ebp + 0x10]
xor eax, eax
push ebx
push esi
mov word [esp + 0x48], ax
xor esi, esi
lea ebx, [eax + 1]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x20]
push edi
push eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 7
mov dword [esp + 0x18], esi
mov dword [esp + 0x28], 0x4664ec
mov dword [esp + 0x2c], 0x4122f0
call dword [sym.imp.ADVAPI32.dll_StartServiceCtrlDispatcherW]
test eax, eax
jne 0x41303f
mov eax, dword [esp + 0x1c]
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
test eax, eax
je 0x412ca4
cmp word [eax], si
je 0x412ca4
lea ecx, [esp + 0x20]
push ecx
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ecx, eax
test ecx, ecx
jne 0x412690
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [esp + 0x50]
push str._EAC_Setup___Error__CommandLineToArgvW_failed_with__i.
push eax
call fcn.004120c0
add esp, 0xc
lea eax, [esp + 0x4c]
cmp dword [esp + 0x60], 0x10
jb 0x41264c
mov eax, dword [esp + 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edx, dword [esp + 0x60]
cmp edx, 0x10
jb 0x412689
mov ecx, dword [esp + 0x4c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41267f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413058
push edx
push ecx
call fcn.00434e86
add esp, 8
mov esi, ebx
jmp 0x41303f
mov eax, dword [esp + 0x20]
mov dword [esp + 0x80], ecx
mov ecx, 0x2d
mov word [esp + 0x90], cx
xor ecx, ecx
mov dword [esp + 0x9c], esi
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x64], 0x4659f8
mov dword [esp + 0x98], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], 0xffffffff
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x74], esi
mov word [esp + 0x94], cx
mov dword [esp + 0x68], 0x10
mov dword [esp + 0x8c], ecx
cmp eax, 0x32
jle 0x412715
shl eax, 2
push eax
call fcn.0043cad6
add esp, 4
mov dword [esp + 0x9c], eax
lea ecx, [esp + 0x64]
call fcn.004130b0
test al, al
je 0x412b86
jmp 0x412730
mov eax, dword [esp + 0x98]
test eax, eax
jne 0x412c0d
mov eax, dword [esp + 0x70]
dec eax
cmp eax, 8
ja case.default.0x41274d
jmp dword [eax*4 + 0x413088]
lea eax, [esp + 0x34]
push str._EAC_Setup__Handling_install__install_
push eax
call fcn.004120c0
add esp, 8
lea eax, [esp + 0x34]
cmp dword [esp + 0x48], 0x10
jb 0x412775
mov eax, dword [esp + 0x34]
push eax
call edi
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x4127ae
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4127a4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413058
push edx
push ecx
call fcn.00434e86
add esp, 8
mov dword [esp + 0x10], 1
lea edx, [esp + 0x10]
lea ecx, [esp + 0x14]
call fcn.004124e0
test al, al
je 0x412c68
push dword [esp + 0x88]
call fcn.0043d3e8
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x412b71
lea eax, [esp + 0x34]
push str._EAC_Setup__Handling_uninstall__uninstall_
push eax
call fcn.004120c0
add esp, 8
lea eax, [esp + 0x34]
cmp dword [esp + 0x48], 0x10
jb 0x412804
mov eax, dword [esp + 0x34]
push eax
call edi
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x41283d
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412833
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413058
push edx
push ecx
call fcn.00434e86
add esp, 8
mov dword [esp + 0x10], 2
jmp 0x4127b6
lea eax, [esp + 0x34]
push str._EAC_Setup__Handling_VerifyInstallation___verify_installation_
push eax
call fcn.004120c0
add esp, 8
lea eax, [esp + 0x34]
cmp dword [esp + 0x48], 0x10
jb 0x41286b
mov eax, dword [esp + 0x34]
push eax
call edi
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x4128a4
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41289a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413058
push edx
push ecx
call fcn.00434e86
add esp, 8
mov dword [esp + 0x10], 4
lea edx, [esp + 0x10]
lea ecx, [esp + 0x14]
call fcn.004124e0
test al, al
je 0x412c68
push dword [esp + 0x88]
call fcn.0043d3e8
add esp, 4
mov dword [esp + 0x10], eax
and ebx, 0xfffffffe
jmp 0x412b71
lea eax, [esp + 0x34]
push str._EAC_Setup__Handling_VerifyAndInstall___verify_and_install_
push eax
call fcn.004120c0
add esp, 8
lea eax, [esp + 0x34]
cmp dword [esp + 0x48], 0x10
jb 0x4128fd
mov eax, dword [esp + 0x34]
push eax
call edi
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x412936
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41292c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413058
push edx
push ecx
call fcn.00434e86
add esp, 8
mov dword [esp + 0x10], 5
jmp 0x4128ac
lea eax, [esp + 0x34]
push str._EAC_Setup__Handling_SelfUpdate___self_update_
push eax
call fcn.004120c0
add esp, 8
lea eax, [esp + 0x34]
cmp dword [esp + 0x48], 0x10
jb 0x412964
mov eax, dword [esp + 0x34]
push eax
call edi
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x41299d
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412993
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413058
push edx
push ecx
call fcn.00434e86
add esp, 8
mov dword [esp + 0x18], 6
lea edx, [esp + 0x18]
lea ecx, [esp + 0x14]
call fcn.004124e0
test al, al
je 0x412c68
and ebx, 0xfffffffe
or ebx, 2
jmp 0x412b71
lea eax, [esp + 0x34]
push str._EAC_Setup__Handling_FullReset__qa_factory_reset_
push eax
call fcn.004120c0
add esp, 8
lea eax, [esp + 0x34]
cmp dword [esp + 0x48], 0x10
jb 0x4129e6
mov eax, dword [esp + 0x34]
push eax
call edi
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x412a1f
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412a15
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413058
push edx
push ecx
call fcn.00434e86
add esp, 8
mov dword [esp + 0x18], 2
jmp 0x4129a5
lea eax, [esp + 0x34]
push str._EAC_Setup__Handling_Locale___locale_
push eax
call fcn.004120c0
add esp, 8
lea eax, [esp + 0x34]
cmp dword [esp + 0x48], 0x10
jb 0x412a4d
mov eax, dword [esp + 0x34]
push eax
call edi
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x412a86
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412a7c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413058
push edx
push ecx
call fcn.00434e86
add esp, 8
mov edx, dword [esp + 0x88]
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x412a92
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [esp + 0x54]
call fcn.004013d0
jmp 0x412b71
lea eax, [esp + 0x34]
push str._EAC_Setup__Handling_console___console_
push eax
call fcn.004120c0
add esp, 8
lea eax, [esp + 0x34]
cmp dword [esp + 0x48], 0x10
jb 0x412ad2
mov eax, dword [esp + 0x34]
push eax
call edi
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x4128d4
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412b05
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413058
push edx
push ecx
call fcn.00434e86
add esp, 8
and ebx, 0xfffffffe
jmp 0x412b71
lea eax, [esp + 0x34]
push str._EAC_Setup__Handling_CloseOnSuccess___success_close_
push eax
call fcn.004120c0
add esp, 8
lea eax, [esp + 0x34]
cmp dword [esp + 0x48], 0x10
jb 0x412b35
mov eax, dword [esp + 0x34]
push eax
call edi
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x412b6e
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412b64
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413058
push edx
push ecx
call fcn.00434e86
add esp, 8
or ebx, 4
lea ecx, [esp + 0x64]
call fcn.004130b0
test al, al
jne 0x412730
mov esi, dword [esp + 0x14]
mov edx, str._EAC_Setup__Arg_handling_done.
lea ecx, [esp + 0x34]
call fcn.0040cf00
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x412c90
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412c86
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41305d
jmp 0x412c86
mov edx, str._EAC_Setup___Error__Unrecognized_command_line_parameters_
lea ecx, [esp + 0x34]
call fcn.0040cf00
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x412c68
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412c5e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413062
jmp 0x412c5e
push eax
lea eax, [esp + 0x38]
push str._EAC_Setup___Error__Malformed_command_line_parameters___i__
push eax
call fcn.004120c0
add esp, 0xc
lea eax, [esp + 0x34]
cmp dword [esp + 0x48], 0x10
jb 0x412c2f
mov eax, dword [esp + 0x34]
push eax
call edi
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x412c68
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412c5e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413067
push edx
push ecx
call fcn.00434e86
add esp, 8
mov eax, dword [esp + 0x9c]
test eax, eax
je 0x412c7c
push eax
call fcn.0043cabb
add esp, 4
mov esi, 1
jmp 0x413007
push edx
push ecx
call fcn.00434e86
add esp, 8
mov eax, dword [esp + 0x9c]
test eax, eax
je 0x412ca4
push eax
call fcn.0043cabb
add esp, 4
call fcn.0040ff60
test al, al
jne 0x412d20
test bl, 1
jne 0x412d92
mov eax, esi
sub eax, 4
je 0x412cc6
sub eax, 1
jne 0x412d92
lea eax, [esp + 0x34]
push str._EAC_Setup___Info__Launched_without_admin_privileges_but_performing_an_action_that_wont_require_such.
push eax
call fcn.004120c0
add esp, 8
lea eax, [esp + 0x34]
cmp dword [esp + 0x48], 0x10
jb 0x412ce7
mov eax, dword [esp + 0x34]
push eax
call edi
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x412d20
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412d16
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41306c
push edx
push ecx
call fcn.00434e86
add esp, 8
mov ecx, dword [esp + 0x10]
test bl, 3
jne 0x412e6f
test ecx, ecx
jne 0x412e6f
lea eax, [esp + 0x34]
push str._EAC_Setup___Error__Command_line_is_missing_the_operation_with_a_valid_game_id_
push eax
call fcn.004120c0
add esp, 8
lea eax, [esp + 0x34]
cmp dword [esp + 0x48], 0x10
jb 0x412d56
mov eax, dword [esp + 0x34]
push eax
call edi
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x412e65
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412e5b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413071
jmp 0x412e5b
lea eax, [esp + 0x34]
push str._EAC_Setup___Info__Launched_without_admin_privileges_to_perform_an_action_requiring_such__relaunching.
push eax
call fcn.004120c0
add esp, 8
lea eax, [esp + 0x34]
cmp dword [esp + 0x48], 0x10
jb 0x412db3
mov eax, dword [esp + 0x34]
push eax
call edi
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x412dec
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412de2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413076
push edx
push ecx
call fcn.00434e86
add esp, 8
mov ecx, dword [esp + 0x1c]
call fcn.0040fd20
mov esi, eax
lea eax, [esp + 0x34]
push esi
push str._EAC_Setup___Info__Operation_completed_with:__i.
push eax
call fcn.004120c0
add esp, 0xc
lea eax, [esp + 0x34]
cmp dword [esp + 0x48], 0x10
jb 0x412e19
mov eax, dword [esp + 0x34]
push eax
call edi
mov edx, dword [esp + 0x48]
cmp edx, 0x10
jb 0x413007
mov ecx, dword [esp + 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412e4c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41307b
push edx
push ecx
call fcn.00434e86
add esp, 8
jmp 0x413007
push edx
push ecx
call fcn.00434e86
add esp, 8
mov esi, 1
jmp 0x413007
mov eax, dword [ebp + 8]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x4c]
mov dword [esp + 0xa4], ecx
lea ecx, [esp + 0xa8]
push eax
call fcn.004032b0
xor eax, eax
mov dword [esp + 0xc4], 1
mov word [esp + 0xe4], ax
mov dword [esp + 0x118], eax
mov byte [esp + 0x108], al
mov dword [esp + 0x130], eax
mov byte [esp + 0x120], al
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], eax
lea eax, [esp + 0x140]
push eax
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 7
mov dword [esp + 0x120], 0xf
mov dword [esp + 0x138], 0xf
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
call fcn.00403910
mov dword [esp + 0x158], eax
lea eax, [esp + 0xa0]
push ebx
fld1
mov ecx, eax
push esi
fstp dword [esp + 0x108]
mov dword [esp + 0x168], 0
mov dword [esp + 0x17c], 0
mov dword [esp + 0x180], 0xf
mov byte [esp + 0x16c], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0xf
mov byte [esp + 0x184], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 8
mov byte [esp + 0x104], 0
mov byte [esp + 0x10c], 0
mov dword [0x4716dc], eax
call fcn.0040d7f0
lea ecx, [esp + 0xa0]
mov esi, eax
call fcn.0040d650
mov edx, dword [esp + 0x60]
cmp edx, 8
jb 0x41303f
mov ecx, dword [esp + 0x4c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x413035
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x413080
push edx
push ecx
call fcn.00434e86
add esp, 8
mov ecx, dword [esp + 0x19c]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00434e45
mov esp, ebp
pop ebp
ret 0x10
call fcn.00439dba
call fcn.00439dba
call fcn.00439dba
call fcn.00439dba
call fcn.00439dba
call fcn.00439dba
call fcn.00439dba
call fcn.00439dba
call fcn.00439dba
lea ecx, [ecx]
push esp
daa
inc ecx
add bl, ah
daa
inc ecx
add ch, al
sub dword [ecx], eax
sub al, 0x2a
inc ecx
add byte [ecx + 0x1400412a], dh
sub eax, dword [ecx]
dec edx
sub byte [ecx], al
fsubr qword [eax]
inc ecx
add byte [ebx + 0x29], al
inc ecx
add ah, cl
int3