Function at 0x100049d0
Capabilities:
Terminate process

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x10016c86
push eax
mov dword fs:[0], esp
sub esp, 0x88
mov ecx, 0x1001f680
call fcn.100010a0
test eax, eax
jne 0x10004a21
push eax
push eax
push str.Failed_to_find_Rebuilder_configuration._No_patches_will_be_active.
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, 1
mov ecx, dword [esp + 0x88]
mov dword fs:[0], ecx
add esp, 0x94
ret
push ebx
push ebp
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push edi
push str.ISLE.EXE
call esi
mov edi, eax
push str.LEGO1.DLL
mov dword [esp + 0x4c], edi
call esi
push 0x10005420
push str.CreateWindowExA
push edi
mov ebp, eax
call fcn.10006b20
push 0x100053f0
push str.OutputDebugStringA
push ebp
call fcn.10006b20
push 0x100056a0
push str.RegQueryValueExA
push edi
call fcn.10006b20
push 0x10005f10
push str.RegisterClassA
push edi
call fcn.10006b20
push 0x10005b50
push str.Sleep
push ebp
call fcn.10006b20
push 0x10005b50
push str.Sleep
push edi
call fcn.10006b20
add esp, 0x48
push 0x10006000
push str.GetAsyncKeyState
push ebp
call fcn.10006b20
push 0x100055e0
push str.DirectDrawCreate
push ebp
call fcn.10006b20
push 0x10005e20
push str.Direct3DRMCreate
push ebp
mov dword [0x1001f6fc], eax
call fcn.10006b20
push 0x10005fb0
push str.DirectSoundCreate
push ebp
mov dword [0x1001f728], eax
call fcn.10006b20
push 0x100061f0
push str.DirectInputCreateA
push ebp
mov dword [0x1001f734], eax
call fcn.10006b20
add esp, 0x3c
xor ebx, ebx
mov ecx, 0x1001f680
mov dword [0x1001f740], eax
push ebx
push str.FlipSurfaces
call fcn.100011f0
test eax, eax
je 0x10004b5b
push ebx
push str.FullScreen
mov ecx, 0x1001f680
call fcn.100011f0
test eax, eax
jne 0x10004b5b
push 4
push str.Warning
push str.The_setting_Flip_Video_Memory_Pages_is_incompatible_with_LEGO_Islands_windowed_mode._LEGO_Island_will_likely_fail_to_start_up_unless_you_disable_Flip_Video_Memory_Pages_or_run_in_full_screen_mode._Do_you_wish_to_continue_
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 7
jne 0x10004b5b
push ebx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push ebx
push str.StayActiveWhenDefocused
mov ecx, 0x1001f680
call fcn.100011f0
test eax, eax
je 0x10004b85
push ebx
push 3
push 0x1001b538
push 0x1001b534
push edi
call fcn.100069e0
add esp, 0x14
push ebx
push str.MultipleInstances
mov ecx, 0x1001f680
call fcn.100011f0
test eax, eax
je 0x10004bac
push 0x10005490
push str.FindWindowA
push edi
call fcn.10006b20
add esp, 0xc
push ebx
push str.SpeedUpStartUp
mov ecx, 0x1001f680
call fcn.100011f0
test eax, eax
je 0x10004bd7
push 1
push 8
push 0x1001b4f8
push 0x1001b4ec
push edi
call fcn.100069e0
add esp, 0x14
push ebx
push str.DebugToggle
mov ecx, 0x1001f680
call fcn.100011f0
test eax, eax
je 0x10004c02
push 1
push 4
push 0x1001b4d8
push str.OGEL
push ebp
call fcn.100069e0
add esp, 0x14
push ebx
push str.UseWASD
mov ecx, 0x1001f680
call fcn.100011f0
test eax, eax
je 0x10004c2d
push 1
push 0x30
push 0x1001b494
push 0x1001b460
push ebp
call fcn.100069e0
add esp, 0x14
push ebx
push str.ExitCrashFix
mov ecx, 0x1001f680
call fcn.100011f0
test eax, eax
je 0x10004c58
push 1
push 0x25
push 0x1001b428
push 0x1001b400
push ebp
call fcn.100069e0
add esp, 0x14
push ebx
push str.NativeSMK
mov ecx, 0x1001f680
call fcn.100011f0
test eax, eax
je 0x10004c83
push 1
push 5
push 0x1001b3ec
push 0x1001b3e4
push ebp
call fcn.100069e0
add esp, 0x14
push ebx
push str.DisableAutoFinishBuilding
mov ecx, 0x1001f680
call fcn.100011f0
test eax, eax
je 0x10004cc7
push ebx
push 8
push 0x1001b3bc
push 0x1001b3b0
push ebp
call fcn.100069e0
add esp, 0x14
test eax, eax
jne 0x10004cc7
push ebx
push 0xd
push 0x1001b3a0
push 0x1001b390
push ebp
call fcn.100069e0
add esp, 0x14
push 0x41a00000
push str.TurnMaxSpeed
mov ecx, 0x1001f680
call fcn.10001220
push ebx
push str.UnhookTurnSpeed
fstp dword [esp + 0x1c]
mov ecx, 0x1001f680
call fcn.100011f0
test eax, eax
je 0x10004d31
push 5
push 0x1001b368
push ebp
call fcn.10006da0
add esp, 0xc
cmp eax, ebx
je 0x10004d24
push ebx
push 0x24
push 0x1001b340
push eax
call fcn.10006960
fld dword [esp + 0x24]
fadd st(0), st(0)
add esp, 0x10
fstp dword [esp + 0x14]
jmp 0x10004d31
push str.Failed_to_find_code_for_unhooking_turn_speed_n
call fcn.1000a19e
add esp, 4
mov ecx, 0xc
mov esi, 0x1001b2dc
lea edi, [esp + 0x68]
push 0x28
rep movsd dword es:[edi], dword [esi]
push str.MouseDeadzone
mov ecx, 0x1001f680
call fcn.100011f0
push 0x42200000
push str.MovementMaxSpeed
mov ecx, 0x1001f680
mov dword [esp + 0x70], eax
call fcn.10001220
push 0x41700000
push str.MovementMaxAcceleration
mov ecx, dword [esp + 0x1c]
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x7c], ecx
mov ecx, 0x1001f680
mov dword [esp + 0x78], eax
call fcn.10001220
push 0x41f00000
push str.TurnMaxAcceleration
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov ecx, 0x1001f680
mov dword [esp + 0x80], edx
call fcn.10001220
push 0x40800000
push str.MovementMinAcceleration
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov ecx, 0x1001f680
mov dword [esp + 0x84], eax
call fcn.10001220
push 0x41700000
push str.TurnMinAcceleration
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x88], ecx
mov ecx, 0x1001f680
call fcn.10001220
push 0x42480000
push str.MovementDeceleration
fstp dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov ecx, 0x1001f680
mov dword [esp + 0x8c], edx
call fcn.10001220
push 0x42480000
push str.TurnDeceleration
fstp dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov ecx, 0x1001f680
mov dword [esp + 0x90], eax
call fcn.10001220
push ebx
push str.TurnUseVelocity
fstp dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x94], ecx
mov ecx, 0x1001f680
call fcn.100011f0
push ebx
lea edx, [esp + 0x6c]
push 0x30
push edx
push 0x1001b2dc
push ebp
mov dword [esp + 0xa8], eax
call fcn.100069e0
mov al, byte [esp + 0x2f]
add esp, 0x14
mov byte [esp + 0x1c], al
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0xa0], ebx
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x50]
push str.ModelQuality
push edx
mov ecx, 0x1001f680
call fcn.10001470
mov eax, dword [esp + 0x20]
mov byte [esp + 0xa0], 2
cmp eax, ebx
je 0x10004ede
lea ecx, [eax - 1]
mov al, byte [eax - 1]
cmp al, bl
je 0x10004ed5
cmp al, 0xff
je 0x10004ed5
dec al
mov byte [ecx], al
jmp 0x10004ede
push ecx
call fcn.10006ec0
add esp, 4
mov edi, str.Infinite
or ecx, 0xffffffff
xor eax, eax
mov edx, dword [esp + 0x54]
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x20], ebx
cmp edx, ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x14], 0x40666666
mov dword [esp + 0x10], ecx
jae 0x10004f0f
mov ecx, edx
mov esi, dword [esp + 0x50]
mov edi, str.Infinite
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10004f23
sbb eax, eax
sbb eax, 0xffffffff
xor edi, edi
cmp eax, edi
jne 0x10004f4b
mov eax, dword [esp + 0x10]
cmp edx, eax
jb 0x10004f4b
xor ecx, ecx
cmp edx, eax
setne cl
mov eax, ecx
cmp eax, edi
jne 0x10004f4b
mov dword [esp + 0x14], 0x497423f0
jmp 0x10005032
mov edi, str.High
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
mov dword [esp + 0x10], ecx
jae 0x10004f64
mov ecx, edx
mov esi, dword [esp + 0x50]
mov edi, str.High
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10004f78
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10004f9e
mov eax, dword [esp + 0x10]
cmp edx, eax
jb 0x10004f9e
xor ecx, ecx
cmp edx, eax
setne cl
mov eax, ecx
test eax, eax
jne 0x10004f9e
mov dword [esp + 0x14], 0x40a00000
jmp 0x10005030
mov edi, str.Medium
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp edx, ecx
mov dword [esp + 0x10], ecx
jae 0x10004fb7
mov ecx, edx
mov esi, dword [esp + 0x50]
mov edi, str.Medium
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10004fcb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10004fee
mov eax, dword [esp + 0x10]
cmp edx, eax
jb 0x10004fee
xor ecx, ecx
cmp edx, eax
setne cl
mov eax, ecx
test eax, eax
jne 0x10004fee
mov dword [esp + 0x14], 0x40666666
jmp 0x10005030
mov edi, 0x1001b1f4
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
mov ecx, edx
cmp edx, ebx
jb 0x10005007
mov ecx, ebx
mov esi, dword [esp + 0x50]
mov edi, 0x1001b1f4
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x1000501b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10005030
cmp edx, ebx
jb 0x10005030
cmp edx, ebx
setne al
test eax, eax
jne 0x10005030
mov dword [esp + 0x14], eax
xor edi, edi
mov edx, dword [0x1001b1e8]
mov eax, dword [0x1001b1ec]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x30], edx
push edi
lea edx, [esp + 0x34]
push 8
push edx
push 0x1001b1e8
mov dword [esp + 0x44], eax
push ebp
mov dword [esp + 0x48], ecx
call fcn.100069e0
push 0xd
push 0x1001b1d8
push ebp
call fcn.10006da0
lea esi, [eax - 0x28]
push 0x10006280
push esi
push ebp
call fcn.10006c90
mov ecx, dword [0x1001b1cc]
mov eax, dword [0x1001b1c8]
mov edx, dword [0x1001b1d0]
add esp, 0x2c
mov dword [esp + 0x60], ecx
mov ecx, 0x1001f680
push edi
push str.FOVMultiplier
mov dword [0x1001f748], esi
mov dword [esp + 0x64], eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x1c], eax
call fcn.10001220
fdivr dword [0x100181e4]
push edi
lea ecx, [esp + 0x60]
push 0xc
push ecx
push 0x1001b1c8
push ebp
fmul dword [esp + 0x28]
fstp dword [esp + 0x28]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x70], eax
call fcn.100069e0
mov dl, byte [esp + 0x2f]
add esp, 0x14
mov byte [esp + 0x1c], dl
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x38]
push eax
push str.FPSLimit
push ecx
mov ecx, 0x1001f680
mov byte [esp + 0xac], 3
call fcn.10001470
mov eax, dword [esp + 0x20]
mov byte [esp + 0xa0], 5
cmp eax, edi
je 0x10005144
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x1000513b
cmp al, 0xff
je 0x1000513b
dec al
mov byte [ecx], al
jmp 0x10005144
push ecx
call fcn.10006ec0
add esp, 4
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov edi, str.Default
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov edx, dword [esp + 0x40]
not ecx
dec ecx
cmp edx, ecx
mov dword [esp + 0x10], ecx
jae 0x1000516d
mov ecx, edx
mov esi, dword [esp + 0x3c]
mov edi, str.Default
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x10005181
sbb eax, eax
sbb eax, 0xffffffff
xor esi, esi
cmp eax, esi
jne 0x100051a0
mov eax, dword [esp + 0x10]
cmp edx, eax
jb 0x100051a0
xor ecx, ecx
cmp edx, eax
setne cl
mov eax, ecx
cmp eax, esi
je 0x10005224
mov edi, str.Limited
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
mov ecx, edx
cmp edx, ebx
jb 0x100051b9
mov ecx, ebx
mov esi, dword [esp + 0x3c]
mov edi, str.Limited
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
je 0x100051cd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100051ff
cmp edx, ebx
jb 0x100051ff
cmp edx, ebx
setne al
test eax, eax
jne 0x100051ff
push eax
push str.CustomFPS
mov ecx, 0x1001f680
call fcn.10001220
fdivr dword [0x100181e0]
call fcn.1000a1e0
mov dword [esp + 0x2c], eax
jmp 0x10005207
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x48]
push 0
lea edx, [esp + 0x30]
push 4
add eax, 0x10b4
push edx
push eax
call fcn.10006960
add esp, 0x10
xor esi, esi
push 6
push 0x1001b188
push ebp
call fcn.10006da0
add eax, 6
push 0x10006240
push eax
call fcn.10006c40
mov ecx, dword [esp + 0x50]
add esp, 0x14
cmp ecx, esi
mov dword [0x1001f744], eax
je 0x1000526b
mov al, byte [ecx - 1]
test al, al
je 0x10005261
cmp al, 0xff
je 0x10005261
dec al
mov byte [ecx - 1], al
jmp 0x1000526b
dec ecx
push ecx
call fcn.10006ec0
add esp, 4
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], esi
pop edi
cmp ecx, esi
pop esi
pop ebp
pop ebx
je 0x100052b4
mov al, byte [ecx - 1]
test al, al
je 0x100052aa
cmp al, 0xff
je 0x100052aa
dec al
mov byte [ecx - 1], al
xor eax, eax
mov ecx, dword [esp + 0x88]
mov dword fs:[0], ecx
add esp, 0x94
ret
dec ecx
push ecx
call fcn.10006ec0
add esp, 4
mov ecx, dword [esp + 0x88]
xor eax, eax
mov dword fs:[0], ecx
add esp, 0x94
ret