Function at 0x10033354
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005f9b0
call fcn.1005e208
sub esp, 0x18
cmp byte [ebp + 0x24], 0
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
mov byte [ebp - 0x14], dl
mov dword [ebp - 0x20], edi
je 0x10033552
test dl, dl
je 0x100334a4
mov dword [ebp - 0x18], 0x40cb
cmp dword [ebp - 0x18], 0x43dc
jle 0x100333e0
xor esi, esi
mov dword [ebp + 0x24], esi
xor edi, edi
mov eax, esi
xor ebx, ebx
cdq
idiv edi
mov esi, edx
mov eax, esi
mov ecx, 0x1007d6f8
xor eax, ebx
cdq
push edx
push eax
call fcn.100062e1
inc ebx
cmp ebx, 0x65d1
jl 0x100333a1
mov esi, dword [ebp + 0x24]
inc edi
cmp edi, 0x5bdb
jl 0x10033398
inc esi
mov dword [ebp + 0x24], esi
cmp esi, 0x28cb
jl 0x10033396
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_HideCaret]
and dword [ebp - 4], 0
cmp dword [ebp - 0x18], 0x405c
jge 0x100333fc
mov edx, str.mbra_pvibphohb_wtbeela_scgoru_cfrbdqf_artytgn_wblc_dqkhfwemh_xyiq
mov ecx, 0x1007d6f8
call fcn.1000aa27
mov esi, dword [ebp + 0x2c]
mov ebx, dword [ebp + 0x18]
mov eax, dword [esi]
mov eax, dword [esi]
mov ecx, dword [ebx]
mov eax, dword [esi]
cmp eax, dword [ecx + 0xc]
jne 0x10033435
cmp dword [esi], 0
je 0x10033435
xor edx, edx
inc edx
mov edi, edx
jmp 0x1003343a
xor edx, edx
xor edi, edi
inc edx
mov eax, dword [esi]
xor ecx, ecx
cmp eax, 6
mov eax, dword [ebp + 0x14]
setne cl
mov eax, dword [eax]
mov dword [eax], ecx
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
mov dword [ebp + 0x24], eax
imul eax, edi, 3
mov edi, dword [ebp + 0x24]
add eax, ecx
cmp eax, edi
jl 0x10033469
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
cmp dword [eax], 0
jne 0x1003346b
xor edx, edx
xor ecx, ecx
lea eax, [edx - 0x4df8]
cmp eax, edi
mov eax, dword [ebp + 0x38]
setl cl
xor edx, edx
shl ecx, 2
mov dword [eax], ecx
mov ecx, dword [ebx]
mov eax, dword [eax]
cmp eax, dword [ecx + 0xc]
mov eax, dword [ebx]
setle dl
xor ecx, ecx
sub edx, dword [eax + 0xc]
mov eax, dword [esi]
cmp edx, eax
mov eax, dword [ebp + 0x3c]
setl cl
mov dword [eax], ecx
jmp 0x10033613
mov dword [ebp - 0x1c], 0x4615
cmp dword [ebp - 0x1c], 0x4871
jle 0x1003350c
xor esi, esi
mov dword [ebp - 0x18], esi
xor edi, edi
mov dword [ebp + 0x24], edi
mov eax, esi
xor ebx, ebx
cdq
idiv edi
mov edi, edx
xor esi, esi
mov eax, edi
mov ecx, 0x1007d6f8
or eax, esi
or eax, ebx
cdq
push edx
push eax
call fcn.100062e1
inc esi
cmp esi, 0x6b5f
jl 0x100334c9
inc ebx
cmp ebx, 0x6a80
jl 0x100334c7
mov edi, dword [ebp + 0x24]
mov esi, dword [ebp - 0x18]
inc edi
mov dword [ebp + 0x24], edi
cmp edi, 0x32b3
jl 0x100334be
inc esi
mov dword [ebp - 0x18], esi
cmp esi, 0x3664
jl 0x100334b9
mov dword [ebp - 4], 2
cmp dword [ebp - 0x1c], 0x4285
jge 0x1003352b
mov edx, str.ikoafv_dpmzlq_gdap_cwfxloirr_acajgg_epjtzexk_kqggnq_iiwj_ojj_vvvovi_kcpjiqvq_dwxzmpmv
mov ecx, 0x1007d6f8
call fcn.1000aa27
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x1c]
mov dword [ecx], eax
jmp 0x10033613
cmp byte [ebp + 0xc], 0
je 0x100335f3
mov dword [ebp + 0x24], 0x212
cmp dword [ebp + 0x24], 0x3e9
jle 0x10033595
xor esi, esi
xor ebx, ebx
mov ecx, ebx
mov eax, esi
shl eax, cl
mov ecx, 0x1007d6f8
cdq
push edx
push eax
call fcn.100062e1
inc ebx
cmp ebx, 0x2fda
jl 0x10033570
inc esi
cmp esi, 0x489b
jl 0x1003356e
mov dword [ebp - 4], 4
cmp dword [ebp + 0x24], 0xffffff45
jge 0x100335d3
mov edx, str.cwqc_vjpzn_aaxnofc
mov ecx, 0x1007d6f8
call fcn.1000aa27
jmp 0x100335d3
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov edx, dword [ebp + 0x34]
mov dword [eax], 1
mov eax, dword [edx]
test eax, eax
mov eax, dword [ebp + 0x30]
setne cl
mov dword [eax], ecx
mov eax, dword [edx]
mov dword [edi], eax
jmp 0x10033613
mov edx, dword [ebp + 0x20]
mov dword [edx], 0
cmp dword [edx], 2
jge 0x10033613
mov esi, dword [ebp + 8]
mov ecx, dword [edx]
mov eax, dword [esi]
and dword [eax + ecx*4], 0
inc dword [edx]
cmp dword [edx], 2
jl 0x10033604
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret