Function at 0x42cd40
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xf4
mov dword [esp + 4], 0x21e527db
mov dword [esp + 8], 0x3d922390
mov dword [esp + 0xc], 0x399d3fe0
mov dword [esp + 0x10], 0x35993bb4
mov dword [esp + 0x14], 0x313637cb
lea eax, [esp + 0x18]
mov byte [esp + 0x18], 0
xor ecx, ecx
nop
nop
nop
movzx esi, byte [esp + ecx + 4]
lea edx, [ecx + 0x1e9cc449]
mov edi, 0xb6
sub edi, ecx
and edi, 0xad
mov ebx, edx
and ebx, 0x52
or ebx, edi
xor ebx, edx
xor ebx, 0x52
and ebx, esi
xor ebx, edx
add bl, 0x93
mov byte [esp + ecx + 4], bl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 0x15
jb 0x42cd80
lea esi, [esp + 0xae]
lea edx, [esp + 4]
mov edi, esi
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xc2]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x64]
push edi
push 0
push 0
push 9
push esi
push 0
call dword [0x450b14]
mov ebx, dword [esp + 0x64]
test ebx, ebx
jns 0x42ce08
mov eax, 0xffffffff
jmp 0x42ce0b
lea eax, [ebx + ebx]
push eax
call fcn.0040ce70
add esp, 4
push edi
push ebx
mov dword [esp + 0x4c], eax
push eax
push 9
push esi
push 0
call dword [0x450b14]
mov dword [esp + 4], 0x611d6738
mov dword [esp + 8], 0x7d1f63ed
mov dword [esp + 0xc], 0x790c7f0d
mov dword [esp + 0x10], 0x757a7b04
lea edx, [esp + 0x14]
mov word [esp + 0x14], 0
mov eax, 0xacf8cb69
mov ecx, 0x96
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax + 0x5307349b]
lea esi, [ebx + ebx]
not esi
add esi, ebx
and esi, eax
and ebx, ecx
or ebx, esi
mov esi, ebx
xor esi, 0xe
and ebx, 0x71
add ebx, ebx
sub ebx, esi
inc bl
mov byte [esp + eax + 0x5307349b], bl
inc eax
dec ecx
cmp eax, 0xacf8cb7b
jne 0x42ce60
lea eax, [esp + 0x9e]
lea esi, [esp + 4]
mov ecx, 4
mov edi, eax
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
lea edi, [esp + 0xae]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 4], 0x33ab318c
mov dword [esp + 8], 0x2f8d2dbf
mov dword [esp + 0xc], 0x2bb829bf
mov dword [esp + 0x10], 0x276525b8
mov dword [esp + 0x14], 0x23b42181
mov dword [esp + 0x18], 0x1f8c1dbd
mov dword [esp + 0x1c], 0x1b1a1991
lea esi, [esp + 0x20]
mov word [esp + 0x20], 0
mov ecx, 0xfaf1b78c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx + 0x50e4878]
mov edi, ecx
and edi, edx
add edi, edi
sub edx, edi
add edx, ecx
mov edi, edx
and edi, 0x43
xor edx, 0x43
lea edx, [edx + edi*2]
inc dl
mov byte [esp + ecx + 0x50e4878], dl
inc ecx
cmp ecx, 0xfaf1b7aa
jne 0x42cf10
lea edx, [esp + 0xd8]
lea ebx, [esp + 4]
mov ecx, 7
mov edi, edx
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea edi, [esp + 0xf4]
xor ebp, ebp
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 4], 0x812d8748
mov dword [esp + 8], 0x8d2f833d
mov dword [esp + 0xc], 0x893c8f3d
mov dword [esp + 0x10], 0x955a8b24
mov dword [esp + 0x14], 0x91549748
lea ebx, [esp + 0x18]
mov dword [esp + 0x18], 0x9390
mov byte [esp + 0x1c], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ebp + 4]
lea edi, [ebp + 0xe1]
mov ecx, 0x1e
sub ecx, ebp
xor ecx, edi
and ecx, esi
xor ecx, edi
add cl, 0x9b
mov byte [esp + ebp + 4], cl
mov ecx, ebp
and ecx, 1
xor ebp, 1
lea ebp, [ebp + ecx*2]
cmp ebp, 0x19
jb case.default.0x42d03f
lea esi, [esp + 0xc2]
lea ebp, [esp + 4]
mov edi, esi
mov ecx, 5
xchg esi, ebp
rep movsd dword es:[edi], dword [esi]
xchg esi, ebp
lea edi, [esp + 0xd6]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
mov dword [esp + 0x98], esi
mov eax, dword [esp + 0x44]
add eax, 2
mov dword [esp + 0x6c], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x50], 0
cmp ecx, 0xc
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x44ccf8]