Function at 0x47769b
Capabilities:
Encrypt data using chaskey

Disassembly:
mov ebx, dword [esp + 0xcc]
xchg ecx, esi
ror edi, 0x11
sub edx, 0x567d5966
and ecx, 0x567daa12
and esi, edx
sub edi, esi
or edx, esi
sub edx, edi
add edx, ecx
add esi, edx
jmp 0x475c7b
cmp byte [ebx], 0
jmp 0x476d32
add ebx, 0x18
xor esi, ecx
and esi, edx
inc ecx
shr esi, 0xb
ror ecx, 0xa
xchg ecx, esi
mov ecx, 0x56829454
xor ecx, edi
mov ecx, 0x56832306
not ecx
xor esi, edx
add ecx, edi
jmp 0x475ac7
mov ebx, dword [esp + 0x104]
and edx, edi
xchg ecx, esi
bswap ecx
add edx, esi
bswap esi
xor esi, edi
add esi, edi
xchg esi, edx
bswap ecx
sub edx, 0x568f3bd0
sub edx, ecx
neg edi
jmp 0x476b6e
mov eax, 2
shl edi, 5
xchg esi, edi
sub ecx, esi
add esi, edi
or edx, ecx
ror edi, 0x14
jmp 0x477d08
mov ebx, dword [ebx]
sub edx, ecx
nop
add ecx, 0x56c28e82
xor esi, 0x56c2df86
jmp 0x475cc6
inc ebx
not ecx
sub esi, edx
or ecx, esi
rol edi, 0x13
xor ecx, esi
ror edx, 0x1e
add edi, 0x56c71cc8
and esi, 0x56c75cc4
sub esi, edx
add ecx, esi
jmp 0x47574d
mov dword [esp + 0xe0], ebx
add edx, 0x56ca50e6
sub esi, ecx
or esi, ecx
xchg esi, ecx
mov esi, 0x56cb4bba
ror esi, 6
xor ecx, edi
add ecx, 0x56cc1a36
mov edx, ecx
xor ecx, esi
jmp 0x47671e
add ebx, dword [esp + 0x118]
sub esi, 0x56ceeaa0
not edx
rol esi, 0xa
and esi, edx
jmp 0x477825
mov ebx, dword [ebx]
mov esi, ecx
xchg esi, edx
or esi, ecx
mov edi, ecx
add ecx, edi
or edx, 0x56e25394
inc edx
xor edx, edi
rol edx, 7
shr edx, 0x12
or ecx, esi
sub edi, edx
jmp 0x476e15
mov dword [esp + 0x104], ebx
xchg edi, esi
and esi, edi
jmp 0x47614d
mov ebx, dword fs:[ebx]
or edx, esi
xchg edi, esi
mov edi, edx
and edx, ecx
neg esi
sub edi, edx
xor edi, esi
bswap edx
xchg edx, edi
not ecx
jmp 0x477960
mov ebx, dword [ebx]
sub edi, edx
xchg esi, edx
xor ecx, edi
bswap ecx
and edi, ecx
and edx, edi
xchg edi, ecx
shl edx, 0x17
and edx, ecx
add edx, 0x56ef7ea0
and ecx, edi
add ecx, edi
jmp 0x476438
mov dword [esp + 0xe0], 0
dec esi
xor esi, edi
sub ecx, 0x56f59560
sub esi, edx
sub esi, 0x56f6133c
mov edx, 0x56f653c8
and edx, esi
xchg ecx, esi
jmp 0x476857
mov dword [esp + 0xe0], ebx
xchg esi, edx
sub ecx, edi
add ecx, esi
add esi, 0x57026fdc
sub edx, 0x570336d0
xchg edx, edi
and esi, ecx
or edx, edi
mov edx, edi
or ecx, esi
jmp 0x47584c
mov ebx, dword [ebx]
and edi, edx
sub esi, edi
ror ecx, 6
or ecx, esi
mov esi, edi
dec esi
jmp 0x4769c9
mov dword [esp + 0xcc], ebx
mov esi, edx
neg edi
not edi
rol edi, 0xe
add edi, esi
sub esi, edi
jmp 0x4760f8
add dword [esp + 0xcc], eax
inc edx
mov esi, edi
xchg edx, ecx
shl ecx, 0xe
sub edi, 0x570fb518
xchg edx, edi
bswap edx
add esi, 0x571086ba
mov esi, edx
xchg edi, edx
jmp 0x477cdc
add dword [esp + 0xcc], 0x78
and ecx, edi
mov esi, edi
mov edi, esi
mov edi, 0x5739fdb4
or ecx, edi
dec esi
sub edi, esi
sub ecx, edx
mov edx, esi
and esi, edx
jmp 0x477180
mov ebx, dword [esp + 0x104]
bswap ecx
sub edi, 0x573fe9e6
or edi, ecx
sub esi, 0x57406724
not edi
xchg ecx, esi
and esi, edi
bswap esi
jmp 0x47700a
add ebx, dword [esp + 0x104]
add ecx, edi
shl esi, 0x12
xchg edx, edi
mov ecx, edi
jmp 0x476af9
rol eax, 8
mov edi, 0x57531dcc
sub edi, edx
mov ecx, edx
add esi, 0x5753d736
or esi, edx
add esi, 0x575455ec
sub ecx, esi
xor ecx, 0x5754e4f2
jmp 0x475b00
add ebx, dword [esp + 0xcc]
and edi, esi
and esi, ecx
and edi, 0x5755b314
sub edi, edx
xchg ecx, esi
or edi, 0x575682f4
jmp 0x475d0d
mov dword [esp + 0xcc], ebx
bswap edx
xor ecx, edx
xor ecx, edi
or edi, esi
sub esi, edi
bswap edx
add ecx, 0x5776f74a
xchg ecx, esi
and ecx, edx
mov esi, ecx
jmp 0x475805
add ebx, 0xc
shl edi, 0xe
xor edx, edi
sub edi, esi
mov ecx, esi
xchg edi, ecx
shl edi, 0xc
shl edi, 0x14
rol ecx, 7
sub esi, edi
or edi, esi
sub esi, edx
xchg esi, edx
and ecx, esi
or ecx, esi
jmp 0x477d42
mov ebx, dword [ebx]
xor edx, edi
add edi, edx
add edi, 0x5783fc9a
sub esi, ecx
or ecx, edx
mov edi, esi
sub edx, 0x578505f2
xor ecx, 0x57854508
jmp 0x47729f
mov ebx, dword [esp + 0xcc]
neg esi
sub edx, edi
mov edx, edi
dec edi
shl edi, 0x13
xchg esi, ecx
inc edx
or esi, ecx
jmp 0x476f54
mov dword [esp + 0x118], eax
and edi, edx
dec ecx
mov edi, esi
and ecx, 0x579cdc94
jmp 0x477160
add dword [esp + 0xcc], 0x20
xor esi, edi
add esi, edx
mov edx, esi
and esi, 0x57a22e7e
xor ecx, esi
xchg edx, esi
xor esi, 0x57a2fd04
ror edx, 0x1d
add edi, esi
add edi, esi
or ecx, esi
add esi, edi
jmp 0x475724
mul ebx
ror edi, 1
xchg edx, esi
neg ecx
and ecx, esi
shl ecx, 3
or esi, ecx
or edx, edi
mov esi, edi
xor esi, 0x57a84134
sub edi, 0x57a8810c
nop
shr edi, 0x1b
rol edi, 0x10
xchg edi, edx
jmp 0x475edc
pop ebx
dec esi
sub esi, ecx
mov ecx, edi
sub ecx, 0x57aa9488
inc esi
xor ecx, edi
inc esi
neg ecx
jmp 0x477993
inc dword [esp + 0x118]
shr esi, 7
xor edx, esi
shl ecx, 0x1e
mov esi, edi
xor edx, edi
mov edi, esi
sub edx, 0x57af21b6
xchg edi, edx
jmp 0x4775d2
add ebx, dword [esp + 0x104]
xor edx, ecx
mov edx, 0x57c08dfa
add ecx, 0x57c0f330
shl edi, 0x18
jmp 0x475e3f
xor al, byte [ebx]
inc ecx
sub esi, ecx
add edi, esi
sub esi, edi
rol ecx, 0x15
neg edx
xor edx, 0x57cf6c3a
mov edi, 0x57d0024a
xor edx, edi
xor edx, esi
jmp 0x47626f
mov dword [esp + 0x104], 0
xchg edi, esi
sub edi, edx
add edx, ecx
xchg edi, edx
add edi, edx
sub esi, edx
bswap esi
neg esi
jmp 0x476d8f
mov dword [esp + 0xcc], ebx
or edi, edx
ror ecx, 0x1f
add edx, 0x57fb5bc8
bswap ecx
jmp 0x47739d
mov ebx, dword [ebx]
add esi, edi
rol esi, 0x17
dec esi
rol edx, 0x13
xor ecx, edx
xor ecx, 0x58129cbc
jmp 0x475767
mov ebx, dword [esp + 0xe0]
add ecx, esi
sub edx, edi
mov esi, 0x582a1250
xor edx, edi
and edx, ecx
not esi
or esi, edi
xchg edx, ecx
add edx, ecx
xchg esi, ecx
jmp 0x4774ab
movzx ebx, word [ebx]
and esi, edx
and esi, edx
sub ecx, edx
add ecx, edi
jmp 0x4766bb
push ebx
neg edi
add edi, edx
xor esi, ecx
sub ecx, 0x583bf5c6
not edi
mov esi, edi
and esi, ecx
neg edx
shl esi, 0x13
or edx, edi
neg ecx
xor edx, 0x583fbc64
jmp 0x476c2f
add dword [esp + 0xcc], ebx
and esi, edx
sub ecx, edi
mov edi, 0x584bc7b4
mov edi, esi
inc esi
add edx, edi
shl edi, 0xd
not edx
jmp 0x476673
xor eax, eax
not edi
mov edi, esi
mov edi, 0x58624b50
neg ecx
shr edi, 0x16
and esi, edx
jmp 0x47681c
jne 0x47681c
add edi, ecx
not edi
and esi, edi
mov ecx, edx
neg ecx
and esi, ecx
dec edx
sub edi, ecx
shr esi, 0xa
or edi, ecx
xor edx, 0x5888b336
or ecx, edi
or esi, edi
dec edi
jmp 0x4766e9
ret
mov dword [esp + 0xcc], 0
sub edx, 0x5890d884
sub edx, 0x589155f8
and esi, edx
ror ecx, 0x19
add esi, edi
and edx, ecx
shl edx, 0xc
xor edx, ecx
ror ecx, 0x16
or esi, edx
add ecx, edi
or ecx, esi
jmp 0x4773d3
add ebx, dword [esp + 0x104]
and edi, 0x58a385e6
dec edx
sub edi, 0x58a4863a
inc esi
mov edi, ecx
mov edx, ecx
ror ecx, 0xb
xor esi, edx
xor edx, ecx
add esi, ecx
bswap edi
ror esi, 0x16
jmp 0x475b42
add dword [esp + 0xcc], 4
and ecx, 0x58a96fb0
xor edi, ecx
neg esi
add ecx, 0x58ab077a
add edi, edx
bswap edi
jmp 0x476510
mov ebx, dword [ebx]
or esi, edx
mov ecx, edi
xor esi, 0x58d0e15c
add esi, edi
or esi, edi
neg edx
jmp 0x4767bb
add ebx, 0x3c
sub edx, ecx
inc ecx
sub ecx, 0x58e6edec
mov esi, 0x58e7670a
sub ecx, esi
sub esi, 0x58e83878
rol ecx, 0x10
sub ecx, edx
jmp 0x477d96
mul ebx
and edx, 0x58ef2812
sub ecx, 0x58efa604
xor ecx, 0x58f02722
and esi, ecx
or edx, 0x58f128d6
xor edx, edi
xor esi, ecx
ror ecx, 0x12
sub edi, edx
or edi, ecx
jmp 0x476628
mov ebx, dword [ebx]
xchg esi, edi
ror ecx, 0xb
neg esi
add edi, edx
xor edx, 0x590b08c4
mov edi, ecx
mov edx, esi
xor esi, ecx
xor edi, edx
xor esi, edi
add edx, edi
sub edx, 0x590e5944
jmp 0x4774fd
sub dword [esp + 0xcc], 8
dec edx
and ecx, edi
mov esi, edi
and ecx, edi
or esi, 0x5915cdae
and esi, ecx
sub edx, esi
sub esi, edi
jmp 0x477534
mov ebx, dword [esp + 0x104]
dec edi
add edi, 0x59183ba8
add edx, ecx
rol edi, 0xa
and edi, edx
mov edx, 0x591a579e
sub esi, edx
dec edi
jmp 0x476296
add ebx, dword [esp + 0x104]
or ecx, 0x593ee12e
xor esi, ecx
rol ecx, 0x1d
neg ecx
add ecx, edx
add ecx, esi
inc esi
shr esi, 0xf
and esi, edi
ror edx, 0x17
jmp 0x47693a
mov ebx, dword [esp + 0xe0]
add edx, 0x59626326
sub edx, 0x5962e75c
or ecx, edx
xor edi, esi
dec edi
shl edx, 6
or esi, edx
or edx, ecx
bswap ecx
and ecx, esi
jmp 0x475b88
mov dword [esp], ebx
shl ecx, 0xb
xor esi, edi
add esi, ecx
and esi, edx
mov esi, edx
bswap esi
and edx, 0x596b885e
xor edx, esi
dec ecx
or esi, edi
jmp 0x477caf
mov ebx, dword [ebx]
xchg esi, edx
and ecx, edi
add edx, esi
or edi, 0x5989b14e
rol ecx, 1
dec esi
ror ecx, 0xc
and esi, edx
or esi, ecx
not edx
jmp 0x47620f
add ebx, dword [esp + 0x104]
add edi, 0x598f56a4
xor edx, esi
or edi, 0x5990413a
dec esi
add esi, ecx
xor edx, 0x59915fc8
sub esi, 0x59919fc0
dec ecx
or edi, ecx
shr esi, 0x1f
mov edx, edi
or esi, 0x5992ecae
jmp 0x4779f2
mov ebx, dword [esp + 0xcc]
sub ecx, edi
ror edx, 0xb
sub esi, 0x5993d58a
sub ecx, edi
jmp 0x4764ed
add dword [esp + 0xe0], 4
add edx, esi
ror edx, 5
and edi, 0x599e2524
mov esi, 0x599e65ac
mov edi, esi
add esi, edi
jmp 0x476a76
jne 0x47671e
xor edi, ecx
sub esi, edi
rol ecx, 8
xor esi, ecx
xchg esi, ecx
sub ecx, 0x59a552ee
xor edi, 0x59a59216
and esi, edi
xchg ecx, esi
rol edx, 8
ror edx, 6
xor edi, esi
jmp 0x476e41
sub esp, 0x138
inc edx
xchg edi, ecx
neg ecx
not ecx
ror esi, 0x11
mov edi, esi
and edi, 0x59ad9c26
add esi, ecx
jmp 0x477aaf
mov eax, 4
or ecx, edi
or esi, edi
shr ecx, 4
not esi
or ecx, esi
xchg esi, ecx
xor esi, edx
mov edi, esi
sub esi, 0x59c9b3dc
xchg edi, esi
mov edi, esi
xor edx, edi
jmp 0x476a99
add ebx, 0xc
xchg ecx, edi
xchg esi, edi
neg edi
xchg ecx, esi
add esi, 0x59dedcbe
sub esi, ecx
neg ecx
add esi, ecx
jmp 0x477c30
cmp eax, dword [esp]
jmp 0x47762e
add esp, 0x138
shl edi, 0x16
neg edx
shl ecx, 4
neg edx
jmp 0x476d5c
mov dword [esp + 0x118], 0
or edi, esi
sub esi, ecx
jmp 0x475d7c
mov ebx, dword [ebx]
not edi
and edi, edx
sub ecx, edi
rol edx, 2
jmp 0x47647c
mov ebx, 0x30
add ecx, 0x5a1f5b60
mov ecx, 0x5a1f9be6
and edx, edi
or edx, edi
dec edx
xchg ecx, edi
shr edx, 5
or esi, edx
add esi, edx
xchg esi, edi
xchg edx, esi
xor edx, 0x5a22228a
jmp 0x475cd6
mov ebx, dword [esp + 0xcc]
mov esi, edx
mov esi, ecx
sub edx, 0x5a234f7c
or esi, ecx
xchg ecx, esi
rol ecx, 0x11
shl edx, 0xb
sub ecx, edx
ror esi, 0xd
mov edx, esi
and edx, ecx
ror edi, 9
jmp 0x477114
mov ebx, dword [esp + 0x118]
or ecx, edx
mov esi, edi
not edx
sub esi, edx
dec edx
sub edx, 0x5a2789ce
ror edx, 0x14
or esi, edi
dec esi
shr edi, 2
jmp 0x477051
mov ebx, dword [ebx]
add ecx, edi
mov edi, esi
xor esi, edx
xor edx, ecx
mov edi, ecx
sub edx, ecx
jmp 0x475e67
mov ebx, dword [ebx]
xchg ecx, edi
and edi, 0x5a30987e
xor esi, edx
or edi, esi
xor edi, 0x5a314aa6
mov edi, edx
jmp 0x475ea3