Function at 0x424e20
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x50
mov eax, dword [0x44f124]
mov dword [esp + 0xc], 0xb77789a5
mov dword [esp + 0x10], 0xb322b524
mov dword [esp + 0x14], 0xbf5fb17c
mov dword [esp + 0x18], 0xbb5bbd20
mov dword [esp + 0x1c], 0xa742b995
mov dword [esp + 0x20], 0xa34aa558
mov dword [esp + 0x24], 0xaf3ca13d
mov dword [esp + 0x28], 0xab47ad40
mov dword [esp + 0x2c], 0x57b8a936
mov dword [esp + 0x30], 0x53cc55bd
mov dword [esp + 0x34], 0x5fba51bc
mov dword [esp + 0x38], 0x5bc45dac
mov dword [esp + 0x3c], 0x47ac59cb
mov dword [esp + 0x40], 0x43d645ad
mov dword [esp + 0x44], 0x4fd141ad
mov dword [esp + 0x48], 0x4d4c
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x3f
ja 0x424ef0
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0xc]
add ecx, 0x21d2505e
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x2a
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x40
jb 0x424ec0
lea ecx, [esp + 8]
lea ebx, [esp + 0xc]
push ecx
push 0
push 0
push 0x1e
push ebx
push 0
call eax
mov ebp, dword [esp + 8]
test ebp, ebp
jns 0x424f13
mov eax, 0xffffffff
jmp 0x424f1a
lea eax, [ebp*2]
push eax
call fcn.0040c4b0
add esp, 4
mov esi, eax
mov eax, dword [0x44f124]
mov dword [esp + 0xc], 0xcf0fc92d
mov dword [esp + 0x10], 0xc352cd5c
mov dword [esp + 0x14], 0xc767c104
mov dword [esp + 0x18], 0xbb1bc550
mov dword [esp + 0x1c], 0xbf12b95d
mov dword [esp + 0x20], 0xb32abd08
mov dword [esp + 0x24], 0xb724b125
mov dword [esp + 0x28], 0xab0fb510
mov dword [esp + 0x2c], 0xaf08a93e
mov dword [esp + 0x30], 0xa334ad35
mov dword [esp + 0x34], 0xa70aa104
mov dword [esp + 0x38], 0x9b0ca514
mov dword [esp + 0x3c], 0x9f04990b
mov dword [esp + 0x40], 0x930e9d05
mov dword [esp + 0x44], 0x97019135
mov word [esp + 0x48], 0x9594
mov dword [esp + 0x4a], 0
mov word [esp + 0x4e], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x43
ja 0x42500b
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0xc]
mov edi, ecx
xor edi, 0xc5ce8ab2
and ecx, 0xc5ce8ab2
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x86
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x44
jb 0x424fd0
mov edi, dword [esp + 0x64]
lea ecx, [esp + 8]
push ecx
push ebp
push esi
push 0x1e
push ebx
push 0
call eax
mov dword [esp + 0xc], 0x13aa11bc
mov dword [esp + 0x10], 0x6fd86de1
mov dword [esp + 0x14], 0x6bd769d4
mov dword [esp + 0x18], 0x67c465d6
mov dword [esp + 0x1c], 0x63d061d9
mov dword [esp + 0x20], 0x7f7e7dc0
mov byte [esp + 0x24], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x18
ja 0x4250b3
nop
nop
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, 0x86f2cb3c
and eax, 0x6f2cb3c
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
not ecx
or eax, ecx
sub ecx, eax
lea eax, [edx + ecx*2]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0xd4
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x19
jb 0x425070
push 0
push 0
push ebx
push esi
push edi
call fcn.0041ef00
add esp, 0x14
jmp dword [0x44ab28]