Function at 0x1003a229
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005c80e
call fcn.1005b550
sub esp, 0x34
push ebx
push esi
mov dword [ebp - 0x20], 0x50fe
cmp dword [ebp - 0x20], 0x51ea
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x28], ecx
jle 0x1003a2dc
xor esi, esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x18], 0x40b9
xor edi, edi
xor ebx, ebx
mov eax, ebx
lea ecx, [ebp - 0x40]
and eax, edi
xor eax, esi
cdq
push edx
push eax
call fcn.10001af4
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1003a281
mov eax, dword [eax]
push eax
call fcn.1004677c
pop ecx
push 0
push 1
lea ecx, [ebp - 0x40]
call fcn.1000f813
inc ebx
cmp ebx, 0x438
jl 0x1003a266
inc edi
cmp edi, 0x420a
jl 0x1003a264
dec esi
dec dword [ebp - 0x18]
jne 0x1003a262
mov esi, dword [ebp - 0x1c]
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x74ef
jl 0x1003a258
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
push 0
push 0x15ff
push 0
call esi
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
jmp 0x1003a2e2
mov esi, dword [sym.imp.USER32.dll_GetDesktopWindow]
cmp dword [ebp - 0x20], 0x4dba
jge 0x1003a2f6
push str.izd_vwdstsy_tofdgyzl_vvmkwgfbz_zgyjwtu_impoagwds_amiikz
call fcn.1004677c
pop ecx
or dword [ebp - 4], 0xffffffff
cmp byte [ebp + 0x20], 0
je 0x1003a3d5
mov dword [ebp - 0x1c], 0x4414
cmp dword [ebp - 0x1c], 0x468e
jle 0x1003a373
push 1
push 0x19ab
push 0x5b8
call esi
push eax
call dword [sym.imp.USER32.dll_SetScrollPos]
xor edi, edi
xor esi, esi
xor ebx, ebx
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov eax, ebx
shl eax, cl
mov ecx, 0x10075c58
xor eax, esi
or eax, edi
cdq
push edx
push eax
call fcn.1000ed7e
mov ecx, dword [ebp - 0x20]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 0x2692
jl 0x1003a334
inc ebx
cmp ebx, 0x77f8
jl 0x1003a32f
inc esi
cmp esi, 0x6c64
jl 0x1003a32d
inc edi
cmp edi, 0x43d
jl 0x1003a32b
mov byte [ebp - 0x11], 0
mov dword [ebp - 4], 2
cmp dword [ebp - 0x1c], 0x43fa
jge 0x1003a396
mov edx, str.pyadyrrcd_rrhzz_wkd_xer_gwko_uvbe_crng
mov ecx, 0x10075c58
call fcn.1001381a
or dword [ebp - 4], 0xffffffff
cmp byte [ebp - 0x11], 0
je 0x1003a489
push 1
push 1
xor dl, dl
mov ecx, 0x7577
call fcn.1003ab97
pop ecx
pop ecx
jmp 0x1003a489
mov dword [ebp - 0x20], 0x78f
cmp dword [ebp - 0x20], 0x8d1
jle 0x1003a41b
xor esi, esi
xor edi, edi
xor ebx, ebx
mov ecx, ebx
mov eax, edi
sar eax, cl
mov ecx, 0x10075c58
xor eax, esi
cdq
push edx
push eax
call fcn.1000ed7e
inc ebx
cmp ebx, 0x412c
jl 0x1003a3eb
inc edi
cmp edi, 0xeb4
jl 0x1003a3e9
inc esi
cmp esi, 0x3302
jl 0x1003a3e7
mov dword [ebp - 4], 4
cmp dword [ebp - 0x20], 0x621
jge 0x1003a43a
mov edx, str.wdyrl_xwivtho_hrqpkhnt_vlp_hpus_vwlkycia_hjrjh_cqfd_bipfo_yuouyhs
mov ecx, 0x10075c58
call fcn.1001381a
mov esi, dword [ebp + 0x18]
mov eax, dword [esi]
cmp dword [esi], 0
jne 0x1003a449
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
mov ecx, dword [ebp + 0xc]
xor ebx, ebx
mov eax, dword [ecx]
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [ebp - 0x28]
add ecx, 0x7ddc
mov eax, dword [eax]
cmp ecx, eax
mov eax, dword [ebp + 0x1c]
sete bl
xor ecx, ecx
mov edx, dword [eax]
mov eax, dword [eax]
sub edx, ebx
cmp eax, edx
mov eax, 0x934eca66
sete cl
cmp eax, ecx
sbb eax, eax
neg eax
mov dword [esi], eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret