Function at 0x10002be1
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10061ebd
call fcn.10061878
sub esp, 0x3c
cmp byte [ebp + 8], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x2c], ecx
je 0x10002e3b
cmp byte [ebp + 0x10], 0
je 0x10002e32
mov dword [ebp - 0x24], 0x254f
cmp dword [ebp - 0x24], 0x4c2
jge 0x10002e17
lea eax, [ebp + 8]
xor ebx, ebx
push eax
push 0x1006aa74
mov dword [ebp + 8], ebx
call fcn.100494eb
pop ecx
mov esi, ebx
mov dword [ebp - 0x34], ebx
pop ecx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 4], ebx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], ebx
test eax, eax
jle 0x10002cea
mov dword [ebp - 0x28], ebx
mov edi, ebx
lea eax, [ebp - 0x28]
mov dword [ebp - 0x44], ebx
push eax
push ecx
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
call fcn.10005a5e
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x38]
call fcn.1000545e
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], bl
call fcn.100053c7
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], ebx
push eax
lea eax, [ebp - 0x14]
mov dword [ebp - 0x18], ebx
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], ebx
push eax
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x20], ebx
push eax
push str._d__d__d__d
call fcn.100494eb
mov esi, dword [ebp - 0x38]
add esp, 0x14
mov eax, dword [ebp - 0x1c]
mov ecx, dword [edi + esi]
mov dword [ecx], eax
mov ecx, dword [edi + esi]
mov eax, dword [ebp - 0x18]
mov dword [ecx + 4], eax
mov ecx, dword [edi + esi]
mov eax, dword [ebp - 0x14]
mov dword [ecx + 8], eax
mov ecx, dword [edi + esi]
lea edi, [edi + 0xc]
mov eax, dword [ebp - 0x20]
mov dword [ecx + 0xc], eax
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 8]
inc ecx
mov dword [ebp - 0x24], ecx
cmp ecx, eax
jl 0x10002c55
push eax
call fcn.10044c25
pop ecx
mov ecx, dword [ebp + 8]
mov edx, ebx
mov dword [ebp - 0x1c], eax
test ecx, ecx
jle 0x10002d09
mov byte [edx + eax], 1
inc edx
mov ecx, dword [ebp + 8]
cmp edx, ecx
jl 0x10002cfd
mov edx, ebx
test ecx, ecx
jle 0x10002db7
mov eax, esi
mov dword [ebp - 0x18], esi
mov edi, ebx
test ecx, ecx
jle 0x10002da5
mov eax, esi
mov dword [ebp - 0x14], esi
cmp edx, edi
je 0x10002d8c
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
mov eax, dword [ecx]
mov ecx, dword [esi]
mov esi, dword [ebp - 0x38]
mov eax, dword [eax]
cmp eax, dword [ecx]
mov ecx, dword [ebp + 8]
jge 0x10002d89
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
mov eax, dword [ecx]
mov ecx, dword [esi]
mov esi, dword [ebp - 0x38]
mov eax, dword [eax + 4]
cmp eax, dword [ecx + 4]
mov ecx, dword [ebp + 8]
jge 0x10002d89
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
mov eax, dword [ecx]
mov ecx, dword [esi]
mov esi, dword [ebp - 0x38]
mov eax, dword [eax + 8]
cmp eax, dword [ecx + 8]
mov ecx, dword [ebp + 8]
jge 0x10002d89
mov ecx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
mov eax, dword [ecx]
mov ecx, dword [esi]
mov esi, dword [ebp - 0x38]
mov eax, dword [eax + 0xc]
cmp eax, dword [ecx + 0xc]
mov ecx, dword [ebp + 8]
jl 0x10002d99
mov eax, dword [ebp - 0x14]
inc edi
add eax, 0xc
mov dword [ebp - 0x14], eax
cmp edi, ecx
jl 0x10002d27
jmp 0x10002da2
mov eax, dword [ebp - 0x1c]
mov byte [edx + eax], bl
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
inc edx
add eax, 0xc
mov dword [ebp - 0x18], eax
cmp edx, ecx
jl 0x10002d18
mov eax, dword [ebp - 0x1c]
or edi, 0xffffffff
test ecx, ecx
jle 0x10002de5
mov edx, esi
mov esi, 0xc2
cmp byte [ebx + eax], 0
je 0x10002dda
mov eax, dword [edx]
cmp dword [eax + 0xc], esi
jge 0x10002dd7
mov esi, dword [eax + 0xc]
mov edi, ebx
mov eax, dword [ebp - 0x1c]
inc ebx
add edx, 0xc
cmp ebx, ecx
jl 0x10002dc5
mov esi, dword [ebp - 0x38]
lea eax, [edi + 1]
push eax
push 0x1006af60
call fcn.100497ec
pop ecx
pop ecx
test esi, esi
je 0x10002e17
mov ebx, dword [ebp - 0x34]
mov edi, esi
cmp esi, ebx
je 0x10002e10
mov ecx, edi
call fcn.100053c7
add edi, 0xc
cmp edi, ebx
jne 0x10002e02
push esi
call fcn.100499b9
pop ecx
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [eax]
add dword [ecx], eax
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
mov dword [edx], eax
jmp 0x10002e21
cmp byte [ebp + 0x14], 0
je 0x10002e49
mov eax, dword [ebp + 0xc]
and dword [eax], 0
jmp 0x10002e21
mov eax, dword [ebp + 0x1c]
cmp byte [eax], 0
je 0x10002e21
mov dword [ebp - 0x24], 0x347f
xor ebx, ebx
cmp dword [ebp - 0x24], 0x3723
jle 0x10002e90
mov esi, ebx
mov edi, ebx
mov eax, edi
mov ecx, 0x1007d818
xor eax, esi
cdq
push edx
push eax
call fcn.1000513b
inc edi
cmp edi, 0x29c7
jl 0x10002e67
inc esi
cmp esi, 0x5cec
jl 0x10002e65
call dword [sym.imp.USER32.dll_CreatePopupMenu]
push ebx
push 0x59a
push ebx
push 0x2675
call dword [sym.imp.GDI32.dll_SetWinMetaFileBits]
mov dword [ebp - 4], 2
cmp dword [ebp - 0x24], 0x331e
jge 0x10002e21
mov edx, str.rdw_mdlivqy_hrnvzokj_gfzlk_xvfjil_enhlz_khdu
mov ecx, 0x1007d818
call fcn.100077d7
jmp 0x10002e21