Function at 0x10009207
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x100642ea
call fcn.10063a98
sub esp, 0x70
cmp byte [ebp + 0x14], 0
mov eax, edx
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x4c], eax
je 0x1000963d
cmp byte [ebp + 0x10], 0
je 0x10009260
mov eax, dword [ebp + 0x1c]
cmp byte [eax], 0
je 0x10009682
push 0x61e
push 1
push 0x37f6
push 0x9a8
mov edx, 0x516e
xor cl, cl
call fcn.1000916c
add esp, 0x10
jmp 0x10009682
push 4
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x48], eax
call fcn.10001ff7
xor esi, esi
lea eax, [ebp - 0x54]
inc esi
lea edx, [ebp - 0x60]
push esi
push esi
push 0x3f44
xor ebx, ebx
or edi, 0xffffffff
push ebx
push eax
push 0x2360
push 0x218e
mov dword [ebp - 4], ebx
mov ecx, 0x452c
mov dword [ebp - 0x24], edi
push 0x27d2
call fcn.10004e57
add esp, 0x20
mov dword [ebp - 0x24], ebx
jmp 0x100092d3
push ebx
lea eax, [ebp - 0x24]
mov dword [ebp - 0x50], 7
push eax
push ebx
push 0x981
push 0x24ec
lea edx, [ebp - 0x60]
lea ecx, [ebp - 0x50]
call fcn.10005e1f
add esp, 0x14
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jle 0x100092ab
lea ecx, [ebp - 0x60]
mov dword [ebp - 4], edi
call fcn.1000207a
mov eax, dword [ebp + 0x20]
xor dl, dl
push ebx
mov ecx, 0x6a89
mov eax, dword [eax]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x18], 0x642c
mov dword [ebp - 0x34], 2
call fcn.10004408
mov dword [ebp - 0x18], 4
pop ecx
cmp dword [ebp - 0x18], ebx
je 0x1000934d
mov dword [ebp - 0x18], ebx
jmp 0x1000932f
push ebx
mov byte [ebp + 0x17], bl
lea ecx, [ebp + 0x17]
push 0x4f26
call fcn.10005a60
dec dword [ebp - 0x18]
pop ecx
pop ecx
xor dl, dl
cmp dword [ebp - 0x18], 0xfffffff1
jle 0x10009319
lea eax, [ebp - 0x34]
push eax
push 0x282b
call fcn.1000461f
add esp, 8
jmp 0x10009443
mov dword [ebp - 0x40], 0x102b
cmp dword [ebp - 0x40], 0x1144
jle 0x100093ba
mov eax, ebx
mov dword [ebp - 0x18], ebx
mov edi, eax
mov dword [ebp - 0x20], 0x2364
mov esi, ebx
mov ecx, ebx
mov dword [ebp - 0x28], 0x6e09
mov dword [ebp - 0x38], ecx
mov eax, edi
xor eax, ecx
mov ecx, 0x100812f8
cdq
push edx
push eax
call fcn.10001ee2
mov ecx, dword [ebp - 0x38]
add ecx, esi
dec dword [ebp - 0x28]
mov dword [ebp - 0x38], ecx
jne 0x10009379
inc esi
cmp esi, 0x62e7
jl 0x1000936d
dec edi
dec dword [ebp - 0x20]
jne 0x1000936b
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
cmp eax, 0x4a81
jl 0x10009362
xor esi, esi
inc esi
or edi, 0xffffffff
mov dword [ebp - 0x44], 0xfff6
mov dword [ebp - 4], esi
cmp dword [ebp - 0x40], 0xcd4
jge 0x10009406
mov edx, str.euufd_lwd_rsfbp_jmulqqccx_qohpcwzdn_rduuy_jhysg_ydsgxo_hbdb_nspvi_apveu_ngutlzzc
mov ecx, 0x100812f8
call fcn.1000395e
jmp 0x10009406
mov dword [ebp - 4], edi
mov dword [ebp - 0x18], 0x14
jmp 0x1000943d
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x34]
push eax
push esi
push ecx
call fcn.100048ad
pop ecx
pop ecx
lea eax, [ebp - 0x44]
xor dl, dl
push eax
lea eax, [ebp - 0x34]
push eax
push 0x2d6a
call fcn.10007709
add esp, 0x14
dec dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0xffffffed
jl 0x10009412
mov ecx, ebx
mov dword [ebp - 0x38], ebx
cmp ecx, 4
jae 0x10009633
mov dword [ebp - 0x20], 0x7f6af112
mov dword [ebp - 0x1c], 0xfffffff9
mov dword [ebp - 0x20], ebx
cmp dword [ebp - 0x20], 0xfffffff9
jle 0x1000960a
mov dword [ebp - 0x18], 0xe0091df8
mov dword [ebp - 0x48], 0x5538
cmp dword [ebp - 0x48], 0x55c5
jle 0x100094d0
mov edi, ebx
mov eax, ebx
mov dword [ebp - 0x28], 0x322c
mov dword [ebp - 0x40], eax
cdq
lea ecx, [ebp - 0x78]
push edx
push eax
call fcn.10001a31
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100094a6
mov eax, dword [eax]
push eax
call fcn.1004b616
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x78]
call fcn.1000230b
mov eax, dword [ebp - 0x40]
add eax, edi
dec dword [ebp - 0x28]
mov dword [ebp - 0x40], eax
jne 0x10009491
inc edi
cmp edi, 0x121c
jl 0x10009485
or edi, 0xffffffff
cmp dword [ebp - 0x48], 0x52c8
jge 0x100094e4
push str.uycpke_szusqa_wbwijd_aqzc_rvkxtgvyv_kcrfor_ruzrgtrj_pinl_hzffdaesv_yju_fkjlltf_gzhmnyc_sooibtm_tpwoi
call fcn.1004b616
pop ecx
mov dword [ebp - 4], edi
mov dword [ebp - 0x2c], 0xaf7cc73e
mov dword [ebp - 0x28], ebx
jmp 0x100094fd
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax*4 - 0x30], esi
inc dword [ebp - 0x28]
cmp dword [ebp - 0x28], esi
jl 0x100094f3
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, dword [ebp - 0x18]
setle dl
xor ecx, ecx
cmp eax, edx
setg cl
cmp ecx, 0x69a22db7
je 0x10009524
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], ebx
je 0x100095e8
mov dword [ebp - 0x28], esi
xor ebx, ebx
mov dword [ebp - 0x48], 0x9918c6a8
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x18], 2
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x30]
add ecx, eax
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x28]
setge bl
xor edx, edx
cmp eax, edi
mov eax, dword [ebp - 0x18]
setg dl
xor ecx, ecx
add edx, ebx
cmp eax, edx
setne cl
xor edx, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
setne dl
add ecx, edx
xor ebx, ebx
mov edx, dword [ebp - 0x1c]
cmp ecx, eax
mov eax, dword [ebp - 0x2c]
setle bl
xor ecx, ecx
imul edx, ebx
cmp edx, eax
setne cl
cmp ecx, dword [ebp - 0x2c]
jne 0x100095b2
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
neg ecx
push esi
sbb ecx, ecx
inc ecx
add eax, ecx
xor ecx, ecx
cmp eax, edi
push 0x50e
setne cl
xor dl, dl
imul ecx, dword [ebp - 0x28]
mov dword [ebp - 0x48], ecx
mov ecx, 0x15f2
call fcn.100047e5
pop ecx
pop ecx
xor ebx, ebx
jmp 0x100095ff
lea eax, [ebp - 0x1c]
xor cl, cl
push eax
push 0x2deb
push esi
lea edx, [ebp - 0x2c]
call fcn.10007595
add esp, 0xc
mov eax, dword [ebp - 0x2c]
dec dword [ebp - 0x20]
jmp 0x10009462
push ecx
push ebx
call fcn.10004d1f
mov eax, dword [ebp - 0x38]
mov dl, 0xd3
pop ecx
pop ecx
mov cl, byte [ebp + eax - 0x3c]
call fcn.10011297
mov ecx, dword [ebp - 0x38]
lea edx, [ebp - 0x3c]
mov byte [ecx + edx], al
inc ecx
mov dword [ebp - 0x38], ecx
jmp 0x10009448
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3c]
mov dword [ecx], eax
jmp 0x10009682
cmp byte [ebp + 0xc], 0
je 0x10009667
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x10009682
push 0x66af
push ecx
push 1
mov edx, 0x5c0c
mov ecx, 0x23b2
call fcn.10004a08
add esp, 0xc
jmp 0x10009682
mov edx, dword [ecx]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ecx]
mov eax, dword [eax]
mov ecx, dword [eax + ecx*4]
add ecx, dword [eax + edx*4]
xor edx, edx
mov eax, dword [ebp + 8]
test ecx, ecx
setg dl
mov dword [eax], edx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret