Function at 0x180059c30
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [rsp + 0x60], xmm7
mov rax, qword [0x18009c040]
xor rax, rsp
mov qword [rbp - 0x28], rax
mov rax, qword [0x18009ca78]
lea rdx, [rcx + 1]
mov rdi, rcx
mov r14d, 2
xor r8d, r8d
lea rcx, str.Settings
movss xmm2, dword [rax + 0x10]
movss xmm1, dword [rax + 0x14]
movss xmm0, dword [rax + 0x3c08]
mulss xmm0, dword [0x1800921f0]
or dword [rax + 0x47a8], 3
mulss xmm2, dword [0x18009210c]
mov dword [rax + 0x47c0], 0x3f000000
mulss xmm1, dword [0x18009210c]
mov dword [rax + 0x47c4], 0x3f000000
movss dword [rax + 0x47b8], xmm2
movss dword [rax + 0x47c8], xmm0
movss dword [rax + 0x47bc], xmm1
movss dword [rax + 0x47cc], xmm0
mov dword [rax + 0x47ac], r14d
mov dword [rax + 0x47b0], r14d
call fcn.180010000
mov rbx, qword [0x18009ca78]
lea rcx, str.settings
xor edx, edx
mov dword [rbp - 0x3c], 0
mov rax, qword [rbx + 0x3ed0]
movss xmm0, dword [rbx + 0x3c08]
mulss xmm0, dword [0x1800921d0]
mov byte [rax + 0xb8], 1
mov rbx, qword [rbx + 0x3ed0]
movss dword [rbp - 0x40], xmm0
movsxd rax, dword [rbx + 0xf0]
mov r8, qword [rbx + 0xf8]
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1800062f0
mov rdx, qword [rbx]
mov r15d, eax
cmp dword [rdx + 0x3f18], eax
jne 0x180059d76
lea r8, str.settings
mov edx, 0xb
mov ecx, eax
call fcn.18001dff0
xor esi, esi
lea r8, [rbp - 0x40]
mov r9b, 1
mov dword [rsp + 0x20], esi
mov edx, r15d
lea rcx, str.settings
call fcn.18000d2e0
cmp dword [0x1800ae4d0], esi
lea r9, [rbp - 0x40]
mov rcx, qword [str.Menu]
sete r15b
mov qword [rbp - 0x40], rsi
movzx edx, r15b
xor r8d, r8d
call fcn.1800470e0
test al, al
je 0x180059dc5
mov ebx, esi
mov dword [0x1800ae4d0], ebx
jmp 0x180059dcb
mov ebx, dword [0x1800ae4d0]
test r15b, r15b
je 0x180059dd5
call fcn.180012fd0
mov rcx, qword [0x18008fe58]
lea r9, [rbp - 0x40]
cmp ebx, 1
sete r15b
xor r8d, r8d
movzx edx, r15b
call fcn.1800470e0
test al, al
je 0x180059e04
mov ebx, 1
mov dword [0x1800ae4d0], ebx
jmp 0x180059e0a
mov ebx, dword [0x1800ae4d0]
test r15b, r15b
je 0x180059e14
call fcn.180012fd0
mov rcx, qword [str.Keys]
lea r9, [rbp - 0x40]
cmp ebx, r14d
sete bl
xor r8d, r8d
movzx edx, bl
call fcn.1800470e0
test al, al
je 0x180059e3d
mov dword [0x1800ae4d0], r14d
jmp 0x180059e44
mov r14d, dword [0x1800ae4d0]
test bl, bl
je 0x180059e4d
call fcn.180012fd0
mov rcx, qword [str.Mouse]
lea r9, [rbp - 0x40]
cmp r14d, 3
sete bl
xor r8d, r8d
movzx edx, bl
call fcn.1800470e0
test al, al
je 0x180059e78
mov dword [0x1800ae4d0], 3
test bl, bl
je 0x180059e81
call fcn.180012fd0
call fcn.18000d510
movss xmm6, dword [0x180092280]
xorps xmm0, xmm0
movaps xmm1, xmm6
call fcn.180015b70
mov rbx, qword [0x18009ca78]
lea rcx, str.content
xor edx, edx
mov dword [rbp - 0x40], esi
movss xmm4, dword [rbx + 0x3810]
mov rax, qword [rbx + 0x3ed0]
addss xmm4, xmm4
addss xmm4, dword [rbx + 0x3c08]
addss xmm4, dword [rbx + 0x3820]
mov byte [rax + 0xb8], 1
mov rbx, qword [rbx + 0x3ed0]
xorps xmm4, xmmword [0x180092630]
movsxd rax, dword [rbx + 0xf0]
mov r8, qword [rbx + 0xf8]
movss dword [rbp - 0x3c], xmm4
mov r8d, dword [r8 + rax*4 - 4]
call fcn.1800062f0
mov r8, qword [rbx]
mov r14d, eax
cmp dword [r8 + 0x3f18], eax
jne 0x180059f23
lea r8, str.content
mov edx, 0xb
mov ecx, eax
call fcn.18001dff0
xor r9d, r9d
mov dword [rsp + 0x20], esi
lea r8, [rbp - 0x40]
mov edx, r14d
lea rcx, str.content
call fcn.18000d2e0
mov ecx, dword [0x1800ae4d0]
movss xmm7, dword [0x180092264]
test ecx, ecx
je 0x18005ab97
sub ecx, 1
je 0x18005ab5c
sub ecx, 1
je 0x18005a02b
cmp ecx, 1
jne 0x18005ac2e
lea rcx, str.All_user_settings_are_saved_to_mk1hook_user.ini.
call fcn.180035240
lea rcx, str.Sensitivity
call fcn.180034fa0
movaps xmm0, xmm7
call fcn.180015c20
mov r8, qword [0x18009cef0]
lea rax, [rbp - 0x30]
add r8, 0x54
mov dword [rbp - 0x30], 0x32
lea r9, [rbp - 0x40]
mov dword [rbp - 0x40], 1
mov qword [rsp + 0x20], rax
call fcn.18003a9c0
mov rcx, qword [0x18009ca78]
mov rax, qword [rcx + 0x3ed0]
mov byte [rax + 0xb8], 1
mov r8, qword [rcx + 0x3ed0]
movsxd rdx, dword [r8 + 0x1c8]
mov rax, qword [r8 + 0x1d0]
mov ecx, dword [rax + rdx*4 - 4]
lea eax, [rdx - 1]
mov rdx, qword [0x18009cef0]
mov dword [r8 + 0x1bc], ecx
add rdx, 0x59
lea rcx, str.Invert_X
mov dword [r8 + 0x1c8], eax
call fcn.180037630
mov rdx, qword [0x18009cef0]
lea rcx, str.Invert_Y
add rdx, 0x58
call fcn.180037630
jmp 0x18005ac2e
cmp byte [rdi + 3], sil
je 0x18005a04d
movdqa xmm0, xmmword [0x180092510]
lea rdx, str.Press_a_key_
lea rcx, [rbp - 0x40]
movups xmmword [rbp - 0x40], xmm0
call fcn.1800350e0
xor r8d, r8d
mov dword [rbp - 0x40], 0x80800000
lea rdx, [rbp - 0x40]
mov dword [rbp - 0x3c], esi
lea rcx, str.Reset_Keys
call fcn.180035f90
test al, al
je 0x18005a112
mov rax, qword [0x18009cef0]
lea rdx, str.Keys_reset__Remember_to_save.
mov rcx, qword [0x18009ceb8]
mov qword [rax + 4], 0x70
mov dword [rax + 0xc], 0x74
mov qword [rax + 0x10], 0x71
mov dword [rax + 0x18], esi
mov dword [rax + 0x1c], 0x68
mov dword [rax + 0x20], Ordinal_101
mov dword [rax + 0x24], Ordinal_101
mov dword [rax + 0x28], 0x66
mov dword [rax + 0x2c], 0x67
mov dword [rax + 0x30], Ordinal_101
mov dword [rax + 0x34], 0x27
mov dword [rax + 0x38], 0x25
mov dword [rax + 0x3c], 0x26
mov dword [rax + 0x40], 0x28
mov dword [rax + 0x44], Ordinal_101
mov dword [rax + 0x48], 0x69
mov dword [rax + 0x4c], 0x6b
mov dword [rax + 0x50], 0x6d
mov dword [rcx + 0x804], 0x40200000
call fcn.18004e7f0
mov rax, qword [0x18009ca78]
movss xmm7, dword [0x180092150]
mov rax, qword [rax + 0x3ed0]
cmp byte [rax + 0xbb], sil
jne 0x18005a146
mov eax, dword [rax + 0x1b4]
movaps xmm1, xmm7
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180038650
lea rdx, str.Core
lea rcx, [0x18008c150]
call fcn.1800352f0
mov rax, qword [0x18009ca78]
mov rax, qword [rax + 0x3ed0]
cmp byte [rax + 0xbb], sil
jne 0x18005a185
mov eax, dword [rax + 0x1b4]
movaps xmm1, xmm7
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180038650
mov rbx, qword [0x18009cef0]
lea rdx, str.Open_Close_Menu
lea rcx, [0x18008c150]
add rbx, 4
call fcn.1800352f0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015b70
mov ecx, dword [rbx]
call fcn.18004ecd0
mov r8, rax
lea r9, str.menu
lea rdx, str._skey_s
lea rcx, [0x1800ad000]
call fcn.18001f510
xor r8d, r8d
mov qword [rbp - 0x40], rsi
lea rdx, [rbp - 0x40]
lea rcx, [0x1800ad000]
call fcn.180035f90
test al, al
je 0x18005a1f8
mov byte [rdi + 3], 1
mov qword [rdi + 0x2c8], rbx
mov rbx, qword [0x18009cef0]
lea rdx, str.Toggle_Gamespeed_Slow_Motion
lea rcx, [0x18008c150]
add rbx, 0xc
call fcn.1800352f0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015b70
mov ecx, dword [rbx]
call fcn.18004ecd0
mov r8, rax
lea r9, str.slomo
lea rdx, str._skey_s
lea rcx, [0x1800ad000]
call fcn.18001f510
xor r8d, r8d
mov qword [rbp - 0x40], rsi
lea rdx, [rbp - 0x40]
lea rcx, [0x1800ad000]
call fcn.180035f90
test al, al
je 0x18005a26b
mov byte [rdi + 3], 1
mov qword [rdi + 0x2c8], rbx
mov rbx, qword [0x18009cef0]
lea rdx, str.Freeze_World
lea rcx, [0x18008c150]
add rbx, 0x10
call fcn.1800352f0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015b70
mov ecx, dword [rbx]
call fcn.18004ecd0
mov r8, rax
lea r9, str.freeze
lea rdx, str._skey_s
lea rcx, [0x1800ad000]
call fcn.18001f510
xor r8d, r8d
mov qword [rbp - 0x40], rsi
lea rdx, [rbp - 0x40]
lea rcx, [0x1800ad000]
call fcn.180035f90
test al, al
je 0x18005a2de
mov byte [rdi + 3], 1
mov qword [rdi + 0x2c8], rbx
mov rax, qword [0x18009ca78]
mov rax, qword [rax + 0x3ed0]
cmp byte [rax + 0xbb], sil
jne 0x18005a30a
mov eax, dword [rax + 0x1b4]
movaps xmm1, xmm7
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180038650
lea rdx, str.Camera
lea rcx, [0x18008c150]
call fcn.1800352f0
mov rax, qword [0x18009ca78]
mov rax, qword [rax + 0x3ed0]
cmp byte [rax + 0xbb], sil
jne 0x18005a349
mov eax, dword [rax + 0x1b4]
movaps xmm1, xmm7
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180038650
mov rbx, qword [0x18009cef0]
lea rdx, str.FOV
lea rcx, [0x18008c150]
add rbx, 0x4c
call fcn.1800352f0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015b70
mov ecx, dword [rbx]
call fcn.18004ecd0
mov r8, rax
lea r9, str.fov_plus
lea rdx, str._skey_s
lea rcx, [0x1800ad000]
call fcn.18001f510
xor r8d, r8d
mov qword [rbp - 0x40], rsi
lea rdx, [rbp - 0x40]
lea rcx, [0x1800ad000]
call fcn.180035f90
test al, al
je 0x18005a3bc
mov byte [rdi + 3], 1
mov qword [rdi + 0x2c8], rbx
mov rbx, qword [0x18009cef0]
lea rdx, str.FOV_
lea rcx, [0x18008c150]
add rbx, 0x50
call fcn.1800352f0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015b70
mov ecx, dword [rbx]
call fcn.18004ecd0
mov r8, rax
lea r9, str.fov_minus
lea rdx, str._skey_s
lea rcx, [0x1800ad000]
call fcn.18001f510
xor r8d, r8d
mov qword [rbp - 0x40], rsi
lea rdx, [rbp - 0x40]
lea rcx, [0x1800ad000]
call fcn.180035f90
test al, al
je 0x18005a42f
mov byte [rdi + 3], 1
mov qword [rdi + 0x2c8], rbx
mov rbx, qword [0x18009cef0]
lea rdx, str.Yaw
lea rcx, [0x18008c150]
add rbx, 0x34
call fcn.1800352f0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015b70
mov ecx, dword [rbx]
call fcn.18004ecd0
mov r8, rax
lea r9, str.ya_plus
lea rdx, str._skey_s
lea rcx, [0x1800ad000]
call fcn.18001f510
xor r8d, r8d
mov qword [rbp - 0x40], rsi
lea rdx, [rbp - 0x40]
lea rcx, [0x1800ad000]
call fcn.180035f90
test al, al
je 0x18005a4a2
mov byte [rdi + 3], 1
mov qword [rdi + 0x2c8], rbx
mov rbx, qword [0x18009cef0]
lea rdx, str.Yaw_
lea rcx, [0x18008c150]
add rbx, 0x38
call fcn.1800352f0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015b70
mov ecx, dword [rbx]
call fcn.18004ecd0
mov r8, rax
lea r9, str.ya_minus
lea rdx, str._skey_s
lea rcx, [0x1800ad000]
call fcn.18001f510
xor r8d, r8d
mov qword [rbp - 0x40], rsi
lea rdx, [rbp - 0x40]
lea rcx, [0x1800ad000]
call fcn.180035f90
test al, al
je 0x18005a515
mov byte [rdi + 3], 1
mov qword [rdi + 0x2c8], rbx
mov rbx, qword [0x18009cef0]
lea rdx, str.Pitch
lea rcx, [0x18008c150]
add rbx, 0x3c
call fcn.1800352f0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015b70
mov ecx, dword [rbx]
call fcn.18004ecd0
mov r8, rax
lea r9, str.pi_plus
lea rdx, str._skey_s
lea rcx, [0x1800ad000]
call fcn.18001f510
xor r8d, r8d
mov qword [rbp - 0x40], rsi
lea rdx, [rbp - 0x40]
lea rcx, [0x1800ad000]
call fcn.180035f90
test al, al
je 0x18005a588
mov byte [rdi + 3], 1
mov qword [rdi + 0x2c8], rbx
mov rbx, qword [0x18009cef0]
lea rdx, str.Pitch_
lea rcx, [0x18008c150]
add rbx, 0x40
call fcn.1800352f0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015b70
mov ecx, dword [rbx]
call fcn.18004ecd0
mov r8, rax
lea r9, str.pi_minus
lea rdx, str._skey_s
lea rcx, [0x1800ad000]
call fcn.18001f510
xor r8d, r8d
mov qword [rbp - 0x40], rsi
lea rdx, [rbp - 0x40]
lea rcx, [0x1800ad000]
call fcn.180035f90
test al, al
je 0x18005a5fb
mov byte [rdi + 3], 1
mov qword [rdi + 0x2c8], rbx
mov rbx, qword [0x18009cef0]
lea rdx, str.Roll
lea rcx, [0x18008c150]
add rbx, 0x48
call fcn.1800352f0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015b70
mov ecx, dword [rbx]
call fcn.18004ecd0
mov r8, rax
lea r9, str.r_plus
lea rdx, str._skey_s
lea rcx, [0x1800ad000]
call fcn.18001f510
xor r8d, r8d
mov qword [rbp - 0x40], rsi
lea rdx, [rbp - 0x40]
lea rcx, [0x1800ad000]
call fcn.180035f90
test al, al
je 0x18005a66e
mov byte [rdi + 3], 1
mov qword [rdi + 0x2c8], rbx
mov rbx, qword [0x18009cef0]
lea rdx, str.Roll_
lea rcx, [0x18008c150]
add rbx, 0x44
call fcn.1800352f0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015b70
mov ecx, dword [rbx]
call fcn.18004ecd0
mov r8, rax
lea r9, str.r_minus
lea rdx, str._skey_s
lea rcx, [0x1800ad000]
call fcn.18001f510
xor r8d, r8d
mov qword [rbp - 0x40], rsi
lea rdx, [rbp - 0x40]
lea rcx, [0x1800ad000]
call fcn.180035f90
test al, al
je 0x18005a6e1
mov byte [rdi + 3], 1
mov qword [rdi + 0x2c8], rbx
mov rbx, qword [0x18009cef0]
lea rdx, str.Forwards
lea rcx, [0x18008c150]
add rbx, 0x1c
call fcn.1800352f0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015b70
mov ecx, dword [rbx]
call fcn.18004ecd0
mov r8, rax
lea r9, str.x_plus
lea rdx, str._skey_s
lea rcx, [0x1800ad000]
call fcn.18001f510
xor r8d, r8d
mov qword [rbp - 0x40], rsi
lea rdx, [rbp - 0x40]
lea rcx, [0x1800ad000]
call fcn.180035f90
test al, al
je 0x18005a754
mov byte [rdi + 3], 1
mov qword [rdi + 0x2c8], rbx
mov rbx, qword [0x18009cef0]
lea rdx, str.Backwards
lea rcx, [0x18008c150]
add rbx, 0x20
call fcn.1800352f0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015b70
mov ecx, dword [rbx]
call fcn.18004ecd0
mov r8, rax
lea r9, str.x_minus
lea rdx, str._skey_s
lea rcx, [0x1800ad000]
call fcn.18001f510
xor r8d, r8d
mov qword [rbp - 0x40], rsi
lea rdx, [rbp - 0x40]
lea rcx, [0x1800ad000]
call fcn.180035f90
test al, al
je 0x18005a7c7
mov byte [rdi + 3], 1
mov qword [rdi + 0x2c8], rbx
mov rbx, qword [0x18009cef0]
lea rdx, str.Left
lea rcx, [0x18008c150]
add rbx, 0x24
call fcn.1800352f0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015b70
mov ecx, dword [rbx]
call fcn.18004ecd0
mov r8, rax
lea r9, str.y_plus
lea rdx, str._skey_s
lea rcx, [0x1800ad000]
call fcn.18001f510
xor r8d, r8d
mov qword [rbp - 0x40], rsi
lea rdx, [rbp - 0x40]
lea rcx, [0x1800ad000]
call fcn.180035f90
test al, al
je 0x18005a83a
mov byte [rdi + 3], 1
mov qword [rdi + 0x2c8], rbx
mov rbx, qword [0x18009cef0]
lea rdx, str.Right
lea rcx, [0x18008c150]
add rbx, 0x28
call fcn.1800352f0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015b70
mov ecx, dword [rbx]
call fcn.18004ecd0
mov r8, rax
lea r9, str.y_minus
lea rdx, str._skey_s
lea rcx, [0x1800ad000]
call fcn.18001f510
xor r8d, r8d
mov qword [rbp - 0x40], rsi
lea rdx, [rbp - 0x40]
lea rcx, [0x1800ad000]
call fcn.180035f90
test al, al
je 0x18005a8ad
mov byte [rdi + 3], 1
mov qword [rdi + 0x2c8], rbx
mov rbx, qword [0x18009cef0]
lea rdx, [0x18008ba10]
lea rcx, [0x18008c150]
add rbx, 0x2c
call fcn.1800352f0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015b70
mov ecx, dword [rbx]
call fcn.18004ecd0
mov r8, rax
lea r9, str.z_plus
lea rdx, str._skey_s
lea rcx, [0x1800ad000]
call fcn.18001f510
xor r8d, r8d
mov qword [rbp - 0x40], rsi
lea rdx, [rbp - 0x40]
lea rcx, [0x1800ad000]
call fcn.180035f90
test al, al
je 0x18005a920
mov byte [rdi + 3], 1
mov qword [rdi + 0x2c8], rbx
mov rbx, qword [0x18009cef0]
lea rdx, str.Down
lea rcx, [0x18008c150]
add rbx, 0x30
call fcn.1800352f0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015b70
mov ecx, dword [rbx]
call fcn.18004ecd0
mov r8, rax
lea r9, str.z_minus
lea rdx, str._skey_s
lea rcx, [0x1800ad000]
call fcn.18001f510
xor r8d, r8d
mov qword [rbp - 0x40], rsi
lea rdx, [rbp - 0x40]
lea rcx, [0x1800ad000]
call fcn.180035f90
test al, al
je 0x18005a993
mov byte [rdi + 3], 1
mov qword [rdi + 0x2c8], rbx
mov rax, qword [0x18009ca78]
mov rax, qword [rax + 0x3ed0]
cmp byte [rax + 0xbb], sil
jne 0x18005a9bf
mov eax, dword [rax + 0x1b4]
movaps xmm1, xmm7
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180038650
lea rdx, str.Misc
lea rcx, [0x18008c150]
call fcn.1800352f0
mov rax, qword [0x18009ca78]
mov rax, qword [rax + 0x3ed0]
cmp byte [rax + 0xbb], sil
jne 0x18005a9fe
mov eax, dword [rax + 0x1b4]
movaps xmm1, xmm7
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180038650
mov rbx, qword [0x18009cef0]
lea rdx, str.Toggle_Free_Camera
lea rcx, [0x18008c150]
add rbx, 0x14
call fcn.1800352f0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015b70
mov ecx, dword [rbx]
call fcn.18004ecd0
mov r8, rax
lea r9, str.fcam
lea rdx, str._skey_s
lea rcx, [0x1800ad000]
call fcn.18001f510
xor r8d, r8d
mov qword [rbp - 0x40], rsi
lea rdx, [rbp - 0x40]
lea rcx, [0x1800ad000]
call fcn.180035f90
test al, al
je 0x18005aa71
mov byte [rdi + 3], 1
mov qword [rdi + 0x2c8], rbx
mov rbx, qword [0x18009cef0]
lea rdx, str.Toggle_HUD
lea rcx, [0x18008c150]
add rbx, 0x18
call fcn.1800352f0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.180015b70
mov ecx, dword [rbx]
call fcn.18004ecd0
mov r8, rax
lea r9, str.thud
lea rdx, str._skey_s
lea rcx, [0x1800ad000]
call fcn.18001f510
xor r8d, r8d
mov qword [rbp - 0x40], rsi
lea rdx, [rbp - 0x40]
lea rcx, [0x1800ad000]
call fcn.180035f90
test al, al
je 0x18005aae4
mov byte [rdi + 3], 1
mov qword [rdi + 0x2c8], rbx
mov rax, qword [0x18009ca78]
mov rax, qword [rax + 0x3ed0]
cmp byte [rax + 0xbb], sil
jne 0x18005ab10
mov eax, dword [rax + 0x1b4]
movaps xmm1, xmm7
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.180038650
cmp byte [rdi + 3], sil
je 0x18005ac2e
nop word [rax + rax]
mov ecx, esi
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
js 0x18005ab3c
inc esi
cmp esi, 0xff
jl 0x18005ab20
jmp 0x18005ac2e
lea eax, [rsi - 8]
cmp eax, 0xf5
ja 0x18005ac2e
mov rax, qword [rdi + 0x2c8]
mov dword [rax], esi
mov byte [rdi + 3], 0
jmp 0x18005ac2e
lea rcx, str.These_settings_control_MK1Hook.ini_options._Any_changes_require_game_restart_to_take_effect.
call fcn.180035240
mov rdx, qword [0x18009cef0]
lea rcx, str.Debug_Console
call fcn.180037630
mov rdx, qword [0x18009cef0]
lea rcx, str.Gamepad_Support
add rdx, 2
call fcn.180037630
jmp 0x18005ac2e
lea rcx, str.All_user_settings_are_saved_to_mk1hook_user.ini.
call fcn.180035240
lea rcx, str.Menu_Scale
call fcn.180034fa0
movaps xmm0, xmm7
call fcn.180015c20
mov r8, qword [0x18009cef0]
lea rax, str._.3f
mov dword [rsp + 0x30], 0x20000
lea rcx, [0x18008c150]
mov qword [rsp + 0x28], rax
add r8, 0x5c
xor r9d, r9d
mov qword [rsp + 0x20], rsi
mov edx, 8
call fcn.18003b6b0
mov rcx, qword [0x18009ca78]
mov rax, qword [rcx + 0x3ed0]
mov byte [rax + 0xb8], 1
mov r8, qword [rcx + 0x3ed0]
movsxd rdx, dword [r8 + 0x1c8]
mov rax, qword [r8 + 0x1d0]
mov ecx, dword [rax + rdx*4 - 4]
lea eax, [rdx - 1]
mov dword [r8 + 0x1c8], eax
mov dword [r8 + 0x1bc], ecx
xor r8d, r8d
mov dword [rbp - 0x40], 0x80800000
lea rdx, [rbp - 0x40]
mov dword [rbp - 0x3c], 0
lea rcx, str.Save
call fcn.180035f90
test al, al
je 0x18005ac7c
mov rcx, qword [0x18009ceb8]
lea rdx, str.Settings_saved_to_MK1Hook.ini_and_mk1hook_user.ini_
mov dword [rcx + 0x804], 0x40200000
call fcn.18004e7f0
mov byte [0x18009ca32], 1
call fcn.1800602c0
call fcn.18000d510
call fcn.1800122c0
mov rcx, qword [rbp - 0x28]
xor rcx, rsp
call fcn.180061940
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x60]
mov rsp, r11
pop r15
pop r14
pop rbp
ret