Function at 0x1000bf39
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1005fa9a
call fcn.1005f130
sub esp, 0x34
cmp byte [ebp + 0x14], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
je 0x1000c028
cmp byte [ecx], 0
je 0x1000bf7a
push 0x7538
push 0x1287
push ecx
push 0x5491
push 0x6581
mov dl, 1
call fcn.1000b753
add esp, 0x14
mov dword [ebp - 0x20], 0x7460
cmp dword [ebp - 0x20], 0x74d7
jle 0x1000bfed
xor esi, esi
mov dword [ebp - 0x1c], esi
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], esi
mov ecx, edi
xor ebx, ebx
sar esi, cl
mov dword [ebp - 0x14], esi
mov ecx, ebx
mov dword [ebp - 0x24], esi
xor edi, edi
shl esi, cl
mov eax, esi
mov ecx, 0x1007bf18
xor eax, edi
cdq
push edx
push eax
call fcn.1000448f
inc edi
cmp edi, 0x2f3e
jl 0x1000bfa9
mov esi, dword [ebp - 0x14]
inc ebx
cmp ebx, 0x2f40
jl 0x1000bfa0
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x1c]
inc edi
mov dword [ebp - 0x18], edi
cmp edi, 0x1f9f
jl 0x1000bf94
inc esi
mov dword [ebp - 0x1c], esi
cmp esi, 0x5d13
jl 0x1000bf8f
and dword [ebp - 4], 0
cmp dword [ebp - 0x20], 0x7150
jge 0x1000c009
mov edx, str.rmsvcudk_khrefzfen_lzj_buiypuei_ujiy_ppij_rtnx_rnnrzihe_jmptftnkw_ifhscnq_wef
mov ecx, 0x1007bf18
call fcn.10006900
jmp 0x1000c181
mov dword [ebp - 0x20], 0x6e7b
cmp dword [ebp - 0x20], 0x6ebd
jle 0x1000c079
xor esi, esi
xor edi, edi
lea eax, [edi + esi]
cdq
lea ecx, [ebp - 0x3c]
push edx
push eax
call fcn.10001a75
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000c054
mov eax, dword [eax]
push eax
call fcn.10048743
pop ecx
push 0
push 1
lea ecx, [ebp - 0x3c]
call fcn.10004a80
inc edi
cmp edi, 0x5671
jl 0x1000c03c
inc esi
cmp esi, 0x5ded
jl 0x1000c03a
cmp dword [ebp - 0x20], 0x6de9
jge 0x1000c08d
push str.tvrtyvnr_scutdb_hmvgt
call fcn.10048743
pop ecx
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x1c], 0x69c7
cmp dword [ebp - 0x1c], 0x6d35
jle 0x1000c0e5
xor esi, esi
mov dword [ebp - 0x20], esi
xor edi, edi
and dword [ebp - 0x24], 0
mov ebx, edi
and ebx, esi
mov esi, dword [ebp - 0x24]
mov eax, ebx
mov ecx, 0x1007bf18
xor eax, esi
cdq
push edx
push eax
call fcn.1000448f
inc esi
cmp esi, 0x1b58
jl 0x1000c0b3
mov esi, dword [ebp - 0x20]
inc edi
cmp edi, 0x6a62
jl 0x1000c0a8
inc esi
mov dword [ebp - 0x20], esi
cmp esi, 0x7ada
jl 0x1000c0a6
mov dword [ebp - 4], 4
cmp dword [ebp - 0x1c], 0x66a3
jge 0x1000c104
mov edx, str.cozqa_gheplkba_mfomk_sgudn_yhrqimbt_noephvurl
mov ecx, 0x1007bf18
call fcn.10006900
mov esi, dword [ebp + 0x20]
mov dword [esi], 0
cmp dword [esi], 3
jg 0x1000c181
mov ebx, dword [ebp + 0x24]
mov edi, dword [ebp + 0x10]
mov ecx, dword [edi]
mov eax, dword [ebx]
cmp dword [eax + ecx*4], 0
jne 0x1000c145
cmp dword [edi], 0
jne 0x1000c145
xor edx, edx
jmp 0x1000c148
xor edx, edx
inc edx
mov eax, dword [ebp + 0x18]
xor ecx, ecx
mov eax, dword [eax]
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
cmp eax, 0xfffffff9
mov eax, dword [ebp + 8]
setg cl
imul ecx, edx
xor edx, edx
mov eax, dword [eax]
cmp ecx, eax
mov eax, dword [ebp + 8]
setne dl
xor ecx, ecx
mov eax, dword [eax]
cmp edx, eax
mov eax, dword [ebp + 0x28]
setge cl
mov dword [eax], ecx
inc dword [esi]
cmp dword [esi], 3
jle 0x1000c118
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret