Function at 0x104f4ab3
Capabilities:
Encrypt data using chaskey

Disassembly:
ror eax, 0x5a
ror ecx, 1
shl al, 0x66
sbb ecx, 0xc181ab32
rol word [esp + edx*2 + 1], 0xe9
pop edx
ror ecx, 2
or al, dh
xor edx, edx
neg dx
bswap ecx
push edx
dec ax
sbb ecx, 0xdfb17083
not ecx
pop eax
xor ebx, ecx
jmp 0x105d5e02
inc esp
mov eax, dword [edi + eax*4 - 0x254]
inc esp
xchg byte [esp + eax - 0x81], cl
inc ebp
xor eax, ebx
call fcn.105c8aa7
sbb word [esp + 4], cx
sub byte [esp + 4], 0x26
sbb esi, 1
not cx
and cl, ch
not al
ror ecx, 0xfd
not dl
and al, dl
pushfd
pop ecx
mov dword [esp + 4], ecx
neg dword [esp]
shl dword [esp], 0x22
mov edx, dword [esp + 4]
mov ecx, 0x59be070c
not cx
or ecx, ecx
mov word [esi + ecx - 0x59bef8ef], ax
mov dword [esi + ecx - 0x59bef8f3], edx
movzx edx, cx
push edx
pop edx
pop edx
pop ecx
jns fcn.104d9290
inc ecx
mov esp, 0x923692be
dec eax
sub edi, 4
inc ebp
movzx edx, ah
dec ebx
lea ecx, [edx + edx*8 + 0x5d948fab]
inc ecx
mov edx, dword [edx + edi - 0xbe]
inc ecx
xor edx, ebx
inc ecx
movzx ebp, sp
bswap edx
dec edi
lea eax, [edx + 0x2952d89]
inc edx
neg edx
inc edx
inc ecx
push ebx
inc edx
xor dword [esp + edx - 0xbe], edx
inc ebp
movsx ebx, ah
dec ebp
btc edx, ebx
inc ecx
pop ebx
inc ecx
push eax
push ecx
dec eax
arpl dx, dx
inc ecx
sal al, 4
dec eax
adc esi, edx
inc edx
ror byte [esp + edx*8 - 0x5e4], 0x45
inc ebp
movzx esi, sp
dec edx
mov eax, dword [ebx + edx*8 - 0x5f0]
inc esp
mov edi, ecx
dec esi
mov ecx, dword [ebx + edx*4 - 0x2f0]
inc esi
mov ebp, dword [esp + edx*8 - 0x5e7]
neg ecx
movzx edx, cx
inc edx
mov cl, byte [ebx + edx*8 - 0x5e0]
inc edx
neg byte [esp + edx*4 - 0x2ef]
call fcn.105bc3b7
inc ecx
mov eax, 0x660f1903
inc esi
mov eax, dword [ebx + eax - 0x660f1903]
inc ecx
mov esp, 0x29fd30d
inc ebp
movsx ebp, sp
inc ecx
movsx ecx, sp
inc edx
mov eax, dword [ebx - 0x29fd309]
dec edx
lea ebx, [ebx - 0x53fa616]
inc ecx
mov ecx, 0xa30c2b2
dec esp
lea esi, [ecx*8 + 0x2c10b934]
inc esp
or eax, eax
inc ecx
movzx ebp, dh
dec eax
dec ebp
inc ecx
not eax
inc esi
mov dword [ebx - 0x29fd30d], eax
xor ecx, 0x3f1640b5
jno 0x1051d856
mov eax, 0x7ba2fd23
mov ecx, dword [edi + eax - 0x7ba2fd23]
xor ax, ax
movsx edx, al
lea edi, [eax + edi - 0x7ba1fffc]
bts eax, 0x37
push eax
cdq
xor ecx, ebx
jmp 0x104df06c
dec edx
lea edi, [edi - 0x29fd311]
inc ecx
movzx eax, sp
inc ebp
xadd esp, esi
inc ecx
movzx edx, sp
inc edx
mov eax, dword [edi - 0x2eaf24a9]
inc ecx
rol esi, cl
add cx, dx
inc ecx
xor eax, ebx
inc ecx
sal ebp, 0xbd
dec ecx
sar ecx, 0xaa
inc esp
movsx eax, cl
dec eax
dec esp
lea edi, [edx*4 + 0x76866a89]
dec ebp
btr edi, esp
not eax
call fcn.105c4d40
mov dword [ebp - 0x28], edi
jmp 0x1053301a
rep stosd dword es:[edi], eax
jmp 0x105db74b
mov dword [ebp - 0x24], edi
jmp 0x105b86eb
sar cl, 0x83
and edx, eax
sub ecx, ecx
mov dword [esi + ecx*2], edx
movzx eax, cx
or ecx, ebp
jmp ecx
mov dword [ebp - 0x2c], edi
jmp 0x105e9034
movsx ecx, al
mov eax, dword [esi + 4]
add esi, 4
xor edx, ecx
inc cx
and ecx, ecx
xor cx, 0xc99a
not eax
rol ecx, 0xa4
jp 0x105acc38
dec eax
add ebp, ecx
add edx, dword [esi + edx*4]
jmp 0x105d513a
adc ecx, ecx
jmp 0x105c3a02
je 0x105c3a0f
mov ecx, eax
mov eax, 0x400
sbb edi, 0xe59ce5a8
bts edi, esp
cmp dh, ah
mov edi, edx
sbb dx, 0xf009
movzx edx, ax
mov eax, edx
shl edx, 0x10
cmp ax, dx
cmc
or eax, edx
shr ecx, 1
jmp 0x10531709