Function at 0x4276d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x50
mov eax, dword [0x44fd5c]
mov dword [esp + 8], 0x93d391ad
mov dword [esp + 0xc], 0xafdeaddc
mov dword [esp + 0x10], 0xabcba9f4
mov dword [esp + 0x14], 0xa7c7a528
mov dword [esp + 0x18], 0xa3c6a19d
mov dword [esp + 0x1c], 0xbfc6bdd0
mov dword [esp + 0x20], 0xbbccb935
mov dword [esp + 0x24], 0xb7cbb5c8
mov dword [esp + 0x28], 0xb3d0b1c2
mov dword [esp + 0x2c], 0xcfbccdb5
mov dword [esp + 0x30], 0xcbaec9b4
mov dword [esp + 0x34], 0xc7b4c594
mov dword [esp + 0x38], 0xc3bcc1b7
mov dword [esp + 0x3c], 0xdfaadda5
mov dword [esp + 0x40], 0xdba9d9a5
mov dword [esp + 0x44], 0xd5d4
xor ecx, ecx
nop
nop
movzx edx, byte [esp + ecx + 8]
mov esi, ecx
xor esi, 0x233d74e3
mov edi, ecx
or edi, 0x1c
and edi, esi
mov esi, ecx
xor esi, 0x5cc28b1c
lea esi, [esi + edi*2]
lea edi, [edx + edx]
not edi
add edi, edx
and edi, esi
lea ebx, [edi + edi]
not ebx
add ebx, edi
not edx
or edx, esi
and edx, ebx
mov edi, edx
not edi
mov esi, edi
and esi, 0x30334871
and edi, 2
mov ebx, edi
xor ebx, 2
imul ebx, esi
or esi, 2
imul esi, edi
xor edx, 0xcfccb78c
add edx, esi
add edx, ebx
mov esi, edx
xor esi, 0x91
and edx, 0x6e
add edx, edx
sub edx, esi
add dl, 0x92
mov byte [esp + ecx + 8], dl
inc ecx
cmp ecx, 0x40
jne 0x427760
lea ecx, [esp + 4]
lea edx, [esp + 8]
push ecx
push 0
push 0
push 0x1e
push edx
push 0
call eax
mov edi, dword [esp + 4]
test edi, edi
jns 0x4277fb
mov eax, 0xffffffff
jmp 0x4277fe
lea eax, [edi + edi]
push eax
call fcn.0040c730
add esp, 4
mov dword [esp], eax
mov eax, dword [0x44fd5c]
mov dword [esp + 0x4c], eax
mov dword [esp + 8], 0x93d391ad
mov dword [esp + 0xc], 0xafdeaddc
mov dword [esp + 0x10], 0xabcba9f4
mov dword [esp + 0x14], 0xa7c7a528
mov dword [esp + 0x18], 0xa3c6a19d
mov dword [esp + 0x1c], 0xbfc6bdd0
mov dword [esp + 0x20], 0xbbccb935
mov dword [esp + 0x24], 0xb7cbb5c8
mov dword [esp + 0x28], 0xb3d0b1c2
mov dword [esp + 0x2c], 0xcfbccdb5
mov dword [esp + 0x30], 0xcbaec9b4
mov dword [esp + 0x34], 0xc7b4c594
mov dword [esp + 0x38], 0xc3bcc1b7
mov dword [esp + 0x3c], 0xdfaadda5
mov dword [esp + 0x40], 0xdba9d9a5
mov dword [esp + 0x44], 0xd5d4
mov byte [esp + 0x48], 0
xor esi, esi
xor ebx, ebx
nop
nop
nop
nop
mov eax, ebx
xor eax, 0x33906963
mov ecx, ebx
or ecx, 0x1c
and ecx, eax
mov edx, ecx
mov ebp, ecx
mov eax, ecx
shr al, 1
and al, 1
or cl, 2
mul cl
not edx
and ebp, 0x7d
and edx, 2
imul edx, ebp
add al, al
add dl, al
movzx ebp, dl
mov ecx, esi
mov eax, ecx
and al, 0x38
mov dl, 0x98
sub dl, al
movzx eax, dl
add eax, ebx
add eax, ebp
add al, 4
xor al, byte [esp + ebx + 8]
add al, 0xf4
mov byte [esp + ebx + 8], al
inc ebx
add ecx, 2
mov esi, ecx
cmp ebx, 0x41
jne 0x4278a0
lea eax, [esp + 4]
push eax
push edi
push dword [esp + 8]
push 0x1e
lea eax, [esp + 0x18]
push eax
push 0
call dword [esp + 0x64]
mov dword [esp + 8], 0x1ee07d8
mov dword [esp + 0xc], 0xdf403ff
mov dword [esp + 0x10], 0x9e10fe0
mov dword [esp + 0x14], 0x15e80bfa
mov dword [esp + 0x18], 0x11e417ff
mov dword [esp + 0x1c], 0x1d1213fc
mov byte [esp + 0x20], 0
mov eax, 0xc1
mov ebp, 0x74e0eb33
nop
nop
nop
movzx edi, byte [esp + eax - 0xb9]
mov edx, eax
and edx, edi
mov ecx, edx
and ecx, 0xfffffffd
mov esi, edx
and esi, 2
mov ebx, edx
or ebx, 0xfffffffd
inc ebx
imul ebx, ecx
or edx, 2
imul edx, esi
lea ecx, [ebx + edi]
sub ecx, edx
add ecx, eax
add ecx, 0x8b1f150b
sub edx, ebx
sub edx, edi
add edx, ebp
and edx, 0xd0
and ecx, 0x2f
sub ecx, edx
mov byte [esp + eax - 0xb9], cl
inc eax
dec ebp
cmp eax, 0xda
jne 0x427950
push 0
push 0
lea eax, [esp + 0x10]
push eax
mov esi, dword [esp + 0xc]
push esi
push dword [esp + 0x74]
call fcn.00422310
add esp, 0x14
mov ebx, eax
jmp dword [0x44b6b0]