Function at 0x4db053
Capabilities:
Encrypt data using chaskey

Disassembly:
mov eax, 4
inc ecx
shr ecx, 3
mov edx, ecx
and ebx, 0xfc90fba2
inc edi
and ecx, edx
shr ecx, 0xb
jmp 0x4dc4f9
mov esi, dword [esp + 0xe0]
sub ebx, edx
or edx, edi
xchg ecx, edx
xor edx, edi
shr ebx, 0x10
ror edx, 0x11
xor edi, edx
shl edx, 3
add edx, ecx
jmp 0x4dd57e
add esi, dword [esp + 8]
dec ebx
xchg edi, ecx
dec edi
and ebx, edx
and ebx, 0xfc9ef3d5
xchg ecx, edi
add ebx, edx
xor edx, edi
not ebx
rol ebx, 8
bswap ecx
bswap ecx
dec edi
add edi, ebx
xchg edi, edx
jmp 0x4db62e
mov esi, dword [esi]
xchg ecx, edi
or ecx, edi
or edi, 0xfca41f67
and edi, ebx
xor edx, ebx
inc edx
sub edi, edx
mov edx, 0xfca5645f
or ecx, edi
sub edx, 0xfca5e067
and edx, edi
xor edx, ebx
jmp 0x4dca78
xor eax, eax
xchg ebx, edx
add edi, 0xfca6ec40
shl ebx, 0x12
dec ecx
add edx, 0xfca7ab0f
sub ebx, edi
shl ebx, 0xe
mov edx, edi
not ecx
bswap edi
dec ecx
jmp 0x4ddfdf
sub esp, 0x148
xor edx, ecx
xchg edx, ecx
and edi, edx
xor edi, 0xfcaa3af9
and ebx, 0xfcaa7b22
xor edi, edx
ror edi, 8
jmp 0x4dc03f
mov dword [esp + 8], 0
add ebx, edi
and ecx, edi
or edx, ecx
xor ecx, 0xfcba7aa8
ror ebx, 0xa
mov edi, ebx
xor edi, ebx
shr edi, 0x1c
neg edx
rol edx, 0x1f
jmp 0x4dbaf4
mov esi, dword [esi]
add edi, ecx
ror ebx, 0x1a
sub edx, ecx
sub ebx, ecx
rol ebx, 8
mov ecx, 0xfcc9c02e
and edx, 0xfcca0e57
sub edx, edi
jmp 0x4dba42
rol eax, 8
sub edi, edx
ror edi, 0x1f
add edx, ecx
xchg ecx, edx
sub edx, edi
sub ebx, edi
and edi, 0xfccedaf8
add ecx, edx
or edx, ebx
sub edx, ebx
add edx, ebx
shl ecx, 0xe
not edx
jmp 0x4dd845
pop esi
inc ebx
and ebx, 0xfcd2b355
and edi, edx
and edx, ecx
xor edi, 0xfcd3684a
xor edi, ebx
sub ecx, 0xfcd3f77b
jmp 0x4dd900
mov dword [esp + 0xe4], esi
shl ebx, 0x14
add ecx, edi
nop
mov edx, ebx
jmp 0x4dcfe0
add esi, dword [esp + 0xc]
add edi, ecx
add ecx, 0xfcf7298b
xor ecx, 0xfcf7686d
xchg edx, ebx
mov edx, ebx
nop
jmp 0x4daf11
add esi, dword [esp + 8]
sub ecx, edi
sub ecx, ebx
ror edx, 0xc
rol ebx, 0x1b
or ebx, edx
rol ecx, 0x13
add edx, ecx
or ebx, 0xfcfcbab8
add ecx, edx
shr edi, 0x12
or edi, edx
jmp 0x4dbeb0
jne 0x4ddfdf
sub ebx, ecx
xor edx, ecx
xor edx, edi
nop
xchg ecx, edx
add edx, 0xfd0849aa
inc ecx
rol edi, 0x1c
add ecx, edi
jmp 0x4db28b
mov dword [esp + 0xe0], esi
inc edi
and edx, ecx
not ebx
and ebx, edx
mov ebx, ecx
mov edi, edx
sub ecx, edx
inc edx
mov edi, edx
and edi, ecx
jmp 0x4db952
sub dword [esp + 0xe0], 8
xor edx, edi
or ecx, edi
shl ecx, 0x15
xchg edx, ecx
or ecx, 0xfd1fedd1
neg edi
mov edx, edi
jmp 0x4dafa0
mov esi, dword [esp + 8]
rol edx, 0xe
dec edx
add edx, ebx
add ebx, 0xfd4de010
not edi
not ecx
and edi, edx
inc edi
or ebx, edx
jmp 0x4dd618
mov esi, dword [esp + 0xe4]
or edx, 0xfd4f7ca1
mov ebx, edx
mov edx, 0xfd500638
xchg edx, ebx
mov edi, edx
or edx, ebx
jmp 0x4db452
ret
mov esi, dword [esi]
mov edx, 0xfd6234f4
and ecx, 0xfd627505
or ecx, edx
dec edi
xor ecx, edx
mov edi, edx
or edx, edi
xor ecx, ebx
shl ecx, 5
mov ebx, 0xfd64717b
jmp 0x4dd04a
mul esi
xchg edi, ebx
inc edx
add ecx, ebx
ror ebx, 0x19
and ebx, edi
xor edx, 0xfd660bd9
neg edi
not edx
mov ecx, ebx
xchg edx, edi
or ecx, 0xfd67408b
neg ebx
add edx, 0xfd67bebf
jmp 0x4dc3e0
mov dword [esp + 0xe0], 0
not edi
or ebx, 0xfd7096a8
sub ebx, 0xfd70d7f2
mov edi, 0xfd712407
xor ebx, edi
xor edi, edx
and edi, edx
or ecx, edx
jmp 0x4dbf16
mov esi, dword [esp + 0xe0]
neg edx
and ebx, edi
shr edx, 0x17
sub edi, edx
add edi, 0xfd94ef92
xor edi, edx
sub edx, ebx
rol edi, 0xa
jmp 0x4de0c5
mov dword [esp + 0xe0], esi
neg edx
xor ecx, edx
dec edi
and ebx, ecx
add ecx, edi
sub ebx, edx
sub edx, ebx
xchg ecx, ebx
jmp 0x4dd8e1
add esp, 0x148
add ebx, edi
dec ebx
sub edi, 0xfdb4accf
mov edx, 0xfdb4ed43
xchg edi, ecx
xor ebx, edx
xor ecx, 0xfdb5a725
jmp 0x4db9d8
mov dword [esp + 0xb0], esi
and ecx, edx
xor edx, 0xfdbadae6
xor edx, ecx
or ecx, 0xfdbb5944
neg ebx
xchg ecx, ebx
xor edx, ecx
add ecx, ebx
add edx, ecx
mov ebx, edx
xor ebx, 0xfdbd15f1
add ebx, edx
or ecx, edx
mov ecx, ebx
xchg edx, ecx
jmp 0x4dcfc3
add esi, dword [esp + 8]
and ecx, edx
xchg edi, edx
rol edi, 5
add ecx, edi
xor edx, edi
mov edx, 0xfdc1b065
add edx, ebx
mov edi, ebx
sub ebx, edx
and edx, 0xfdc2b563
add ecx, ebx
and ebx, edi
mov ecx, edi
ror ecx, 0x1e
jmp 0x4db419
cmp byte [esi], 0
jmp 0x4db537
mov esi, dword [esp + 0xe4]
shl ebx, 0x17
dec edi
bswap edx
and edi, ebx
xchg edi, ecx
add ebx, edi
sub edi, edx
bswap ebx
xor ebx, 0xfdcdcfde
neg ebx
or ecx, 0xfdce4cbf
not edi
xchg edi, ebx
jmp 0x4dde6b
mov dword [esp + 0xc], 0
add edi, ecx
xor edi, ebx
mov edx, 0xfdcf99c6
bswap edi
or edi, 0xfdd096b3
mov edx, 0xfdd1056f
and ebx, 0xfdd17b33
or edx, 0xfdd1f8ee
xor edx, edi
dec edx
jmp 0x4de2c7
mov dword [esp + 0xc], eax
mov ebx, ecx
and ebx, 0xfddc6bda
xchg edi, ebx
add ebx, ecx
shl ebx, 0xc
and edi, ebx
inc ecx
add edx, ebx
mov ecx, edi
rol ecx, 6
and edx, ebx
add ecx, edi
and edi, ebx
shr edi, 0x16
jmp 0x4db690
mov esi, dword [esi]
add edi, ecx
xor edx, 0xfde56017
or edx, ecx
shr edi, 7
sub ecx, ebx
not ecx
jmp 0x4db1fa
mov esi, dword [esp + 0xe0]
xor edx, ecx
xchg ecx, edi
mov ecx, 0xfde7393c
neg edx
rol ebx, 0x16
mov edi, ebx
sub ebx, edx
shl edx, 7
xchg ecx, edi
not edx
sub edi, ebx
mov edi, 0xfde97683
jmp 0x4dc56a
add dword [esp + 0xe0], eax
and edx, 0xfe1b331d
rol edi, 0x12
add ebx, edi
shl ebx, 0xd
add edx, ebx
add edi, ebx
xchg edi, ecx
ror edx, 0x13
neg edi
mov edi, ecx
add ecx, edi
xchg edi, edx
sub edi, edx
xor edi, ecx
and edi, 0xfe1f82ca
jmp 0x4dbcf5
movzx esi, word [esi]
bswap ebx
add edi, 0xfe3321b8
dec edi
shl ebx, 0x1a
add edi, 0xfe33dcb7
and ecx, edi
add ebx, edi
add edi, 0xfe34a3f2
add edi, ecx
xchg ebx, edx
jmp 0x4dba67
mov esi, dword [esi]
sub edx, edi
and edi, 0xfe3b213f
bswap ecx
xchg ebx, edx
add ecx, ebx
xchg edi, ecx
add edi, 0xfe3c542a
sub edi, ebx
or ecx, 0xfe3ce023
shl edi, 2
add edi, ecx
shr edi, 0x1a
inc ecx
xor ecx, ebx
jmp 0x4dc7de
add esi, dword [esp + 8]
not edi
sub edi, ebx
and edx, edi
rol ebx, 0xb
xchg edx, edi
mov ebx, edx
add edx, ecx
shl ebx, 0x10
inc ebx
or ebx, ecx
dec ebx
shr edx, 0xa
neg edx
mov edx, 0xfe6d3bcb
not ecx
or ebx, edi
jmp 0x4ddc82
mov esi, dword fs:[esi]
xchg ecx, edx
not edi
mov ebx, ecx
mov edi, edx
and ecx, edi
xor ecx, 0xfe7256b5
xchg edi, ebx
and edx, edi
jmp 0x4dcf2f
add dword [esp + 0xe0], 0x78
xor edx, 0xfe9a3355
sub ecx, ebx
sub ecx, 0xfe9aacd1
xchg edi, ebx
add edx, ecx
mov edi, edx
xor edx, 0xfe9bb359
and edx, edi
xchg edi, edx
or edx, edi
xor edx, ecx
and edx, edi
add edx, ecx
neg ebx
jmp 0x4db931
mov dword [esp + 0xe0], esi
mov edx, ecx
and edi, ecx
add ebx, edx
rol edx, 0x1f
sub edi, edx
mov edi, 0xfe9ee0c5
shl ecx, 0x1c
neg ebx
sub edi, 0xfe9fb037
mov ecx, 0xfe9feefa
rol edi, 0x1f
jmp 0x4dca43
mov esi, dword [esi]
add edx, ecx
neg edx
xchg edi, edx
rol ecx, 3
jmp 0x4dbe21
mul esi
rol edx, 0xc
mov edi, ebx
not edx
mov edx, ecx
and ecx, edx
xor ebx, 0xfed11ef7
ror ebx, 0xe
add ecx, 0xfed19b89
add ecx, edx
ror edi, 6
xor edx, edi
shr ebx, 0xe
and edi, edx
mov edx, ecx
add ebx, edx
add edx, ebx
jmp 0x4dc0bb
add esi, dword [esp + 8]
and ecx, edi
add ebx, edx
mov ebx, 0xfeed3ab1
or ecx, edx
or ecx, edx
and ebx, edi
mov ebx, edx
rol edx, 0x1f
mov ecx, ebx
xor ecx, edi
xor edx, edi
jmp 0x4dd698
add esi, 0xc
xchg edx, ecx
xor edx, ecx
mov ecx, edx
jmp 0x4dc134
add esi, 0xc
sub ecx, 0xff046534
bswap edi
neg edx
dec ecx
and edi, edx
add edx, 0xff06609e
nop
shl ecx, 0x1c
sub ebx, ecx
jmp 0x4de2f3
add dword [esp + 0xe0], esi
rol edi, 0x18
or edi, 0xff085104
mov ecx, edi
neg ecx
sub edx, 0xff090ac6
xor ecx, edi
not ecx
rol edi, 5
mov edx, ebx
and edi, 0xff0b04b3
mov ebx, edi
jmp 0x4ddc03
mov esi, 0x30
shr ecx, 3
sub edi, 0xff11bf52
xor ecx, 0xff11fc4f
xor edi, edx
sub ecx, edi
jmp 0x4dc838
mov eax, 2
rol ecx, 9
xor ebx, edi
inc edx
or edx, 0xff139a63
xchg edx, ecx
add ecx, ebx
xchg ebx, ecx
sub edx, ebx
jmp 0x4dd42d
add esi, 0x18
xor edx, ecx
not edi
not ebx
xchg edx, edi
bswap edi
sub edi, ecx
sub ecx, edx
add edi, ebx
or ebx, edx
bswap edi
ror edi, 9
or ecx, edi
or edi, 0xff1d3523
jmp 0x4dd169
add dword [esp + 0xe0], 4
add ecx, edi
xchg edi, ebx
xor ecx, edx
add ebx, edx
mov ecx, edi
dec edx
sub edi, ecx
add ecx, ebx
or edi, ecx
xor ebx, edx
sub ecx, ebx
add ebx, 0xff283d37
jmp 0x4de09c
mov esi, dword [esi]
not ecx
xor ecx, ebx
xchg edx, edi
shl ecx, 0xf
shr edx, 1
not edx
or ebx, edx
sub ebx, ecx
xor ebx, 0xff33f250
add ecx, 0xff3430fe
or ecx, edi
jmp 0x4dd5b1
mov esi, dword [esi]
shl edi, 0x13
or edi, ecx
add ebx, 0x51cc1f8
inc edx
rol edx, 1
xchg edx, ebx
jmp 0x4dbf6a
mov esi, dword [esp + 0xc]
mov edi, edx
nop
and edi, edx
mov edi, edx
xor edi, 0x53ee56a
add edx, ebx
ror ebx, 0x1c
xor ebx, edx
mov edx, 0x53fdc2d
dec edi
jmp 0x4dccba
mov esi, dword [esi]
or ebx, ecx
add ecx, 0x55ce5b4
or ecx, ebx
xchg edx, edi
add ebx, ecx
or ecx, edi
xor ecx, 0x55e171a
shr ecx, 0x1b
not ebx
xor ecx, edi
and edi, ecx
shl edx, 5
or edi, edx
add ecx, 0x55fdb3a
add ecx, edx
jmp 0x4dafc1
mov dword [esp + 8], esi
neg edx
inc edx
sub ebx, edx
jmp 0x4dd96a
add esi, dword [esp + 0xe0]
add ecx, 0x56836ef
sub edx, ebx
mov ebx, ecx
xchg edx, ebx
inc ebx
jmp 0x4dcb18
push esi
xor edi, ecx
xor edi, ecx
xor edi, edx
inc edx
sub edx, ecx
xor edi, ebx
add ecx, edx
sub ebx, ecx
xor edx, edi
xor edx, 0x57283aa
ror ebx, 0x10
inc edx
rol edx, 3
jmp 0x4db02e
jne 0x4dde2e
xchg edi, ebx
xor edx, ecx
add ebx, 0x58ca9ff
jmp 0x4dd0ee
inc esi
xchg edi, ecx
xchg edx, edi
add edx, edi
xor ecx, edx
ror ecx, 1
mov ecx, 0x591469a
add edi, edx
xor ebx, edx
xchg ebx, edx
sub ebx, edx
add ecx, 0x5928cfd
and edi, ecx
xchg ecx, edi
jmp 0x4dbf9b
mov esi, dword [esp + 8]
xchg edx, ecx
and ebx, 0x59cc8f9
or edx, ecx
mov edx, 0x59d47f3
mov ecx, edx
xor edi, ebx
jmp 0x4dcf50
cmp eax, dword [esp + 0xb0]
jmp 0x4dd805
mov esi, dword [esp + 8]
neg ecx
bswap edi
and edi, 0x5a4ba43
xor ebx, ecx
jmp 0x4dd9d6
add esi, 0x3c
and edi, ebx
xor edx, 0x5acb9c6
add ebx, edi
or edx, ebx
mov ecx, edx
dec ebx
mov ecx, edx
shl ecx, 0x1e
xchg edi, ecx
or ecx, edi
dec ecx
sub edi, 0x5af306a
xchg edx, ebx
jmp 0x4db005
add dword [esp + 0xe0], 0x20
and ebx, 0x5d5f4f5
ror edi, 3
shl ecx, 0x15
or ecx, 0x5d6b228
xor ebx, edi
add ecx, edi
shl ecx, 5
or ebx, edx
or edi, ebx
and edx, edi
shr edx, 6
dec ecx
jmp 0x4dc14c
add dword [esp + 0xe4], 4
and edi, 0x5dae35b
add edi, 0x5db2199
and edx, ebx
sub edi, 0x5db9bab
mov edi, ecx
add edi, edx
or edx, 0x5dc60bb
not ecx
sub ecx, 0x5dce1a3
shr edi, 0x18
mov edx, edi
xor ebx, edx
jmp 0x4dc011
mov dword [esp + 0xe4], esi
sub edi, edx
add ecx, ebx
not ecx
add edi, edx
sub edx, ecx
mov edx, ecx
rol ecx, 0xf
xor edi, ecx
sub edx, 0x5dfe9f2
jmp 0x4dde2e
inc dword [esp + 0xc]
sub edi, ecx
bswap edx
mov edi, ecx
mov edi, ebx
add ecx, edx
and edx, ecx
shl ebx, 0xc
jmp 0x4ddc48
mov esi, dword [esi]
mov edx, ecx
xor ecx, edx
add ebx, edi
jmp 0x4dce31
xor al, byte [esi]
mov edi, ecx
inc ebx
add ebx, edx
sub edx, ecx
xchg ecx, edx
mov edi, ecx
jmp 0x4db24a
mov esi, dword [esp + 0xe0]
mov edi, edx
add edi, ebx
shr ebx, 0x1d
bswap ebx
xor edi, ebx
mov edx, edi
mov ecx, 0x6287e9c
not ecx
mov ecx, 0x628ff4f
neg edi
sub edx, ebx
jmp 0x4dd261
mov esi, dword [esi]
shr ecx, 0x18
add ecx, 0x62a0fa3
xor ecx, 0x62a5c97
not edi
xchg ecx, edx
ror ebx, 0x1c
or edi, edx
jmp 0x4db490
mov dword [esp + 0xe4], 0
xor edi, 0x64ea571
shl ebx, 0x18
add ebx, 0x64f20fe
xor ecx, edi
xor edx, ebx
xchg ebx, ecx
inc ecx
or ebx, edx
add edx, edi
or ecx, edi
jmp 0x4db12f
mov esi, dword [esi]
mov ebx, edx
add ebx, edx
sub ebx, 0x651a7b6
sub edx, 0x651e4f4
mov ebx, edi
sub ecx, edi
add ebx, edx
mov ebx, 0x652e7de
mov ecx, ebx
jmp 0x4dcf21