Function at 0x10013d66
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10055e7f
call fcn.100553f0
sub esp, 0xe8
cmp byte [ebp + 0x28], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
je 0x10013e18
cmp byte [ebp + 0x20], 0
je 0x10013de9
mov edi, dword [ebp + 0x1c]
mov esi, dword [edi]
mov edi, dword [edi + 4]
cmp esi, edi
je 0x100142bb
xor ebx, ebx
push esi
lea ecx, [ebp - 0xa0]
call fcn.100013b7
push ecx
lea ecx, [ebp - 0xa0]
mov dword [ebp - 4], ebx
call fcn.10001335
pop ecx
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x58]
push eax
call fcn.10017751
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa0]
push ebx
push 1
call fcn.100016a5
add esi, 0x18
cmp esi, edi
jne 0x10013da0
jmp 0x100142bb
mov eax, dword [ebp + 8]
push 0xffffffffffffffff
push dword [eax]
lea eax, [ebp - 0xb8]
push eax
call fcn.10017456
push eax
mov ecx, esi
call fcn.100013f2
push 0
lea ecx, [ebp - 0xb8]
push 1
call fcn.100016a5
jmp 0x100142bb
cmp byte [ebp + 0xc], 0
je 0x100142b9
push dword [ebp + 0x10]
lea ecx, [ebp - 0x7c]
call fcn.100013b7
mov dword [ebp - 4], 1
xor ebx, ebx
mov dword [ebp + 0x28], 0x1f16
cmp dword [ebp + 0x28], 0x2048
jle 0x10013e6d
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x1006f038
xor eax, esi
cdq
push edx
push eax
call fcn.10003f1c
inc edi
cmp edi, 0x69b7
jl 0x10013e4a
inc esi
cmp esi, 0x2917
jl 0x10013e48
mov dword [ebp - 0x2c], 6
mov byte [ebp - 4], 2
cmp dword [ebp + 0x28], 0x1dc0
jge 0x10013eae
mov edx, str.skvhr_twa_puehryt_fkg_efsrbyfpw
mov ecx, 0x1006f038
call fcn.1000567a
jmp 0x10013eae
mov dword [ebp - 4], 1
mov dword [ebp - 0x18], 0x979c
push 3
pop ecx
mov dword [ebp - 0x14], ecx
mov dword [ebp + 0x28], 0x33a79cc0
mov dword [ebp - 0x1c], ebx
mov dword [ebp + 0x28], ebx
jmp 0x10013ee2
mov eax, dword [ebp + 0x28]
mov dword [ebp + eax*4 - 0x88], 0xffffffff
inc dword [ebp + 0x28]
cmp dword [ebp + 0x28], ecx
jl 0x10013ed1
push ecx
push ebx
push ecx
lea eax, [ebp - 0x2c]
mov edx, 0x77d5
push 0x8ef
push eax
call fcn.100138e6
add esp, 0x14
cmp dword [ebp - 0x2c], ebx
jne 0x10013f23
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x18]
neg eax
sbb eax, eax
inc eax
mov dword [ebp + 0x28], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + 0x28]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x2c]
sub ecx, eax
cmp dword [ebp - 0x2c], ecx
jge 0x10013f39
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
inc ecx
sub ecx, eax
push ecx
push dword [ebp + 0x18]
mov dword [ebp - 0x80], ecx
lea ecx, [ebp - 0x7c]
call fcn.100173d0
mov dword [ebp - 0x30], eax
cmp eax, 0xffffffff
je 0x10013f70
push ecx
push 1
push ecx
lea eax, [ebp - 0x7c]
push eax
push 0x349a
lea edx, [ebp - 0x30]
call fcn.100138e6
add esp, 0x14
push 0x7262
lea eax, [ebp - 0x30]
mov dl, 1
push eax
push dword [ebp + 0x18]
lea eax, [ebp - 0x7c]
mov ecx, 0x4c31
push 0x34b
push 0x2406
push eax
push 0x43d1
push ebx
call fcn.1001465f
mov dword [ebp + 0x28], 0xfffffff7
add esp, 0x20
mov dword [ebp - 0x5c], 0x3f9e923e
mov dword [ebp - 0x14], 0x2d55
cmp dword [ebp - 0x14], 0x2e77
jle 0x10014022
mov dword [ebp - 0x18], ebx
mov edi, ebx
mov dword [ebp - 0x1c], 0x3a7f
mov dword [ebp + 0x28], edi
mov esi, edi
mov edi, 0x3a0f
mov eax, esi
lea ecx, [ebp - 0xd0]
cdq
push edx
push eax
call fcn.10002769
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10013fed
mov eax, dword [eax]
push eax
call fcn.1003ed0a
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xd0]
call fcn.10001539
inc esi
dec edi
jne 0x10013fd3
mov edi, dword [ebp + 0x28]
mov esi, dword [ebp - 0x18]
add edi, esi
dec dword [ebp - 0x1c]
mov dword [ebp + 0x28], edi
jne 0x10013fcc
inc esi
mov dword [ebp - 0x18], esi
cmp esi, 0x661e
jl 0x10013fc0
cmp dword [ebp - 0x14], 0x2cfa
jge 0x10014036
push str.eguokr_vvjhxa_mrgo_hmx_ykruepy_ltap_mgqotpjj_nno_opih
call fcn.1003ed0a
pop ecx
mov dword [ebp - 4], 1
mov dword [ebp + 0x28], ebx
jmp 0x10014050
mov eax, dword [ebp + 0x28]
mov dword [ebp + eax*4 - 0x38], 0xffffffff
inc dword [ebp + 0x28]
cmp dword [ebp + 0x28], 2
jl 0x10014042
mov dword [ebp - 0x18], 0x7a20
cmp dword [ebp - 0x18], 0x7b23
jle 0x100140d4
mov esi, ebx
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov dword [ebp + 0x28], ebx
mov eax, esi
mov dword [ebp - 0x14], ebx
cdq
mov esi, ebx
idiv edi
mov edi, edx
mov eax, edi
lea ecx, [ebp - 0xf4]
and eax, esi
cdq
push edx
push eax
call fcn.10002769
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10014098
mov eax, dword [eax]
push eax
call fcn.1003ed0a
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xf4]
call fcn.10001539
inc esi
cmp esi, 0x1820
jl 0x1001407c
mov edi, dword [ebp + 0x28]
mov esi, dword [ebp - 0x1c]
inc edi
mov dword [ebp + 0x28], edi
cmp edi, 0x599b
jl 0x10014070
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x7076
jl 0x1001406b
push 3
mov dword [ebp + 0x28], ebx
pop esi
jmp 0x100140ea
mov eax, dword [ebp + 0x28]
mov dword [ebp + eax*4 - 0x44], 0xef20fe6e
inc dword [ebp + 0x28]
cmp dword [ebp + 0x28], esi
jl 0x100140dc
cmp dword [ebp - 0x18], 0x7942
jge 0x10014103
push str.ckdjplycg_uvsuf_ccbdeyqjd_termfjez_naopmwvvo_xrcmbril_pke
call fcn.1003ed0a
pop ecx
xor ecx, ecx
inc ecx
mov dword [ebp - 4], ecx
mov dword [ebp - 0x3c], ebx
jmp 0x100141de
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0x9b79
mov dword [ebp - 0x4c], 0xab1d6a56
xor dl, dl
push eax
mov ecx, 0x55c5
call fcn.10016f0a
pop ecx
xor ecx, ecx
mov dword [ebp + 0x28], ebx
inc ecx
jmp 0x100141d2
mov dword [ebp - 0x64], 0x6859
mov dword [ebp - 0x20], ebx
jmp 0x100141c6
mov eax, dword [ebp + 0x28]
cmp dword [ebp + eax*4 - 0x38], ecx
je 0x10014182
mov dword [ebp - 0x14], ebx
jmp 0x10014166
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0xdc], 0xb441a62a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x10014155
mov eax, dword [ebp - 0x20]
cmp dword [ebp + eax*4 - 0x38], ebx
jne 0x100141cf
lea eax, [ebp - 0x5c]
push eax
push ecx
call fcn.10013b13
pop ecx
pop ecx
jmp 0x10014190
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp + eax*4 - 0x38]
mov eax, dword [ebp + 0x28]
mov dword [ebp + eax*4 - 0x38], ecx
lea eax, [ebp - 0x4c]
xor dl, dl
push eax
push 0x44d1
push 0x6dea
push 0x5464
push 0x5e72
push 0x6176
push 0x51c0
push ebx
lea ecx, [ebp - 0x64]
call fcn.1001465f
add esp, 0x20
xor ecx, ecx
inc dword [ebp - 0x20]
inc ecx
cmp dword [ebp - 0x20], ecx
jle 0x10014147
inc dword [ebp + 0x28]
cmp dword [ebp + 0x28], ecx
jle 0x1001413b
inc dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ecx
jle 0x10014111
cmp dword [ebp - 0x30], 0xffffffff
je 0x1001427a
mov dword [ebp - 0x24], 8
mov dword [ebp - 0x24], ebx
jmp 0x1001425a
mov dword [ebp - 0x28], 0x53aa9ac7
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x28], 0xffffffee
cmp dword [ebp - 0x28], 0xd
jle 0x10014257
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], ecx
push eax
push ebx
lea eax, [ebp - 0x54]
mov dword [ebp - 0x60], 0x93bd5de1
push eax
lea eax, [ebp - 0x28]
mov edx, 0xcad
push eax
push 0x3da5
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x50]
call fcn.10014fd1
add esp, 0x1c
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], 0xd
push 1
pop ecx
jg 0x10014217
dec dword [ebp - 0x24]
cmp dword [ebp - 0x24], 0xffffffef
jl 0x100141fd
push 0x332a
push ecx
lea eax, [ebp - 0x30]
mov ecx, 0x7f46
push eax
lea edx, [ebp - 0x7c]
call fcn.10013d34
add esp, 0xc
mov dword [ebp + 0x28], 0x1f7e2799
mov dword [ebp + 0x28], 0xffffffea
jmp 0x10014297
call fcn.10013b57
cmp dword [ebp + 0x28], ebx
jne 0x1001429d
dec dword [ebp + 0x28]
cmp dword [ebp + 0x28], 0xffffffe5
je 0x1001428a
mov ecx, dword [ebp + 0x24]
lea eax, [ebp - 0x7c]
cmp ecx, eax
je 0x100142b0
push 0xffffffffffffffff
push ebx
push eax
call fcn.100015cb
push ebx
lea ecx, [ebp - 0x7c]
jmp 0x10013e0c
inc dword [edx]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret