Function at 0x41a8d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x50
mov eax, dword [0x442ddc]
mov dword [esp + 0xc], 0xf1cd0feb
mov dword [esp + 0x10], 0xf562f360
mov dword [esp + 0x14], 0xf955f730
mov dword [esp + 0x18], 0xfd59fb6c
mov dword [esp + 0x1c], 0xe142ff1b
mov dword [esp + 0x20], 0xe54ae354
mov dword [esp + 0x24], 0xe948e773
mov dword [esp + 0x28], 0xed4deb4c
mov dword [esp + 0x2c], 0xd14cef7e
mov dword [esp + 0x30], 0xd540d37b
mov dword [esp + 0x34], 0xd96ad770
mov dword [esp + 0x38], 0xdd48db68
mov dword [esp + 0x3c], 0xc178df4d
mov dword [esp + 0x40], 0xc56ec36b
mov dword [esp + 0x44], 0xc953c763
mov dword [esp + 0x48], 0xcbc8
mov byte [esp + 0x4c], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x40
ja 0x41a9b9
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0xc]
lea esi, [ecx + edx]
add esi, 0x572bb1fd
add ecx, 0x572bb1fd
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 4], esi
mov ecx, dword [esp + 4]
mov edx, ecx
not edx
and edx, 0xf1
and ecx, 0xe
sub ecx, edx
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x41
jb 0x41a970
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 0x41a9dc
mov eax, 0xffffffff
jmp 0x41a9e3
lea eax, [ebp*2]
push eax
call fcn.00408f60
add esp, 4
mov esi, eax
mov eax, dword [0x442ddc]
mov dword [esp + 0xc], 0x99559bb7
mov dword [esp + 0x10], 0xa556a768
mov dword [esp + 0x14], 0xa14da368
mov dword [esp + 0x18], 0xad41af5c
mov dword [esp + 0x1c], 0xa94eab87
mov dword [esp + 0x20], 0xb55eb774
mov dword [esp + 0x24], 0xb140b34f
mov dword [esp + 0x28], 0xbd55bf5c
mov dword [esp + 0x2c], 0xb954bb42
mov dword [esp + 0x30], 0x45b8474f
mov dword [esp + 0x34], 0x41a643a8
mov dword [esp + 0x38], 0x4db04f90
mov dword [esp + 0x3c], 0x49a04bbd
mov dword [esp + 0x40], 0x55a257bf
mov dword [esp + 0x44], 0x51af53bf
mov dword [esp + 0x48], 0x5f50
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x3f
ja 0x41aacd
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 + 0xc]
lea edi, [ecx + edx]
add edi, 0x584f5db
add ecx, 0x584f5db
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esp + 4], edi
mov ecx, dword [esp + 4]
add cl, 0xb9
mov edx, dword [esp]
mov byte [esp + edx + 0xc], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x40
jb 0x41aa90
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], 0x4fd649bc
mov dword [esp + 0x10], 0x43d04dd9
mov dword [esp + 0x14], 0x47a341a4
mov dword [esp + 0x18], 0x7b9c45d2
mov dword [esp + 0x1c], 0x7fe879e1
mov dword [esp + 0x20], 0x73727d98
mov dword [esp + 0x24], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1b
ja 0x41ab5e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0xc]
add eax, 0xc26bbf92
xor eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0x26
mov ecx, dword [esp]
mov byte [esp + ecx + 0xc], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1c
jb 0x41ab30
push 0
push 0
push ebx
push esi
push edi
call fcn.00415490
add esp, 0x14
jmp dword [0x43e4fc]