Function at 0x18005b7f0
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0xa40]
sub rsp, 0xb40
mov rax, qword [0x180097010]
xor rax, rsp
mov qword [rbp + 0xa30], rax
mov rbx, rcx
lea rdx, str.mk1hook.ini
mov r12d, 0x74
mov r15d, 0x71
mov dword [rcx + 0x10], r12d
mov dword [rcx + 0x14], r15d
lea rcx, [rbp + 0x30]
call fcn.18005d100
lea rdx, str.mk1hook_user.ini
lea rcx, [rsp + 0x30]
call fcn.18005d100
lea r9, [rsp + 0x30]
xor r8d, r8d
lea rdx, str.iToggleCustomCamKey
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea r14, str.True
mov edx, 0xff
lea r8, [0x180087edc]
mov dword [rbx + 0xc], eax
mov r9, r14
lea rcx, [rbp + 0x130]
call fcn.18001f830
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x330]
lea r8, [rbp + 0x130]
mov dword [rsp + 0x20], 0xff
lea rdx, str.bEnableGamepadSupport
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
xor edi, edi
lea rdx, [rbp + 0x330]
mov ecx, edi
nop dword [rax]
movzx eax, byte [rdx + rcx]
lea rsi, str.true
inc rcx
cmp al, byte [r14 + rcx - 1]
jne 0x18005b8ff
cmp rcx, 5
jne 0x18005b8e0
mov al, 1
jmp 0x18005b929
mov rcx, rdi
lea rdx, [rbp + 0x330]
nop dword [rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x18005b927
cmp rcx, 5
jne 0x18005b910
mov al, 1
jmp 0x18005b929
xor al, al
mov r9, r14
mov byte [rbx + 5], al
lea r8, [0x180087edc]
mov edx, 0xff
lea rcx, [rbp + 0x130]
call fcn.18001f830
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x430]
lea r8, [rbp + 0x130]
mov dword [rsp + 0x20], 0xff
lea rdx, str.bEnableConsoleWindow
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov rcx, rdi
lea rdx, [rbp + 0x430]
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r14 + rcx - 1]
jne 0x18005b9a8
cmp rcx, 5
jne 0x18005b990
mov al, 1
jmp 0x18005b9cb
mov rcx, rdi
lea rdx, [rbp + 0x430]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x18005b9c9
cmp rcx, 5
jne 0x18005b9b2
mov al, 1
jmp 0x18005b9cb
xor al, al
lea r9, str.False
mov byte [rbx], al
lea r8, [0x180087edc]
mov edx, 0xff
lea rcx, [rbp + 0x130]
call fcn.18001f830
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x530]
lea r8, [rbp + 0x130]
mov dword [rsp + 0x20], 0xff
lea rdx, str.bEnable60FPSPatch
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov rcx, rdi
lea rdx, [rbp + 0x530]
nop dword [rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r14 + rcx - 1]
jne 0x18005ba48
cmp rcx, 5
jne 0x18005ba30
mov al, 1
jmp 0x18005ba6b
mov rcx, rdi
lea rdx, [rbp + 0x530]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x18005ba69
cmp rcx, 5
jne 0x18005ba52
mov al, 1
jmp 0x18005ba6b
xor al, al
lea r9, str.False
mov byte [rbx + 2], al
lea r8, [0x180087edc]
mov edx, 0xff
lea rcx, [rbp + 0x130]
call fcn.18001f830
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x630]
lea r8, [rbp + 0x130]
mov dword [rsp + 0x20], 0xff
lea rdx, str.b60FPSPatchInvasionsOnly
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov rcx, rdi
lea rdx, [rbp + 0x630]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r14 + rcx - 1]
jne 0x18005bae8
cmp rcx, 5
jne 0x18005bad0
mov al, 1
jmp 0x18005bb0b
mov rcx, rdi
lea rdx, [rbp + 0x630]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x18005bb09
cmp rcx, 5
jne 0x18005baf2
mov al, 1
jmp 0x18005bb0b
xor al, al
mov r9, r14
mov byte [rbx + 3], al
lea r8, [0x180087edc]
mov edx, 0xff
lea rcx, [rbp + 0x130]
call fcn.18001f830
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x730]
lea r8, [rbp + 0x130]
mov dword [rsp + 0x20], 0xff
lea rdx, str.bDisableSystemLog
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov rcx, rdi
lea rdx, [rbp + 0x730]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r14 + rcx - 1]
jne 0x18005bb88
cmp rcx, 5
jne 0x18005bb70
mov al, 1
jmp 0x18005bbab
mov rcx, rdi
lea rdx, [rbp + 0x730]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x18005bba9
cmp rcx, 5
jne 0x18005bb92
mov al, 1
jmp 0x18005bbab
xor al, al
lea r9, [rsp + 0x30]
mov byte [rbx + 4], al
mov r8d, 0xffffffff
lea rdx, str.iHookMenuOpenKey
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 8], eax
cmp eax, 0xffffffff
jne 0x18005bbf4
lea r9, [rbp + 0x30]
lea r8d, [rax + 0x71]
lea rdx, str.iHookMenuOpenKey
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 8], eax
lea r9, [rsp + 0x30]
mov r8d, 0xffffffff
lea rdx, str.iToggleFreezeWorldKey
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea r9, [rsp + 0x30]
mov r8d, 0xffffffff
cmp eax, 0xffffffff
lea rdx, str.iToggleSlowMoKey
lea rcx, str.Settings
cmove eax, r15d
mov dword [rbx + 0x14], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea r9, [rsp + 0x30]
mov r8d, 0xffffffff
cmp eax, 0xffffffff
lea rdx, str.iToggleFreeCameraKey
lea rcx, str.Settings
cmove eax, r12d
mov dword [rbx + 0x10], eax
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea r9, [rsp + 0x30]
mov r8d, 0xffffffff
mov ecx, eax
lea rdx, str.iToggleHUDKey
cmp eax, 0xffffffff
cmove ecx, edi
mov dword [rbx + 0x18], ecx
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea r9, [rsp + 0x30]
mov r8d, 0xffffffff
mov ecx, eax
lea rdx, str.iFreeCameraKeyFOVPlus
cmp eax, 0xffffffff
cmove ecx, edi
mov dword [rbx + 0x1c], ecx
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x50], eax
cmp eax, 0xffffffff
jne 0x18005bcdf
lea r9, [rbp + 0x30]
xor r8d, r8d
lea rdx, str.iFreeCameraKeyFOVPlus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x50], eax
lea r9, [rsp + 0x30]
mov r8d, 0xffffffff
lea rdx, str.iFreeCameraKeyFOVMinus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x54], eax
cmp eax, 0xffffffff
jne 0x18005bd24
lea r9, [rbp + 0x30]
xor r8d, r8d
lea rdx, str.iFreeCameraKeyFOVMinus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x54], eax
lea r9, [rsp + 0x30]
mov r8d, 0xffffffff
lea rdx, str.iFreeCameraKeyXPlus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x20], eax
cmp eax, 0xffffffff
jne 0x18005bd69
lea r9, [rbp + 0x30]
xor r8d, r8d
lea rdx, str.iFreeCameraKeyXPlus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x20], eax
lea r9, [rsp + 0x30]
mov r8d, 0xffffffff
lea rdx, str.iFreeCameraKeyXMinus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x24], eax
cmp eax, 0xffffffff
jne 0x18005bdae
lea r9, [rbp + 0x30]
xor r8d, r8d
lea rdx, str.iFreeCameraKeyXMinus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x24], eax
lea r9, [rsp + 0x30]
mov r8d, 0xffffffff
lea rdx, str.iFreeCameraKeyYPlus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x28], eax
cmp eax, 0xffffffff
jne 0x18005bdf3
lea r9, [rbp + 0x30]
xor r8d, r8d
lea rdx, str.iFreeCameraKeyYPlus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x28], eax
lea r9, [rsp + 0x30]
mov r8d, 0xffffffff
lea rdx, str.iFreeCameraKeyYMinus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x2c], eax
cmp eax, 0xffffffff
jne 0x18005be38
lea r9, [rbp + 0x30]
xor r8d, r8d
lea rdx, str.iFreeCameraKeyYMinus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x2c], eax
lea r9, [rsp + 0x30]
mov r8d, 0xffffffff
lea rdx, str.iFreeCameraKeyZPlus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x30], eax
cmp eax, 0xffffffff
jne 0x18005be7d
lea r9, [rbp + 0x30]
xor r8d, r8d
lea rdx, str.iFreeCameraKeyZPlus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x30], eax
lea r9, [rsp + 0x30]
mov r8d, 0xffffffff
lea rdx, str.iFreeCameraKeyZMinus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x34], eax
cmp eax, 0xffffffff
jne 0x18005bec2
lea r9, [rbp + 0x30]
xor r8d, r8d
lea rdx, str.iFreeCameraKeyZMinus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x34], eax
lea r9, [rsp + 0x30]
mov r8d, 0xffffffff
lea rdx, str.iFreeCameraKeyYawPlus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x38], eax
cmp eax, 0xffffffff
jne 0x18005bf07
lea r9, [rbp + 0x30]
xor r8d, r8d
lea rdx, str.iFreeCameraKeyYawPlus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x38], eax
lea r9, [rsp + 0x30]
mov r8d, 0xffffffff
lea rdx, str.iFreeCameraKeyYawMinus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x3c], eax
cmp eax, 0xffffffff
jne 0x18005bf4c
lea r9, [rbp + 0x30]
xor r8d, r8d
lea rdx, str.iFreeCameraKeyYawMinus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x3c], eax
lea r9, [rsp + 0x30]
mov r8d, 0xffffffff
lea rdx, str.iFreeCameraKeyRollPlus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x4c], eax
cmp eax, 0xffffffff
jne 0x18005bf91
lea r9, [rbp + 0x30]
xor r8d, r8d
lea rdx, str.iFreeCameraKeyRollPlus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x4c], eax
lea r9, [rsp + 0x30]
mov r8d, 0xffffffff
lea rdx, str.iFreeCameraKeyRollMinus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x48], eax
cmp eax, 0xffffffff
jne 0x18005bfd6
lea r9, [rbp + 0x30]
xor r8d, r8d
lea rdx, str.iFreeCameraKeyRollMinus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x48], eax
lea r9, [rsp + 0x30]
mov r8d, 0xffffffff
lea rdx, str.iFreeCameraKeyPitchPlus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x40], eax
cmp eax, 0xffffffff
jne 0x18005c01b
lea r9, [rbp + 0x30]
xor r8d, r8d
lea rdx, str.iFreeCameraKeyPitchPlus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x40], eax
lea r9, [rsp + 0x30]
mov r8d, 0xffffffff
lea rdx, str.iFreeCameraKeyPitchMinus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x44], eax
cmp eax, 0xffffffff
jne 0x18005c060
lea r9, [rbp + 0x30]
xor r8d, r8d
lea rdx, str.iFreeCameraKeyPitchMinus
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x44], eax
movsd xmm3, qword [0x18008d0d8]
lea r8, [0x1800880cc]
movq r9, xmm3
lea rcx, [rbp + 0x130]
mov edx, 0xff
call fcn.18001f830
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x230]
lea r8, [rbp + 0x130]
mov dword [rsp + 0x20], 0xff
lea rdx, str.fMenuScale
lea rcx, str.MenuSettings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea rcx, [rbp + 0x230]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atof]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [0x18008d0b0]
comiss xmm0, xmm1
movss dword [rbx + 0x60], xmm1
jbe 0x18005c0e6
mov dword [rbx + 0x60], 0x3f800000
lea r9, [rsp + 0x30]
mov r8d, 0xa
lea rdx, str.Sensitivity
lea rcx, str.Mouse
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
lea r9, str.False
mov edx, 0xff
lea r8, [0x180087edc]
mov dword [rbx + 0x58], eax
lea rcx, [rbp + 0x230]
call fcn.18001f830
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x830]
lea r8, [rbp + 0x230]
mov dword [rsp + 0x20], 0xff
lea rdx, str.InvertY
lea rcx, str.Mouse
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov rcx, rdi
lea rdx, [rbp + 0x830]
nop word [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r14 + rcx - 1]
jne 0x18005c188
cmp rcx, 5
jne 0x18005c170
mov al, 1
jmp 0x18005c1ab
mov rcx, rdi
lea rdx, [rbp + 0x830]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x18005c1a9
cmp rcx, 5
jne 0x18005c192
mov al, 1
jmp 0x18005c1ab
xor al, al
lea r9, str.False
mov byte [rbx + 0x5c], al
lea r8, [0x180087edc]
mov edx, 0xff
lea rcx, [rbp + 0x230]
call fcn.18001f830
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
lea r9, [rbp + 0x930]
lea r8, [rbp + 0x230]
mov dword [rsp + 0x20], 0xff
lea rdx, str.InvertX
lea rcx, str.Mouse
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov rcx, rdi
lea rdx, [rbp + 0x930]
nop dword [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r14 + rcx - 1]
jne 0x18005c22a
cmp rcx, 5
jne 0x18005c210
mov byte [rbx + 0x5d], 1
jmp 0x18005c24e
lea rax, [rbp + 0x930]
movzx ecx, byte [rax + rdi]
inc rdi
cmp cl, byte [rsi + rdi - 1]
jne 0x18005c24a
cmp rdi, 5
jne 0x18005c231
mov byte [rbx + 0x5d], 1
jmp 0x18005c24e
mov byte [rbx + 0x5d], 0
mov rax, rbx
mov rcx, qword [rbp + 0xa30]
xor rcx, rsp
call fcn.18005d9c0
lea r11, [rsp + 0xb40]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret