Function at 0x1006bd40
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xac
mov eax, dword [0x100c6040]
xor eax, esp
mov dword [esp + 0xa8], eax
mov edx, dword [0x8b15884]
push ebx
push esi
push edi
test edx, edx
je 0x1006c089
mov ecx, 0x105d7754
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006bd73
sub ecx, esi
jne 0x1006bd83
push ecx
push 0x64
jmp 0x1006bd9e
mov ecx, 0x105d7734
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1006bd90
sub ecx, esi
jne 0x1006bdc3
push ecx
push 0x65
mov eax, 0x4a9850
call eax
mov edx, 0x4ab52f
mov ecx, eax
call edx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa8]
xor ecx, esp
call fcn.1008c0ce
mov esp, ebp
pop ebp
ret
cmp edx, 2
jne 0x1006c089
movq xmm0, qword [0x105d7754]
mov ecx, 0x8b159f8
movq qword [ecx], xmm0
mov ax, word [0x105d775c]
mov word [ecx + 8], ax
mov al, byte [0x105d775e]
mov byte [ecx + 0xa], al
xor ecx, ecx
mov al, byte [ecx + 0x105d7754]
lea ecx, [ecx + 1]
mov byte [ecx + 0x105e4e07], al
test al, al
jne 0x1006bdf1
xor eax, eax
nop word [eax + eax]
mov cl, byte [eax + 0x105d7734]
lea eax, [eax + 1]
mov byte [eax + 0x105e4dfb], cl
test cl, cl
jne 0x1006be10
push 0x5f
lea eax, [esp + 0x15]
mov dword [0x8b159f4], 1
push 0
push eax
mov dword [0x8b15884], 0x13
call fcn.1008e1e0
mov al, byte [0x105d7754]
add esp, 0xc
xor al, 0xfc
mov cx, word [0x105d775c]
mov byte [esp + 0x14], al
mov al, byte [0x105d7755]
xor al, 0xcf
mov dword [esp + 0x10], 0x1f160c3
mov byte [esp + 0x15], al
mov al, byte [0x105d7756]
xor al, 0xab
mov word [esp + 0xc], 0xcffc
mov byte [esp + 0x16], al
mov al, byte [0x105d7757]
xor al, 0xfc
mov byte [esp + 0xe], 0xab
mov byte [esp + 0x17], al
mov al, byte [0x105d7758]
xor al, 0xcf
mov byte [esp + 0x18], al
mov al, byte [0x105d7759]
xor al, 0xab
mov byte [esp + 0x19], al
mov al, byte [0x105d775a]
xor al, 0xfc
mov byte [esp + 0x1a], al
mov al, byte [0x105d775b]
xor al, 0xcf
mov byte [esp + 0x1b], al
mov al, cl
xor al, 0xab
mov byte [esp + 0x1c], al
mov al, ch
xor al, 0xfc
xor esi, esi
mov byte [esp + 0x1d], al
lea ebx, [esi + 3]
lea edi, [esi + 2]
mov eax, 0xaaaaaaab
mov ecx, esi
mul esi
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
mov al, byte [esp + ecx + 0xc]
lea ecx, [edi - 1]
xor al, byte [esi + 0x105d7734]
mov byte [esp + esi + 0x1e], al
mov eax, 0xaaaaaaab
mul ecx
mov ecx, esi
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
mov al, byte [esp + ecx + 0xd]
mov ecx, esi
xor al, byte [esi + 0x105d7735]
mov byte [esp + esi + 0x1f], al
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
mov al, byte [esp + ecx + 0xe]
mov ecx, esi
xor al, byte [edi + 0x105d7734]
add edi, 5
mov byte [esp + ebx + 0x1d], al
mov eax, 0xaaaaaaab
mul ebx
add ebx, 5
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
mov al, byte [esp + ecx + 0xf]
lea ecx, [esi + 4]
xor al, byte [esi + 0x105d7737]
mov byte [esp + esi + 0x21], al
mov eax, 0xaaaaaaab
mul ecx
mov ecx, esi
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
mov al, byte [esp + ecx + 0x10]
xor al, byte [esi + 0x105d7738]
mov byte [esp + esi + 0x22], al
add esi, 5
cmp edi, 0x16
jl 0x1006bed3
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0x32], eax
mov al, byte [0x118ef48]
dec al
mov byte [esp + 0x36], al
mov al, byte [0x118ef49]
sub al, 2
mov byte [esp + 0x37], al
mov al, byte [0x118ef4a]
sub al, 3
mov byte [esp + 0x38], al
mov al, byte [0x118ef4b]
sub al, 4
mov byte [esp + 0x39], al
mov al, byte [0x118ef4c]
sub al, 5
mov byte [esp + 0x3a], al
mov eax, 0x118ef50
movups xmm0, xmmword [eax]
mov eax, 0x4366a8
movups xmmword [esp + 0x3b], xmm0
call eax
mov edx, 0x9d010b
mov ecx, eax
call edx
mov byte [esp + 0x4b], al
call fcn.10085de0
movzx edx, byte [esp + 0x11]
lea ecx, [esp + 0x10]
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x4c], xmm0
movups xmm0, xmmword [eax + 0x10]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x6c], eax
movups xmmword [esp + 0x5c], xmm0
call fcn.10084a30
cmp dword [0x1028ae10], 1
jne 0x1006c089
cmp dword [0x105d7730], 1
jne 0x1006c089
push 0x105d7754
lea eax, [esp + 0x78]
push str.___s_
push eax
call fcn.10011430
add esp, 0xc
lea eax, [esp + 0x94]
push 0x105d7734
push str.___s_
push eax
call fcn.10011430
mov esi, dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea eax, [esp + 0x80]
add esp, 0xc
push str..Settings.ini
push eax
push str.User
push str.AutoLogin
call esi
push str..Settings.ini
lea eax, [esp + 0x98]
push eax
push str.Password
push str.AutoLogin
call esi
mov ecx, dword [esp + 0xb4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1008c0ce
mov esp, ebp
pop ebp
ret