Function at 0x425540
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [0x451450]
push ebp
push ebx
push edi
push esi
sub esp, 0x50
mov dword [esp + 0xc], 0x714d0f6b
mov dword [esp + 0x10], 0x75e273e0
mov dword [esp + 0x14], 0x79d57730
mov dword [esp + 0x18], 0x7dd97bec
mov dword [esp + 0x1c], 0x61c27f1b
mov dword [esp + 0x20], 0x65ca63d4
mov dword [esp + 0x24], 0x69c867f3
mov dword [esp + 0x28], 0x6dcd6bcc
mov dword [esp + 0x2c], 0x51cc6ffe
mov dword [esp + 0x30], 0x55c053fb
mov dword [esp + 0x34], 0x59ea57f0
mov dword [esp + 0x38], 0x5dc85be8
mov dword [esp + 0x3c], 0x41f85fcd
mov dword [esp + 0x40], 0x45ee43eb
mov dword [esp + 0x44], 0x49d347e3
mov dword [esp + 0x48], 0x4b48
mov byte [esp + 0x4c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x40
ja 0x425627
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0xc]
mov esi, ecx
xor esi, 0xcce3ce3d
and ecx, 0xcce3ce3d
lea ecx, [esi + ecx*2]
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
mov edx, ecx
not edx
and edx, 0x31
and ecx, 0xce
sub ecx, edx
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x41
jb 0x4255e0
lea edx, [esp + 8]
lea ecx, [esp + 0xc]
push edx
push 0
push 0
push 0x1e
push ecx
push 0
call eax
mov edi, dword [esp + 8]
test edi, edi
jns 0x42564a
mov eax, 0xffffffff
jmp 0x42564d
lea eax, [edi + edi]
push eax
call fcn.0040c630
add esp, 4
mov esi, eax
mov eax, dword [0x451450]
mov dword [esp + 0xc], 0xd10dcf2b
mov dword [esp + 0x10], 0xd562d360
mov dword [esp + 0x14], 0xd975d710
mov dword [esp + 0x18], 0xdd79db6c
mov dword [esp + 0x1c], 0xa102df3b
mov dword [esp + 0x20], 0xa50aa374
mov dword [esp + 0x24], 0xa908a713
mov dword [esp + 0x28], 0xad0dab0c
mov dword [esp + 0x2c], 0xb10caf1e
mov dword [esp + 0x30], 0xb500b31b
mov dword [esp + 0x34], 0xb96ab710
mov dword [esp + 0x38], 0xbd08bb68
mov dword [esp + 0x3c], 0x8118bf0d
mov dword [esp + 0x40], 0x852e832b
mov dword [esp + 0x44], 0x89338723
mov word [esp + 0x48], 0x8b88
mov dword [esp + 0x4a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x41
ja 0x42575b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0xc]
mov edx, ebx
not edx
or edx, 0x6d4af92d
add edx, ebx
xor ebx, 0x6d4af92d
lea ebp, [ebx + edx*2]
lea edx, [ebx + edx*2]
add edx, 2
lea ebx, [ecx + ebp]
add ebx, 2
and edx, ecx
add edx, edx
sub ebx, edx
mov dword [esp + 4], ebx
mov ecx, dword [esp + 4]
mov edx, ecx
not edx
and edx, 0xe1
and ecx, 0x1e
sub ecx, edx
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x42
jb 0x425700
lea ecx, [esp + 8]
push ecx
push edi
push esi
push 0x1e
lea edi, [esp + 0x1c]
push edi
push 0
call eax
mov dword [esp + 0xc], 0xf35af1ac
mov dword [esp + 0x10], 0xff48fd41
mov dword [esp + 0x14], 0xfb57f954
mov dword [esp + 0x18], 0xc764c576
mov dword [esp + 0x1c], 0xc370c169
mov dword [esp + 0x20], 0xcfcecd60
mov word [esp + 0x24], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x19
ja 0x425800
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0xc]
mov edx, eax
xor edx, 0x429623d4
and eax, 0xc29623d4
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp + 4], edx
mov eax, dword [esp + 4]
add al, 0xdc
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1a
jb 0x4257c0
push 0
push 0
push edi
push esi
push dword [esp + 0x74]
call fcn.0041ff10
add esp, 0x14
jmp dword [0x44cb14]