Function at 0x4758b8
Capabilities:
Encrypt data using chaskey

Disassembly:
mov dword [esp + 0x90], 0
xor edi, esi
or edi, 0x15f84f35
mov edx, edi
and edi, ebx
add esi, edx
or edx, 0x15f94f32
and esi, ebx
sub edi, 0x15f9c9cb
shr edi, 4
xor edi, ebx
add edi, ebx
jmp 0x4758f5
mov ecx, dword [ecx]
add edi, 0x162b2e6b
add ebx, edx
xchg edx, esi
sub edi, edx
and edi, 0x162c2cac
bswap edi
xor esi, 0x162ca6f6
and edi, edx
xor edi, ebx
and edi, edx
sub esi, edi
jmp 0x475c59
mov eax, 4
or edx, esi
shr ebx, 0xf
add ebx, edi
rol edi, 0x19
bswap edi
ror ebx, 0x17
neg edi
dec edi
rol esi, 0x1a
dec edi
not edx
inc esi
jmp 0x4769f2
add ecx, dword [esp + 0x84]
and ebx, 0x165ae347
ror edx, 0xa
and edx, esi
or edi, 0x165b9c3d
or ebx, esi
mov esi, ebx
not edi
xor ebx, 0x165d1aa1
mov ebx, edx
mov esi, ebx
xchg esi, ebx
jmp 0x478aca
rol eax, 8
ror edi, 0x17
inc edi
ror esi, 0x1a
xchg ebx, esi
and esi, ebx
and ebx, 0x1670b7e0
or edi, ebx
or edx, 0x16714139
add ebx, edi
xchg ebx, edx
or edx, esi
jmp 0x477ebd
mov dword [esp + 0x84], ecx
mov edi, 0x1678796f
xor esi, edi
shl edx, 0x11
xchg edx, edi
and edi, 0x16796a7c
rol ebx, 0xe
jmp 0x477cd3
jne 0x477b65
mov esi, 0x1686280c
xchg edx, esi
and edi, 0x1686a19b
not esi
mov edi, edx
xchg edi, edx
xor esi, edi
xor esi, ebx
xor edi, edx
and edi, 0x16885195
xchg edx, esi
xor edi, edx
jmp 0x4779b7
sub esp, 0xb0
sub esi, ebx
xor edi, esi
add ebx, edi
and edi, ebx
xchg esi, edx
mov edx, edi
or ebx, edx
neg ebx
xchg edi, edx
sub ebx, edi
jmp 0x475bad
mov dword [esp + 0x98], ecx
add edi, esi
and edi, esi
mov edx, 0x16929443
and edi, edx
xor ebx, esi
xchg ebx, edx
mov edi, ebx
jmp 0x477e4e
mov dword [esp + 0x68], 0
shr esi, 0x18
sub edi, esi
mov esi, edi
add edi, 0x1708fb93
jmp 0x476475
add ecx, dword [esp + 0x84]
bswap ebx
or edx, esi
mov edi, edx
ror edx, 5
neg ebx
or esi, 0x171433d5
neg ebx
bswap edx
dec ebx
xor edi, esi
jmp 0x475c7d
push ecx
sub esi, edx
xchg edi, ebx
and edi, esi
or edi, ebx
mov edx, ebx
xor edx, esi
sub edi, 0x1716e55d
xor edx, edi
and esi, 0x17175ff2
nop
jmp 0x476123
mul ecx
and edx, 0x171c9d01
mov edx, esi
jmp 0x475f79
add dword [esp + 0x90], eax
and edi, 0x174cc833
and esi, 0x174d069b
xchg esi, edi
xor ebx, esi
add edx, edi
jmp 0x476e86
xor eax, eax
add ebx, edi
bswap esi
ror edx, 0x1c
and ebx, esi
ror esi, 0x15
shl edx, 0x1f
add esi, edi
add esi, edi
add edx, esi
xor edi, 0x176d2257
or edx, edi
sub esi, edi
xor ebx, esi
dec esi
shl ebx, 0x14
jmp 0x477b65
mov ecx, dword [ecx]
nop
and edx, edi
sub esi, edx
or ebx, edi
xchg edx, edi
mov edx, 0x1773dfb8
or esi, edi
mov edx, 0x17746770
jmp 0x477654
mov ecx, dword [esp + 0x90]
add ebx, esi
xchg ebx, esi
xor ebx, 0x177e166b
jmp 0x476345
mov ecx, dword [ecx]
not edx
and edx, ebx
or ebx, 0x17926418
dec edi
jmp 0x4790ab
mov dword [esp + 0x90], ecx
inc edi
mov esi, edi
and edx, 0x1794de4b
sub esi, edi
and edx, ebx
jmp 0x47895a
mov dword [esp + 0x5c], 0
mov edi, edx
and edx, ebx
sub esi, edx
sub ebx, edi
mov ebx, 0x17a9286f
xchg edx, ebx
xor edi, esi
xchg edx, edi
nop
xchg edi, edx
inc esi
and esi, edi
jmp 0x4775de
cmp byte [ecx], 0
jmp 0x47586d
add esp, 0xb0
add esi, ebx
or edx, 0x17c9978b
bswap esi
add edx, 0x17ca1481
xor edi, edx
sub ebx, edi
add edx, esi
add edi, 0x17cb156e
and ebx, esi
add edi, edx
add edi, 0x17cbccbb
jmp 0x478f3c
mov ecx, dword [ecx]
mov edx, edi
xor ebx, 0x17cf3d85
add edx, edi
dec edx
or ebx, edx
inc edi
sub esi, edi
add ebx, 0x17d0ba8b
add edx, 0x17d0f89c
jmp 0x47636a
add dword [esp + 0x90], 0x78
or ebx, 0x17d87ae9
add edx, 0x17d8b8d0
add ebx, edx
mov ebx, edi
neg edi
xchg esi, ebx
jmp 0x4767f7
mov ecx, dword [esp + 0x84]
mov edi, esi
mov ebx, esi
sub edx, 0x17e9f89b
add edx, 0x17ea4567
xor esi, edi
xor edx, esi
jmp 0x478584
mov ecx, dword [esp + 0x68]
mov ebx, edx
mov edx, 0x17f2d17a
mov edi, edx
or edx, edi
xor esi, ebx
xor ebx, edx
add edx, ebx
and ebx, edx
xchg edx, edi
dec esi
jmp 0x477014
mov ecx, dword [ecx]
add esi, edi
or esi, edx
not edi
sub edi, edx
sub edi, edx
rol edi, 0x12
or edi, 0x18085dee
xor edi, ebx
add edx, edi
jmp 0x478af5
movzx ecx, word [ecx]
and edx, edi
shl edx, 5
rol ebx, 0x14
xor edx, edi
add ebx, edi
shl ebx, 0x14
jmp 0x475ce4
mov ecx, dword [esp + 0x90]
or esi, 0x185f3d7c
sub edx, edi
sub esi, ebx
dec ebx
jmp 0x476fc7
mov ecx, dword [esp + 0x90]
ror esi, 0x10
sub edx, esi
add ebx, edx
mov edi, 0x186e33f7
sub ebx, edi
mov ebx, 0x186ead7e
add ebx, 0x186efca4
neg esi
sub esi, edi
ror edx, 0x15
jmp 0x476183
sub dword [esp + 0x90], 8
sub edx, 0x187ce15a
xor ebx, 0x187d3094
add edi, esi
dec esi
add edx, edi
add esi, edx
jmp 0x476226
mov ecx, dword [ecx]
ror ebx, 0x18
mov ebx, edi
rol edx, 0x13
or edx, esi
sub esi, edx
jmp 0x477be0
mul ecx
or ebx, esi
or edx, edi
neg ebx
rol edi, 3
sub edi, 0x188a44f2
xchg edx, edi
add ebx, edx
dec edx
xchg edx, esi
jmp 0x4771a1
mov ecx, dword [ecx]
mov esi, ebx
add edi, ebx
shr esi, 0x18
sub ebx, esi
and edx, esi
xchg edx, esi
xor edx, edi
xor ebx, edx
or ebx, 0x18937549
or edx, ebx
shr edi, 0x1a
or edx, ebx
neg edi
jmp 0x477dc2
add ecx, 0x3c
or edx, 0x1899c7a8
xor ebx, edi
add ebx, esi
or ebx, esi
add esi, edx
xor edx, esi
add edx, edi
mov edi, ebx
jmp 0x478d6c
mov dword [esp + 0x68], eax
shr edx, 0x13
xor edx, esi
or ebx, edi
bswap edx
and edx, esi
not ebx
or edi, ebx
xchg edx, ebx
jmp 0x476f6e
mov ecx, dword [esp + 0x5c]
not edx
and edx, esi
bswap esi
add edi, esi
sub esi, ebx
sub ebx, edi
shl edx, 0xe
not ebx
or ebx, edi
xor edi, ebx
mov esi, edi
sub edi, esi
and edx, ebx
jmp 0x47534e
add dword [esp + 0x90], 0x20
sub edx, ebx
sub edx, edi
add edi, edx
mov ebx, edi
and edi, 0x18b94f41
add ebx, edi
add edi, 0x18b9c5c3
jmp 0x4780fb
cmp eax, dword [esp + 0x98]
jmp 0x479024
mov ecx, dword [esp + 0x5c]
shr esi, 0x14
xor ebx, esi
inc ebx
dec ebx
mov edi, edx
not edi
and ebx, edi
sub edi, edx
add edi, 0x18c2a145
xchg edi, esi
jmp 0x47842a
mov dword [esp + 0x84], 0
xor edx, 0x18f7b9ba
and ebx, edi
and edx, esi
shl edx, 0xd
mov edi, edx
inc edi
ror esi, 0x13
xchg edx, edi
xor edx, 0x18f9b1fb
jmp 0x4750a5
add ecx, dword [esp + 0x84]
sub edx, esi
dec esi
or ebx, 0x19001e93
shr edx, 2
xor ebx, edi
inc ebx
shl ebx, 0x14
mov edx, ebx
rol ebx, 0x10
jmp 0x476628
mov dword [esp + 0x5c], ecx
inc ebx
shr esi, 0x19
and edi, esi
not esi
or esi, edi
ror edx, 0x17
ror edx, 0x14
mov esi, edx
dec edi
jmp 0x478de3
mov ecx, dword [ecx]
xor ebx, esi
sub edx, esi
ror ebx, 0x17
shl edi, 0x17
and edx, esi
add edx, edi
or esi, edi
xchg ebx, edi
jmp 0x47560d
pop ecx
not esi
add esi, edi
xor ebx, edi
add edx, ebx
sub esi, edx
and esi, 0x1941fad9
not ebx
xchg edx, ebx
xor esi, edi
xor edx, 0x1942faa1
mov ebx, 0x194336f2
sub edx, esi
jmp 0x47731b
add dword [esp + 0x90], 4
not esi
mov esi, edi
add ebx, edi
ror edi, 0x1c
not edx
mov edi, ebx
add esi, 0x194af652
jmp 0x476db6
xor al, byte [ecx]
xor edx, esi
sub esi, edx
or esi, 0x196142e2
or edx, ebx
or esi, 0x1961b976
inc edi
sub esi, edi
jmp 0x475722
add ecx, dword [esp + 0x84]
dec ebx
not edx
mov edx, ebx
dec esi
sub esi, 0x1969c48d
or edx, esi
bswap ebx
xor ebx, esi
mov esi, edx
and edi, ebx
and edi, ebx
jmp 0x477677
mov ecx, dword [esp + 0x84]
and edx, ebx
sub edi, esi
and edi, 0x197ce62e
rol edi, 0xa
xor edx, 0x197d7175
shl ebx, 0xa
xor edi, ebx
jmp 0x4770fa
add ecx, 0xc
xor ebx, 0x198b8ae3
sub esi, 0x198bc8b6
add edi, 0x198c06d7
sub ebx, edi
neg esi
and edx, ebx
xor edx, esi
neg edi
add edi, esi
rol esi, 0x10
and edx, edi
shr edi, 0x18
xor esi, 0x198e793e
jmp 0x4787f8
mov ecx, 0x30
xor edi, esi
dec edx
or ebx, 0x19961b6c
and esi, edx
xor edi, edx
rol esi, 0x14
sub edx, edi
sub esi, edx
xor ebx, 0x19979915
and edx, ebx
sub ebx, edx
sub esi, edx
add edi, edx
shl edi, 0x16
sub esi, ebx
jmp 0x477eeb
inc ecx
bswap edi
mov ebx, edi
xchg ebx, esi
sub edi, edx
xor edi, ebx
ror esi, 0x15
mov ebx, edi
or esi, edx
or ebx, esi
xor ebx, 0x199fc018
mov edi, esi
rol ebx, 2
or esi, edx
or ebx, edx
xor edi, 0x19a0f0c8
jmp 0x4764fd
mov ecx, dword fs:[ecx]
add esi, ebx
mov esi, ebx
mov edx, ebx
and edi, 0x19a1f3fa
mov edi, edx
inc edi
shr edi, 4
sub ebx, edi
ror edi, 3
and edi, 0x19a373cb
and ebx, edx
and ebx, esi
rol ebx, 7
xchg edx, esi
jmp 0x4787ba
mov ecx, dword [esp + 0x90]
and edx, edi
dec ebx
xor esi, ebx
shl edx, 0x13
neg esi
add edx, edi
and esi, ebx
xchg ebx, esi
mov esi, 0x1aa2c70b
mov esi, ebx
xor ebx, esi
rol edx, 0x1e
sub esi, 0x1aa3bbb4
jmp 0x477831
mov ecx, dword [ecx]
add ebx, esi
mov ebx, edx
rol edx, 0x1f
or edi, 0x1ab0443b
dec ebx
xor edi, edx
mov edx, 0x1ab0fd7a
sub esi, edi
rol ebx, 6
and edx, esi
xchg edx, ebx
or edi, edx
jmp 0x476995
mov dword [esp + 0x90], ecx
and edi, ebx
xor esi, edi
or esi, 0x1ac710d2
xchg edx, ebx
mov edi, esi
and ebx, esi
inc edx
shr esi, 5
and edx, ebx
and edi, 0x1ac8c01f
shl ebx, 0x17
jmp 0x476707
add ecx, dword [esp + 0x68]
bswap esi
add edx, 0x1ade0f5a
mov edx, ebx
mov edi, esi
ror esi, 2
dec edx
mov esi, edi
mov edx, 0x1adf8398
xor edi, edx
dec edx
dec edi
shr ebx, 6
inc edx
jmp 0x475462
add ecx, dword [esp + 0x90]
and ebx, edx
add edx, ebx
mov esi, edx
mov edi, 0x1b4400f5
xchg edi, esi
and esi, edx
neg edx
jmp 0x476682
mov ecx, dword [ecx]
dec esi
not ebx
jmp 0x475799
add ecx, 0xc
or edx, esi
dec ebx
xor edx, edi
mov edx, 0x1b6d2a14
or ebx, edx
inc edx
dec ebx
xor edx, edi
jmp 0x477094
mov ecx, dword [ecx]
mov ebx, edx
xor esi, edi
add esi, edx
xchg ebx, esi
or ebx, esi
dec ebx
and edi, 0x1b7300d5
add esi, ebx
xor edx, edi
sub esi, ebx
mov esi, ebx
jmp 0x4781b4
mov dword [esp + 0x90], ecx
sub ebx, edx
mov edi, ebx
mov ebx, esi
jmp 0x477327
mov ecx, dword [esp + 0x84]
sub esi, edi
or ebx, esi
and esi, ebx
xor edx, ebx
not edi
mov ebx, edx
jmp 0x478e28
mov dword [esp + 0x5c], ecx
add edi, esi
shr edx, 0x11
or ebx, edi
and edi, 0x1ba6077f
mov esi, edi
and edi, ebx
sub ebx, 0x1ba6bc72
add ebx, edx
xchg edi, edx
mov ebx, edi
mov edi, esi
jmp 0x478d4e
add ecx, 0x18
add edx, ebx
and ebx, edx
bswap edx
add esi, edi
add edi, esi
xchg ebx, edi
xchg edx, esi
xor edi, edx
ror edi, 0x19
jmp 0x47871f
inc dword [esp + 0x68]
add esi, ebx
add edi, edx
dec edx
shr esi, 8
add esi, edx
xchg edi, ebx
add ebx, edx
and ebx, edx
mov edx, edi
jmp 0x478f91
mov ecx, dword [ecx]
add ebx, edi
dec edi
and edx, 0x1bdc98e9
xor edx, esi
xchg edx, ebx
dec esi
shr edx, 0x1e
or edi, esi
xor esi, 0x1bde1b4e
add edi, ebx
jmp 0x4782f9
mov eax, 2
and edi, ebx
or edi, edx
add edx, 0x1be5c60e
or ebx, 0x1be604b8
or ebx, 0x1be642ed
xor edi, esi
or esi, ebx
sub ebx, esi
sub esi, edx
xor edx, esi
jmp 0x476881
add dword [esp + 0x90], ecx
xchg esi, ebx
add esi, 0x1be99443
sub ebx, edx
rol edx, 0x16
shr edi, 0xd
sub edi, 0x1bea8eae
sub ebx, edi
or edi, 0x1beb09a6
mov esi, edx
mov ebx, edx
mov ebx, edx
or edi, 0x1bec0727
mov edi, edx
xchg edi, edx
jmp 0x4772a9
ret
add dword [esp + 0x5c], 4
add ebx, edx
or esi, 0x1c014e3a
jmp 0x477220
jne 0x478d4e
shr esi, 0x13
or ebx, esi
mov ebx, 0x1c0bdf73
mov edi, esi
and edi, edx
xor ebx, 0x1c0ca6b1
not esi
dec esi
shr esi, 0x10
jmp 0x477a3c
add ecx, dword [esp + 0x84]
mov edi, 0x1c172a37
xchg edx, ebx
not ebx
or edx, 0x1c17e587
xor edx, edi
neg ebx
bswap ebx
or edi, edx
and edi, 0x1c192917
and edi, 0x1c19677b
mov esi, 0x1c19a542
add edi, esi
bswap edx
jmp 0x478901