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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x17]
sub rsp, 0xf8
mov rax, qword [0x140093070]
xor rax, rsp
mov qword [rbp - 1], rax
mov r14, r9
mov r15, r8
mov r12, rdx
mov r13, rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], r8
mov qword [rbp - 0x79], r9
mov r8, rdx
cmp qword [rdx + 0x18], 0x10
jb 0x1400307d3
mov r8, qword [rdx]
mov dword [rsp + 0x50], 0x65647268
mov word [rsp + 0x54], 0x100
xor ebx, ebx
mov ecx, ebx
nop word [rax + rax]
lea eax, [rcx + 0x26]
xor byte [rsp + rcx + 0x50], al
inc rcx
cmp rcx, 4
jb 0x1400307f0
mov byte [rsp + 0x55], bl
mov rdx, r14
cmp qword [r9 + 0x18], 0x10
jb 0x140030811
mov rdx, qword [r9]
mov rcx, r15
cmp qword [r15 + 0x18], 0x10
jb 0x14003081e
mov rcx, qword [r15]
mov qword [rsp + 0x28], r8
mov dword [rsp + 0x20], 0x64
lea r9, [rbp - 0x71]
lea r8, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov rdi, 0xffffffffffffffff
mov eax, dword [rbp + 0x7f]
cmp eax, 1
jne 0x140030915
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], bl
lea rax, [rbp - 0x71]
mov r8, rdi
nop dword [rax + rax]
inc r8
cmp byte [rax + r8], bl
jne 0x140030870
lea rdx, [rbp - 0x71]
lea rcx, [rsp + 0x30]
call fcn.14002dc90
nop
call fcn.14004f024
mov rsi, rax
lea rbx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rbx, qword [rsp + 0x30]
mov dword [rax], 0
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14004e564
cmp rbx, qword [rsp + 0x50]
je 0x140030e85
cmp dword [rsi], 0x22
je 0x140030e92
movss dword [0x140093c88], xmm0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140030d1d
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140030d18
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140030e61
jmp 0x140030d18
cmp eax, 2
jne 0x1400309e5
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], bl
lea rax, [rbp - 0x71]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], bl
jne 0x140030940
lea rdx, [rbp - 0x71]
lea rcx, [rsp + 0x30]
call fcn.14002dc90
nop
call fcn.14004f024
mov rsi, rax
lea rbx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rbx, qword [rsp + 0x30]
mov dword [rax], 0
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14004e564
cmp rbx, qword [rsp + 0x50]
je 0x140030e9f
cmp dword [rsi], 0x22
je 0x140030eac
movss dword [0x140093c84], xmm0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140030d1d
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140030d18
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140030e67
jmp 0x140030d18
cmp eax, 3
jne 0x140030ab5
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], bl
lea rax, [rbp - 0x71]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], bl
jne 0x140030a10
lea rdx, [rbp - 0x71]
lea rcx, [rsp + 0x30]
call fcn.14002dc90
nop
call fcn.14004f024
mov rsi, rax
lea rbx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rbx, qword [rsp + 0x30]
mov dword [rax], 0
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14004e564
cmp rbx, qword [rsp + 0x50]
je 0x140030eb9
cmp dword [rsi], 0x22
je 0x140030ec6
movss dword [0x1400940c0], xmm0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140030d1d
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140030d18
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140030e6d
jmp 0x140030d18
cmp eax, 4
jne 0x140030b85
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], bl
lea rax, [rbp - 0x71]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], bl
jne 0x140030ae0
lea rdx, [rbp - 0x71]
lea rcx, [rsp + 0x30]
call fcn.14002dc90
nop
call fcn.14004f024
mov rsi, rax
lea rbx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rbx, qword [rsp + 0x30]
mov dword [rax], 0
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14004e564
cmp rbx, qword [rsp + 0x50]
je 0x140030ed3
cmp dword [rsi], 0x22
je 0x140030ee0
movss dword [0x140093c80], xmm0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140030d1d
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140030d18
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140030e73
jmp 0x140030d18
cmp eax, 5
jne 0x140030c55
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], bl
lea rax, [rbp - 0x71]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], bl
jne 0x140030bb0
lea rdx, [rbp - 0x71]
lea rcx, [rsp + 0x30]
call fcn.14002dc90
nop
call fcn.14004f024
mov rsi, rax
lea rbx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rbx, qword [rsp + 0x30]
mov dword [rax], 0
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14004e564
cmp rbx, qword [rsp + 0x50]
je 0x140030eed
cmp dword [rsi], 0x22
je 0x140030efa
movss dword [0x140093c8c], xmm0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140030d1d
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140030d18
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140030e79
jmp 0x140030d18
cmp eax, 6
jne 0x140030d1f
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], 0xf
mov byte [rsp + 0x30], bl
lea rax, [rbp - 0x71]
mov r8, rdi
nop dword [rax]
inc r8
cmp byte [rax + r8], bl
jne 0x140030c80
lea rdx, [rbp - 0x71]
lea rcx, [rsp + 0x30]
call fcn.14002dc90
nop
call fcn.14004f024
mov rsi, rax
lea rbx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rbx, qword [rsp + 0x30]
mov dword [rax], 0
lea rdx, [rsp + 0x50]
mov rcx, rbx
call fcn.14004e564
cmp rbx, qword [rsp + 0x50]
je 0x140030f07
cmp dword [rsi], 0x22
je 0x140030f14
movss dword [0x1400940c4], xmm0
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x140030d1d
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140030d18
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140030f21
call fcn.14003ce88
xor ebx, ebx
mov qword [r13], rbx
mov qword [r13 + 0x10], rbx
mov qword [r13 + 0x18], 0xf
mov byte [r13], 0
lea rax, [rbp - 0x71]
nop dword [rax + rax]
inc rdi
cmp byte [rax + rdi], 0
jne 0x140030d40
mov r8, rdi
lea rdx, [rbp - 0x71]
mov rcx, r13
call fcn.14002dc90
nop
mov rdx, qword [r12 + 0x18]
cmp rdx, 0x10
jb 0x140030d95
mov rcx, qword [r12]
inc rdx
cmp rdx, 0x1000
jb 0x140030d90
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140030f27
mov rcx, r8
call fcn.14003ce88
mov qword [r12 + 0x10], rbx
mov qword [r12 + 0x18], 0xf
mov byte [r12], 0
mov rdx, qword [r15 + 0x18]
cmp rdx, 0x10
jb 0x140030de2
mov rcx, qword [r15]
inc rdx
cmp rdx, 0x1000
jb 0x140030ddd
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140030e5b
mov rcx, r8
call fcn.14003ce88
mov qword [r15 + 0x10], rbx
mov qword [r15 + 0x18], 0xf
mov byte [r15], 0
mov rdx, qword [r14 + 0x18]
cmp rdx, 0x10
jb 0x140030e28
inc rdx
mov rcx, qword [r14]
cmp rdx, 0x1000
jb 0x140030e23
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140030e7f
mov rcx, r8
call fcn.14003ce88
mov qword [r14 + 0x10], rbx
mov qword [r14 + 0x18], 0xf
mov byte [r14], 0
mov rax, r13
mov rcx, qword [rbp - 1]
xor rcx, rsp
call fcn.14003c8e0
add rsp, 0xf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.14004de34
nop
call fcn.14004de34
int3
call fcn.14004de34
int3
call fcn.14004de34
int3
call fcn.14004de34
int3
call fcn.14004de34
nop
call fcn.14004de34
nop
lea rcx, str.invalid_stof_argument
call fcn.14003990c
int3
lea rcx, str.stof_argument_out_of_range
call fcn.140039954
nop
lea rcx, str.invalid_stof_argument
call fcn.14003990c
int3
lea rcx, str.stof_argument_out_of_range
call fcn.140039954
nop
lea rcx, str.invalid_stof_argument
call fcn.14003990c
int3
lea rcx, str.stof_argument_out_of_range
call fcn.140039954
nop
lea rcx, str.invalid_stof_argument
call fcn.14003990c
int3
lea rcx, str.stof_argument_out_of_range
call fcn.140039954
nop
lea rcx, str.invalid_stof_argument
call fcn.14003990c
int3
lea rcx, str.stof_argument_out_of_range
call fcn.140039954
nop
lea rcx, str.invalid_stof_argument
call fcn.14003990c
int3
lea rcx, str.stof_argument_out_of_range
call fcn.140039954
nop
call fcn.14004de34
nop
call fcn.14004de34
int3