Function at 0x1800c9cf0
Capabilities:
Read .ini file

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0x90
mov rax, qword [0x180147030]
xor rax, rsp
mov qword [rbp + 0x4f], rax
movdqa xmm0, xmmword [0x180133f60]
xor ebx, ebx
mov eax, 0x10
mov r8b, 0x1c
mov dword [rbp - 0x19], eax
mov r9b, 0xb8
mov dword [rbp - 5], 0xb81cd4
mov edx, ebx
movdqu xmmword [rbp - 0x15], xmm0
test eax, eax
je 0x1800c9d66
nop
mov ecx, edx
inc edx
movzx eax, byte [rbp + rcx - 0x15]
sub al, r9b
xor al, r8b
mov byte [rbp + rcx - 0x15], al
mov eax, dword [rbp - 0x19]
cmp edx, eax
jae 0x1800c9d66
movzx r9d, byte [rbp - 3]
movzx r8d, byte [rbp - 4]
jmp 0x1800c9d40
movdqa xmm0, xmmword [0x180133fa0]
mov edi, 0x18
mov byte [rbp + rax - 0x15], bl
mov r8b, 0x1c
mov eax, edi
mov r9b, 0xb8
mov dword [rbp - 1], eax
mov edx, ebx
movdqu xmmword [rbp + 3], xmm0
mov dword [rbp + 0x13], 0x9163898e
mov dword [rbp + 0x17], 0x2d2a2dea
mov dword [rbp + 0x1b], 0xb81cd4
nop
mov ecx, edx
inc edx
movzx eax, byte [rbp + rcx + 3]
sub al, r9b
xor al, r8b
mov byte [rbp + rcx + 3], al
mov eax, dword [rbp - 1]
cmp edx, eax
jae 0x1800c9dc6
movzx r9d, byte [rbp + 0x1d]
movzx r8d, byte [rbp + 0x1c]
jmp 0x1800c9da0
mov rcx, qword [0x180148970]
lea r9, [rbp + 3]
xor r8d, r8d
mov byte [rbp + rax + 3], bl
lea rdx, [rbp - 0x15]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbp + 0x3f], 9
mov r8b, 0x1c
test eax, eax
mov dword [rbp + 0x43], 0x6b62828e
mov dword [rbp + 0x47], 0x6c636d8e
mov r9b, 0xb8
setne byte [0x180148967]
mov dword [rbp + 0x4b], 0xb81cd405
mov edx, ebx
nop
mov ecx, edx
inc edx
movzx eax, byte [rbp + rcx + 0x43]
sub al, r9b
xor al, r8b
mov byte [rbp + rcx + 0x43], al
mov eax, dword [rbp + 0x3f]
cmp edx, eax
jae 0x1800c9e36
movzx r9d, byte [rbp + 0x4e]
movzx r8d, byte [rbp + 0x4d]
jmp 0x1800c9e10
movdqa xmm0, xmmword [0x180133fa0]
mov r8b, 0x1c
mov byte [rbp + rax + 0x43], bl
mov r9b, 0xb8
mov eax, edi
mov edx, ebx
mov dword [rbp + 0x1f], eax
movdqu xmmword [rbp + 0x23], xmm0
mov dword [rbp + 0x33], 0x9163898e
mov dword [rbp + 0x37], 0x2d2a2dea
mov dword [rbp + 0x3b], 0xb81cd4
nop dword [rax]
mov ecx, edx
inc edx
movzx eax, byte [rbp + rcx + 0x23]
sub al, r9b
xor al, r8b
mov byte [rbp + rcx + 0x23], al
mov eax, dword [rbp + 0x1f]
cmp edx, eax
jae 0x1800c9e96
movzx r9d, byte [rbp + 0x3d]
movzx r8d, byte [rbp + 0x3c]
jmp 0x1800c9e70
mov rcx, qword [0x180148970]
lea r9, [rbp + 0x23]
xor r8d, r8d
mov byte [rbp + rax + 0x23], bl
lea rdx, [rbp + 0x43]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbp - 0x19], 9
mov r8b, 0x1c
test eax, eax
mov dword [rbp - 0x15], 0x91708005
mov dword [rbp - 0x11], 0x94b45a84
mov r9b, 0xb8
setne byte [0x1801489ac]
mov dword [rbp - 0xd], 0xb81cd4af
mov edx, ebx
nop
mov ecx, edx
inc edx
movzx eax, byte [rbp + rcx - 0x15]
sub al, r9b
xor al, r8b
mov byte [rbp + rcx - 0x15], al
mov eax, dword [rbp - 0x19]
cmp edx, eax
jae 0x1800c9f06
movzx r9d, byte [rbp - 0xa]
movzx r8d, byte [rbp - 0xb]
jmp 0x1800c9ee0
movdqa xmm0, xmmword [0x180133fa0]
mov r8b, 0x1c
mov byte [rbp + rax - 0x15], bl
mov r9b, 0xb8
mov eax, edi
mov edx, ebx
mov dword [rbp - 1], eax
movdqu xmmword [rbp + 3], xmm0
mov dword [rbp + 0x13], 0x9163898e
mov dword [rbp + 0x17], 0x2d2a2dea
mov dword [rbp + 0x1b], 0xb81cd4
nop dword [rax]
mov ecx, edx
inc edx
movzx eax, byte [rbp + rcx + 3]
sub al, r9b
xor al, r8b
mov byte [rbp + rcx + 3], al
mov eax, dword [rbp - 1]
cmp edx, eax
jae 0x1800c9f66
movzx r9d, byte [rbp + 0x1d]
movzx r8d, byte [rbp + 0x1c]
jmp 0x1800c9f40
mov rcx, qword [0x180148970]
lea r9, [rbp + 3]
xor r8d, r8d
mov byte [rbp + rax + 3], bl
lea rdx, [rbp - 0x15]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
xorps xmm0, xmm0
mov dword [rbp + 0x3f], 9
mov eax, eax
mov r8b, 0x1c
mov dword [rbp + 0x43], 0x6b62828e
mov r9b, 0xb8
mov dword [rbp + 0x47], 0x6c636d8e
mov edx, ebx
mov dword [rbp + 0x4b], 0xb81cd403
cvtsi2ss xmm0, rax
movss dword [0x180148a78], xmm0
nop dword [rax + rax]
mov ecx, edx
inc edx
movzx eax, byte [rbp + rcx + 0x43]
sub al, r9b
xor al, r8b
mov byte [rbp + rcx + 0x43], al
mov eax, dword [rbp + 0x3f]
cmp edx, eax
jae 0x1800c9fe6
movzx r9d, byte [rbp + 0x4e]
movzx r8d, byte [rbp + 0x4d]
jmp 0x1800c9fc0
movdqa xmm0, xmmword [0x180133fa0]
mov r8b, 0x1c
mov byte [rbp + rax + 0x43], bl
mov r9b, 0xb8
mov eax, edi
mov edx, ebx
mov dword [rbp + 0x1f], eax
movdqu xmmword [rbp + 0x23], xmm0
mov dword [rbp + 0x33], 0x9163898e
mov dword [rbp + 0x37], 0x2d2a2dea
mov dword [rbp + 0x3b], 0xb81cd4
nop dword [rax]
mov ecx, edx
inc edx
movzx eax, byte [rbp + rcx + 0x23]
sub al, r9b
xor al, r8b
mov byte [rbp + rcx + 0x23], al
mov eax, dword [rbp + 0x1f]
cmp edx, eax
jae 0x1800ca046
movzx r9d, byte [rbp + 0x3d]
movzx r8d, byte [rbp + 0x3c]
jmp 0x1800ca020
mov rcx, qword [0x180148970]
lea r9, [rbp + 0x23]
xor r8d, r8d
mov byte [rbp + rax + 0x23], bl
lea rdx, [rbp + 0x43]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbp - 0x19], 9
mov r8b, 0x1c
test eax, eax
mov dword [rbp - 0x15], 0x91708003
mov dword [rbp - 0x11], 0x94b45a84
mov r9b, 0xb8
setne byte [0x180148964]
mov dword [rbp - 0xd], 0xb81cd4af
mov edx, ebx
nop
mov ecx, edx
inc edx
movzx eax, byte [rbp + rcx - 0x15]
sub al, r9b
xor al, r8b
mov byte [rbp + rcx - 0x15], al
mov eax, dword [rbp - 0x19]
cmp edx, eax
jae 0x1800ca0b6
movzx r9d, byte [rbp - 0xa]
movzx r8d, byte [rbp - 0xb]
jmp 0x1800ca090
movdqa xmm0, xmmword [0x180133fa0]
mov r8b, 0x1c
mov byte [rbp + rax - 0x15], bl
mov r9b, 0xb8
mov eax, edi
mov edx, ebx
mov dword [rbp - 1], eax
movdqu xmmword [rbp + 3], xmm0
mov dword [rbp + 0x13], 0x9163898e
mov dword [rbp + 0x17], 0x2d2a2dea
mov dword [rbp + 0x1b], 0xb81cd4
nop dword [rax]
mov ecx, edx
inc edx
movzx eax, byte [rbp + rcx + 3]
sub al, r9b
xor al, r8b
mov byte [rbp + rcx + 3], al
mov eax, dword [rbp - 1]
cmp edx, eax
jae 0x1800ca116
movzx r9d, byte [rbp + 0x1d]
movzx r8d, byte [rbp + 0x1c]
jmp 0x1800ca0f0
mov rcx, qword [0x180148970]
lea r9, [rbp + 3]
xor r8d, r8d
mov byte [rbp + rax + 3], bl
lea rdx, [rbp - 0x15]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
xorps xmm0, xmm0
mov dword [rbp + 0x3f], 9
mov eax, eax
mov r8b, 0x1c
mov dword [rbp + 0x43], 0x6b62828e
mov r9b, 0xb8
mov dword [rbp + 0x47], 0x6c636d8e
mov edx, ebx
mov dword [rbp + 0x4b], 0xb81cd411
cvtsi2ss xmm0, rax
movss dword [0x180148a88], xmm0
nop dword [rax + rax]
mov ecx, edx
inc edx
movzx eax, byte [rbp + rcx + 0x43]
sub al, r9b
xor al, r8b
mov byte [rbp + rcx + 0x43], al
mov eax, dword [rbp + 0x3f]
cmp edx, eax
jae 0x1800ca196
movzx r9d, byte [rbp + 0x4e]
movzx r8d, byte [rbp + 0x4d]
jmp 0x1800ca170
movdqa xmm0, xmmword [0x180133fa0]
mov r8b, 0x1c
mov byte [rbp + rax + 0x43], bl
mov r9b, 0xb8
mov eax, edi
mov edx, ebx
mov dword [rbp + 0x1f], eax
movdqu xmmword [rbp + 0x23], xmm0
mov dword [rbp + 0x33], 0x9163898e
mov dword [rbp + 0x37], 0x2d2a2dea
mov dword [rbp + 0x3b], 0xb81cd4
nop dword [rax]
mov ecx, edx
inc edx
movzx eax, byte [rbp + rcx + 0x23]
sub al, r9b
xor al, r8b
mov byte [rbp + rcx + 0x23], al
mov eax, dword [rbp + 0x1f]
cmp edx, eax
jae 0x1800ca1f6
movzx r9d, byte [rbp + 0x3d]
movzx r8d, byte [rbp + 0x3c]
jmp 0x1800ca1d0
mov rcx, qword [0x180148970]
lea r9, [rbp + 0x23]
xor r8d, r8d
mov byte [rbp + rax + 0x23], bl
lea rdx, [rbp + 0x43]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbp - 0x19], 9
mov r8b, 0x1c
test eax, eax
mov dword [rbp - 0x15], 0x91708011
mov dword [rbp - 0x11], 0x94b45a84
mov r9b, 0xb8
setne byte [0x180148966]
mov dword [rbp - 0xd], 0xb81cd4af
mov edx, ebx
nop
mov ecx, edx
inc edx
movzx eax, byte [rbp + rcx - 0x15]
sub al, r9b
xor al, r8b
mov byte [rbp + rcx - 0x15], al
mov eax, dword [rbp - 0x19]
cmp edx, eax
jae 0x1800ca266
movzx r9d, byte [rbp - 0xa]
movzx r8d, byte [rbp - 0xb]
jmp 0x1800ca240
movdqa xmm0, xmmword [0x180133fa0]
mov r8b, 0x1c
mov byte [rbp + rax - 0x15], bl
mov r9b, 0xb8
mov eax, edi
mov edx, ebx
mov dword [rbp - 1], eax
movdqu xmmword [rbp + 3], xmm0
mov dword [rbp + 0x13], 0x9163898e
mov dword [rbp + 0x17], 0x2d2a2dea
mov dword [rbp + 0x1b], 0xb81cd4
nop dword [rax]
mov ecx, edx
inc edx
movzx eax, byte [rbp + rcx + 3]
sub al, r9b
xor al, r8b
mov byte [rbp + rcx + 3], al
mov eax, dword [rbp - 1]
cmp edx, eax
jae 0x1800ca2c6
movzx r9d, byte [rbp + 0x1d]
movzx r8d, byte [rbp + 0x1c]
jmp 0x1800ca2a0
mov rcx, qword [0x180148970]
lea r9, [rbp + 3]
xor r8d, r8d
mov byte [rbp + rax + 3], bl
lea rdx, [rbp - 0x15]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
xorps xmm0, xmm0
mov dword [rbp + 0x3f], 9
mov eax, eax
mov r8b, 0x1c
mov dword [rbp + 0x43], 0x6b62828e
mov r9b, 0xb8
mov dword [rbp + 0x47], 0x6c636d8e
mov edx, ebx
mov dword [rbp + 0x4b], 0xb81cd406
cvtsi2ss xmm0, rax
movss dword [0x180148a80], xmm0
nop dword [rax + rax]
mov ecx, edx
inc edx
movzx eax, byte [rbp + rcx + 0x43]
sub al, r9b
xor al, r8b
mov byte [rbp + rcx + 0x43], al
mov eax, dword [rbp + 0x3f]
cmp edx, eax
jae 0x1800ca346
movzx r9d, byte [rbp + 0x4e]
movzx r8d, byte [rbp + 0x4d]
jmp 0x1800ca320
movdqa xmm0, xmmword [0x180133fa0]
mov r8b, 0x1c
mov byte [rbp + rax + 0x43], bl
mov r9b, 0xb8
mov eax, edi
mov edx, ebx
mov dword [rbp + 0x1f], eax
movdqu xmmword [rbp + 0x23], xmm0
mov dword [rbp + 0x33], 0x9163898e
mov dword [rbp + 0x37], 0x2d2a2dea
mov dword [rbp + 0x3b], 0xb81cd4
nop dword [rax]
mov ecx, edx
inc edx
movzx eax, byte [rbp + rcx + 0x23]
sub al, r9b
xor al, r8b
mov byte [rbp + rcx + 0x23], al
mov eax, dword [rbp + 0x1f]
cmp edx, eax
jae 0x1800ca3a6
movzx r9d, byte [rbp + 0x3d]
movzx r8d, byte [rbp + 0x3c]
jmp 0x1800ca380
mov rcx, qword [0x180148970]
lea r9, [rbp + 0x23]
xor r8d, r8d
mov byte [rbp + rax + 0x23], bl
lea rdx, [rbp + 0x43]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov dword [rbp - 0x19], 9
mov r8b, 0x1c
test eax, eax
mov dword [rbp - 0x15], 0x91708006
mov dword [rbp - 0x11], 0x94b45a84
mov r9b, 0xb8
setne byte [0x180148965]
mov dword [rbp - 0xd], 0xb81cd4af
mov edx, ebx
nop
mov ecx, edx
inc edx
movzx eax, byte [rbp + rcx - 0x15]
sub al, r9b
xor al, r8b
mov byte [rbp + rcx - 0x15], al
mov eax, dword [rbp - 0x19]
cmp edx, eax
jae 0x1800ca416
movzx r9d, byte [rbp - 0xa]
movzx r8d, byte [rbp - 0xb]
jmp 0x1800ca3f0
movdqa xmm0, xmmword [0x180133fa0]
mov dl, 0x1c
mov byte [rbp + rax - 0x15], bl
mov r8b, 0xb8
movdqu xmmword [rbp + 3], xmm0
mov dword [rbp - 1], edi
mov dword [rbp + 0x13], 0x9163898e
mov dword [rbp + 0x17], 0x2d2a2dea
mov dword [rbp + 0x1b], 0xb81cd4
nop dword [rax]
nop dword [rax + rax]
movzx eax, byte [rbp + rbx + 3]
sub al, r8b
xor al, dl
mov byte [rbp + rbx + 3], al
inc ebx
mov edi, dword [rbp - 1]
cmp ebx, edi
jae 0x1800ca472
movzx r8d, byte [rbp + 0x1d]
movzx edx, byte [rbp + 0x1c]
jmp 0x1800ca450
mov rcx, qword [0x180148970]
lea r9, [rbp + 3]
xor r8d, r8d
mov byte [rbp + rdi + 3], 0
lea rdx, [rbp - 0x15]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
movss xmm1, dword [0x18013309c]
xorps xmm2, xmm2
comiss xmm1, dword [0x180148a78]
mov eax, eax
cvtsi2ss xmm2, rax
movss dword [0x180148a84], xmm2
jbe 0x1800ca4bc
mov dword [0x180148a78], 0x42c80000
comiss xmm1, dword [0x180148a88]
jbe 0x1800ca4cf
mov dword [0x180148a88], 0x42c80000
comiss xmm1, dword [0x180148a80]
jbe 0x1800ca4e2
mov dword [0x180148a80], 0x42c80000
comiss xmm1, xmm2
jbe 0x1800ca4f1
mov dword [0x180148a84], 0x42c80000
mov rdx, qword [0x180148cc0]
lea rax, [0x1800c87d0]
cmp rdx, qword [0x180148cc8]
mov qword [rbp + 0x3f], rax
je 0x1800ca519
mov qword [rdx], rax
add qword [0x180148cc0], 8
jmp 0x1800ca529
lea r8, [rbp + 0x3f]
lea rcx, [0x180148cb8]
call fcn.180002710
mov rdx, qword [0x180148ca8]
lea rax, [0x1800c8870]
cmp rdx, qword [0x180148cb0]
mov qword [rbp + 0x3f], rax
je 0x1800ca551
mov qword [rdx], rax
add qword [0x180148ca8], 8
jmp 0x1800ca561
lea r8, [rbp + 0x3f]
lea rcx, [0x180148ca0]
call fcn.180002710
mov rdx, qword [0x180148cd8]
lea rax, [0x1800c8910]
cmp rdx, qword [0x180148ce0]
mov qword [rbp + 0x3f], rax
je 0x1800ca589
mov qword [rdx], rax
add qword [0x180148cd8], 8
jmp 0x1800ca599
lea r8, [rbp + 0x3f]
lea rcx, [0x180148cd0]
call fcn.180002710
mov rcx, qword [rbp + 0x4f]
xor rcx, rsp
call fcn.180123e40
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret