Function at 0x18005f2c0
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 [0x18009c010]
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.180060bf0
lea rdx, str.mk1hook_user.ini
lea rcx, [rsp + 0x30]
call fcn.180060bf0
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, [0x18008bd7c]
mov dword [rbx + 0xc], eax
mov r9, r14
lea rcx, [rbp + 0x130]
call fcn.18001f580
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 0x18005f3cf
cmp rcx, 5
jne 0x18005f3b0
mov al, 1
jmp 0x18005f3f9
mov rcx, rdi
lea rdx, [rbp + 0x330]
nop dword [rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x18005f3f7
cmp rcx, 5
jne 0x18005f3e0
mov al, 1
jmp 0x18005f3f9
xor al, al
mov r9, r14
mov byte [rbx + 5], al
lea r8, [0x18008bd7c]
mov edx, 0xff
lea rcx, [rbp + 0x130]
call fcn.18001f580
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 0x18005f478
cmp rcx, 5
jne 0x18005f460
mov al, 1
jmp 0x18005f49b
mov rcx, rdi
lea rdx, [rbp + 0x430]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x18005f499
cmp rcx, 5
jne 0x18005f482
mov al, 1
jmp 0x18005f49b
xor al, al
lea r9, str.False
mov byte [rbx], al
lea r8, [0x18008bd7c]
mov edx, 0xff
lea rcx, [rbp + 0x130]
call fcn.18001f580
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 0x18005f518
cmp rcx, 5
jne 0x18005f500
mov al, 1
jmp 0x18005f53b
mov rcx, rdi
lea rdx, [rbp + 0x530]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x18005f539
cmp rcx, 5
jne 0x18005f522
mov al, 1
jmp 0x18005f53b
xor al, al
lea r9, str.False
mov byte [rbx + 2], al
lea r8, [0x18008bd7c]
mov edx, 0xff
lea rcx, [rbp + 0x130]
call fcn.18001f580
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 0x18005f5b8
cmp rcx, 5
jne 0x18005f5a0
mov al, 1
jmp 0x18005f5db
mov rcx, rdi
lea rdx, [rbp + 0x630]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x18005f5d9
cmp rcx, 5
jne 0x18005f5c2
mov al, 1
jmp 0x18005f5db
xor al, al
mov r9, r14
mov byte [rbx + 3], al
lea r8, [0x18008bd7c]
mov edx, 0xff
lea rcx, [rbp + 0x130]
call fcn.18001f580
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 0x18005f658
cmp rcx, 5
jne 0x18005f640
mov al, 1
jmp 0x18005f67b
mov rcx, rdi
lea rdx, [rbp + 0x730]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x18005f679
cmp rcx, 5
jne 0x18005f662
mov al, 1
jmp 0x18005f67b
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 0x18005f6c4
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 0x18005f7af
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 0x18005f7f4
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 0x18005f839
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 0x18005f87e
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 0x18005f8c3
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 0x18005f908
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 0x18005f94d
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 0x18005f992
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 0x18005f9d7
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 0x18005fa1c
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 0x18005fa61
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 0x18005faa6
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 0x18005faeb
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 0x18005fb30
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 [0x180091798]
lea r8, [0x18008bf6c]
movq r9, xmm3
lea rcx, [rbp + 0x130]
mov edx, 0xff
call fcn.18001f580
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 [0x180091770]
comiss xmm0, xmm1
movss dword [rbx + 0x60], xmm1
jbe 0x18005fbb6
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, [0x18008bd7c]
mov dword [rbx + 0x58], eax
lea rcx, [rbp + 0x230]
call fcn.18001f580
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 0x18005fc58
cmp rcx, 5
jne 0x18005fc40
mov al, 1
jmp 0x18005fc7b
mov rcx, rdi
lea rdx, [rbp + 0x830]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x18005fc79
cmp rcx, 5
jne 0x18005fc62
mov al, 1
jmp 0x18005fc7b
xor al, al
lea r9, str.False
mov byte [rbx + 0x5c], al
lea r8, [0x18008bd7c]
mov edx, 0xff
lea rcx, [rbp + 0x230]
call fcn.18001f580
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 0x18005fcfa
cmp rcx, 5
jne 0x18005fce0
mov byte [rbx + 0x5d], 1
jmp 0x18005fd1e
lea rax, [rbp + 0x930]
movzx ecx, byte [rax + rdi]
inc rdi
cmp cl, byte [rsi + rdi - 1]
jne 0x18005fd1a
cmp rdi, 5
jne 0x18005fd01
mov byte [rbx + 0x5d], 1
jmp 0x18005fd1e
mov byte [rbx + 0x5d], 0
mov rax, rbx
mov rcx, qword [rbp + 0xa30]
xor rcx, rsp
call fcn.1800614b0
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