Function at 0x42a4b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x88
mov eax, dword [0x44f3c4]
mov dword [esp + 0x28], 0x33f3311d
mov dword [esp + 0x2c], 0x3fce3dcc
mov dword [esp + 0x30], 0x3bdb39f4
mov dword [esp + 0x34], 0xc727c538
mov dword [esp + 0x38], 0xc326c1ed
mov dword [esp + 0x3c], 0xcf39cd1a
mov dword [esp + 0x40], 0xcb27c934
mov dword [esp + 0x44], 0xd737d524
mov dword [esp + 0x48], 0xd3f9d13c
mov dword [esp + 0x4c], 0xdf3addf7
mov dword [esp + 0x50], 0xdb37d92b
mov dword [esp + 0x54], 0xe715e517
mov dword [esp + 0x58], 0xe315e109
mov dword [esp + 0x5c], 0xefd8ed1a
mov dword [esp + 0x60], 0xeb1fe910
mov dword [esp + 0x64], 0xf7f6f500
mov byte [esp + 0x68], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x40
ja 0x42a5c3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
lea esi, [edx + edx]
and esi, 0x32bd3ae8
mov edi, edx
not edi
or edi, 0x195e9d74
add edi, edx
sub edx, esi
lea esi, [edx + edi*2]
lea edx, [edx + edi*2]
add edx, 0x995e9d76
add esi, ecx
add esi, 0x995e9d76
and edx, ecx
mov ecx, esi
xor ecx, edx
add ecx, edx
not edx
and edx, esi
add edx, edx
sub edx, ecx
mov dword [esp + 4], edx
mov ecx, dword [esp + 4]
add cl, 0xbc
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x41
jb 0x42a560
lea esi, [esp + 0x84]
lea ecx, [esp + 0x28]
push esi
push 0
push 0
push 0x1f
push ecx
push 0
call eax
mov edi, dword [esp + 0x84]
test edi, edi
jns 0x42a5ec
mov eax, 0xffffffff
jmp 0x42a5ef
lea eax, [edi + edi]
push eax
call fcn.0040c690
add esp, 4
mov dword [esp + 0x18], eax
mov eax, dword [0x44f3c4]
mov dword [esp + 0x28], 0x13d3113d
mov dword [esp + 0x2c], 0x1f8e1d8c
mov dword [esp + 0x30], 0x1bfb19d4
mov dword [esp + 0x34], 0x7e70598
mov dword [esp + 0x38], 0x3e6012d
mov dword [esp + 0x3c], 0xf990dfa
mov dword [esp + 0x40], 0xbe70994
mov dword [esp + 0x44], 0x37d735a4
mov dword [esp + 0x48], 0x331931dc
mov dword [esp + 0x4c], 0x3fda3d17
mov dword [esp + 0x50], 0x3bd739ab
mov dword [esp + 0x54], 0x27b525b7
mov dword [esp + 0x58], 0x23b521c9
mov dword [esp + 0x5c], 0x2ff82dba
mov dword [esp + 0x60], 0x2bbf29b0
mov dword [esp + 0x64], 0xd7d6d540
mov dword [esp + 0x68], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x43
ja 0x42a703
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
lea ebx, [edx + edx]
and ebx, 0x3a905288
neg ebx
add ebx, edx
add ebx, 0x9d482944
mov ebp, edx
not ebp
or ebp, 0x1d482944
add ebp, edx
lea edx, [ebp*2 + 2]
mov ebp, ebx
and ebp, edx
xor ebx, edx
lea edx, [ebx + ebp*2]
lea ebx, [edx + ecx]
not ecx
or edx, ecx
sub ecx, edx
lea ecx, [ebx + ecx*2]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xac
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x44
jb 0x42a6a0
push esi
push edi
mov ebx, dword [esp + 0x20]
push ebx
push 0x1f
lea ecx, [esp + 0x38]
push ecx
push 0
call eax
lea eax, [esp + 0x70]
push 0x60
push 3
push 0x120089
push eax
push ebx
call fcn.00443030
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44b6ac]
cmpsd dword [esi], dword es:[edi]
inc edx
add byte [ebx - 0x59], dl
inc edx
add dl, cl
cmpsd dword [esi], dword es:[edi]
inc edx
add byte [ebp - 0x59], bh
inc edx
add byte [eax - 0x5effbd59], bh
test al, 0x42
add al, dl
test eax, 0xa7b80042
inc edx
add byte [0x400042aa], dl
stosb byte es:[edi], al
inc edx
add byte [eax - 0x54], al