Function at 0x476bbe
Capabilities:
Encrypt data using chaskey

Disassembly:
inc esi
and ebx, edi
xchg edi, ebx
mov ebx, 0xfa28949
sub edi, ebx
mov edx, 0xfa304af
not ebx
sub ebx, 0xfa38327
or edx, ebx
jmp 0x476641
add dword [esp + 0x88], 0x78
rol ecx, 0xd
mov edx, ebx
add edi, 0xfb38d83
neg ecx
xchg ecx, ebx
xchg ecx, ebx
shl ebx, 0x1c
shr ecx, 0x1c
xor ebx, edi
xchg ebx, edi
xchg edx, ecx
xor ecx, edx
jmp 0x47880c
add esp, 0xcc
mov edx, ebx
rol edx, 0x1d
dec edi
xor edi, edx
and ebx, ecx
or edi, edx
and ebx, 0xfed1aed
inc edi
jmp 0x47632b
mov esi, dword [esi]
xor edx, ecx
inc edi
mov edi, ecx
bswap edx
not ecx
or edx, ecx
rol ebx, 0x14
and edx, edi
xor ecx, 0xfff59cd
shr ebx, 0xf
sub edi, ebx
add ecx, edx
add ecx, 0x1000544b
mov edi, ebx
jmp 0x4780ad
mov esi, dword [esi]
or ebx, 0x1000e6e7
xchg edx, ebx
sub ecx, 0x10017617
xor edx, ebx
jmp 0x4782d0
add esi, dword [esp + 0x94]
xor ebx, ecx
dec edx
add ecx, 0x1006a3f5
add edi, ebx
add ecx, ebx
or ebx, edx
bswap ecx
sub ecx, ebx
add ebx, 0x100823bb
mov ecx, edi
mov ecx, ebx
and edx, 0x1008d8b7
jmp 0x476fdc
mov esi, dword [esi]
add ebx, edx
shl ecx, 0x1e
xchg edx, ebx
sub edx, edi
dec ecx
and edx, edi
not edx
bswap ebx
jmp 0x4784de
cmp eax, dword [esp + 0xc0]
jmp 0x475d53
mov esi, dword [esi]
sub ebx, edi
shr ebx, 0x15
and edx, ebx
dec edi
not ebx
mov ebx, ecx
inc ebx
add edi, edx
jmp 0x476b84
jne 0x4775b6
xchg edi, ecx
mov edi, ecx
neg ebx
add edx, 0x104bc61f
xchg edi, ebx
add ebx, edi
shl ecx, 0x18
or ebx, edi
mov edi, ebx
shl edx, 5
or edx, ecx
ror ebx, 6
jmp 0x476f6b
rol eax, 8
or ecx, edi
or edi, 0x104ee0ef
add ecx, ebx
mov ebx, ecx
jmp 0x4754c0
add esi, 0x3c
and edi, ebx
not edi
bswap ebx
not edi
bswap edx
or ecx, edi
or ecx, 0x10638eb3
and edi, ecx
xor edi, ecx
sub ecx, edx
rol ebx, 7
and ebx, 0x1064d48f
jmp 0x476d6c
add esi, dword [esp + 0x88]
xor ecx, ebx
sub edi, ebx
ror ebx, 0x18
add ebx, edx
and ecx, edx
rol edi, 0x15
add ecx, ebx
shl edi, 4
mov ecx, ebx
and ebx, edi
xor edi, ebx
sub edi, 0x1073c1df
jmp 0x475d03
mov esi, dword [esp + 0x88]
xchg edx, edi
neg ebx
sub edx, ebx
shl ebx, 5
dec ecx
and edi, ecx
add edi, ecx
sub ecx, ebx
dec ecx
xor ebx, edi
jmp 0x4767d2
mov dword [esp + 0xa8], esi
bswap edx
and edi, ecx
ror ebx, 5
and ebx, 0x10a3de65
not edx
xor ebx, edx
jmp 0x4783dd
ret
xor eax, eax
and edi, 0x10cac449
dec edx
or edx, 0x10cb53df
and ebx, ecx
mov ebx, 0x10cbcead
neg edx
mov edx, ebx
xor ecx, edi
jmp 0x476545
xor al, byte [esi]
shr ecx, 0xf
shl ebx, 0x1d
xor ecx, edx
ror ecx, 0x18
xor ecx, edi
add edi, edx
shl ebx, 7
shr ebx, 0x1d
and edi, ebx
mov edx, 0x10e5150f
or edx, edi
xchg ebx, edi
and edx, 0x10e5c46f
or edx, edi
xor ebx, edx
rol edi, 0x14
jmp 0x475d7d
sub dword [esp + 0x88], 8
or edi, edx
add ecx, ebx
xchg edx, ebx
add ecx, ebx
or edi, edx
not edx
mov ecx, edx
shl ebx, 5
or ecx, edx
sub ebx, 0x10f15565
jmp 0x4788c1
cmp byte [esi], 0
jmp 0x477a86
mov esi, dword [esi]
mov edi, 0x1110b731
or edx, 0x11117cc3
mov edx, 0x1111bcd5
ror ecx, 0x17
or edx, ebx
add edi, ebx
shr ecx, 9
mov ecx, 0x111309ad
jmp 0x477be5
add esi, dword [esp + 0x78]
or ebx, edx
bswap edi
inc ebx
or ecx, 0x11141edd
sub edx, 0x11145eb5
shr ecx, 0x10
or edx, 0x1114efcf
add ecx, edx
xchg ecx, ebx
shl ecx, 0x11
xor edi, ecx
or edi, edx
or edx, ecx
shl edi, 0x18
jmp 0x4789e8
add dword [esp + 0x88], esi
xchg ebx, edx
or edx, ecx
xchg ebx, edi
inc ecx
add ecx, 0x1121a095
shl ebx, 0x1e
shr edx, 0xb
ror edx, 0x1b
sub ecx, ebx
mov edx, 0x1122dc25
jmp 0x477cef
mov esi, dword [esp + 0x78]
or edi, ecx
neg edi
ror edi, 0x14
add ecx, edx
sub ebx, ecx
xchg ecx, edi
neg ecx
and edx, 0x11489e9d
shr ebx, 0x1c
xchg ebx, edi
jmp 0x475e95
mov dword [esp + 0x88], esi
sub ecx, 0x1150edb5
or edi, ebx
mov edx, ecx
ror ecx, 0xa
add edi, 0x1151faa1
or ebx, edx
and edi, edx
bswap ebx
jmp 0x476d1e
mov dword [esp + 0x88], esi
add edx, 0x115a6275
inc edi
shl edx, 0x1e
not ecx
or edi, edx
mov ecx, edi
and ebx, edi
add ecx, ebx
jmp 0x4781a7
sub esp, 0xcc
or edi, ecx
or edi, ebx
sub edx, ebx
xor edi, edx
and ecx, edx
or edi, edx
inc ebx
shr ebx, 0xb
and ebx, ecx
shr ecx, 0xe
jmp 0x47812b
mov dword [esp + 0x94], eax
neg edx
not edx
rol ebx, 0xd
neg edx
dec edi
neg edi
jmp 0x4765ee
mov esi, dword [esi]
sub ecx, 0x1172db61
xor edi, edx
or edi, ecx
add ebx, ecx
or edx, ecx
xor ebx, edi
and edi, ecx
add ebx, ecx
jmp 0x47865d
add dword [esp + 0x88], eax
sub ecx, edi
mov edi, edx
and edi, ebx
and edx, ebx
add edi, ebx
ror edi, 2
xor ecx, ebx
sub ecx, edx
xchg edx, ecx
or ecx, edx
or edx, ecx
sub ebx, ecx
jmp 0x477258
mov esi, dword [esp + 0xa8]
xchg edx, ecx
or edx, ebx
sub ebx, ecx
xchg ecx, ebx
sub edi, ecx
sub ecx, 0x1178eeb5
and ecx, edi
and edi, 0x1179646d
and edi, 0x1179a1d7
add ebx, ecx
jmp 0x4759e5
mov esi, dword [esi]
xor ebx, edi
neg ebx
and edi, edx
not ecx
xchg edx, ecx
and ecx, edi
add edi, 0x117e102b
or ebx, edi
jmp 0x47833b
mov dword [esp + 0x88], 0
xchg ebx, ecx
not edi
and ebx, ecx
add edi, ebx
and ecx, edi
xor ebx, edi
jmp 0x477e39
add dword [esp + 0x88], 4
xchg ebx, ecx
sub ecx, 0x11a35c21
xchg ebx, edx
shl edx, 0xe
xor ebx, ecx
bswap ebx
or ebx, edx
add ecx, 0x11a4e46d
sub edx, ecx
mov ecx, edx
jmp 0x476091
mov esi, dword [esp + 0x94]
sub ebx, edi
not ebx
xor ecx, ebx
xor edi, ebx
jmp 0x478af5
mov eax, 4
sub ecx, edi
xchg ebx, edi
neg edi
and ecx, edi
and edi, 0x11ab6877
shr ecx, 0x14
xchg ebx, edi
or edi, ecx
shl edx, 1
xor ebx, edi
jmp 0x47843c
add esi, 0xc
shr ebx, 0xb
and ebx, 0x11ba39f5
mov edi, ebx
and edx, ecx
or ebx, edx
or edx, ecx
xchg ebx, edi
and ebx, 0x11bbb923
xor edi, ecx
rol edx, 0x15
jmp 0x475ab1
mov esi, dword [esp + 0xa8]
xchg edi, edx
xchg ebx, ecx
shl edx, 0xe
inc ecx
sub ebx, edx
xchg ebx, ecx
or ebx, 0x11bf3eb9
xor edi, ecx
and edx, edi
or edi, edx
jmp 0x47747c
mov esi, dword [esp + 0x88]
add ebx, 0x11da6fed
sub edx, edi
xchg edi, edx
rol edi, 0x12
xchg ebx, ecx
not ebx
mov edi, ebx
xor edx, edi
mov edx, 0x11dc79eb
rol edi, 7
sub ebx, edi
or ecx, edi
xor edi, 0x11dd76b5
sub ebx, 0x11ddb6d7
xchg edx, ebx
xor edi, 0x11de35d9
jmp 0x475978
mov esi, dword [esi]
neg edx
add edx, ecx
add ebx, edx
shr ebx, 0x14
xchg edi, ebx
bswap edi
xor ebx, edx
inc edi
mov ecx, edi
and edi, ecx
jmp 0x4767f8
pop esi
sub ecx, ebx
or ecx, edx
and edx, ecx
neg edx
inc ecx
shl edi, 9
mov edi, ebx
rol ebx, 0x10
jmp 0x475c1d
inc dword [esp + 0x94]
sub edi, 0x1218aa45
rol edi, 0x17
xchg edx, edi
or ecx, edx
and edx, 0x12199a7b
mov ebx, 0x1219d599
xchg edi, edx
rol edi, 0xc
jmp 0x4780d2
jne 0x476545
rol edx, 3
inc ecx
sub edx, ebx
xchg ecx, edx
or ebx, 0x1276634f
nop
mov edx, edi
mov edx, ecx
and edx, 0x12776d9f
sub ecx, edi
and ecx, 0x1277ed65
rol edx, 0x1c
mov ebx, edx
and ebx, edx
neg edi
mov edx, edi
jmp 0x477562
mov esi, dword [esp + 0x88]
add ebx, 0x1287949b
dec edi
mov ecx, edi
neg ecx
add edx, ecx
shr ebx, 0x1e
or ecx, edx
mov edx, ebx
add edi, ebx
sub ecx, edi
or edx, ebx
and ebx, edi
jmp 0x478958
add esi, dword [esp + 0x78]
sub edx, 0x12928395
shr ebx, 6
xchg edx, edi
not ebx
add ebx, 0x12938289
xor edi, 0x1293c3f7
xchg ecx, edx
inc edx
or ecx, 0x1294941f
or edi, ebx
neg ebx
xor edi, 0x12955263
jmp 0x47620c
add esi, 0x18
add edx, edi
xor ecx, 0x129f064d
rol edx, 0xd
xor ebx, ecx
xchg ebx, edi
not ecx
and ebx, ecx
sub ecx, edx
add ebx, edi
xchg ebx, edx
jmp 0x4759a4
add dword [esp + 0x88], 0x20
mov edx, 0x12a56ec5
shr ebx, 0x12
or edx, ebx
and ebx, ecx
add ecx, edi
add edx, ecx
not edx
and edx, 0x12a72ee5
sub edi, edx
rol edi, 0x16
jmp 0x477b60
mov dword [esp + 0xc0], esi
neg ebx
mov edx, ecx
or ecx, 0x12bfc1ed
and ebx, 0x12c000e9
sub edi, ebx
sub ecx, 0x12c07de1
sub edi, 0x12c0bd5d
shr edi, 0x18
and ecx, edx
shl edx, 0xa
rol edx, 0x12
shl ebx, 8
mov ecx, edi
and ecx, edx
jmp 0x478b19
add esi, dword [esp + 0x78]
shr ecx, 0x1b
or edx, ecx
and edx, edi
or ecx, ebx
shr ecx, 0xe
or edi, edx
add ebx, edx
rol ebx, 0xe
jmp 0x476af1
add esi, dword [esp + 0x78]
mov edx, 0x12efc24d
sub edx, edi
rol edx, 5
rol edi, 0xd
xchg ecx, ebx
mov edx, ecx
xor edi, edx
and ebx, edx
xor edx, ebx
xor edx, edi
jmp 0x47587f
add dword [esp + 0xa8], 4
xor edi, 0x12f258e1
xchg ebx, ecx
sub edi, ecx
mov ebx, edi
sub edx, edi
neg edi
jmp 0x4770ed
mov dword [esp + 0x94], 0
xchg edx, edi
xchg ebx, ecx
sub ebx, 0x12f8b285
xor edx, ecx
and edi, edx
shr ecx, 0x10
and edx, edi
add ecx, edi
sub ecx, edx
add ecx, 0x12fa71a3
jmp 0x478b5f
mov esi, dword fs:[esi]
sub ecx, edx
shr edi, 0x1f
sub edx, ecx
xor ecx, 0x12fb9055
xor ecx, 0x12fbcf35
xor ebx, ecx
shl ebx, 0x12
add edi, edx
jmp 0x4770b8
mov esi, dword [esp + 0x78]
xor edi, edx
and edx, ecx
or edx, 0x1300838b
add ecx, edi
add edx, ecx
mov edx, edi
add edx, ebx
sub edi, edx
jmp 0x4768a1
mov dword [esp + 0x78], esi
xchg edi, ecx
mov edx, ecx
sub ecx, edx
xor ecx, edi
xor edx, 0x131a9b6b
and edx, ebx
jmp 0x476a7c
mov dword [esp + 0x88], esi
and edi, ecx
shr edx, 0x15
add ecx, 0x1321b629
and edi, 0x1321f193
xor ecx, edx
sub edi, ebx
add edi, ecx
xchg edx, ecx
bswap ebx
xchg edi, ebx
jmp 0x4755a6
mul esi
neg edi
dec ecx
xor edi, ebx
xchg edi, ecx
mov ebx, edx
xor edi, ecx
jmp 0x476cf9
mov eax, 2
not ecx
add ecx, edx
xor edx, edi
shl edx, 3
and ecx, edx
rol ecx, 0x11
shr ebx, 0xf
add edx, edi
xor edi, edx
mov edx, edi
xchg edi, ecx
rol edx, 0xe
jmp 0x476fc8
mov dword [esp + 0xa8], esi
xor edx, ecx
and edx, ebx
or ecx, 0x132f629d
sub edi, ebx
sub edx, ecx
add edi, edx
bswap edx
or edx, 0x13315af7
xor edi, 0x1331abab
sub ebx, edi
or edi, edx
xchg ecx, ebx
sub edi, ecx
xchg ecx, edi
xchg edi, ecx
ror ebx, 0x1c
jmp 0x4775b6
movzx esi, word [esi]
and edi, ecx
mov edi, ebx
xor ecx, ebx
shr edi, 5
sub edi, 0x1334aaab
mov edi, ecx
sub ebx, edi
xchg edx, ebx
xor edx, edi
mov ebx, 0x1335efff
jmp 0x4783cb
add esi, 0xc
add edi, edx
neg ecx
xor edi, ebx
xor edi, 0x13402911
and ebx, edx
xchg edx, ecx
or ebx, ecx
not ecx
or ebx, 0x13417625
xor edx, ecx
jmp 0x476cde
add esi, dword [esp + 0x78]
rol ebx, 0x13
ror edx, 0x14
bswap edx
bswap edi
dec ebx
sub edx, 0x13434c4d
xor edx, 0x13439ba3
xor ecx, edi
jmp 0x478403
mov esi, dword [esi]
sub ebx, edi
or ebx, ecx
bswap ebx
inc edx
or ebx, edi
ror ebx, 8
jmp 0x4786eb
mov esi, dword [esi]
add edx, edi
shl ebx, 0x18
inc ecx
mov ecx, edi
shl edi, 0x13
add ecx, edi
shr edi, 1
and edi, ebx
xor edi, 0x1360ff09
sub ebx, edx
add edx, 0x13617ba1
mov ecx, edi
sub edi, 0x1361f745
add ecx, edx
jmp 0x478050
mov esi, dword [esi]
shr edx, 4
mov edx, ebx
neg ecx
mov ecx, edi
add edi, 0x136868d5
mov ecx, edx
mov edi, 0x1368f471
add ebx, 0x1369337b
inc ebx
not edx
jmp 0x477ca4
mov esi, dword [esp + 0x78]
xchg ecx, ebx
xchg ebx, ecx
add ebx, ecx
shl edi, 8
xchg ebx, edx
shr edi, 0xb
mov edi, 0x137eef35
xchg ebx, edx
jmp 0x475f66
mov esi, dword [esp + 0x88]
add ebx, 0x138b6e17
xor ecx, 0x138baf2f
shl edi, 0xb
add edi, edx
shr edi, 0x14
add edi, 0x138cae67
and edx, 0x138cedb1
mov edx, edi
inc ebx
xor ecx, ebx
and edx, 0x138e99f1
and ecx, 0x138ed98f
jmp 0x478670
mov esi, dword [esi]
xchg edi, edx
ror edi, 0xd
mov ecx, 0x1395ae23
xchg ebx, ecx
jmp 0x478502
push esi
and edi, ebx
shr edi, 0x10
sub ecx, edi
rol ecx, 5
xor ecx, 0x13a28495
and edx, ecx
sub ebx, 0x13a301d9
ror ebx, 0x11
sub edi, ecx
rol edi, 4
mov edx, 0x13a410d3
ror edi, 4
mov ebx, 0x13a49121
xor edi, edx
jmp 0x4763fd
mul esi
add edx, ebx
bswap ecx
xor ebx, edx
xchg ecx, edi
dec ebx
shr edi, 2
and edi, 0x13b71315
or ecx, edx
add ebx, 0x13b78f43
ror edi, 0x18
jmp 0x476cc6
mov esi, 0x30
nop
mov edx, ecx
neg edi
xchg edx, ecx
or ecx, ebx
xor edx, ecx
sub edi, ebx
bswap edi
jmp 0x478158
mov dword [esp + 0x78], 0
rol ebx, 0xd
inc ecx
rol ebx, 2
not edx
mov ebx, edi
neg ebx
and edx, ecx
not edi
neg ebx
mov edi, ecx
add ecx, edx
xchg edx, edi
mov edx, edi
or ebx, edi
jmp 0x476de3
mov dword [esp + 0xa8], 0
sub edx, ebx
mov edx, ebx
sub ecx, 0x13be5325
or edx, ebx
jmp 0x478b32