Function at 0x10035c72
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005fadb
call fcn.1005e378
sub esp, 0xb0
push ebx
push esi
mov dword [ebp - 0x20], 0xb1f
xor ebx, ebx
cmp dword [ebp - 0x20], 0xc50
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x60], ecx
jle 0x10035ce6
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
shl eax, cl
lea ecx, [ebp - 0xa0]
cdq
push edx
push eax
call fcn.10001a9f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10035cbf
mov eax, dword [eax]
push eax
call fcn.10046233
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xa0]
call fcn.1000ebf5
inc edi
cmp edi, 0x60e7
jl 0x10035ca1
inc esi
cmp esi, 0x1f8c
jl 0x10035c9f
cmp dword [ebp - 0x20], 0xabb
jge 0x10035cfa
push str.kwlmmzbrq_ejpsl_nittxkk_vswfdi_ksouqidp_mtxwis_rhodftfo_kgygml_vvtzl_hbm_vgrglbvn_pzull
call fcn.10046233
pop ecx
or dword [ebp - 4], 0xffffffff
cmp byte [ebp + 0xc], 0
je 0x10036093
mov dword [ebp - 0x1c], 0xa4e
cmp dword [ebp - 0x1c], 0xb02
jle 0x10035d8a
mov esi, ebx
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov ecx, ebx
mov dword [ebp - 0x20], ebx
add ecx, eax
mov eax, edi
sar eax, cl
lea ecx, [ebp - 0xb8]
and eax, esi
cdq
push edx
push eax
call fcn.10001a9f
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10035d46
mov eax, dword [eax]
push eax
call fcn.10046233
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xb8]
call fcn.1000ebf5
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
inc ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 0x2d85
jl 0x10035d26
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x83d
jl 0x10035d21
inc edi
cmp edi, 0x490
jl 0x10035d1c
inc esi
cmp esi, 0x6663
jl 0x10035d1a
cmp dword [ebp - 0x1c], 0x71e
jge 0x10035d9e
push str.hwslkws_vvhk_tcixvgkzk_nxwy_wfsf
call fcn.10046233
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x1c], 0xfffb
mov dword [ebp - 0x2c], 0x67684593
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x2c], 0x39b7
cmp dword [ebp - 0x2c], 0x3d68
jle 0x10035e4e
mov esi, ebx
mov dword [ebp - 0x3c], ebx
mov edi, ebx
mov dword [ebp - 0x34], ebx
mov ecx, edi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x18], ebx
shl esi, cl
mov edi, ebx
mov ebx, dword [ebp - 0x18]
mov ecx, edi
mov eax, ebx
sar eax, cl
mov ecx, 0x1007acd8
xor eax, esi
cdq
push edx
push eax
call fcn.1000e15c
inc edi
cmp edi, 0x1fb3
jl 0x10035de4
inc ebx
push 0
mov dword [ebp - 0x18], ebx
cmp ebx, 0x5a66
pop ebx
jl 0x10035ddf
mov edi, dword [ebp - 0x34]
mov esi, dword [ebp - 0x3c]
inc edi
mov dword [ebp - 0x34], edi
cmp edi, 0x5827
jl 0x10035dd5
inc esi
mov dword [ebp - 0x3c], esi
cmp esi, 0x4ae2
jl 0x10035dd0
push ebx
push 0x1f84
push 0xcbe
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetDIBColorTable]
mov dword [ebp - 4], 4
cmp dword [ebp - 0x2c], 0x362a
jge 0x10035e8b
mov edx, str.qsphowxhw_jmbqcyox_mtjh_bqobyi_pczd_jzqznku_fbezfnbxl_ncjbeplzl_ggao
mov ecx, 0x1007acd8
call fcn.10010ea8
jmp 0x10035e8b
mov dword [ebp - 0x18], ebx
jmp 0x10035e9e
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5c], 4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x10035e90
cmp dword [ebp - 0x1c], ebx
je 0x10035ef7
jg 0x10035eb1
jne 0x10035eb1
mov eax, ebx
jmp 0x10035eb4
xor eax, eax
inc eax
cmp eax, dword [ebp - 0x1c]
jl 0x10035ebe
xor ecx, ecx
inc ecx
jmp 0x10035ec0
mov ecx, ebx
mov eax, dword [ebp - 0x1c]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setl dl
xor ecx, ecx
add edx, 0x3d19f83
cmp edx, eax
setl cl
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x1c]
jle 0x10035ef1
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x1c]
imul ecx, eax
cmp ecx, dword [ebp - 0x20]
jne 0x10035f36
mov dword [ebp - 0x18], 0x6eb81f94
xor edx, edx
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
mov eax, dword [ebp - 0x18]
setne dl
xor ecx, ecx
test eax, eax
setg cl
sub ecx, edx
imul eax, ecx, 5
mov dword [ebp - 0x18], eax
jmp 0x10035f3c
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x5c], eax
xor eax, eax
mov dword [ebp - 0x64], 7
mov dword [ebp - 0x68], ebx
mov word [ebp - 0x78], ax
mov dword [ebp - 4], 6
mov dword [ebp - 0x28], 0x5c68ec0a
mov dword [ebp - 0x50], 0xcee61780
mov dword [ebp - 0x4c], 0xd6273d59
mov dword [ebp - 0x30], 0x29c4ddb8
mov dword [ebp - 0x28], ebx
jmp 0x10035fe6
push dword [ebp - 0x38]
movdqa xmm0, xmmword [0x1006e040]
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x88]
mov dword [ebp - 0x48], ebx
push eax
push ebx
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x44], ebx
movdqu xmmword [ebp - 0x88], xmm0
mov dword [ebp - 0x40], ebx
call fcn.1001187e
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 7
push eax
lea eax, [ebp - 0x50]
mov dword [ebp - 0x38], 1
push eax
push 0x10f2
lea eax, [ebp - 0x48]
push eax
push ecx
lea eax, [ebp - 0x38]
mov cl, 1
push eax
lea edx, [ebp - 0x28]
call fcn.1003573a
add esp, 0x18
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x48]
cmp dword [ebp - 0x30], ebx
jne 0x10035fee
call fcn.1000e4c1
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xf
jne 0x10035f74
jmp 0x10035ff3
call fcn.1000e4c1
push ecx
lea eax, [ebp - 0x21]
mov byte [ebp - 0x21], bl
push eax
push ecx
mov dl, 1
call fcn.10035afe
add esp, 0xc
lea eax, [ebp - 0x78]
push eax
push ecx
push 1
push ecx
push ecx
lea eax, [ebp + 0x18]
push eax
push ecx
call fcn.10035be5
mov eax, dword [0x10a05710]
add esp, 0x1c
test al, 1
jne 0x10036046
or eax, 1
mov dword [0x10a05710], eax
push 0x13635
mov byte [ebp - 4], 8
call fcn.1000e0a3
pop ecx
mov word [0x10a05718], ax
mov byte [ebp - 4], 6
mov esi, dword [ebp + 0x18]
test esi, esi
je 0x10036073
push 0x14ad
push 1
push ebx
lea eax, [ebp - 0x78]
mov edx, 0x10a05718
push eax
push 0xa45
mov ecx, 0x7556
call fcn.10035c24
add esp, 0x14
dec esi
jne 0x1003604d
mov ecx, dword [ebp - 0x60]
lea eax, [ebp - 0x78]
cmp ecx, eax
je 0x10036086
push 0xffffffffffffffff
push ebx
push eax
call fcn.1000ec87
push ebx
push 1
lea ecx, [ebp - 0x78]
call fcn.1000edc9
jmp 0x100360b2
mov edx, dword [ebp + 0x10]
mov dword [edx], ebx
cmp dword [edx], 3
jge 0x100360b2
mov esi, dword [ebp + 8]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 1
inc dword [edx]
cmp dword [edx], 3
jl 0x100360a0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret