Function at 0x42e7f0
Capabilities:
Encode data using xor

Disassembly:
add byte [eax], al
mov ecx, dword [esi + 0x7e8]
mov eax, dword [eax + ecx*4]
jmp eax
push ebp
push ebx
push edi
push esi
sub esp, 0xf0
mov dword [esp + 0xc], 0x591d5b3f
mov dword [esp + 0x10], 0x5dee5fe8
mov dword [esp + 0x14], 0x51f55318
mov dword [esp + 0x18], 0x55f157e4
mov dword [esp + 0x1c], 0xa9aaab2f
mov eax, 0x6f
mov ecx, 0x10
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x63]
mov edi, eax
and edi, esi
mov ebx, ecx
and ebx, 0x67
mov edx, eax
and edx, 0x98
or edx, ebx
xor edx, esi
xor edx, 0x98
or edx, edi
mov bl, 0xd4
sub bl, dl
mov byte [esp + eax - 0x63], bl
inc eax
dec ecx
cmp eax, 0x83
jne 0x42e830
lea esi, [esp + 0xc6]
lea eax, [esp + 0xc]
mov ecx, 5
mov edi, esi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xda]
lea eax, [esp + 0x20]
xor ebx, ebx
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 [0x453168]
mov ebp, dword [esp + 0x64]
test ebp, ebp
jns 0x42e8b0
mov eax, 0xffffffff
jmp 0x42e8b7
lea eax, [ebp*2]
push eax
call fcn.0040d330
add esp, 4
push edi
push ebp
mov edi, eax
push eax
push 9
push esi
push 0
call dword [0x453168]
mov dword [esp + 0xc], 0x36b0144
mov dword [esp + 0x10], 0x7650577
mov dword [esp + 0x14], 0xb780967
mov dword [esp + 0x18], 0xf0e0d68
lea eax, [esp + 0x1c]
mov dword [esp + 0x1c], 0
nop
nop
nop
nop
xor byte [esp + ebx + 0xc], bl
inc ebx
cmp ebx, 0x14
jne 0x42e900
mov dword [esp + 0x3c], edi
lea edi, [esp + 0x9a]
lea edx, [esp + 0xc]
mov ecx, 4
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xaa]
mov edx, eax
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0xc], 0x51e54f08
mov dword [esp + 0x10], 0x55f753e5
mov dword [esp + 0x14], 0x59e457e5
mov dword [esp + 0x18], 0x5d1f5bfc
mov dword [esp + 0x1c], 0xa1f05fff
mov dword [esp + 0x20], 0xa510a303
mov dword [esp + 0x24], 0xa9a6a71f
lea esi, [esp + 0x28]
mov byte [esp + 0x28], 0
mov ecx, 0x467b26ed
nop
nop
nop
nop
movzx edi, byte [esp + ecx - 0x467b26e1]
lea edx, [ecx - 0x467b2600]
mov ebx, ecx
and ebx, edi
or edx, edi
xor edx, ebx
add dl, 0x5f
mov byte [esp + ecx - 0x467b26e1], dl
inc ecx
cmp ecx, 0x467b270a
jne 0x42e980
lea edi, [esp + 0xaa]
lea ebx, [esp + 0xc]
mov ecx, 7
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea edi, [esp + 0xc6]
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 0xc], 0x71c57fb8
mov dword [esp + 0x10], 0x75d773c5
mov dword [esp + 0x14], 0x49c477c5
mov dword [esp + 0x18], 0x4d9a4bec
mov dword [esp + 0x1c], 0x418c4f98
lea esi, [esp + 0x20]
mov word [esp + 0x20], 0x4340
mov dword [esp + 0x22], 0
mov word [esp + 0x26], 0
mov ecx, 0x95
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0x89]
mov ebp, ecx
and ebp, ebx
mov edx, ebp
and edx, 0xffffffbd
mov eax, ebp
and eax, 2
mov edi, ebp
or edi, 0xfffffffd
inc edi
imul edi, edx
or ebp, 2
imul ebp, eax
add edi, ebx
sub edi, ebp
lea eax, [ecx + edi]
add eax, 0xba7f5516
mov ebx, eax
and ebx, 0xd7c65c9
add ebx, ebx
xor eax, 0x72839a36
sub ebx, eax
mov eax, ebx
xor eax, 0xc9
and ebx, 0x36
add ebx, ebx
sub ebx, eax
mov byte [esp + ecx - 0x89], bl
inc ecx
cmp ecx, 0xb1
jne case.default.0x42eaed
lea ebx, [esp + 0xda]
lea eax, [esp + 0xc]
mov edi, ebx
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xee]
mov ecx, 1
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
lea eax, [esp + 0x9a]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0xaa]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ebx
mov ebp, dword [esp + 0x3c]
mov eax, ebp
add eax, 2
mov dword [esp + 0x54], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x50], 0
cmp ecx, 0xc
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x44f0d0]