Function at 0x10042fcf
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10063e40
call fcn.100628e0
sub esp, 0x88
push ebx
push esi
push edi
mov dword [ebp - 0x34], 0x1de1
mov ebx, ecx
cmp dword [ebp - 0x34], 0x2027
push 0
mov dword [ebp - 0x30], ebx
pop eax
jle 0x1004305f
mov esi, eax
mov dword [ebp - 0x14], eax
mov edi, eax
mov ebx, eax
mov eax, edi
xor eax, esi
mov dword [ebp - 0x24], eax
mov esi, eax
mov eax, esi
lea ecx, [ebp - 0x7c]
or eax, ebx
cdq
push edx
push eax
call fcn.100019c5
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10043025
mov eax, dword [eax]
push eax
call fcn.1004d87c
pop ecx
push 0
push 1
lea ecx, [ebp - 0x7c]
call fcn.1000d197
inc ebx
cmp ebx, 0x51cb
jl 0x1004300c
mov esi, dword [ebp - 0x14]
inc edi
push 0
pop eax
cmp edi, 0x23c4
jl 0x10043001
inc esi
mov dword [ebp - 0x14], esi
cmp esi, 0x4e8e
jl 0x10042fff
mov ebx, dword [ebp - 0x30]
cmp dword [ebx + 0x10], eax
je 0x10043235
mov word [ebp - 0x20], 0x2601
mov byte [ebp - 0x1e], al
mov dword [ebp - 0x1d], 0xab22046e
mov word [ebp - 0x19], 0x4de4
mov dword [ebp - 0x24], 0x573e
cmp dword [ebp - 0x24], 0x576e
jle 0x100430de
mov esi, eax
mov edi, eax
mov ebx, eax
mov ecx, eax
mov dword [ebp - 0x14], eax
mov eax, ebx
sar eax, cl
mov ecx, 0x1007bbb8
and eax, edi
xor eax, esi
cdq
push edx
push eax
call fcn.1000cbc0
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, 0x634e
jl 0x10043099
inc ebx
push 0
pop eax
cmp ebx, 0x14ed
jl 0x10043094
inc edi
cmp edi, 0x720a
jl 0x10043092
inc esi
cmp esi, 0x2935
jl 0x10043090
mov ebx, dword [ebp - 0x30]
cmp dword [ebp - 0x24], 0x569f
push 0x5f
pop eax
mov word [ebp - 0x2a], ax
jge 0x100430fd
mov edx, str.hjwvvbr_fmgodit_ykk_tagtvlhdn_bxxqj_ovelf_xufm_aikh
mov ecx, 0x1007bbb8
call fcn.1000ee07
push 2
xor edi, edi
pop esi
mov ecx, edi
cmp esi, 4
jne 0x10043111
push 5
pop ecx
push 7
pop esi
jmp 0x10043138
movzx edx, byte [ebp + esi - 0x1f]
mov eax, esi
sub eax, ecx
movzx eax, byte [ebp + eax - 0x22]
movzx eax, word [ebp + eax*2 - 0x2c]
mov ecx, eax
and eax, edx
or ecx, edx
sub ecx, eax
movzx eax, byte [ebp + esi - 0x20]
mov word [ebp + eax*2 - 0x2c], cx
mov ecx, edi
add esi, 2
cmp esi, 9
jb 0x10043104
xor eax, eax
mov dword [ebp - 0x38], 7
mov word [ebp - 0x28], ax
lea ecx, [ebp - 0x4c]
mov word [ebp - 0x4c], ax
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x3c], edi
call fcn.1000d283
push ebx
lea edx, [ebp - 0x4c]
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x94]
call fcn.100433c9
pop ecx
mov edx, eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x64]
call fcn.100412a6
push edi
push 1
lea ecx, [ebp - 0x94]
call fcn.1000d3a5
push edi
push 1
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 4
call fcn.1000d3a5
mov dword [ebp - 0x2c], edi
mov esi, 0xaed8
mov word [ebp - 0x28], di
cmp dword [ebp - 0x50], 8
lea eax, [ebp - 0x64]
cmovae eax, dword [ebp - 0x64]
push eax
push edi
push edi
push esi
push 0xa6e6
call fcn.1003fb46
pop ecx
pop ecx
call eax
mov dword [ebx + 0x18], eax
test eax, eax
je 0x10043226
push 0xffffffffffffffff
push eax
push esi
push 0x8325
call fcn.1003fb46
pop ecx
pop ecx
call eax
cmp eax, 0x80
je 0x1004322a
test eax, eax
je 0x1004322a
push dword [ebx + 0x18]
push esi
push 0x3f9c
call fcn.1003fb46
pop ecx
pop ecx
call eax
mov dword [ebx + 0x18], edi
push 0x12c
push esi
push 0x773a
call fcn.1003fb46
pop ecx
pop ecx
call eax
push eax
push esi
push 0x8325
call fcn.1003fb46
pop ecx
pop ecx
call eax
jmp 0x100431aa
push 0x64
jmp 0x10043205
push edi
push 1
lea ecx, [ebp - 0x64]
call fcn.1000d3a5
cmp dword [ebp - 0x34], 0x1d81
jge 0x10043249
push str.aiiuuvae_yibkdqol_mpmi_vdbk_gekdh_iwpjlgdqg_nnef_nbkatrr_xnkafbdt_fbryobcpe_kap_bojsx_phodwum_nevqgh
call fcn.1004d87c
pop ecx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret