Function at 0x42c3e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xf4
mov dword [esp + 0xc], 0x63236145
mov dword [esp + 0x10], 0x67166514
mov dword [esp + 0x14], 0x7b1b793c
mov dword [esp + 0x18], 0x7f1f7d08
mov dword [esp + 0x1c], 0x73727155
lea ebp, [esp + 0x20]
mov word [esp + 0x20], 0
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
xor esi, 0x6bd28e75
mov edi, ecx
and edi, 0x14
sub edi, esi
mov esi, 0xa2
sub esi, edi
and esi, 0xd6
mov ebx, 0x22
sub ebx, edi
and ebx, 0x29
or ebx, esi
xor bl, byte [esp + edx + 0xc]
mov al, 0x77
sub al, bl
mov byte [esp + edx + 0xc], al
inc edx
add ecx, 2
cmp edx, 0x16
jne 0x42c430
lea esi, [esp + 0xae]
lea eax, [esp + 0xc]
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xc2]
xor ebx, ebx
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 [0x4504d4]
mov ebp, dword [esp + 0x64]
test ebp, ebp
jns 0x42c4b8
mov eax, 0xffffffff
jmp 0x42c4bf
lea eax, [ebp*2]
push eax
call fcn.0040c8b0
add esp, 4
push edi
push ebp
mov dword [esp + 0x58], eax
push eax
push 9
push esi
push 0
call dword [0x4504d4]
mov dword [esp + 0xc], 0x4fd7490c
mov dword [esp + 0x10], 0x43e54ddb
mov dword [esp + 0x14], 0x47d041d3
mov dword [esp + 0x18], 0xbbba45e0
lea edx, [esp + 0x1c]
mov word [esp + 0x1c], 0
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + esi + 0xc]
mov edi, ebx
and edi, 0x24
mov eax, esi
xor eax, 0x32af1c72
add eax, edi
mov edi, ecx
and edi, eax
add edi, edi
sub eax, edi
add al, cl
add al, 0xc6
mov byte [esp + esi + 0xc], al
inc esi
add ebx, 2
cmp esi, 0x12
jne 0x42c510
lea ebp, [esp + 0x9e]
lea eax, [esp + 0xc]
mov edi, ebp
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xae]
xor eax, eax
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0xc], 0x59a55b80
mov dword [esp + 0x10], 0x5dbb5fad
mov dword [esp + 0x14], 0x51a453ad
mov dword [esp + 0x18], 0x559357b4
mov dword [esp + 0x1c], 0x69986bb3
mov dword [esp + 0x20], 0x6d986f8f
mov dword [esp + 0x24], 0x616263e3
lea ebx, [esp + 0x28]
mov dword [esp + 0x28], 0
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xf
xor cl, byte [esp + eax + 0xc]
add cl, 0xb5
mov byte [esp + eax + 0xc], cl
inc eax
cmp eax, 0x20
jne 0x42c5b0
lea edx, [esp + 0xd8]
lea eax, [esp + 0xc]
mov edi, edx
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xf4]
xor esi, esi
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esp + 0xc], 0xc95dcbb0
mov dword [esp + 0x10], 0xc55bc745
mov dword [esp + 0x14], 0xc14cc355
mov dword [esp + 0x18], 0xfd8eff5c
mov dword [esp + 0x1c], 0xf984fb90
lea ebx, [esp + 0x20]
mov word [esp + 0x20], 0xf7f8
mov dword [esp + 0x22], 0
mov al, 0xac
nop
nop
nop
nop
nop
movzx ecx, byte [esp + esi + 0xc]
xor cl, al
mov ah, 0x60
sub ah, cl
mov byte [esp + esi + 0xc], ah
inc esi
dec al
cmp esi, 0x1a
jne case.default.0x42c6aa
lea esi, [esp + 0xc2]
lea eax, [esp + 0xc]
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xd6]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], esi
mov eax, dword [esp + 0x50]
add eax, 2
mov dword [esp + 0x6c], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x68], 0
cmp ecx, 0xc
setne al
mov dword [esp + 0x44], 0
jmp dword [eax*4 + 0x44c9d4]
mov byte [edx], 0xfc
mov byte [edx], 1
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx + 0x10042c6], dh
add byte [eax], al
add byte [edi - 0x3cffbd3a], dh
mov byte [edx], 0xd2
enter 0x42, 2
mov dword [edx], case.0x42abfd.129
ror al, cl
inc edx
add byte [edx + ecx*8 + 0x42], bh
add byte [eax - 0x29ffbd36], ah
into
inc edx
add al, cl
retf 0x42