Function at 0x18005b3a0
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.18005cee0
lea rdx, str.mk1hook_user.ini
lea rcx, [rsp + 0x30]
call fcn.18005cee0
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 0x18005b4af
cmp rcx, 5
jne 0x18005b490
mov al, 1
jmp 0x18005b4d9
mov rcx, rdi
lea rdx, [rbp + 0x330]
nop dword [rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x18005b4d7
cmp rcx, 5
jne 0x18005b4c0
mov al, 1
jmp 0x18005b4d9
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 0x18005b558
cmp rcx, 5
jne 0x18005b540
mov al, 1
jmp 0x18005b57b
mov rcx, rdi
lea rdx, [rbp + 0x430]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x18005b579
cmp rcx, 5
jne 0x18005b562
mov al, 1
jmp 0x18005b57b
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 0x18005b5f8
cmp rcx, 5
jne 0x18005b5e0
mov al, 1
jmp 0x18005b61b
mov rcx, rdi
lea rdx, [rbp + 0x530]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x18005b619
cmp rcx, 5
jne 0x18005b602
mov al, 1
jmp 0x18005b61b
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 0x18005b698
cmp rcx, 5
jne 0x18005b680
mov al, 1
jmp 0x18005b6bb
mov rcx, rdi
lea rdx, [rbp + 0x630]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x18005b6b9
cmp rcx, 5
jne 0x18005b6a2
mov al, 1
jmp 0x18005b6bb
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 0x18005b738
cmp rcx, 5
jne 0x18005b720
mov al, 1
jmp 0x18005b75b
mov rcx, rdi
lea rdx, [rbp + 0x730]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x18005b759
cmp rcx, 5
jne 0x18005b742
mov al, 1
jmp 0x18005b75b
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 0x18005b7a4
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 0x18005b88f
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 0x18005b8d4
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 0x18005b919
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 0x18005b95e
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 0x18005b9a3
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 0x18005b9e8
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 0x18005ba2d
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 0x18005ba72
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 0x18005bab7
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 0x18005bafc
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 0x18005bb41
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 0x18005bb86
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 0x18005bbcb
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 0x18005bc10
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 [0x18008d078]
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 [0x18008d050]
comiss xmm0, xmm1
movss dword [rbx + 0x60], xmm1
jbe 0x18005bc96
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 0x18005bd38
cmp rcx, 5
jne 0x18005bd20
mov al, 1
jmp 0x18005bd5b
mov rcx, rdi
lea rdx, [rbp + 0x830]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x18005bd59
cmp rcx, 5
jne 0x18005bd42
mov al, 1
jmp 0x18005bd5b
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 0x18005bdda
cmp rcx, 5
jne 0x18005bdc0
mov byte [rbx + 0x5d], 1
jmp 0x18005bdfe
lea rax, [rbp + 0x930]
movzx ecx, byte [rax + rdi]
inc rdi
cmp cl, byte [rsi + rdi - 1]
jne 0x18005bdfa
cmp rdi, 5
jne 0x18005bde1
mov byte [rbx + 0x5d], 1
jmp 0x18005bdfe
mov byte [rbx + 0x5d], 0
mov rax, rbx
mov rcx, qword [rbp + 0xa30]
xor rcx, rsp
call fcn.18005d7a0
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