Function at 0x10001d22
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10058c42
call fcn.10058764
sub esp, 0xb0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
test cl, cl
je 0x10001dec
cmp byte [ebp + 0x28], 0
je 0x10001dc3
mov dword [ebp - 0x18], 0xc98
cmp dword [ebp - 0x18], 0xd44
jle 0x10001da1
xor ebx, ebx
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
sar eax, cl
lea ecx, [ebp - 0xa4]
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10001d7a
mov eax, dword [eax]
push eax
call fcn.10040afc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xa4]
call fcn.1000b217
inc edi
cmp edi, 0x363c
jl 0x10001d5c
inc esi
cmp esi, 0x6ea0
jl 0x10001d5a
mov eax, dword [ebp + 0x10]
inc dword [eax]
cmp dword [ebp - 0x18], 0xc8b
jge 0x100022df
push str.euk_krjroeyiy_rtobk_cmjxh_mzimramdg_hrkozt_xmrywr_sewowfg_xrfeinow_lwuxx_zxprehtv_ylikhyaub_hqnnti
call fcn.10040afc
pop ecx
jmp 0x100022df
mov dword [edx], 0
cmp dword [edx], 3
jge 0x100022df
mov esi, dword [ebp + 0x14]
mov ecx, dword [edx]
mov eax, dword [esi]
mov dword [eax + ecx*4], 1
inc dword [edx]
cmp dword [edx], 3
jl 0x10001dd5
jmp 0x100022df
xor ebx, ebx
cmp byte [ebp + 0x2c], bl
je 0x10002275
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x3c], 0x985a9576
mov dword [ebp - 0x40], 0x5bbbdebf
mov dword [ebp - 0x1c], 0x71cc
cmp dword [ebp - 0x1c], 0x7393
mov dword [ebp - 0x48], eax
jle 0x10001e7b
mov esi, ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], 0x4241
mov edi, ebx
mov esi, ebx
mov ebx, dword [ebp - 0x18]
mov ecx, esi
mov eax, edi
shl eax, cl
mov ecx, 0x10073a98
xor eax, ebx
cdq
push edx
push eax
call fcn.1000ab96
inc esi
cmp esi, 0x606a
jl 0x10001e3a
inc edi
push 0
pop ebx
cmp edi, 0x4040
jl 0x10001e35
dec dword [ebp - 0x18]
dec dword [ebp - 0x14]
jne 0x10001e33
mov esi, dword [ebp - 0x2c]
inc esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x7095
jl 0x10001e29
push 2
pop esi
push esi
lea ecx, [ebp - 0x68]
call fcn.1000adae
mov dword [ebp - 4], esi
mov byte [ebp - 4], 3
cmp dword [ebp - 0x1c], 0x6f6a
jge 0x10001ec7
mov edx, str.usix_lsoxipk_vxj_vdynil_pceye_roys_gjzyvny_hzqyid_jvybmdx_cmyl_bsyys_vpoq_zwe_qfpudrvjz
mov ecx, 0x10073a98
call fcn.1000d257
jmp 0x10001ec7
mov dword [ebp - 4], esi
mov dword [ebp - 0x14], 0x9cb
cmp dword [ebp - 0x14], 0xaee
jle 0x10001f59
mov edi, ebx
mov dword [ebp - 0x18], ebx
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov edx, eax
mov esi, ebx
and edx, edi
mov dword [ebp - 0x1c], edx
mov edi, ebx
mov ecx, edi
mov eax, esi
sar eax, cl
lea ecx, [ebp - 0xbc]
or eax, edx
cdq
push edx
push eax
call fcn.10001a55
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10001f0f
mov eax, dword [eax]
push eax
call fcn.10040afc
pop ecx
push ebx
push 1
lea ecx, [ebp - 0xbc]
call fcn.1000b217
mov edx, dword [ebp - 0x1c]
inc edi
cmp edi, 0x4e35
jl 0x10001eef
inc esi
cmp esi, 0x5266
jl 0x10001eed
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x3563
jl 0x10001ee4
inc edi
mov dword [ebp - 0x18], edi
cmp edi, 0x30f7
jl 0x10001edf
push 2
pop esi
push ecx
push 0x2e65
push 0x7939
lea eax, [ebp - 0x68]
push eax
push 0x3dcc
push ecx
push 1
push 0x468a
lea edx, [ebp - 0x8c]
call fcn.10002b2b
add esp, 0x20
cmp dword [ebp - 0x14], 0x6c4
jge 0x10001f97
push str.sibblql_ils_vymvw_tdvfhfxub_nsonv_xwtgsjst_pvznodm_etafpjpq
call fcn.10040afc
pop ecx
lea eax, [ebp - 0x40]
mov dword [ebp - 4], esi
push eax
lea eax, [ebp - 0x3c]
xor cl, cl
push eax
push 0x5e6a
lea edx, [ebp - 0x38]
call fcn.100024f8
push ebx
push 1
push 0x7f4
lea eax, [ebp - 0x3c]
mov edx, 0x4ed2
push eax
push 0x541
lea eax, [ebp - 0x68]
xor cl, cl
push eax
push 0x55b8
push 0x5224
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.10001d22
add esp, 0x34
lea ecx, [ebp - 0x68]
or edi, 0xffffffff
mov dword [ebp - 4], edi
call fcn.1000ae31
mov dl, 1
mov dword [ebp - 0x14], edi
push ebx
push 0x58b6
mov cl, dl
call fcn.10004f01
mov dword [ebp - 0x14], ebx
jmp 0x10002026
push ecx
lea eax, [ebp - 0x2d]
mov byte [ebp - 0x2d], bl
push eax
mov edx, 0x1b78
mov ecx, 0x716a
call fcn.10005be1
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xfffffffe
pop ecx
pop ecx
jl 0x1000200c
mov eax, dword [ebp + 0x24]
mov al, byte [eax]
mov byte [ebp - 0x1d], al
mov dword [ebp - 0x14], 0xa362
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x50], edi
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x14], ebx
jmp 0x10002071
mov dword [ebp - 0x1c], 0xda62
mov dword [ebp - 0x2c], 0xfffffff9
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x2c], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 9
jg 0x10002054
push ebx
lea edx, [ebp - 0x1d]
lea ecx, [ebp - 0x44]
call fcn.100028ee
call fcn.1000235c
pop ecx
push esi
lea ecx, [ebp - 0x88]
call fcn.1000adae
lea eax, [ebp - 0x6c]
mov dword [ebp - 4], 7
push eax
push ecx
lea eax, [ebp - 0x88]
mov dword [ebp - 0x18], 0x9bdba76a
push eax
push ecx
push 0x6323
mov dl, 1
call fcn.10001ac4
xor ecx, ecx
add esp, 0x14
inc ecx
mov dword [ebp - 0x18], ecx
cmp dword [ebp - 0x18], ebx
jl 0x1000211b
mov dword [ebp - 0x14], ebx
jmp 0x100020dd
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x34], 0x7a888ada
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], ecx
jl 0x100020cf
mov dword [ebp - 0x34], ebx
jmp 0x10002111
push 0x2244
push ebx
lea eax, [ebp - 0x25]
mov byte [ebp - 0x25], bl
push 0x73ff
push eax
mov edx, 0x3b81
mov ecx, 0x6e97
call fcn.10002791
add esp, 0x10
xor ecx, ecx
inc dword [ebp - 0x34]
inc ecx
cmp dword [ebp - 0x34], ecx
jle 0x100020e7
dec dword [ebp - 0x18]
jns 0x100020ca
lea ecx, [ebp - 0x88]
mov dword [ebp - 4], edi
call fcn.1000ae31
mov esi, dword [ebp - 0x44]
mov dl, 0x8b
mov cl, byte [esi]
call fcn.1000d244
mov byte [esi], al
mov dword [ebp - 0x14], ebx
jmp 0x1000214a
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x24], 0xfffffffc
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x1000213c
mov dword [ebp - 0x24], ebx
cmp dword [ebp - 0x24], 0xffffffe9
je 0x1000226b
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x1c], 0x40a4
cmp dword [ebp - 0x1c], 0x4358
jle 0x1000219c
mov esi, ebx
mov edi, ebx
mov ecx, edi
mov eax, esi
sar eax, cl
mov ecx, 0x10073a98
cdq
push edx
push eax
call fcn.1000ab96
inc edi
cmp edi, 0x51cd
jl 0x10002174
inc esi
cmp esi, 0x2b00
jl 0x10002172
or edi, 0xffffffff
push 4
lea ecx, [ebp - 0x78]
call fcn.1000adae
mov dword [ebp - 4], 8
mov byte [ebp - 4], 9
cmp dword [ebp - 0x1c], 0x3dae
jge 0x100021ea
mov edx, str.suxxhioa_mbswuoyz_vtbfy_oxqbu_ewlo_sspdzgrc_voodpxol
mov ecx, 0x10073a98
call fcn.1000d257
jmp 0x100021ea
push 0x6ba4
push ecx
mov dword [ebp - 4], 8
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x1c], ebx
lea ecx, [ebp - 0x78]
mov dword [ebp - 0x1c], 1
mov edx, 0x2117
push eax
call fcn.100022f0
add esp, 0xc
cmp dword [ebp - 0x24], ebx
jne 0x1000224b
mov eax, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp ecx, eax
setg dl
xor eax, eax
test edx, edx
setle al
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
neg eax
cmp eax, 0xfffffffa
jne 0x1000224b
mov ecx, ebx
jmp 0x1000224e
xor ecx, ecx
inc ecx
xor eax, eax
cmp ecx, edi
lea ecx, [ebp - 0x78]
setle al
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], edi
call fcn.1000ae31
dec dword [ebp - 0x24]
jmp 0x10002153
mov eax, dword [ebp - 0x48]
mov cl, byte [ebp - 0x1d]
mov byte [eax], cl
jmp 0x100022df
mov esi, dword [ebp + 8]
mov dword [esi], ebx
cmp dword [esi], 1
jg 0x100022df
mov edi, dword [ebp + 0x20]
mov dword [edi], 1
jmp 0x100022b1
push ecx
push dword [ebp + 0x18]
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0x3e3f36a5
push eax
push 0x2549
push edi
push ecx
push ebx
push esi
mov edx, 0x24e0
call fcn.10002b2b
add esp, 0x20
dec dword [edi]
cmp dword [edi], ebx
jge 0x1000228a
push 0x66d1
push 0x2d3a
push dword [ebp + 0x18]
mov edx, 0x574d
mov ecx, 0x3f23
push ebx
push dword [ebp + 0xc]
call fcn.10002e04
add esp, 0x14
inc dword [esi]
cmp dword [esi], 1
jle 0x10002282
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret