Function at 0x11001fd30
Capabilities:
Encode data using xor
Read .ini file

Disassembly:
mov r11, rsp
push rbx
push rsi
sub rsp, 0xa8
mov rax, qword [0x110109588]
xor rax, rsp
mov qword [rsp + 0x90], rax
xor eax, eax
mov word [rcx + 8], 0
mov byte [rcx + 0xa], 0
xor ebx, ebx
mov qword [rcx + 0xb], rax
mov rsi, rcx
mov qword [rcx + 0x13], rax
mov qword [rcx + 0x1b], rax
mov qword [rcx + 0x23], rax
mov qword [rcx + 0x2b], rax
mov qword [rcx + 0x33], rax
mov qword [rcx + 0x3b], rax
mov qword [rcx + 0x43], rax
mov byte [rcx + 0x4b], al
lea rax, [rcx + 0x54]
mov qword [r11 + 0x20], r14
mov qword [rcx + 0x4c], rbx
mov ecx, 0x9e
mov qword [r11 - 0x18], r15
nop word [rax + rax]
mov qword [rax], rbx
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbx
lea rax, [rax + 0x40]
mov qword [rax - 0x28], rbx
mov qword [rax - 0x20], rbx
mov qword [rax - 0x18], rbx
mov qword [rax - 0x10], rbx
mov qword [rax - 8], rbx
sub rcx, 1
jne 0x11001fda0
mov qword [rax], rbx
lea r15, [0x1100d1868]
mov qword [rax + 8], rbx
lea rdx, [rsp + 0x30]
mov rcx, r15
movabs rax, 0x14043caa0
call rax
test al, al
je 0x11001ffa7
mov ecx, dword [rsi + 4]
mov rax, qword [rsp + 0x30]
cmp dword [rsp + 0x34], ecx
jne 0x11001fe09
cmp eax, dword [rsi]
je 0x11001ffa7
mov qword [rsp + 0xc8], rbp
lea r9, [rsp + 0x50]
mov qword [rsp + 0xd0], rdi
lea r8, [0x1100cf738]
mov qword [rsp + 0x28], r15
lea rdx, [0x1100d14c0]
lea rcx, [0x1100d14f4]
mov qword [rsi], rax
xor dil, dil
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.kernel32.dll_GetPrivateProfileStringA]
mov r8d, 4
lea rdx, [0x1100cf740]
lea rcx, [rsp + 0x50]
call fcn.1100b1d78
test eax, eax
lea rdx, [0x1100d14c8]
mov ebp, 1
lea rcx, [rsp + 0x50]
mov r8d, ebp
cmove edi, ebp
call fcn.1100b1cb0
test eax, eax
movzx ecx, dil
mov r9, r15
lea rdx, [0x1100d1890]
cmove ecx, ebp
xor r8d, r8d
mov byte [rsi + 8], cl
lea rcx, [0x1100d18a0]
call qword [sym.imp.kernel32.dll_GetPrivateProfileIntA]
mov r9, r15
lea rdx, [0x1100d18b0]
lea rcx, [0x1100d18a0]
mov byte [rsi + 9], al
xor r8d, r8d
call qword [sym.imp.kernel32.dll_GetPrivateProfileIntA]
lea r9, [rsi + 0xb]
mov qword [rsp + 0x28], r15
lea r8, [0x1100d14fc]
mov byte [rsi + 0xa], al
lea rdx, [0x1100d18c0]
mov dword [rsp + 0x20], 0x40
lea rcx, [0x1100d18a0]
call qword [sym.imp.kernel32.dll_GetPrivateProfileStringA]
lea r9, [rsp + 0x50]
mov qword [rsp + 0x28], r15
lea r8, [0x1100cf738]
mov dword [rsp + 0x20], 0x40
lea rdx, [0x1100d18d0]
xor dil, dil
lea rcx, [0x1100d18a0]
call qword [sym.imp.kernel32.dll_GetPrivateProfileStringA]
lea r8d, [rbp + 3]
lea rdx, [0x1100cf740]
lea rcx, [rsp + 0x50]
call fcn.1100b1d78
test eax, eax
lea rdx, [0x1100d14c8]
mov r8d, ebp
lea rcx, [rsp + 0x50]
cmove edi, ebp
call fcn.1100b1cb0
test eax, eax
movzx ecx, dil
mov r9, r15
lea rdx, [0x1100d18e0]
cmove ecx, ebp
xor r8d, r8d
mov byte [rsi + 0x4b], cl
lea rcx, [0x1100d18e8]
call qword [sym.imp.kernel32.dll_GetPrivateProfileIntA]
mov r9, r15
lea rdx, [0x1100d18f8]
lea rcx, [0x1100d18e8]
mov dword [rsi + 0x4c], eax
xor r8d, r8d
call qword [sym.imp.kernel32.dll_GetPrivateProfileIntA]
mov rdi, qword [rsp + 0xd0]
mov rbp, qword [rsp + 0xc8]
mov dword [rsi + 0x50], eax
movdqa xmm0, xmmword [0x1100d1970]
xor eax, eax
mov r15, qword [rsp + 0xa0]
mov r14, qword [rsp + 0xd8]
movdqu xmmword [rsp + 0x38], xmm0
mov byte [rsp + 0x4e], al
mov dword [rsp + 0x48], 0xf35a5647
mov word [rsp + 0x4c], 0x8fa8
nop word [rax + rax]
movsxd rax, ebx
lea rcx, [rsp + 0x38]
add rcx, rax
lea eax, [rbx + 0x6d]
inc ebx
xor byte [rcx], al
cmp ebx, 0x16
jb 0x11001ffe0
movzx eax, byte [rsi + 8]
lea rdx, [rsp + 0x38]
mov r8, qword [0x110207df0]
mov rcx, qword [0x110207f98]
mov byte [rsp + 0x4e], 0
add rcx, 0x1bc
mov r8, qword [r8 + rax*8 + 0x48]
call fcn.11003df70
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.11009af60
add rsp, 0xa8
pop rsi
pop rbx
ret