Function at 0x10004600
Capabilities:
Print debug messages
Reference http user-agent string

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x32c
mov eax, dword [0x100411cc]
xor eax, esp
mov dword [esp + 0x328], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
push ebx
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0xc]
push esi
push edi
test eax, eax
je 0x10004e0d
push ecx
lea ecx, [esp + 0x40]
mov dword [0x10042fc0], eax
call fcn.10007dd0
lea eax, [esp + 0x28]
push eax
push ecx
lea ecx, [esp + 0x44]
call fcn.10008ef0
mov dword [esp + 0xc], eax
test eax, eax
je 0x1000476e
mov edi, dword [esp + 0x28]
test edi, edi
je 0x1000476e
push 0x1c
mov dword [esp + 0x3c], 0
call fcn.1001c012
add esp, 4
mov dword [esp + 0x20], eax
push 0xffffffffffffffff
push str.DISABLE_FLASH
push 0xe
push eax
lea eax, [esp + 0x48]
push eax
call fcn.10021c0c
xor ecx, ecx
add esp, 0x14
test eax, eax
mov edx, 0xd
cmovne edx, ecx
xor bl, bl
xor esi, esi
mov dword [esp + 0x14], edx
test edi, edi
je 0x100046ef
nop dword [eax]
test bl, bl
jne 0x100046ef
mov eax, dword [esp + 0xc]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x100046ea
mov ecx, dword [eax]
test ecx, ecx
je 0x100046ea
cmp dword [eax + 4], 0
jbe 0x100046ea
mov eax, dword [esp + 0x20]
test eax, eax
je 0x100046ea
test edx, edx
je 0x100046ea
push eax
push ecx
call fcn.10021181
mov edx, dword [esp + 0x1c]
add esp, 8
test eax, eax
sete bl
inc esi
cmp esi, edi
jb 0x100046b0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10004702
push 2
push eax
call fcn.1001c004
add esp, 8
movzx eax, byte [0x100419d0]
xor ecx, ecx
test bl, bl
mov ebx, dword [esp + 0x28]
cmovne eax, ecx
xor edi, edi
mov byte [0x100419d0], al
mov eax, dword [esp + 0xc]
test ebx, ebx
je 0x10004763
mov esi, dword [eax + edi*4]
test esi, esi
je 0x10004757
mov eax, dword [esi]
test eax, eax
je 0x10004741
push 2
push eax
call fcn.1001c004
add esp, 8
mov dword [esi], 0
push 8
push esi
mov dword [esi + 4], 0
call fcn.1001c004
mov eax, dword [esp + 0x14]
add esp, 8
mov dword [eax + edi*4], 0
inc edi
cmp edi, ebx
jb 0x10004723
push 4
push eax
call fcn.1001c004
add esp, 8
push 0x104
lea eax, [esp + 0x12c]
push eax
push dword [0x10042fc8]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x10004d6f
push 8
call fcn.1001bb73
add esp, 4
lea ecx, [esp + 0x128]
push ecx
mov ecx, eax
call fcn.10007e60
mov dword [esp + 0x38], eax
test eax, eax
je 0x10004d6f
mov ecx, eax
call fcn.10007ca0
mov edi, eax
test edi, edi
je 0x10004d4c
mov ecx, edi
call fcn.100058f0
mov ebx, eax
test ebx, ebx
je 0x10004862
cmp dword [ebx + 4], 0
je 0x10004862
push 0x60
mov dword [esp + 0x18], 0
mov esi, 0x2f
call fcn.1001c012
add esp, 4
mov dword [esp + 0x2c], eax
push 0xffffffffffffffff
push str.Error_launching_CEF_Gas_due_to_missing_files__
push 0x30
push eax
lea eax, [esp + 0x24]
push eax
call fcn.10021c0c
xor ecx, ecx
add esp, 0x14
test eax, eax
cmovne esi, ecx
lea ecx, [esp + 0x2c]
push ebx
mov dword [esp + 0x34], esi
call fcn.10008a00
lea ecx, [esp + 0x2c]
call fcn.10008ea0
mov ecx, dword [0x10042fc0]
test ecx, ecx
je 0x10004848
push eax
mov eax, dword [0x10042f98]
push dword [eax + 0x10]
call ecx
add esp, 8
lea ecx, [esp + 0x2c]
call fcn.10007f70
push ecx
mov ecx, dword [esp + 0x3c]
xor esi, esi
call fcn.100043f0
jmp 0x10004de3
push 0x10041a60
mov ecx, edi
call fcn.10008a00
mov ecx, edi
call fcn.10008ea0
push 0xd0
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x58]
push 0
push eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x50], vtable.CefMainArgs.0
mov dword [esp + 0x5c], vtable.CefStructBase_struct_CefSettingsTraits_.0
call fcn.1001dbf0
add esp, 0xc
mov dword [esp + 0x124], 0
mov dword [esp + 0x54], 0xd0
mov esi, 0x37
mov dword [esp + 0x84], 0
mov dword [esp + 0x20], 0
push 0x70
mov dword [esp + 0x28], 0
mov dword [esp + 0x18], 0
call fcn.1001c012
add esp, 4
mov dword [esp + 0xc], eax
push 0xffffffffffffffff
push str.HKCUSoftwareOberon_MediaGamesManagerGasCEF_LogLevel
push 0x38
push eax
lea eax, [esp + 0x24]
push eax
call fcn.10021c0c
xor ecx, ecx
lea edx, [esp + 0x34]
test eax, eax
cmovne esi, ecx
add esp, 0x10
lea ecx, [esp + 0x10]
mov dword [esp + 0x14], esi
call fcn.100078e0
mov ecx, dword [esp + 0x10]
add esp, 4
mov bl, al
test ecx, ecx
je 0x1000493d
push 2
push ecx
call fcn.1001c004
add esp, 8
test bl, bl
je 0x10004b58
push 0x10
mov dword [esp + 0x18], 0
mov esi, 7
call fcn.1001c012
add esp, 4
mov dword [esp + 0xc], eax
push 0xffffffffffffffff
push str.Verbose
push 8
push eax
lea eax, [esp + 0x24]
push eax
call fcn.10021c0c
xor ecx, ecx
add esp, 0x14
test eax, eax
lea eax, [esp + 0xc]
cmovne esi, ecx
lea ecx, [esp + 0x20]
push eax
mov dword [esp + 0x14], esi
call fcn.10009050
lea ecx, [esp + 0xc]
mov bl, al
call fcn.10007f70
test bl, bl
je 0x100049af
mov dword [esp + 0xd8], 1
jmp 0x10004b58
push 0xa
mov dword [esp + 0x18], 0
mov esi, 4
call fcn.1001c012
add esp, 4
mov dword [esp + 0xc], eax
push 0xffffffffffffffff
push str.Info
push 5
push eax
lea eax, [esp + 0x24]
push eax
call fcn.10021c0c
xor ecx, ecx
add esp, 0x14
test eax, eax
lea eax, [esp + 0xc]
cmovne esi, ecx
lea ecx, [esp + 0x20]
push eax
mov dword [esp + 0x14], esi
call fcn.10009050
lea ecx, [esp + 0xc]
mov bl, al
call fcn.10007f70
test bl, bl
je 0x10004a19
mov dword [esp + 0xd8], 2
jmp 0x10004b58
push 0x10
mov dword [esp + 0x18], 0
mov esi, 7
call fcn.1001c012
add esp, 4
mov dword [esp + 0xc], eax
push 0xffffffffffffffff
push str.Warning
push 8
push eax
lea eax, [esp + 0x24]
push eax
call fcn.10021c0c
xor ecx, ecx
add esp, 0x14
test eax, eax
lea eax, [esp + 0xc]
cmovne esi, ecx
lea ecx, [esp + 0x20]
push eax
mov dword [esp + 0x14], esi
call fcn.10009050
lea ecx, [esp + 0xc]
mov bl, al
call fcn.10007f70
test bl, bl
je 0x10004a83
mov dword [esp + 0xd8], 3
jmp 0x10004b58
push 0xc
mov dword [esp + 0x18], 0
mov esi, 5
call fcn.1001c012
add esp, 4
mov dword [esp + 0xc], eax
push 0xffffffffffffffff
push str.Error
push 6
push eax
lea eax, [esp + 0x24]
push eax
call fcn.10021c0c
xor ecx, ecx
add esp, 0x14
test eax, eax
lea eax, [esp + 0xc]
cmovne esi, ecx
lea ecx, [esp + 0x20]
push eax
mov dword [esp + 0x14], esi
call fcn.10009050
lea ecx, [esp + 0xc]
mov bl, al
call fcn.10007f70
test bl, bl
je 0x10004aea
mov dword [esp + 0xd8], 4
jmp 0x10004b58
push 0xa
mov dword [esp + 0x18], 0
mov esi, 4
call fcn.1001c012
add esp, 4
mov dword [esp + 0xc], eax
push 0xffffffffffffffff
push str.None
push 5
push eax
lea eax, [esp + 0x24]
push eax
call fcn.10021c0c
xor ecx, ecx
add esp, 0x14
test eax, eax
lea eax, [esp + 0xc]
cmovne esi, ecx
lea ecx, [esp + 0x20]
push eax
mov dword [esp + 0x14], esi
call fcn.10009050
lea ecx, [esp + 0xc]
mov bl, al
call fcn.10007f70
mov eax, dword [esp + 0xd8]
test bl, bl
mov ecx, 0x63
cmovne eax, ecx
mov dword [esp + 0xd8], eax
push dword [esp + 0x28]
lea eax, [esp + 0x64]
mov dword [esp + 0x18], vtable.CefStringBase_struct_CefStringTraitsUTF16_.0
lea ecx, [esp + 0x18]
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20], 0
call fcn.10005f20
mov esi, dword [esp + 0x18]
mov ebx, dword [sym.imp.libcef.dll_cef_string_utf16_clear]
test esi, esi
je 0x10004ba0
cmp byte [esp + 0x1c], 0
je 0x10004ba0
push esi
call ebx
add esp, 4
push 0xc
push esi
call fcn.1001c004
add esp, 8
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x10004bec
lea ecx, [esp + 0xa8]
mov dword [esp + 0x2c], vtable.CefStringBase_struct_CefStringTraitsUTF16_.0
mov dword [esp + 0x30], ecx
lea ecx, [esp + 0x2c]
push eax
mov byte [esp + 0x38], 0
call fcn.10005f20
mov esi, dword [esp + 0x30]
test esi, esi
je 0x10004c04
cmp byte [esp + 0x34], 0
je 0x10004c04
push esi
call ebx
add esp, 4
push 0xc
push esi
call fcn.1001c004
add esp, 8
jmp 0x10004c04
lea eax, [esp + 0xa8]
push eax
push 0x7f
push str.Mozilla_5.0__Windows_NT_6.2__WOW64__AppleWebKit_537.36__KHTML__like_Gecko__Chrome_51.0.2704.103_Safari_537.36_CEF_3xxx_Gas_xxxx
call dword [sym.imp.libcef.dll_cef_string_ascii_to_utf16]
add esp, 0xc
push 0x1c
mov dword [esp + 0x60], 1
mov dword [esp + 0x84], 1
call fcn.1001bb73
mov edx, eax
add esp, 4
mov dword [edx + 4], 0x1003d074
mov dword [edx + 0xc], 0x1003d18c
mov dword [edx + 0x18], vtable.CefBaseRefCounted.0
mov eax, dword [edx + 4]
mov dword [edx], vtable.CefApp.1.0
push 0
mov eax, dword [eax + 4]
mov dword [eax + edx + 4], vtable.CefApp.0
mov eax, dword [edx + 0xc]
mov dword [edx + 8], vtable.CefBrowserProcessHandler.0
mov eax, dword [eax + 4]
mov dword [eax + edx + 0xc], vtable.CefBrowserProcessHandler.1.0
mov eax, dword [edx + 4]
mov dword [edx], vtable.DllCefApp.0
mov dword [edx + 8], vtable.DllCefApp.1.0
mov eax, dword [eax + 4]
mov dword [eax + edx + 4], vtable.DllCefApp.2.0
mov eax, dword [edx + 4]
mov ecx, dword [eax + 4]
push ecx
lea eax, [ecx - 0x14]
mov dword [ecx + edx], eax
mov eax, esp
mov dword [edx + 0x10], 0
lea ecx, [edx + 4]
mov dword [eax], edx
mov eax, dword [edx + 4]
mov eax, dword [eax + 4]
add ecx, eax
mov eax, dword [ecx]
call dword [eax]
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.1000a5c2
add esp, 0x10
test al, al
jne 0x10004cfa
mov ecx, dword [0x10042fc0]
test ecx, ecx
je 0x10004cd7
mov eax, dword [0x10042f98]
push 0x1003cdc0
push dword [eax + 0x10]
call ecx
add esp, 8
push str.CEF_Setup_Failed_
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0
push 0x1003cdf8
push 0x1003cdfc
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
xor esi, esi
jmp 0x10004d06
mov byte [0x10042fbd], 1
mov esi, 1
push ecx
mov ecx, edi
call fcn.100043f0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10004d21
push 1
push eax
call fcn.1001c004
add esp, 8
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10004d34
push 2
push eax
call fcn.1001c004
add esp, 8
lea ecx, [esp + 0x50]
call fcn.10005d00
push ecx
mov ecx, dword [esp + 0x3c]
call fcn.100043f0
jmp 0x10004de3
push 0xc2
mov dword [esp + 0x30], 0
mov esi, 0x60
call fcn.1001c012
add esp, 4
push 0xffffffffffffffff
push str.Error_launching_CEF_Gas_as_we_are_unable_to_file_find_UGM__or_it_wasnt_launched_through_UGM__1_
jmp 0x10004d90
push 0xc2
mov dword [esp + 0x30], 0
mov esi, 0x60
call fcn.1001c012
add esp, 4
push 0xffffffffffffffff
push str.Error_launching_CEF_Gas_as_we_are_unable_to_file_find_UGM__or_it_wasnt_launched_through_UGM__2_
mov edi, eax
lea eax, [esp + 0x34]
push 0x61
push edi
push eax
mov dword [esp + 0x28], edi
call fcn.10021c0c
xor ecx, ecx
add esp, 0x14
test eax, eax
cmovne esi, ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x18], esi
call fcn.10008ea0
mov ecx, dword [0x10042fc0]
test ecx, ecx
je 0x10004dd2
push eax
mov eax, dword [0x10042f98]
push dword [eax + 0x10]
call ecx
add esp, 8
test edi, edi
je 0x10004de1
push 2
push edi
call fcn.1001c004
add esp, 8
xor esi, esi
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x10004df6
push 2
push ecx
call fcn.1001c004
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x328]
xor ecx, esp
call fcn.1001bb62
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x334]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1001bb62
mov esp, ebp
pop ebp
ret