Function at 0x42c6e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x7c
mov dword [ebp - 0x74], ecx
mov ecx, 0x1f7a8632
mov eax, dword [0x4ae2c0]
xor eax, ebp
cmp byte [ebp + 0xc], 0
mov dword [ebp - 0x10], eax
mov eax, 0xa75038e9
cmovne ecx, eax
mov eax, 0xe134215b
mov dword [ebp - 0x70], ecx
jmp 0x42c760
mov eax, dword [ebp - 0x5c]
mov edi, 0x3b8add6
mov esi, 0xf57e56a3
mov dword [ebp - 0x68], eax
mov eax, dword [0x4afeb0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xf57e56a3
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x4afeac], 0xa
setl dl
cmovge eax, esi
xor dl, cl
cmovne eax, edi
nop word cs:[eax + eax]
cmp eax, 0xefef9211
jle 0x42c7d0
cmp eax, 0x39db3b6a
jle 0x42c870
cmp eax, 0x565e0894
jg 0x42c8e6
cmp eax, 0x39db3b6b
je 0x42c9e5
cmp eax, 0x4744b465
je 0x42c9ef
cmp eax, 0x544bc94a
jne 0x42c760
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x64]
vmovups ymm0, ymmword [eax]
vmovups ymm1, ymmword [eax + 0xc]
vmovups ymmword [ecx + 0xc], ymm1
vmovups ymmword [ecx], ymm0
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
mov eax, 0x82876757
jmp 0x42c760
cmp eax, 0xcf008b5e
jle 0x42c8b0
cmp eax, 0xe5ca7278
jle 0x42c911
cmp eax, 0xe5ca7279
je 0x42ca11
cmp eax, 0xeaac43cb
je 0x42ca27
cmp eax, 0xef0930e0
jne 0x42c760
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x58]
vzeroupper
call fcn.0042d410
mov ecx, dword [ebp - 0x58]
mov dword [ecx], eax
mov eax, dword [ebp - 0x48]
push dword [ebp - 0x48]
call fcn.0043c5f0
add esp, 4
mov eax, dword [ebp - 0x40]
mov dword [eax + 8], 0
mov eax, dword [ebp - 0x40]
mov dword [eax + 0x10], 0
mov eax, dword [ebp - 0x40]
mov dword [eax + 0x14], 0
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov eax, dword [ebp - 0x54]
push dword [ebp - 0x54]
call fcn.0043c5f0
add esp, 4
mov eax, dword [ebp - 0x70]
jmp 0x42c760
cmp eax, 0x3b8add5
jle 0x42c94d
cmp eax, 0x3b8add6
je 0x42ca3d
cmp eax, 0xa90b495
je 0x42c711
cmp eax, 0x1f7a8632
jne 0x42c760
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
mov dword [ebp - 0x80], eax
mov eax, 0xeaac43cb
jmp 0x42c760
cmp eax, 0x98989dea
jle 0x42c9c2
cmp eax, 0x98989deb
je 0x42cad7
cmp eax, 0xa75038e9
je 0x42cb4e
cmp eax, 0xb739c83b
jne 0x42c760
mov eax, 0xefef9212
jmp 0x42c760
cmp eax, 0x565e0895
je 0x42cb5f
cmp eax, 0x6db26e18
je 0x42cb69
cmp eax, 0x7a7ff430
jne 0x42c760
mov eax, 0xef0930e0
jmp 0x42c760
cmp eax, 0xcf008b5f
je 0x42cb7c
cmp eax, 0xe134215b
jne 0x42ccf9
mov eax, dword [0x4afeb0]
mov edi, 0x98989deb
mov esi, 0x39db3b6b
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x39db3b6b
jmp 0x42c739
cmp eax, 0xefef9212
je 0x42cb9e
cmp eax, 0xf57e56a3
jne 0x42c760
push dword [ebp - 0x54]
push 0
push dword [ebp - 0x68]
vzeroupper
call fcn.0042d620
add esp, 0xc
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x54]
push dword [ebp - 0x48]
push 0
push str.false
call fcn.0042d620
add esp, 0xc
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0x10], eax
push dword [ebp - 0x48]
push 0
push str.true
call fcn.0042d620
add esp, 0xc
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x50]
mov dword [eax], 0
mov eax, 0x3b8add6
jmp 0x42c760
cmp eax, 0x82876757
je 0x42cbb3
cmp eax, 0x96bdebda
jne 0x42c760
mov eax, dword [ebp - 0x50]
mov eax, 0xe277c20c
jmp 0x42c760
mov eax, 0x98989deb
jmp 0x42c760
push dword [ebp - 0x48]
push 0
push 0x2c
vzeroupper
call fcn.0042d9d0
add esp, 0xc
mov ecx, dword [ebp - 0x40]
mov byte [ecx + 0xd], al
mov eax, 0xb739c83b
jmp 0x42c760
cmp byte [ebp - 0x49], 0
mov eax, 0x544bc94a
mov ecx, 0xcf008b5f
cmovne eax, ecx
jmp 0x42c760
mov eax, dword [ebp - 0x80]
mov eax, dword [eax + 8]
mov dword [ebp - 0x84], eax
mov eax, 0x6db26e18
jmp 0x42c760
push dword [ebp - 0x54]
push 0
push dword [ebp - 0x68]
vzeroupper
call fcn.0042d620
add esp, 0xc
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x54]
push dword [ebp - 0x48]
push 0
push str.false
call fcn.0042d620
add esp, 0xc
mov ecx, dword [ebp - 0x40]
mov dword [ecx + 0x10], eax
push dword [ebp - 0x48]
push 0
push str.true
call fcn.0042d620
add esp, 0xc
mov ecx, dword [ebp - 0x40]
mov esi, 0xe5ca7279
mov edi, 0xf57e56a3
mov dword [ecx + 0x14], eax
mov eax, dword [ebp - 0x50]
mov dword [eax], 0
movzx eax, byte [ebp + 0xc]
mov byte [ebp - 0x49], al
mov eax, dword [0x4afeb0]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xf57e56a3
sete cl
cmove eax, esi
cmp dword [0x4afeac], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, esi
jmp 0x42c760
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
sub esp, 0x2c
mov eax, esp
mov dword [ebp - 0x48], eax
push eax
mov eax, esp
mov dword [ebp - 0x50], eax
sub esp, 0x2c
mov eax, esp
mov dword [ebp - 0x54], eax
sub esp, 0x2c
mov eax, esp
mov dword [ebp - 0x64], eax
mov esi, 0x7a7ff430
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x74]
mov dword [eax], ecx
mov edx, dword [0x4afeb0]
mov ecx, dword [0x4afeac]
lea eax, [edx + 1]
imul eax, edx
not eax
or eax, 0xfffffffe
cmp eax, 0xffffffff
sete dl
cmp ecx, 0xa
setl dh
xor dh, dl
mov edx, 0x39db3b6b
cmovne edx, esi
cmp eax, 0xffffffff
mov eax, edx
cmove eax, esi
cmp ecx, 0xa
cmovge eax, edx
jmp 0x42c760
mov dword [ebp - 0x5c], 0x4a3a44
mov eax, 0xa90b495
jmp 0x42c760
mov eax, 0xefef9212
jmp 0x42c760
mov ecx, dword [ebp - 0x84]
mov eax, 0xa90b495
mov dword [ebp - 0x5c], ecx
jmp 0x42c760
push dword [ebp - 0x48]
push 0
push 0x2e
vzeroupper
call fcn.0042d9d0
add esp, 0xc
mov ecx, dword [ebp - 0x40]
mov byte [ecx + 0xc], al
mov eax, 0x4744b465
jmp 0x42c760
mov ecx, dword [ebp - 0x50]
vzeroupper
call fcn.0042dcd0
mov eax, 0x96bdebda
jmp 0x42c760
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x88]
vmovups ymm0, ymmword [eax]
vmovups ymm1, ymmword [eax + 0xc]
lea eax, [ecx + 0xd]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], eax
mov eax, 0x9a7bfbc4
vmovups ymmword [ebp - 0x3c], ymm0
vmovups ymmword [ebp - 0x30], ymm1
cmp eax, 0xc2050924
jle 0x42cc40
cmp eax, 0xc2050925
je 0x42cc53
cmp eax, 0xddfbae6b
je 0x42cc66
cmp eax, 0x91f935c
jne 0x42cbe0
mov eax, dword [0x4afea8]
mov ebx, 0xddfbae6b
mov esi, 0xc2050925
lea ecx, [eax + 1]
imul ecx, eax
mov eax, 0xc2050925
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, ebx
cmp dword [0x4afea4], 0xa
setl dl
cmovge eax, esi
xor dl, cl
cmovne eax, ebx
jmp 0x42cbe0
cmp eax, 0x9a7bfbc4
je 0x42ccad
cmp eax, 0xad0b7d6d
jne 0x42cbe0
jmp 0x42ccef
movzx eax, byte [ebp - 0x41]
mov ecx, dword [ebp - 0x6c]
mov byte [ecx], al
mov eax, 0xddfbae6b
jmp 0x42cbe0
movzx eax, byte [ebp - 0x41]
mov ecx, dword [ebp - 0x6c]
mov esi, 0xad0b7d6d
mov ebx, 0xc2050925
mov byte [ecx], al
mov eax, dword [0x4afea8]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xc2050925
sete cl
cmove eax, esi
cmp dword [0x4afea4], 0xa
setl dl
cmovge eax, ebx
xor dl, cl
cmovne eax, esi
jmp 0x42cbe0
mov eax, dword [edi]
lea esi, [ebp - 0x3c]
movsx eax, byte [eax]
push esi
push 0
push eax
vzeroupper
call fcn.0042d9d0
add esp, 0xc
mov ecx, dword [ebp - 0x7c]
mov byte [ecx + 0xc], al
mov eax, dword [edi + 4]
movsx eax, byte [eax]
push esi
push 0
push eax
call fcn.0042d9d0
add esp, 0xc
mov byte [ebp - 0x41], al
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x6c], eax
mov eax, 0x91f935c
jmp 0x42cbe0
mov eax, 0x565e0895
jmp 0x42c760
cmp eax, 0xe277c20c
jne 0x42c760
mov eax, dword [ebp - 0x48]
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
vzeroupper
call fcn.00439c00
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 8