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

Disassembly:
mov eax, 0x1005c5b9
call fcn.1005bac8
sub esp, 0x4c
push ebx
push esi
push edi
mov dword [ebp - 0x2c], 0x349d
xor ebx, ebx
cmp dword [ebp - 0x2c], 0x3518
mov edi, 0x10076b78
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x30], ecx
jle 0x1001c150
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x18], 0x3ba1
mov esi, ebx
mov ebx, dword [ebp - 0x14]
mov eax, ebx
mov ecx, edi
or eax, esi
cdq
push edx
push eax
call fcn.10001c56
inc esi
cmp esi, 0x7c4f
jl 0x1001c11d
mov esi, dword [ebp - 0x1c]
add ebx, esi
dec dword [ebp - 0x18]
push 0
mov dword [ebp - 0x14], ebx
pop ebx
jne 0x1001c118
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x2a20
jl 0x1001c10e
cmp byte [ebp + 0xc], 0
je 0x1001c27d
mov dword [ebp - 0x28], 0x4a3a
cmp dword [ebp - 0x28], 0x4dd7
jle 0x1001c1d1
push 0x14a4
call dword [sym.imp.USER32.dll_GetKeyboardType]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 0x5a6a
mov dword [ebp + 0xc], ebx
mov dword [ebp - 0x1c], 0x61aa
mov esi, ebx
mov ebx, dword [ebp + 0xc]
mov eax, ebx
mov ecx, edi
xor eax, esi
cdq
push edx
push eax
call fcn.10001c56
inc esi
cmp esi, 0x275e
jl 0x1001c191
mov eax, dword [ebp - 0x18]
add ebx, eax
dec dword [ebp - 0x1c]
push 0
mov dword [ebp + 0xc], ebx
pop ebx
jne 0x1001c18c
mov esi, dword [ebp - 0x20]
add eax, esi
dec dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
jne 0x1001c182
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x7095
jl 0x1001c178
cmp byte [ebp + 0x18], 0
je 0x1001c210
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov eax, dword [edx + 4]
sub eax, dword [edx]
sar eax, 2
mov dword [esi], eax
cmp eax, dword [ecx]
jge 0x1001c234
mov edi, ecx
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], ebx
push eax
mov ecx, edx
call fcn.1001f654
inc dword [esi]
mov eax, dword [esi]
mov edx, dword [ebp - 0x24]
cmp eax, dword [edi]
jl 0x1001c1f0
mov edi, 0x10076b78
jmp 0x1001c234
push 0x21
pop edx
lea ecx, [ebp - 0x58]
call fcn.10018734
push ecx
push ecx
mov ecx, dword [ebp - 0x30]
push eax
mov dword [ebp - 4], ebx
call fcn.10020830
push ebx
push 1
lea ecx, [ebp - 0x58]
call fcn.10002214
mov dword [ebp - 4], 1
cmp dword [ebp - 0x28], 0x4a26
jge 0x1001c353
mov edx, str.xupyhz_nfz_lnn_thhhcyejq_lmjfeuos_aky_tlywqn_jurqqnl
mov ecx, edi
call fcn.10003a53
jmp 0x1001c353
cmp byte [ebp + 8], 0
je 0x1001c2a3
mov byte [ebp + 0xf], bl
cmp byte [ebp + 0xf], 0
je 0x1001c353
push ebx
push 0xf44
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
jmp 0x1001c353
mov dword [ebp + 0xc], 0xbfc4f27d
push 4
pop ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x28], 0x9c8ddac0
mov dword [ebp - 0x30], 0xfffffff9
mov dword [ebp - 0x14], ebx
jmp 0x1001c2d1
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x40], 0xcfd66c4a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x1001c2c3
mov eax, dword [ebp + 0xc]
cmp eax, dword [ebp + 0xc]
je 0x1001c31c
mov edx, dword [ebp + 0xc]
sub edx, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
cmp eax, edx
setl cl
xor edx, edx
mov dword [ebp - 0x28], ecx
mov eax, dword [ebp - 0x28]
cmp eax, 0xd705
mov eax, dword [ebp + 0xc]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0xc]
sub ecx, 0x9b78
neg ecx
sbb ecx, ecx
xor eax, eax
inc ecx
cmp ecx, 0x4868
setge al
add eax, 7
mov dword [ebp - 0x30], eax
mov byte [ebp + 0xf], bl
cmp byte [ebp + 0xf], 0
je 0x1001c353
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_SystemTimeToTzSpecificLocalTime]
mov dword [ebp - 4], 3
cmp dword [ebp - 0x2c], 0x313a
jge 0x1001c36f
mov edx, str.orometljf_ljg_ualgscii_rkyaefu_ubzsr_njf_mvaqn_qyi_qndbu_lvobmpxns_ylqgspf_kghkkn
mov ecx, edi
call fcn.10003a53
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret