Function at 0x180056ae0
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 [0x180091010]
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.1800581c0
lea rdx, str.mk1hook_user.ini
lea rcx, [rsp + 0x30]
call fcn.1800581c0
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, [0x180082e9c]
mov dword [rbx + 0xc], eax
mov r9, r14
lea rcx, [rbp + 0x130]
call fcn.18001f320
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 0x180056bef
cmp rcx, 5
jne 0x180056bd0
mov al, 1
jmp 0x180056c19
mov rcx, rdi
lea rdx, [rbp + 0x330]
nop dword [rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x180056c17
cmp rcx, 5
jne 0x180056c00
mov al, 1
jmp 0x180056c19
xor al, al
mov r9, r14
mov byte [rbx + 5], al
lea r8, [0x180082e9c]
mov edx, 0xff
lea rcx, [rbp + 0x130]
call fcn.18001f320
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 0x180056c98
cmp rcx, 5
jne 0x180056c80
mov al, 1
jmp 0x180056cbb
mov rcx, rdi
lea rdx, [rbp + 0x430]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x180056cb9
cmp rcx, 5
jne 0x180056ca2
mov al, 1
jmp 0x180056cbb
xor al, al
lea r9, str.False
mov byte [rbx], al
lea r8, [0x180082e9c]
mov edx, 0xff
lea rcx, [rbp + 0x130]
call fcn.18001f320
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 0x180056d38
cmp rcx, 5
jne 0x180056d20
mov al, 1
jmp 0x180056d5b
mov rcx, rdi
lea rdx, [rbp + 0x530]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x180056d59
cmp rcx, 5
jne 0x180056d42
mov al, 1
jmp 0x180056d5b
xor al, al
lea r9, str.False
mov byte [rbx + 2], al
lea r8, [0x180082e9c]
mov edx, 0xff
lea rcx, [rbp + 0x130]
call fcn.18001f320
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 0x180056dd8
cmp rcx, 5
jne 0x180056dc0
mov al, 1
jmp 0x180056dfb
mov rcx, rdi
lea rdx, [rbp + 0x630]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x180056df9
cmp rcx, 5
jne 0x180056de2
mov al, 1
jmp 0x180056dfb
xor al, al
mov r9, r14
mov byte [rbx + 3], al
lea r8, [0x180082e9c]
mov edx, 0xff
lea rcx, [rbp + 0x130]
call fcn.18001f320
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 0x180056e78
cmp rcx, 5
jne 0x180056e60
mov al, 1
jmp 0x180056e9b
mov rcx, rdi
lea rdx, [rbp + 0x730]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x180056e99
cmp rcx, 5
jne 0x180056e82
mov al, 1
jmp 0x180056e9b
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 0x180056ee4
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 0x180056fcf
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 0x180057014
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 0x180057059
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 0x18005709e
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 0x1800570e3
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 0x180057128
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 0x18005716d
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 0x1800571b2
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 0x1800571f7
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 0x18005723c
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 0x180057281
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 0x1800572c6
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 0x18005730b
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 0x180057350
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 [0x180087160]
lea r8, [0x180083084]
movq r9, xmm3
lea rcx, [rbp + 0x130]
mov edx, 0xff
call fcn.18001f320
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 [0x180087138]
comiss xmm0, xmm1
movss dword [rbx + 0x60], xmm1
jbe 0x1800573d6
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, [0x180082e9c]
mov dword [rbx + 0x58], eax
lea rcx, [rbp + 0x230]
call fcn.18001f320
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 0x180057478
cmp rcx, 5
jne 0x180057460
mov al, 1
jmp 0x18005749b
mov rcx, rdi
lea rdx, [rbp + 0x830]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x180057499
cmp rcx, 5
jne 0x180057482
mov al, 1
jmp 0x18005749b
xor al, al
lea r9, str.False
mov byte [rbx + 0x5c], al
lea r8, [0x180082e9c]
mov edx, 0xff
lea rcx, [rbp + 0x230]
call fcn.18001f320
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 0x18005751a
cmp rcx, 5
jne 0x180057500
mov byte [rbx + 0x5d], 1
jmp 0x18005753e
lea rax, [rbp + 0x930]
movzx ecx, byte [rax + rdi]
inc rdi
cmp cl, byte [rsi + rdi - 1]
jne 0x18005753a
cmp rdi, 5
jne 0x180057521
mov byte [rbx + 0x5d], 1
jmp 0x18005753e
mov byte [rbx + 0x5d], 0
mov rax, rbx
mov rcx, qword [rbp + 0xa30]
xor rcx, rsp
call fcn.180058a80
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