Function at 0x10025678
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1006474f
call fcn.10063318
sub esp, 0x60
push ebx
push esi
mov byte [ebp - 0x14], dl
push edi
mov dword [ebp - 0x28], 0x2771
mov edi, 0x10081838
cmp dword [ebp - 0x28], 0x2a9e
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x34], ecx
jle 0x10025709
xor esi, esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], 0x64b0
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
and dword [ebp - 0x30], 0
mov ecx, ebx
mov ebx, dword [ebp - 0x30]
mov dword [ebp - 0x2c], esi
sar esi, cl
mov eax, esi
mov ecx, edi
xor eax, ebx
cdq
push edx
push eax
call fcn.10001e6d
inc ebx
cmp ebx, 0x629c
jl 0x100256c8
mov ebx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
inc ebx
mov dword [ebp - 0x1c], ebx
cmp ebx, 0x3fe9
jl 0x100256ba
dec esi
dec dword [ebp - 0x20]
mov dword [ebp - 0x18], esi
jne 0x100256b5
mov esi, dword [ebp - 0x24]
inc esi
mov dword [ebp - 0x24], esi
cmp esi, 0x4b3
jl 0x100256ab
and dword [ebp - 4], 0
cmp dword [ebp - 0x28], 0x26e2
jge 0x10025743
mov edx, str.fqn_mvjbocfn_vlz_gylmut_xmoejkotg_yhn_czovqoq_hvclnigj_sbhcgda_qkrnvd_pom_klkfnpql_osfqpgl
mov ecx, edi
call fcn.100038af
jmp 0x10025743
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x28], 0xc98
cmp dword [ebp - 0x28], 0xed9
jle 0x10025799
xor esi, esi
xor ebx, ebx
mov eax, ebx
lea ecx, [ebp - 0x54]
xor eax, esi
cdq
push edx
push eax
call fcn.10001a31
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10025774
mov eax, dword [eax]
push eax
call fcn.1004b116
pop ecx
push 0
push 1
lea ecx, [ebp - 0x54]
call fcn.100022d2
inc ebx
cmp ebx, 0x4ad7
jl 0x1002575b
inc esi
cmp esi, 0x6b37
jl 0x10025759
cmp dword [ebp - 0x28], 0xb2c
jge 0x100257ad
push str.kgjqe_zhucnlb_tbrpshdx_vgoro
call fcn.1004b116
pop ecx
or dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x14], 0
je 0x10025944
mov dword [ebp - 0x28], 0x27ba
cmp dword [ebp - 0x28], 0x2abb
jle 0x100257f8
call dword [sym.imp.USER32.dll_WaitMessage]
xor esi, esi
xor ebx, ebx
mov eax, esi
mov ecx, edi
cdq
idiv ebx
mov eax, edx
cdq
push edx
push eax
call fcn.10001e6d
inc ebx
cmp ebx, 0x11c4
jl 0x100257d5
inc esi
cmp esi, 0x27ae
jl 0x100257d3
mov dword [ebp - 4], 4
cmp dword [ebp - 0x28], 0x245c
jge 0x10025814
mov edx, str.fdhiofiba_ell_jnoq_fhhztrsm_cynjfwh_avjea_gngfgvp_usgcd_onvefd_snzmwtqan
mov ecx, edi
call fcn.100038af
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x24], 0x48e5
cmp dword [ebp - 0x24], 0x49d9
jle 0x10025881
xor esi, esi
xor edi, edi
mov eax, edi
lea ecx, [ebp - 0x6c]
and eax, esi
cdq
push edx
push eax
call fcn.10001a31
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10025845
mov eax, dword [eax]
push eax
call fcn.1004b116
pop ecx
push 0
push 1
lea ecx, [ebp - 0x6c]
call fcn.100022d2
inc edi
cmp edi, 0x7769
jl 0x1002582c
inc esi
cmp esi, 0x924
jl 0x1002582a
push 0xc72
push 0
push 0x1bd9
push 0xc41
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
mov esi, dword [ebp + 0x10]
mov dword [esi], 0xfffffff2
cmp dword [esi], 0xfffffff4
jg 0x1002592e
mov ebx, dword [ebp + 0x14]
mov edi, dword [ebp - 0x34]
mov dword [ebp - 0x28], 0xfffffff8
mov dword [ebp - 0x18], 0
jmp 0x100258d1
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x3c], 0xca3c47aa
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x100258c3
mov ecx, dword [esi]
xor edx, edx
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
setne dl
xor ecx, ecx
neg edx
mov dword [ebx], edx
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x28]
cmp eax, 0x3a5d
mov eax, dword [edi]
setl cl
xor edx, edx
cmp ecx, eax
mov eax, dword [ebx]
sete dl
xor ecx, ecx
cmp eax, edx
mov eax, dword [ebp - 0x38]
setle cl
imul eax, ecx
xor ecx, ecx
cmp eax, 0xde37d660
setne cl
mov dword [edi], ecx
mov eax, dword [ebx]
inc dword [esi]
cmp dword [esi], 0xfffffff4
jle 0x10025899
cmp dword [ebp - 0x24], 0x4835
jge 0x10025958
push str.tanfpmpu_ljd_dtth_awxalpx_ejhgg_cqnitlm_dwjtepn
call fcn.1004b116
pop ecx
jmp 0x10025958
push 0
push 0xfa1
push 0
push 0x1b24
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret