Function at 0x10025a19
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005d9e9
call fcn.1005c610
sub esp, 0x44
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x38], edx
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x34], ecx
cmp byte [ebp + 8], bl
je 0x10025b06
push ecx
push ecx
push 0x669d
sub esp, 0xc
mov byte [ebp - 0x11], bl
lea ecx, [ebp - 0x11]
push ebx
call fcn.1002513d
mov dword [ebp - 0x20], 0x36a7
add esp, 0x1c
cmp dword [ebp - 0x20], 0x3a62
jle 0x10025acc
push ebx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov esi, ebx
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x1c], ebx
mov eax, edi
mov dword [ebp - 0x2c], esi
cdq
idiv ecx
mov dword [ebp - 0x28], ebx
mov ecx, edx
sar esi, cl
mov eax, esi
mov ecx, 0x10078098
xor eax, ebx
cdq
push edx
push eax
call fcn.10003fb2
inc ebx
cmp ebx, 0x4e0e
jl 0x10025a88
mov ecx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x1c], ecx
push 0
pop ebx
cmp ecx, 0x5f3f
jl 0x10025a79
inc edi
cmp edi, 0x61ca
jl 0x10025a74
inc esi
mov dword [ebp - 0x18], esi
cmp esi, 0x7dea
jl 0x10025a72
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x20], 0x35c3
jge 0x10025ae7
mov edx, str.znfvce_lsjjwlklg_yqof_slc_jwrgzj
mov ecx, 0x10078098
call fcn.100065fc
jmp 0x10025c64
mov dword [ebp - 0x2c], 0x38df
cmp dword [ebp - 0x2c], 0x3b89
mov dword [ebp - 0x1c], 1
jle 0x10025bb9
mov esi, ebx
mov dword [ebp - 0x28], esi
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov ecx, edi
mov dword [ebp - 0x18], esi
mov edi, esi
mov eax, ebx
sar edi, cl
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], edi
mov ecx, eax
mov dword [ebp - 0x30], edi
mov esi, ebx
shl edi, cl
mov ecx, esi
mov eax, edi
shl eax, cl
lea ecx, [ebp - 0x50]
cdq
push edx
push eax
call fcn.10001a8a
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10025b60
mov eax, dword [eax]
push eax
call fcn.10046da3
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x50]
call fcn.100045f1
inc esi
cmp esi, 0x23a2
jl 0x10025b45
mov eax, dword [ebp - 0x20]
mov edi, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x20], eax
cmp eax, 0x10a
jl 0x10025b3c
mov edi, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
inc edi
mov dword [ebp - 0x24], edi
cmp edi, 0x434a
jl 0x10025b2b
inc esi
mov dword [ebp - 0x28], esi
cmp esi, 0x4480
jl 0x10025b26
push 0x1819
call dword [sym.imp.GDI32.dll_GetBkColor]
cmp dword [ebp - 0x2c], 0x3518
jge 0x10025bcd
push str.ertewdh_witxxuk_wfpss_ovsnarlno_zyjype_uztv_kfjfej_kaq_qyfbjkt
call fcn.10046da3
pop ecx
mov esi, dword [ebp + 0x10]
xor ecx, ecx
mov edi, dword [ebp + 0x24]
mov eax, dword [esi]
test eax, eax
sete cl
sub ecx, 0x377cf84d
je 0x10025c10
mov eax, dword [esi]
xor ecx, ecx
cmp eax, 7
mov eax, dword [esi]
sete cl
xor edx, edx
cmp ecx, eax
sete dl
sub edx, 4
neg edx
sbb edx, edx
inc edx
mov dword [esi], edx
mov eax, dword [esi]
mov esi, dword [ebp + 0x28]
mov dword [edi], eax
mov eax, dword [edi]
sub eax, dword [esi]
je 0x10025c13
jmp 0x10025c16
mov esi, dword [ebp + 0x28]
mov dword [ebp - 0x1c], ebx
mov eax, dword [esi]
xor edx, edx
mov ecx, dword [ebp - 0x1c]
add ecx, eax
mov eax, dword [esi]
cmp ecx, eax
setl dl
neg edx
mov dword [esi], edx
cmp dword [esi], ebx
jne 0x10025c34
cmp dword [edi], ebx
jne 0x10025c34
mov eax, dword [edi]
mov ecx, dword [ebp + 0x2c]
xor edx, edx
mov esi, dword [ebp + 0x14]
mov ebx, dword [ebp - 0x34]
mov eax, dword [ecx]
mov dword [ecx], eax
mov eax, dword [ecx]
mov eax, dword [ecx]
mov eax, dword [esi]
mov ecx, dword [ebx]
mov eax, dword [edi]
cmp eax, ecx
setl dl
mov dword [esi], edx
xor edx, edx
mov ecx, dword [ebx]
mov eax, dword [esi]
cmp eax, ecx
mov eax, dword [ebp - 0x38]
setne dl
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret