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

Disassembly:
mov eax, 0x10062d29
call fcn.100612c8
sub esp, 0x40
cmp byte [ebp + 0xc], 0
push ebx
push esi
push edi
mov edi, edx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x20], edi
mov byte [ebp - 0x18], cl
je 0x1003f64e
test cl, cl
je 0x1003f643
push ecx
push ecx
push dword [ebp + 0x10]
mov ecx, dword [ebp + 0x18]
call fcn.10020393
jmp 0x1003f8ba
mov eax, dword [ebp + 0x24]
or dword [eax], 0xffffffff
jmp 0x1003f8ba
xor ebx, ebx
cmp byte [ebp + 8], bl
je 0x1003f8a2
mov dword [ebp - 0x28], 0x1d3e
cmp dword [ebp - 0x28], 0x1ed5
jle 0x1003f6d3
mov esi, ebx
mov dword [ebp - 0x24], ebx
mov eax, ebx
mov dword [ebp - 0x1c], ebx
mov edx, ebx
mov edi, esi
mov ecx, eax
mov dword [ebp + 0xc], edx
sar edi, cl
mov esi, edi
mov dword [ebp - 0x2c], ebx
mov ecx, edx
sar esi, cl
mov eax, esi
mov ecx, 0x1007cab8
xor eax, ebx
cdq
push edx
push eax
call fcn.10001cb3
inc ebx
cmp ebx, 0x61bd
jl 0x1003f687
mov edx, dword [ebp + 0xc]
inc edx
mov dword [ebp + 0xc], edx
push 0
pop ebx
cmp edx, 0x1d0d
jl 0x1003f67e
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, 0x4437
jl 0x1003f673
inc esi
mov dword [ebp - 0x24], esi
cmp esi, 0x5462
jl 0x1003f66e
mov edi, dword [ebp - 0x20]
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x28], 0x1b83
jge 0x1003f6ee
mov edx, str.swhibl_xxz_dsvkv_sgrwqj_ohengml_mhberem_yklrizz_bfyhqsbmr_xsvvuxeqj
mov ecx, 0x1007cab8
call fcn.100036f5
or dword [ebp - 4], 0xffffffff
mov esi, dword [ebp + 0x1c]
xor edx, edx
mov eax, dword [esi]
mov eax, dword [esi]
mov eax, dword [esi]
mov eax, dword [esi]
mov eax, dword [esi]
mov eax, dword [esi]
mov ecx, dword [esi]
mov eax, dword [esi]
sub ecx, eax
mov eax, dword [esi]
cmp ecx, eax
mov eax, dword [esi]
setl dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [esi]
setne cl
mov dword [ebp + 0xc], ecx
xor ecx, ecx
cmp eax, dword [ebp + 0xc]
mov eax, dword [edi]
setle cl
imul eax, ecx
test eax, eax
jne 0x1003f75c
cmp dword [esi], ebx
jne 0x1003f75c
mov edx, ebx
jmp 0x1003f75f
xor edx, edx
inc edx
mov eax, dword [esi]
xor ecx, ecx
sub edx, eax
mov eax, dword [esi]
cmp eax, edx
mov eax, dword [esi]
setge cl
xor edx, edx
sub ecx, 0xce3d978
cmp ecx, 0xffff0001
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, 0xc2e3a4c6
setge cl
cmp eax, ecx
mov eax, dword [edi]
sbb ecx, ecx
xor edx, edx
neg ecx
sub ecx, eax
mov eax, dword [edi]
cmp ecx, 0xfffffff9
setg dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp + 0x14]
setle cl
xor edx, edx
mov dword [eax], ecx
mov eax, dword [eax]
test eax, eax
mov eax, dword [esi]
setne dl
xor ecx, ecx
cmp edx, eax
sete cl
imul eax, ecx, 0x7eb6
test eax, eax
je 0x1003f80e
movdqa xmm0, xmmword [0x100702e0]
lea eax, [ebp - 0x38]
mov dword [ebp + 0xc], 2
lea ecx, [ebp - 0x38]
push dword [ebp + 0xc]
movdqu xmmword [ebp - 0x48], xmm0
push eax
lea eax, [ebp - 0x48]
mov dword [ebp - 0x38], ebx
push eax
push ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
call fcn.10007dd5
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x38]
mov dword [eax + 4], ecx
lea ecx, [ebp - 0x38]
call fcn.10001e25
jmp 0x1003f8ba
mov dword [ebp + 0xc], 0xbb1d
mov dword [edi], ebx
jmp 0x1003f897
mov dword [ebp - 0x28], 0x315b
mov dword [esi], ebx
cmp dword [esi], 3
jge 0x1003f895
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x2c], 0xc1b09c82
mov dword [ebp - 0x1c], 0xc6c04840
cmp dword [ebp - 0x2c], ebx
jne 0x1003f892
cmp dword [ebp + 0xc], ebx
je 0x1003f851
mov eax, dword [ebp + 0xc]
add eax, 0xa1e2
je 0x1003f851
xor ecx, ecx
inc ecx
jmp 0x1003f853
mov ecx, ebx
mov eax, dword [ebp - 0x28]
sub ecx, eax
mov dword [ebp - 0x1c], ecx
je 0x1003f887
mov eax, dword [ebp - 0x28]
xor edx, edx
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 0x20]
mov eax, dword [eax]
test eax, eax
mov eax, dword [edi]
sete dl
xor ecx, ecx
cmp edx, eax
setl cl
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
neg eax
je 0x1003f887
xor eax, eax
inc eax
jmp 0x1003f889
mov eax, ebx
mov dword [edi], eax
inc dword [esi]
cmp dword [esi], 3
jl 0x1003f82a
mov edi, dword [ebp - 0x20]
inc dword [edi]
cmp dword [edi], 1
je 0x1003f819
jmp 0x1003f8ba
mov byte [ebp + 0xf], bl
cmp byte [ebp + 0xf], bl
je 0x1003f8ba
push ebx
push 0x1a9
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret