Function at 0x42eb30
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x7c
mov eax, dword [0x451adc]
mov dword [esp + 0x18], 0x91dd9ffb
mov dword [esp + 0x1c], 0x95029300
mov dword [esp + 0x20], 0x893597d0
mov dword [esp + 0x24], 0x8d298b1c
mov dword [esp + 0x28], 0x81228feb
mov dword [esp + 0x2c], 0x8513833e
mov dword [esp + 0x30], 0xf9218710
mov dword [esp + 0x34], 0xfd59fb68
mov dword [esp + 0x38], 0xf1a3ff58
mov dword [esp + 0x3c], 0xf55ef3ad
mov dword [esp + 0x40], 0xe951f761
mov dword [esp + 0x44], 0xed7feb7d
mov dword [esp + 0x48], 0xe17fef77
mov dword [esp + 0x4c], 0xe5bce37e
mov dword [esp + 0x50], 0xd979e76c
mov dword [esp + 0x54], 0xdddadb44
mov dword [esp + 0x58], 0
mov ecx, 0x867cb1a5
mov edx, 0x79834e5a
nop
nop
movzx esi, byte [esp + ecx + 0x79834e73]
mov edi, edx
and edi, 0x49810408
mov ebx, ecx
and ebx, 0x8614b3f7
or ebx, edi
xor ebx, esi
mov esi, ebx
and esi, 0x61083c4
mov edi, ebx
and edi, 2
mov ebp, edi
xor ebp, 2
imul ebp, esi
or esi, 2
imul esi, edi
xor ebx, 0x167983ce
add ebx, ebp
add ebx, esi
mov esi, ebx
not esi
or esi, 1
add esi, ebx
inc esi
mov ebp, esi
and ebp, 2
mov edi, esi
or esi, 2
imul esi, ebp
xor ebp, 2
and edi, 0xfd
imul edi, ebp
xor ebx, 1
add ebx, esi
add ebx, edi
mov byte [esp + ecx + 0x79834e73], bl
inc ecx
dec edx
cmp ecx, 0x867cb1e9
jne 0x42ebd0
lea edx, [esp + 0x74]
lea ecx, [esp + 0x18]
push edx
push 0
push 0
push 0x1f
push ecx
push 0
call eax
mov edi, dword [esp + 0x74]
test edi, edi
jns 0x42ec6f
mov eax, 0xffffffff
jmp 0x42ec72
lea eax, [edi + edi]
push eax
call fcn.0040c650
add esp, 4
mov dword [esp + 0x68], eax
mov eax, dword [0x451adc]
mov dword [esp], eax
mov dword [esp + 0x18], 0x518d4f6b
mov dword [esp + 0x1c], 0x55a253a0
mov dword [esp + 0x20], 0x59b55790
mov dword [esp + 0x24], 0x5db95bac
mov dword [esp + 0x28], 0x61825f7b
mov dword [esp + 0x2c], 0x659363ae
mov dword [esp + 0x30], 0x69816790
mov dword [esp + 0x34], 0x6d896b98
mov dword [esp + 0x38], 0x71436f88
mov dword [esp + 0x3c], 0x75ae735d
mov dword [esp + 0x40], 0x79917781
mov dword [esp + 0x44], 0x7d8f7b8d
mov dword [esp + 0x48], 0x18f7f97
mov dword [esp + 0x4c], 0x52c03ee
mov dword [esp + 0x50], 0x9e907fc
mov dword [esp + 0x54], 0xd0a0be4
mov dword [esp + 0x58], 0
mov ecx, 0x7a63fb0d
mov edx, 0x19c04f2
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0x7a63faf5]
mov esi, edx
and esi, 0x1940428
mov ebp, ecx
and ebp, 0x4a0303d7
or ebp, esi
xor ebp, ebx
xor ebp, 0x31f4fc28
lea esi, [edx - 0x7c000000]
or esi, ebp
mov ebp, esi
not ebp
mov eax, ebp
and eax, 0x4a0303fd
and esi, 2
imul esi, eax
mov eax, ebp
and eax, 2
or ebp, 2
imul ebp, eax
sub ebx, esi
sub ebx, ebp
add ebx, ecx
mov ebp, ebx
and ebp, 0x9c0c18bc
mov eax, ebx
and eax, 2
mov esi, eax
xor esi, 2
imul esi, ebp
or ebp, 2
imul ebp, eax
add ebp, esi
xor ebx, 0x9c0c18be
mov eax, ebp
and eax, ebx
xor ebx, ebp
lea eax, [ebx + eax*2]
inc al
mov byte [esp + ecx - 0x7a63faf5], al
inc ecx
dec edx
cmp ecx, 0x7a63fb51
jne 0x42ed20
lea eax, [esp + 0x74]
push eax
push edi
mov esi, dword [esp + 0x70]
push esi
push 0x1f
lea ebx, [esp + 0x28]
push ebx
push 0
call dword [esp + 0x18]
lea eax, [esp + 0x60]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00445820
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44ded0]