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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x184
mov eax, dword [0x46b008]
xor eax, esp
mov dword [esp + 0x180], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
xor eax, eax
push edi
xor edi, edi
mov word [esp + 0x3c], ax
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
lea eax, [esp + 0x14]
push eax
mov dword [esp + 0x50], edi
lea ebx, [edi + 1]
mov dword [esp + 0x54], 7
mov dword [esp + 0x18], 0x4634cc
mov dword [esp + 0x1c], 0x4124f0
call dword [sym.imp.ADVAPI32.dll_StartServiceCtrlDispatcherW]
test eax, eax
je 0x41274a
xor esi, esi
jmp 0x412c59
test esi, esi
je 0x412929
cmp word [esi], di
je 0x412929
lea eax, [esp + 0x10]
push eax
push esi
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov ecx, eax
test ecx, ecx
jne 0x4127d9
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [esp + 0x40]
push str._EAC_Setup___Error__CommandLineToArgvW_failed_with__i.
push eax
call fcn.004122c0
add esp, 0xc
lea eax, [esp + 0x3c]
cmp dword [esp + 0x50], 0x10
jb 0x412795
mov eax, dword [esp + 0x3c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edx, dword [esp + 0x50]
cmp edx, 0x10
jb 0x4127d2
mov ecx, dword [esp + 0x3c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4127c8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x412c72
push edx
push ecx
call fcn.0041b657
add esp, 8
mov esi, ebx
jmp 0x412c59
mov eax, dword [esp + 0x10]
mov dword [esp + 0x70], ecx
mov ecx, 0x2d
mov word [esp + 0x80], cx
xor ecx, ecx
mov dword [esp + 0x8c], edi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x54], 0x4626e0
mov dword [esp + 0x88], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], 0xffffffff
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x64], edi
mov word [esp + 0x84], cx
mov dword [esp + 0x58], 0x10
mov dword [esp + 0x7c], ecx
cmp eax, 0x32
jle 0x412852
shl eax, 2
push eax
call fcn.004394ab
add esp, 4
mov dword [esp + 0x8c], eax
lea ecx, [esp + 0x54]
call fcn.00412cb0
test al, al
je 0x412915
jmp 0x412870
mov eax, dword [esp + 0x88]
test eax, eax
jne 0x4129f5
mov eax, dword [esp + 0x60]
dec eax
cmp eax, 5
ja case.default.0x41288d
jmp dword [eax*4 + 0x412c8c]
push dword [esp + 0x78]
mov dword [esp + 0x10], 1
call fcn.00439ec2
add esp, 4
mov edi, eax
jmp 0x412904
push dword [esp + 0x78]
mov dword [esp + 0x10], 2
call fcn.00439ec2
add esp, 4
mov edi, eax
jmp 0x412904
and ebx, 0xfffffffe
mov dword [esp + 0xc], 2
or ebx, 2
jmp 0x412904
mov edx, dword [esp + 0x78]
mov ecx, edx
lea esi, [ecx + 2]
lea ecx, [ecx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4128e0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [esp + 0x44]
call fcn.004013c0
jmp 0x412904
and ebx, 0xfffffffe
jmp 0x412904
or ebx, 4
lea ecx, [esp + 0x54]
call fcn.00412cb0
test al, al
jne 0x412870
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x412929
push eax
call fcn.004394a6
add esp, 4
test bl, 3
jne 0x412a86
test edi, edi
jne 0x412a86
lea eax, [esp + 0x24]
push str._EAC_Setup___Error__Command_line_is_missing_the_operation_with_a_valid_game_id_
push eax
call fcn.004122c0
add esp, 8
lea eax, [esp + 0x24]
cmp dword [esp + 0x38], 0x10
jb 0x41295b
mov eax, dword [esp + 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edx, dword [esp + 0x38]
cmp edx, 0x10
jb 0x412a7c
mov ecx, dword [esp + 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412a72
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x412c77
jmp 0x412a72
lea eax, [esp + 0x24]
push str._EAC_Setup___Error__Unrecognized_command_line_parameters_
push eax
call fcn.004122c0
add esp, 8
lea eax, [esp + 0x24]
cmp dword [esp + 0x38], 0x10
jb 0x4129bc
mov eax, dword [esp + 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edx, dword [esp + 0x38]
cmp edx, 0x10
jb 0x412a54
mov ecx, dword [esp + 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412a4a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x412c7c
jmp 0x412a4a
push eax
lea eax, [esp + 0x28]
push str._EAC_Setup___Error__Malformed_command_line_parameters___i__
push eax
call fcn.004122c0
add esp, 0xc
lea eax, [esp + 0x24]
cmp dword [esp + 0x38], 0x10
jb 0x412a17
mov eax, dword [esp + 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edx, dword [esp + 0x38]
cmp edx, 0x10
jb 0x412a54
mov ecx, dword [esp + 0x24]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x412a4a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x412c81
push edx
push ecx
call fcn.0041b657
add esp, 8
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x412a7c
push eax
call fcn.004394a6
add esp, 4
mov esi, 1
jmp 0x412c21
push edx
push ecx
call fcn.0041b657
add esp, 8
mov esi, 1
jmp 0x412c21
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x98]
mov dword [esp + 0x90], eax
lea eax, [esp + 0x3c]
push eax
mov dword [esp + 0x98], edi
call fcn.00403360
xor eax, eax
mov dword [esp + 0xb4], 1
mov word [esp + 0xd4], ax
mov dword [esp + 0x108], eax
mov byte [esp + 0xf8], al
mov dword [esp + 0x120], eax
mov byte [esp + 0x110], al
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], eax
lea eax, [esp + 0x130]
push eax
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 7
mov dword [esp + 0x110], 0xf
mov dword [esp + 0x128], 0xf
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
call fcn.00403f20
mov dword [esp + 0x148], eax
lea eax, [esp + 0x90]
push ebx
push dword [esp + 0x10]
fld1
mov ecx, eax
fstp dword [esp + 0xf8]
mov dword [esp + 0x158], 0
mov dword [esp + 0x16c], 0
mov dword [esp + 0x170], 0xf
mov byte [esp + 0x15c], 0
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0xf
mov byte [esp + 0x174], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 8
mov byte [esp + 0xf4], 0
mov byte [esp + 0xfc], 0
mov dword [0x46d3e8], eax
call fcn.0040e250
lea ecx, [esp + 0x90]
mov esi, eax
call fcn.0040e0b0
mov edx, dword [esp + 0x50]
cmp edx, 8
jb 0x412c59
mov ecx, dword [esp + 0x3c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x412c4f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x412c86
push edx
push ecx
call fcn.0041b657
add esp, 8
mov ecx, dword [esp + 0x18c]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0041b616
mov esp, ebp
pop ebp
ret 0x10
call fcn.00436a89
call fcn.00436a89
call fcn.00436a89
call fcn.00436a89
call fcn.00436a89
nop
xchg esp, eax
sub byte [ecx], al
lodsb al, byte [esi]
sub byte [ecx], al
les ebp, [eax]
inc ecx
add ah, dl
sub byte [ecx], al
cld
sub byte [ecx], al
add dword [ecx], ebp
inc ecx
add ah, cl
int3