Function at 0x42c120
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xf0
mov dword [esp + 4], 0x8145876b
mov dword [esp + 8], 0x8d328330
mov dword [esp + 0xc], 0x892d8f40
mov dword [esp + 0x10], 0x95298b34
mov dword [esp + 0x14], 0x9196977b
lea ebp, [esp + 0x18]
mov word [esp + 0x18], 0
mov ecx, 0x61
mov edx, 0x9e
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x5d]
mov edi, edx
or edi, esi
lea ebx, [esi + esi]
not ebx
add ebx, esi
or ebx, ecx
and ebx, edi
mov al, 0x1a
sub al, bl
mov byte [esp + ecx - 0x5d], al
inc ecx
dec edx
cmp ecx, 0x77
jne 0x42c170
lea esi, [esp + 0xaa]
lea eax, [esp + 4]
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xbe]
xor ebx, ebx
xor ecx, ecx
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
lea edi, [esp + 0x60]
push edi
push 0
push 0
push 9
push esi
push 0
call dword [0x44f224]
mov ebp, dword [esp + 0x60]
test ebp, ebp
jns 0x42c1de
mov eax, 0xffffffff
jmp 0x42c1e5
lea eax, [ebp*2]
push eax
call fcn.0040c720
add esp, 4
push edi
push ebp
mov dword [esp + 0x54], eax
push eax
push 9
push esi
push 0
call dword [0x44f224]
mov dword [esp + 4], 0x9ff799dc
mov dword [esp + 8], 0xa3c59deb
mov dword [esp + 0xc], 0xa7d0a1d3
mov dword [esp + 0x10], 0xabaaa5c0
lea edx, [esp + 0x14]
mov word [esp + 0x14], 0
nop
nop
nop
nop
nop
mov eax, ebx
add al, 0x1a
xor al, byte [esp + ebx + 4]
add al, 0x7e
mov byte [esp + ebx + 4], al
inc ebx
cmp ebx, 0x12
jne 0x42c230
lea edi, [esp + 0x9a]
lea eax, [esp + 4]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xaa]
mov eax, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 4], 0x49dd4bf0
mov dword [esp + 8], 0x45db47c5
mov dword [esp + 0xc], 0x41cc43d5
mov dword [esp + 0x10], 0xbd03bfdc
mov dword [esp + 0x14], 0xb928bb23
mov dword [esp + 0x18], 0xb538b727
mov dword [esp + 0x1c], 0xb1b2b333
lea esi, [esp + 0x20]
mov dword [esp + 0x20], 0
mov ecx, 0x73
mov edx, 0xc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edx
and eax, 0xba
mov ebx, ecx
and ebx, 0x45
or ebx, eax
xor bl, byte [esp + ecx - 0x6f]
xor bl, 0xba
add bl, 0x41
mov byte [esp + ecx - 0x6f], bl
inc ecx
dec edx
cmp ecx, 0x93
jne 0x42c2c0
lea ebp, [esp + 0xd4]
lea eax, [esp + 4]
mov edi, ebp
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xf0]
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov dword [esp + 4], 0x239b21e4
mov dword [esp + 8], 0x27852597
mov dword [esp + 0xc], 0x3b883987
mov dword [esp + 0x10], 0x3fee3d98
mov dword [esp + 0x14], 0x33f031e4
lea ebx, [esp + 0x18]
mov word [esp + 0x18], 0x3534
mov dword [esp + 0x1a], 0
mov ecx, 0x705e648
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x705e644]
mov eax, edx
and eax, ecx
add al, al
sub dl, al
movzx eax, dl
add eax, ecx
add al, 0x98
mov byte [esp + ecx - 0x705e644], al
inc ecx
cmp ecx, 0x705e662
jne 0x42c350
lea esi, [esp + 0xbe]
lea eax, [esp + 4]
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xd2]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea eax, [esp + 0x9a]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], esi
mov eax, dword [esp + 0x4c]
add eax, 2
mov dword [esp + 0x70], eax
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x58], 0
cmp ecx, 0xc
setne al
xor ecx, ecx
jmp dword [eax*4 + 0x44b798]