Function at 0x42b8a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xf4
mov dword [esp + 0x10], 0xc9b5cb97
mov dword [esp + 0x14], 0xc556c758
mov dword [esp + 0x18], 0xc15dc3b8
mov dword [esp + 0x1c], 0xfd61ff4c
mov dword [esp + 0x20], 0xf9fafba7
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
mov ecx, 0xd3
mov edx, 0x2c
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0xc3]
lea esi, [ebx + ebx]
not esi
add esi, ebx
or esi, edx
or ebx, ecx
and ebx, esi
add bl, 0xe1
mov byte [esp + ecx - 0xc3], bl
inc ecx
dec edx
cmp ecx, 0xeb
jne 0x42b8f0
lea esi, [esp + 0xca]
lea edx, [esp + 0x10]
mov edi, esi
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xde]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x74]
push edi
push 0
push 0
push 9
push esi
push 0
call dword [0x44fe7c]
mov ebx, dword [esp + 0x74]
test ebx, ebx
jns 0x42b962
mov eax, 0xffffffff
jmp 0x42b965
lea eax, [ebx + ebx]
push eax
call fcn.0040cbd0
add esp, 4
push edi
push ebx
mov dword [esp + 0x58], eax
push eax
push 9
push esi
push 0
call dword [0x44fe7c]
mov dword [esp + 0x10], 0x73eb710c
mov dword [esp + 0x14], 0x6f0d6dff
mov dword [esp + 0x18], 0x6bf869ff
mov dword [esp + 0x1c], 0x676665f8
mov word [esp + 0x20], 0
mov eax, 0xffffffee
mov ecx, 0x4fcd0013
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x22]
lea edi, [eax - 0x4fcd0002]
mov esi, edi
and esi, edx
add esi, esi
sub esi, edx
add esi, ecx
and esi, edi
mov ebx, esi
and ebx, 2
mov ebp, esi
or ebp, 0xfffffffd
inc ebp
mov edi, esi
and edi, 0xb033fffd
imul edi, ebp
or esi, 2
imul esi, ebx
add edi, edx
sub edi, esi
lea edx, [eax + edi]
add edx, 0xb032fffe
mov esi, edx
xor esi, 0x70feff9c
mov ebx, edx
or ebx, 0x8f010063
and ebx, esi
and edx, 0x8f010063
sub edi, edx
lea edx, [eax + edi]
add edx, 0x3f340061
mov esi, ebx
and esi, edx
xor ebx, edx
lea edx, [ebx + esi*2]
inc dl
mov byte [esp + eax + 0x22], dl
dec ecx
inc eax
jne 0x42b9c0
lea edi, [esp + 0x9e]
lea eax, [esp + 0x10]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xae]
xor edx, edx
lea eax, [esp + 0x20]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x10], 0x69056b20
mov dword [esp + 0x14], 0x6d0b6f1d
mov dword [esp + 0x18], 0x7104731d
mov dword [esp + 0x1c], 0x75337714
mov dword [esp + 0x20], 0x79087b13
mov dword [esp + 0x24], 0x7d087f1f
mov dword [esp + 0x28], 0x81828303
lea esi, [esp + 0x2c]
mov word [esp + 0x2c], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 0x10]
mov ebx, edx
and ebx, 0xe
mov eax, ecx
xor eax, 0x4537e867
add eax, ebx
xor eax, edi
mov edi, eax
and edi, 1
mov ebx, 3
sub ebx, eax
or eax, 0xfe
or ebx, 1
and ebx, eax
not ebx
lea eax, [ebx + edi*2]
mov byte [esp + ecx + 0x10], al
inc ecx
add edx, 2
cmp ecx, 0x1e
jne 0x42bab0
lea edi, [esp + 0xae]
lea eax, [esp + 0x10]
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xca]
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 0x10], 0xf96dfb30
mov dword [esp + 0x14], 0xe50be765
mov dword [esp + 0x18], 0xe17ce375
mov dword [esp + 0x1c], 0xed1eef0c
mov dword [esp + 0x20], 0xe924eb10
lea eax, [esp + 0x24]
mov dword [esp + 8], eax
mov word [esp + 0x24], 0x97e8
mov dword [esp + 0x26], 0
mov ebx, 0xf2c442b
mov ecx, 0x70d3bbd4
nop
nop
nop
nop
nop
nop
mov dword [esp], ecx
movzx ebp, byte [esp + ebx - 0xf2c441b]
lea edi, [ebp*2]
not edi
add edi, ebp
mov edx, dword [esp]
and edx, 0x400332f5
mov ecx, ebx
and ecx, 0x72c400a
or ecx, edx
xor ecx, ebp
lea edx, [ebx - 0xf2c4400]
and edx, ebp
not ebp
and ebp, edi
mov eax, dword [esp]
lea esi, [eax - 0x80000000]
mov eax, ebx
and eax, 0xf24446e
mov edi, esi
and edi, 0x40000211
or edi, eax
xor edi, ebp
xor edi, 0xf2774ee
and ebp, esi
or ebp, edi
xor ecx, 0x480336f5
or edx, ecx
and edx, ebp
mov eax, edx
and eax, 0x28
xor edx, 0x28
lea eax, [edx + eax*2]
mov ecx, dword [esp]
inc al
mov byte [esp + ebx - 0xf2c441b], al
inc ebx
dec ecx
cmp ebx, 0xf2c4445
jne 0x42bb60
lea esi, [esp + 0xde]
lea eax, [esp + 0x10]
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xf2]
mov ecx, 1
mov eax, dword [esp + 8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [esp + 0x9e]
mov dword [esp + 0x90], eax
lea eax, [esp + 0xae]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], esi
mov edi, dword [esp + 0x50]
mov eax, edi
add eax, 2
mov dword [esp + 0x7c], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x60], 0
cmp ecx, 0xc
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x44be54]