Function at 0x100381d7
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005dc7a
call fcn.1005c418
sub esp, 0x18
push ebx
push esi
xor ebx, ebx
mov byte [ebp - 0x14], dl
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x20], ecx
cmp byte [ebp + 0x28], bl
je 0x1003834d
mov dword [ebp + 0x28], 0x620
cmp dword [ebp + 0x28], 0x813
jle 0x10038235
mov esi, ebx
mov edi, ebx
mov eax, esi
mov ecx, 0x10078798
cdq
idiv edi
mov eax, edx
cdq
push edx
push eax
call fcn.1000f531
inc edi
cmp edi, 0x79df
jl 0x1003820f
inc esi
cmp esi, 0x1b11
jl 0x1003820d
mov dword [ebp - 4], ebx
cmp dword [ebp + 0x28], 0x2cd
jge 0x10038250
mov edx, str.mylnik_swx_okrhu_dgza_bxnpmtf_rwdjqvxd
mov ecx, 0x10078798
call fcn.10012752
or dword [ebp - 4], 0xffffffff
mov dword [ebp + 0x28], 0x35b9
cmp dword [ebp + 0x28], 0x36d1
jle 0x10038297
push 0x22ef
push ebx
call dword [sym.imp.USER32.dll_CharLowerBuffW]
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x10078798
or eax, esi
cdq
push edx
push eax
call fcn.1000f531
inc edi
cmp edi, 0x33f0
jl 0x10038274
inc esi
cmp esi, 0x41b7
jl 0x10038272
cmp byte [ebp + 0xc], 0
je 0x100382f0
mov edx, dword [ebp + 8]
xor ecx, ecx
cmp dword [edx], ebx
mov eax, dword [edx]
mov eax, dword [ebp + 0x24]
mov dword [eax], ebx
mov eax, dword [edx]
cmp ebx, eax
mov eax, dword [ebp + 0x18]
setge cl
mov eax, dword [eax]
mov dword [eax], ecx
mov eax, dword [edx]
mov eax, dword [edx]
mov eax, dword [edx]
mov eax, dword [edx]
mov eax, dword [edx]
mov eax, dword [edx]
mov eax, dword [edx]
mov dword [edx], eax
jmp 0x1003830f
mov esi, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x10]
mov edi, dword [esi]
mov ecx, dword [esi]
mov edx, dword [eax]
mov eax, dword [eax]
mov eax, dword [eax + ecx*4]
mov ecx, dword [ebp - 0x20]
mov dword [edx + edi*4], eax
mov eax, dword [esi]
imul eax, dword [edx + edi*4]
mov dword [ecx], eax
mov dword [ebp - 4], 2
cmp dword [ebp + 0x28], 0x32e1
jge 0x1003832e
mov edx, str.agitkeqb_zikhch_vbv_zqkztcd_ojpn_hgepwlyjc_swolj_ogqdum_cqtkqy_feocwdm
mov ecx, 0x10078798
call fcn.10012752
jmp 0x1003848e
test dl, dl
je 0x1003846d
mov dword [ebp - 0x1c], 0x1820
cmp dword [ebp - 0x1c], 0x19fb
jle 0x100383c0
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x18], ebx
mov eax, ebx
mov ebx, dword [ebp - 0x18]
mov dword [ebp + 0x28], eax
xor eax, ebx
mov ecx, 0x10078798
xor eax, edi
or eax, esi
cdq
push edx
push eax
call fcn.1000f531
mov eax, dword [ebp + 0x28]
inc eax
mov dword [ebp + 0x28], eax
cmp eax, 0x380c
jl 0x10038374
inc ebx
push 0
mov dword [ebp - 0x18], ebx
cmp ebx, 0x4a7d
pop ebx
jl 0x1003836c
inc edi
cmp edi, 0x174e
jl 0x10038369
inc esi
cmp esi, 0x4906
jl 0x10038367
push ebx
push ebx
push ebx
push ebx
call dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
mov dword [ebp - 4], 4
cmp dword [ebp - 0x1c], 0x17df
jge 0x100383df
mov edx, str.owjdorgu_qsclfbrrd_tkfawj_ooedqarke_dbqy_vbeyz
mov ecx, 0x10078798
call fcn.10012752
or dword [ebp - 4], 0xffffffff
mov esi, dword [ebp + 0x14]
cmp dword [esi], ebx
je 0x10038430
mov dword [ebp - 0x24], 0x2eac4530
mov dword [esi], ebx
jmp 0x10038429
push dword [ebp + 0x2c]
push ecx
push ecx
lea ecx, [ebp - 0x24]
call fcn.10036e4d
add esp, 0xc
inc dword [esi]
cmp dword [esi], 0x17
jl 0x10038417
jmp 0x1003848e
mov dword [ebp + 0x28], 0x576c5165
mov eax, dword [ebp + 0x28]
mov eax, dword [esi]
mov esi, dword [ebp + 0x20]
mov eax, dword [esi]
mov eax, dword [ebp + 0x28]
dec eax
je 0x10038464
mov dword [esi], ebx
jmp 0x1003845d
mov byte [ebp + 0x2b], bl
cmp byte [ebp + 0x2b], 0
je 0x1003845b
push ecx
call fcn.10038c83
pop ecx
inc dword [esi]
cmp dword [esi], 9
jne 0x1003844b
jmp 0x1003848e
push ecx
call fcn.10036e35
pop ecx
jmp 0x1003848e
push ebx
push 0x167c
push ebx
push 0x1cd0
push ebx
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.USER32.dll_DrawTextExW]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret