Function at 0x180056770
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 [0x180090010]
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.180057de0
lea rdx, str.mk1hook_user.ini
lea rcx, [rsp + 0x30]
call fcn.180057de0
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, [0x180082e8c]
mov dword [rbx + 0xc], eax
mov r9, r14
lea rcx, [rbp + 0x130]
call fcn.18001f300
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 0x18005687f
cmp rcx, 5
jne 0x180056860
mov al, 1
jmp 0x1800568a9
mov rcx, rdi
lea rdx, [rbp + 0x330]
nop dword [rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x1800568a7
cmp rcx, 5
jne 0x180056890
mov al, 1
jmp 0x1800568a9
xor al, al
mov r9, r14
mov byte [rbx + 5], al
lea r8, [0x180082e8c]
mov edx, 0xff
lea rcx, [rbp + 0x130]
call fcn.18001f300
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 0x180056928
cmp rcx, 5
jne 0x180056910
mov al, 1
jmp 0x18005694b
mov rcx, rdi
lea rdx, [rbp + 0x430]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x180056949
cmp rcx, 5
jne 0x180056932
mov al, 1
jmp 0x18005694b
xor al, al
lea r9, str.False
mov byte [rbx], al
lea r8, [0x180082e8c]
mov edx, 0xff
lea rcx, [rbp + 0x130]
call fcn.18001f300
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 0x1800569c8
cmp rcx, 5
jne 0x1800569b0
mov al, 1
jmp 0x1800569eb
mov rcx, rdi
lea rdx, [rbp + 0x530]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x1800569e9
cmp rcx, 5
jne 0x1800569d2
mov al, 1
jmp 0x1800569eb
xor al, al
lea r9, str.False
mov byte [rbx + 2], al
lea r8, [0x180082e8c]
mov edx, 0xff
lea rcx, [rbp + 0x130]
call fcn.18001f300
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 0x180056a68
cmp rcx, 5
jne 0x180056a50
mov al, 1
jmp 0x180056a8b
mov rcx, rdi
lea rdx, [rbp + 0x630]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x180056a89
cmp rcx, 5
jne 0x180056a72
mov al, 1
jmp 0x180056a8b
xor al, al
mov r9, r14
mov byte [rbx + 3], al
lea r8, [0x180082e8c]
mov edx, 0xff
lea rcx, [rbp + 0x130]
call fcn.18001f300
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 0x180056b08
cmp rcx, 5
jne 0x180056af0
mov al, 1
jmp 0x180056b2b
mov rcx, rdi
lea rdx, [rbp + 0x730]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x180056b29
cmp rcx, 5
jne 0x180056b12
mov al, 1
jmp 0x180056b2b
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 0x180056b74
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.iFreeCameraKeyFOVPlus
cmp eax, 0xffffffff
cmove ecx, edi
mov dword [rbx + 0x18], ecx
lea rcx, str.Settings
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbx + 0x4c], eax
cmp eax, 0xffffffff
jne 0x180056c35
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 + 0x4c], 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 + 0x50], eax
cmp eax, 0xffffffff
jne 0x180056c7a
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 + 0x50], 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 + 0x1c], eax
cmp eax, 0xffffffff
jne 0x180056cbf
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 + 0x1c], 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 + 0x20], eax
cmp eax, 0xffffffff
jne 0x180056d04
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 + 0x20], 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 + 0x24], eax
cmp eax, 0xffffffff
jne 0x180056d49
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 + 0x24], 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 + 0x28], eax
cmp eax, 0xffffffff
jne 0x180056d8e
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 + 0x28], 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 + 0x2c], eax
cmp eax, 0xffffffff
jne 0x180056dd3
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 + 0x2c], 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 + 0x30], eax
cmp eax, 0xffffffff
jne 0x180056e18
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 + 0x30], 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 + 0x34], eax
cmp eax, 0xffffffff
jne 0x180056e5d
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 + 0x34], 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 + 0x38], eax
cmp eax, 0xffffffff
jne 0x180056ea2
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 + 0x38], 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 + 0x48], eax
cmp eax, 0xffffffff
jne 0x180056ee7
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 + 0x48], 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 + 0x44], eax
cmp eax, 0xffffffff
jne 0x180056f2c
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 + 0x44], 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 + 0x3c], eax
cmp eax, 0xffffffff
jne 0x180056f71
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 + 0x3c], 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 + 0x40], eax
cmp eax, 0xffffffff
jne 0x180056fb6
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 + 0x40], eax
movsd xmm3, qword [0x180086c50]
lea r8, [0x180083074]
movq r9, xmm3
lea rcx, [rbp + 0x130]
mov edx, 0xff
call fcn.18001f300
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 [0x180086c28]
comiss xmm0, xmm1
movss dword [rbx + 0x5c], xmm1
jbe 0x18005703c
mov dword [rbx + 0x5c], 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, [0x180082e8c]
mov dword [rbx + 0x54], eax
lea rcx, [rbp + 0x230]
call fcn.18001f300
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 dword [rax + rax]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [r14 + rcx - 1]
jne 0x1800570d8
cmp rcx, 5
jne 0x1800570c0
mov al, 1
jmp 0x1800570fb
mov rcx, rdi
lea rdx, [rbp + 0x830]
movzx eax, byte [rdx + rcx]
inc rcx
cmp al, byte [rsi + rcx - 1]
jne 0x1800570f9
cmp rcx, 5
jne 0x1800570e2
mov al, 1
jmp 0x1800570fb
xor al, al
lea r9, str.False
mov byte [rbx + 0x58], al
lea r8, [0x180082e8c]
mov edx, 0xff
lea rcx, [rbp + 0x230]
call fcn.18001f300
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 0x18005717a
cmp rcx, 5
jne 0x180057160
mov byte [rbx + 0x59], 1
jmp 0x18005719e
lea rax, [rbp + 0x930]
movzx ecx, byte [rax + rdi]
inc rdi
cmp cl, byte [rsi + rdi - 1]
jne 0x18005719a
cmp rdi, 5
jne 0x180057181
mov byte [rbx + 0x59], 1
jmp 0x18005719e
mov byte [rbx + 0x59], 0
mov rax, rbx
mov rcx, qword [rbp + 0xa30]
xor rcx, rsp
call fcn.1800586a0
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