Function at 0x42bba0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xec
mov dword [esp + 8], 0x1c5072b
mov dword [esp + 0xc], 0xdf203f0
mov dword [esp + 0x10], 0x9ed0fc0
mov dword [esp + 0x14], 0x15e90bf4
mov dword [esp + 0x18], 0x1116173b
lea ebp, [esp + 0x1c]
mov word [esp + 0x1c], 0
mov byte [esp + 0x1e], 0
mov edi, 0x367dc5c1
mov esi, 0xc9823a3e
nop
nop
nop
nop
movzx edx, byte [esp + edi - 0x367dc5b9]
mov ebx, edx
xor ebx, edi
or ebx, esi
mov eax, ebx
shr al, 1
and al, 1
mov ecx, ebx
not cl
mov ah, cl
and ah, 0x7d
mul ah
add al, al
sub dl, al
test bl, 2
sete al
or cl, 2
mul cl
add al, al
sub dl, al
movzx eax, dl
add eax, edi
add al, 0x3b
mov byte [esp + edi - 0x367dc5b9], al
inc edi
dec esi
cmp edi, 0x367dc5d8
jne 0x42bbf0
lea esi, [esp + 0xc2]
lea eax, [esp + 8]
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xd6]
xor ecx, ecx
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
lea edi, [esp + 0x64]
push edi
push 0
push 0
push 9
push esi
push 0
call dword [0x450c14]
mov ebx, dword [esp + 0x64]
test ebx, ebx
jns 0x42bc83
mov eax, 0xffffffff
jmp 0x42bc86
lea eax, [ebx + ebx]
push eax
call fcn.0040c8d0
add esp, 4
push edi
push ebx
mov dword [esp + 0x4c], eax
push eax
push 9
push esi
push 0
call dword [0x450c14]
mov dword [esp + 8], 0xe905eb20
mov dword [esp + 0xc], 0xed0bef1d
mov dword [esp + 0x10], 0xf104f31d
mov dword [esp + 0x14], 0xf5f6f714
lea eax, [esp + 0x18]
mov byte [esp + 0x18], 0
mov ecx, 0x6cda4ea7
nop
movzx edx, byte [esp + ecx - 0x6cda4e9f]
lea esi, [ecx - 0x6cda4e00]
and esi, edx
or edx, ecx
xor edx, esi
mov esi, edx
and esi, 1
or edx, 1
add edx, esi
add dl, 0xbc
mov byte [esp + ecx - 0x6cda4e9f], dl
inc ecx
cmp ecx, 0x6cda4eb8
jne 0x42bcd0
lea edi, [esp + 0x96]
lea edx, [esp + 8]
mov ecx, 4
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xa6]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 8], 0x178f1964
mov dword [esp + 0xc], 0x138d159b
mov dword [esp + 0x10], 0xf801183
mov dword [esp + 0x14], 0xb750d90
mov dword [esp + 0x18], 0x7940969
mov dword [esp + 0x1c], 0x38c0565
mov dword [esp + 0x20], 0x3f3e0189
lea eax, [esp + 0x24]
mov word [esp + 0x24], 0
mov ecx, 6
mov edx, 0x19
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
and esi, 0x17
mov ebx, ecx
and ebx, 0x28
or ebx, esi
xor bl, byte [esp + ecx + 2]
xor bl, 0x97
add bl, 0x62
mov byte [esp + ecx + 2], bl
inc ecx
dec edx
cmp ecx, 0x24
jne 0x42bd80
lea edi, [esp + 0xa6]
lea edx, [esp + 8]
mov ecx, 7
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xc2]
xor esi, esi
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 8], 0x9f77995c
mov dword [esp + 0xc], 0xa3459d6b
mov dword [esp + 0x10], 0xa750a153
mov dword [esp + 0x14], 0xab7aa540
mov dword [esp + 0x18], 0xaf68a97c
lea ebp, [esp + 0x1c]
mov word [esp + 0x1c], 0xadac
mov dword [esp + 0x1e], 0
mov ah, 0xda
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [esp + 4], ah
mov ebx, edx
not ebx
mov eax, edx
shr eax, 3
and ebx, 2
imul ebx, eax
shl al, 3
or al, 2
mov ah, dl
shr ah, 1
and ah, 1
mul ah
shl ebx, 3
mov ecx, esi
mov ah, cl
and ah, 0x34
sub bl, ah
mov ah, byte [esp + 4]
add al, al
add al, ah
add bl, al
xor bl, byte [esp + edx + 8]
add bl, 0xbe
mov byte [esp + edx + 8], bl
inc edx
inc ah
add ecx, 2
mov esi, ecx
cmp edx, 0x1a
jne 0x42be10
lea eax, [esp + 0xd6]
lea edx, [esp + 8]
mov edi, eax
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xea]
mov ecx, 1
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
lea ecx, [esp + 0x96]
mov dword [esp + 0x88], ecx
lea ecx, [esp + 0xa6]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
mov esi, dword [esp + 0x44]
mov eax, esi
add eax, 2
mov dword [esp + 0x70], eax
mov dword [esp + 0x58], 0
mov eax, dword [0x44cddc]
xor ecx, ecx
jmp 0x42bee0
jmp eax