Function at 0x4240c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x50
mov eax, dword [0x44e4a8]
mov dword [esp + 8], 0x3373316d
mov dword [esp + 0xc], 0x2fbe2dbc
mov dword [esp + 0x10], 0x2b8b2994
mov dword [esp + 0x14], 0x278725a8
mov dword [esp + 0x18], 0x2386217d
mov dword [esp + 0x1c], 0x1f861db0
mov dword [esp + 0x20], 0x1b8c1995
mov dword [esp + 0x24], 0x178b1588
mov dword [esp + 0x28], 0x13b01182
mov dword [esp + 0x2c], 0xf9c0d95
mov dword [esp + 0x30], 0xbae0994
mov dword [esp + 0x34], 0x79405b4
mov dword [esp + 0x38], 0x39c0197
mov dword [esp + 0x3c], 0x7fea7de5
mov dword [esp + 0x40], 0x7be979e5
mov word [esp + 0x44], 0x7574
mov dword [esp + 0x46], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x41
ja 0x4241b7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
mov esi, ecx
xor esi, 0x5d86478c
and ecx, 0xdd86478c
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, 0xbc
and ecx, 0x43
sub ecx, edx
mov edx, dword [esp]
mov byte [esp + edx + 8], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x42
jb 0x424170
lea ebx, [esp + 0x4c]
lea ecx, [esp + 8]
push ebx
push 0
push 0
push 0x1e
push ecx
push 0
call eax
mov ebp, dword [esp + 0x4c]
test ebp, ebp
jns 0x4241da
mov eax, 0xffffffff
jmp 0x4241e1
lea eax, [ebp*2]
push eax
call fcn.0040c770
add esp, 4
mov esi, eax
mov eax, dword [0x44e4a8]
mov dword [esp + 8], 0xd797c9e5
mov dword [esp + 0xc], 0xd3a2d5a4
mov dword [esp + 0x10], 0xdfbfd19c
mov dword [esp + 0x14], 0xdbbbdda0
mov dword [esp + 0x18], 0xe782d9f5
mov dword [esp + 0x1c], 0xe38ae5b8
mov dword [esp + 0x20], 0xef9ce19d
mov dword [esp + 0x24], 0xeb87ed80
mov dword [esp + 0x28], 0xf798e996
mov dword [esp + 0x2c], 0xf38cf59d
mov dword [esp + 0x30], 0xff9af19c
mov dword [esp + 0x34], 0xfb84fdac
mov dword [esp + 0x38], 0x76cf98b
mov dword [esp + 0x3c], 0x376056d
mov dword [esp + 0x40], 0xf71016d
mov dword [esp + 0x44], 0xd0c
mov byte [esp + 0x48], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x40
ja 0x4242cb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
mov edi, ecx
xor edi, 0x133626ce
and ecx, 0x133626ce
lea ecx, [edi + ecx*2]
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0xfa
mov edx, dword [esp]
mov byte [esp + edx + 8], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x41
jb 0x424290
push ebx
push ebp
push esi
push 0x1e
lea ebx, [esp + 0x18]
push ebx
push 0
call eax
mov dword [esp + 8], 0x970e9934
mov dword [esp + 0xc], 0x93009519
mov dword [esp + 0x10], 0x8f13910c
mov dword [esp + 0x14], 0x8b148d02
mov dword [esp + 0x18], 0x87088911
mov dword [esp + 0x1c], 0x83828518
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x17
ja 0x42436e
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
mov edx, eax
xor edx, 0x81f50466
add eax, eax
and eax, 0x3ea08cc
mov edi, eax
and edi, edx
xor eax, edx
lea eax, [eax + edi*2]
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
mov ecx, eax
xor ecx, 0xfe
and eax, 1
add eax, eax
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x18
jb 0x424320
push 0
push 0
push ebx
push esi
push dword [esp + 0x74]
call fcn.0041e860
add esp, 0x14
jmp dword [0x449c10]