Function at 0x46b8ce
Capabilities:
Encrypt data using chaskey

Disassembly:
mov ecx, dword [ecx]
add edx, esi
or edx, edi
or ebx, 0x89a88ad2
rol esi, 2
and esi, ebx
shr esi, 0x1d
sub edx, 0x89b1a104
and edx, 0x89b3af52
not ebx
or ebx, edi
and esi, edx
jmp 0x46aadf
mov dword [esp + 0x3c], 0
add ebx, 0x8a7ea617
or ebx, 0x8a808777
or esi, 0x8a826a6f
xor edi, ebx
sub ebx, edi
and esi, edx
ror ebx, 3
or esi, 0x8a8bebf6
or edi, edx
sub edi, 0x8a8fa7d7
xor edx, esi
jmp 0x46b9e7
mov dword [esp + 0xa4], ecx
or edx, esi
neg esi
rol esi, 9
add ebx, 0x8ab78e0a
xor esi, ebx
or esi, edi
dec edx
rol esi, 0xe
add edi, edx
not ebx
inc edi
or edi, esi
not edi
sub esi, edi
jmp 0x46a344
mov ecx, dword [esp + 0x60]
add edx, ebx
dec edi
or esi, 0x8b091154
sub edi, 0x8b0b792d
shl ebx, 0x13
sub edi, esi
dec edx
xor ebx, 0x8b13f615
and edx, ebx
jmp 0x46a164
mov dword [esp + 0x60], ecx
or esi, edx
and edi, edx
or ebx, edi
bswap edi
or edi, edx
add esi, ebx
sub edx, 0x8b2505b7
and esi, edx
mov edx, 0x8b291fe0
xor edi, ebx
and edi, 0x8b2d706b
sub edi, esi
jmp 0x469e58
mov dword [esp + 0x74], eax
xchg ebx, edi
and edi, 0x8bed5c1f
add esi, edx
mov ebx, edi
xor esi, 0x8bf31345
add edi, edx
jmp 0x46bb8e
cmp byte [ecx], 0
jmp 0x46d365
add dword [esp + 0x60], 4
xor edi, ebx
xchg esi, edi
shr esi, 0x18
sub ebx, edx
shr esi, 0x12
xor edx, esi
rol esi, 7
sub edx, edi
xchg edi, ebx
mov esi, ebx
or ebx, 0x8cec03cb
add edx, ebx
and esi, ebx
jmp 0x46bd92
mov ecx, dword [ecx]
mov ebx, edx
sub edi, ebx
or esi, edi
and ebx, esi
ror ebx, 0x19
or edi, 0x8d98cbe0
ror edx, 8
ror edx, 0x17
ror edx, 0x1a
jmp 0x46c342
mov dword [esp + 0x74], 0
ror edx, 0x11
add edi, esi
not edi
add ebx, edx
bswap edi
xor edi, 0x8dee704e
dec edx
or edx, edi
xor ebx, 0x8dfb410c
mov esi, 0x8dfd2183
xchg ebx, esi
xor edx, esi
jmp 0x46d079
mov eax, 2
and esi, ebx
sub edi, 0x8e440b8e
or esi, edx
and esi, ebx
mov esi, 0x8e499103
mov esi, 0x8e4ba2cb
and edx, esi
xor edx, esi
xchg esi, edi
add esi, edi
add edx, esi
add edx, esi
mov edi, edx
jmp 0x46c780
mov ecx, dword [esp + 0xd8]
add ebx, 0x8e7f6112
dec edi
dec edx
or edx, esi
and edi, 0x8e86e7a6
rol esi, 0x10
neg edi
xchg esi, edi
or edx, ebx
jmp 0x46a736
mov ecx, dword [ecx]
add ebx, edx
xor ebx, edx
neg edx
sub ebx, edi
and edi, ebx
rol edx, 0x1b
sub edi, edx
ror edx, 2
and edi, 0x8fad0252
ror edi, 8
sub esi, edx
and ebx, edx
xor esi, ebx
neg ebx
xchg edx, edi
ror ebx, 0x16
jmp 0x46cf38
movzx ecx, word [ecx]
or ebx, edx
inc edx
mov ebx, 0x8fdffb2b
xor esi, 0x8fe1df72
ror ebx, 0x17
inc edi
add edx, edi
add esi, edi
mov edi, edx
xor esi, 0x8fed2d2c
jmp 0x46c043
add ecx, dword [esp + 0x3c]
xor esi, ebx
xchg esi, edx
and edi, ebx
or ebx, edi
and ebx, edi
sub ebx, esi
inc edx
ror edi, 0x15
sub edi, 0x902ef90a
xor edi, esi
xchg ebx, edi
sub esi, edi
jmp 0x46c996
add ecx, dword [esp + 0x3c]
dec edi
and edx, 0x90726d3e
dec edx
dec ebx
and edi, esi
xor edi, esi
xchg edi, ebx
add esi, edi
and esi, edx
neg edx
sub ebx, esi
xor edx, esi
jmp 0x46b258
add ecx, dword [esp + 0x3c]
add edi, esi
bswap esi
and ebx, edx
sub ebx, 0x908df00b
shl edi, 4
mov esi, 0x9091e1b3
xchg edx, esi
or ebx, edi
xor edx, esi
jmp 0x46b1ab
add ecx, dword [esp + 0x74]
xchg edx, edi
not ebx
sub edi, edx
add esi, edi
or esi, edi
and edi, esi
jmp 0x46cc58
mov ecx, 0x30
and ebx, edi
add edi, 0x91cf631e
or edi, edx
not edx
dec ebx
sub esi, ebx
jmp 0x46b747
xor al, byte [ecx]
mov edx, 0x922cf0dd
xor esi, 0x922ed42a
add ebx, edi
mov esi, ebx
bswap edx
xor esi, edi
sub edi, edx
nop
xchg edx, edi
add ebx, 0x923e460f
mov edx, ebx
neg edx
jmp 0x46b964
mov ecx, dword [ecx]
or edx, edi
ror ebx, 0x18
xchg esi, edx
add ebx, 0x94487513
mov ebx, esi
or ebx, 0x944c6c45
shr esi, 0x1b
add edi, esi
or edx, ebx
shr edx, 8
xor esi, edx
jmp 0x46a0eb
mov ecx, dword [ecx]
xor edx, esi
mov edx, 0x96667956
not ebx
xor edx, ebx
xchg ebx, edi
jmp 0x46cb56
mov ecx, dword [esp + 0x3c]
xchg ebx, edi
xor ebx, edx
bswap esi
shr edx, 6
dec edi
sub ebx, esi
and edi, edx
sub edi, esi
jmp 0x46c58d
pop ecx
neg edi
shl ebx, 0x1c
xor ebx, esi
add ebx, esi
and edx, esi
xor esi, ebx
xor edi, ebx
or esi, edx
or ebx, edi
jmp 0x46badb
mov ecx, dword [esp + 0xd8]
neg ebx
neg edx
ror edi, 0x1d
mov edx, ebx
xor ebx, 0x97ab5356
xchg ebx, esi
add edi, ebx
mov esi, 0x97b7986b
add edi, esi
inc edi
sub edi, esi
jmp 0x46cdc1
mov ecx, dword [ecx]
add edx, edi
and edi, edx
bswap edx
dec ebx
add ebx, edx
and edi, 0x99028dce
or edi, edx
neg edx
and esi, edx
or ebx, edi
jmp 0x46d01a
add esp, 0x148
sub esi, edx
xchg ebx, edx
shl ebx, 0xb
sub ebx, edx
xchg ebx, edx
sub edx, esi
add esi, ebx
or ebx, edx
and edi, 0x99dbec17
jmp 0x46be24
jne 0x46d2be
xor ebx, esi
and esi, edx
xor edx, edi
and edx, edi
xchg edi, esi
and edi, esi
and edi, 0x9a2e66ce
sub edi, 0x9a304d59
and esi, edx
bswap edx
jmp 0x46d299
add ecx, 0x18
sub ebx, edx
or ebx, 0x9a9a630d
add edi, edx
xor edx, ebx
xchg ebx, esi
sub ebx, edi
and edi, edx
sub esi, edx
xor esi, edi
or edi, edx
add ebx, edi
jmp 0x46ccfa
mov ecx, dword [esp + 0x3c]
shr esi, 0x1c
or ebx, edx
or ebx, edi
neg esi
add edx, ebx
shr esi, 0xf
sub ebx, 0x9af2e092
xor edx, esi
mov edx, 0x9af70a72
add edi, edx
dec edi
add esi, 0x9b0013cb
jmp 0x46b404
mov dword [esp + 0x60], ecx
xor ebx, edi
xchg ebx, edi
xchg ebx, esi
add edx, edi
shl ebx, 0xf
add ebx, esi
xchg edi, edx
sub edx, esi
and edx, edi
rol edi, 5
mov esi, 0x9b93460e
mov ebx, esi
jmp 0x46d2be
mov dword [esp + 0xd8], ecx
xchg esi, edx
xor edx, ebx
sub esi, edi
and edi, esi
and ebx, 0x9bf61897
xchg esi, ebx
shl ebx, 0xc
mov ebx, esi
sub edi, edx
add esi, ebx
shr esi, 2
jmp 0x469955
add dword [esp + 0xd8], ecx
add edi, 0x9d07cf6e
xchg edi, edx
mov esi, edi
xor edx, 0x9d0f5016
xchg esi, edx
xor esi, edi
not edx
xor ebx, edx
mov esi, edx
add edi, edx
ror edi, 0x17
mov ebx, 0x9d20c1a2
and edi, ebx
xor ebx, edx
jmp 0x46d5fc
mov ecx, dword [ecx]
sub ebx, edx
and edi, 0x9e132d40
nop
add edx, 0x9e175102
xchg esi, edi
xchg ebx, edx
xchg esi, edi
or edi, ebx
sub esi, edi
or ebx, edi
sub edx, edi
or edi, edx
xor ebx, edx
jmp 0x46a05f
add dword [esp + 0xd8], 0x78
xor ebx, edx
or esi, 0x9eb15566
xor edi, edx
inc edi
mov edi, esi
dec edi
mov edx, ebx
xchg edi, ebx
add esi, 0x9ec00f12
jmp 0x46c325
mov ecx, dword fs:[ecx]
sub esi, edi
add ebx, 0x9f1ca3da
add esi, 0x9f1ecc58
xchg esi, edi
mov ebx, edi
bswap edi
xor ebx, edi
dec edi
xor edx, 0x9f2c417b
or edx, edi
jmp 0x46c031
mov ecx, dword [ecx]
and esi, ebx
or edi, edx
ror edi, 5
or esi, edi
add esi, ebx
and edx, edi
xchg ebx, edx
xor edi, esi
xor edx, 0xa05105fa
xor ebx, edi
jmp 0x46a110
sub esp, 0x148
ror edi, 0x14
xchg esi, edi
and esi, ebx
xchg ebx, edi
xor edi, 0xa0a6e92a
sub edx, esi
bswap esi
or esi, edx
sub edi, edx
sub ebx, edx
shl edi, 0xb
xor esi, ebx
bswap edx
jmp 0x469dbb
add dword [esp + 0xd8], eax
and edx, esi
add edi, 0xa0d429ae
rol edi, 5
or edi, esi
and edi, esi
sub esi, edi
and edi, esi
xor ebx, esi
mov edx, ebx
and ebx, edx
dec ebx
or ebx, edi
jmp 0x46ac4d
rol eax, 8
mov ebx, edx
or edi, edx
mov edi, esi
xor ebx, esi
and ebx, edx
dec esi
neg edi
or esi, 0xa102d96a
shl esi, 0xa
sub ebx, 0xa1083c64
and edi, 0xa10a3eca
add edi, 0xa10c4bd7
add edi, esi
add edx, esi
jmp 0x46c6a0
mov dword [esp + 0xd8], 0
and esi, edi
xor ebx, edi
mov ebx, edx
mov esi, edx
xor edi, 0xa14af547
xor edx, ebx
add edi, ebx
xchg ebx, edi
and esi, ebx
add edi, ebx
jmp 0x4698d1
cmp eax, dword [esp + 0xa4]
jmp 0x46af82
sub dword [esp + 0xd8], 8
mov ebx, 0xa2395252
bswap edi
shr edx, 0x10
mov esi, edi
rol edi, 0xd
neg edx
xor esi, edx
add esi, 0xa246f4f6
nop
not edx
xchg edi, edx
jmp 0x469ec3
mov ecx, dword [esp + 0x60]
add ebx, edx
sub ebx, esi
mov ebx, esi
or ebx, 0xa37212fa
xchg esi, edi
dec esi
mov ebx, edx
shr ebx, 9
not esi
xor edx, 0xa37da0ec
ror edx, 0x11
jmp 0x46b59d
ret
add ecx, 0xc
shl edi, 4
rol ebx, 7
xchg esi, edi
sub esi, ebx
jmp 0x469d49
mul ecx
not edi
xor edi, esi
and edx, 0xa546a230
and ebx, edx
or edi, esi
add edi, esi
xchg esi, edi
or edi, edx
or ebx, edx
and ebx, edi
jmp 0x46b92b
mov ecx, dword [esp + 0xd8]
xchg ebx, esi
rol esi, 1
dec esi
or esi, 0xac3f1e73
xor edx, 0xac4109d2
mov edi, esi
jmp 0x46b833
mov ecx, dword [esp + 0x3c]
shr edi, 0x17
shl esi, 0x1c
xor edx, ebx
mov ebx, 0xace157dd
not ebx
xchg edi, edx
jmp 0x46cebc
add ecx, 0xc
xchg edi, esi
not esi
add edi, esi
add esi, 0xaced1e66
ror edx, 0x19
rol ebx, 0x12
inc ebx
or edx, 0xacf4d110
rol ebx, 0x15
mov edx, esi
and edi, esi
or ebx, edi
and ebx, edi
neg esi
xor ebx, edx
inc edi
jmp 0x4696fb
mul ecx
neg edi
or edx, esi
mov edi, esi
inc ebx
and edx, 0xad4b335e
sub edi, esi
shr edi, 2
mov esi, 0xad51363b
sub edx, 0xad531f24
jmp 0x469a8f
mov ecx, dword [esp + 0xd8]
rol edi, 0x13
add esi, 0xaecb10da
and edx, esi
bswap ebx
not ebx
shl ebx, 0x1e
shr esi, 0x12
mov edi, esi
or edi, edx
and esi, ebx
xor edi, ebx
add esi, ebx
bswap edi
mov edx, ebx
jmp 0x46d0d4
add ecx, 0x3c
add esi, 0xaf7300c7
xor esi, edx
inc ebx
xor edi, ebx
rol edi, 0x19
and esi, 0xaf7cac7e
add esi, edi
rol edi, 2
xor edi, ebx
add ebx, edx
xchg ebx, edx
or ebx, 0xaf885fb8
jmp 0x46adc9
inc ecx
inc edx
shl ebx, 0x13
sub edi, edx
or esi, edx
shr edx, 0x12
mov ebx, esi
sub edx, esi
and edx, esi
jmp 0x469b0f
mov ecx, dword [esp + 0x74]
mov esi, edx
bswap ebx
shl edi, 1
or ebx, edx
neg edi
xor edx, ebx
mov edi, ebx
xchg edi, esi
mov edx, ebx
shr ebx, 0xe
and ebx, edx
xchg edi, edx
jmp 0x46c3d0
xor eax, eax
or esi, edi
add esi, edi
or edi, esi
or ebx, edx
add edx, edi
mov esi, ebx
neg edx
shl esi, 0x13
bswap ebx
mov edx, esi
jmp 0x46a3f6
add ecx, dword [esp + 0x3c]
nop
mov edx, ebx
mov edi, 0xb3e66b0c
rol esi, 0x1a
xchg ebx, edi
add ebx, 0xb3ecad0d
and edx, esi
jmp 0x46997e
add ecx, dword [esp + 0x3c]
or ebx, edi
and edx, ebx
sub esi, edi
neg esi
shr edx, 6
mov ebx, edi
jmp 0x46af18
push ecx
xor edx, ebx
inc edx
xor ebx, esi
ror edx, 3
xor ebx, esi
or edi, ebx
sub edi, edx
mov edx, edi
sub ebx, 0xb4abcf31
bswap edi
mov edi, esi
or esi, 0xb4b18343
and edi, 0xb4b368e7
add ebx, edx
sub esi, edi
jmp 0x46c837
mov ecx, dword [ecx]
bswap edi
xchg ebx, edi
or edi, edx
xchg ebx, edx
mov ebx, esi
and edx, ebx
add edx, edi
mov esi, 0xb5ada41f
xor edi, esi
jmp 0x46b053
mov eax, 4
add edx, 0xb65e9925
not edx
xor edx, 0xb662a2ae
shr edi, 0xf
mov edi, esi
mov edx, edi
jmp 0x469fed
mov ecx, dword [ecx]
and ebx, edi
xchg esi, edi
rol ebx, 8
dec ebx
ror ebx, 3
sub edx, ebx
or esi, ebx
nop
or edx, esi
add ebx, edi
inc ebx
jmp 0x46cefb
mov ecx, dword [ecx]
and edx, ebx
or edx, ebx
and ebx, edi
sub ebx, esi
add edi, ebx
ror edx, 0x16
or esi, 0xb7437406
jmp 0x46c8de
add ecx, dword [esp + 0xd8]
rol edx, 5
xchg esi, ebx
mov edi, edx
nop
and edi, 0xb7d1696d
sub edx, 0xb7d3546f
xor edi, ebx
and edx, esi
shr edi, 4
jmp 0x469f7e
mov dword [esp + 0x3c], ecx
or ebx, edi
neg esi
and edx, edi
add ebx, esi
add ebx, 0xb7f16060
add edi, edx
xchg edi, edx
add esi, edi
and edi, ebx
or edx, 0xb7fb6767
add edi, 0xb7fd618f
and esi, edx
and edi, edx
mov ebx, 0xb8032480
add ebx, 0xb8052887
jmp 0x46ab25
mov dword [esp + 0xd8], ecx
and edi, ebx
sub esi, ebx
or esi, 0xb80b7ec9
mov edi, 0xb80d6b2c
or esi, edx
xor edx, ebx
and ebx, esi
or edx, edi
or edi, 0xb81717c6
dec edi
add ebx, 0xb81b8f22
jmp 0x46b0c0
mov dword [esp + 0xd8], ecx
neg esi
xchg edx, ebx
xor ebx, esi
mov edi, edx
mov edx, 0xb8c8035d
mov ebx, edx
not edx
add ebx, 0xb8ce4df7
add edx, edi
or ebx, edi
jmp 0x46b698
mov dword [esp + 0x60], 0
add edx, edi
rol edi, 0x11
not esi
xchg edx, ebx
sub esi, 0xb917e1d0
add edi, esi
neg ebx
sub edi, 0xb91d8b9d
xchg esi, ebx
and edx, edi
mov ebx, edx
jmp 0x46985a
mov ecx, dword [ecx]
or edx, edi
and edi, edx
sub ebx, esi
xor edi, 0xb94a6666
or edx, edi
jmp 0x46c895
add dword [esp + 0xd8], 4
not edx
and ebx, esi
xchg ebx, edx
add ebx, 0xbab03957
shr edx, 0x1c
or esi, edi
mov esi, edi
shr edx, 0x16
or ebx, edx
jmp 0x46c534
inc dword [esp + 0x74]
not ebx
and esi, edx
mov ebx, esi
sub edi, 0xbac17820
and ebx, edi
and edi, ebx
inc esi
or edx, edi
inc ebx
and edx, edi
xor edx, ebx
not esi
and edi, 0xbad37dbd
jmp 0x469c20
jne 0x46a3f6
or esi, edi
mov edi, 0xbb31a09e
xor ebx, 0xbb3369df
and ebx, edx
add ebx, edx
mov edx, 0xbb38f737
xor edi, 0xbb3b03e9
add edi, ebx
xchg edi, edx
rol ebx, 1
xor edi, ebx
jmp 0x46ab68
add dword [esp + 0xd8], 0x20
mov ebx, edi
or esi, edx
add edi, esi
or edi, edx
add edx, ebx
not ebx
ror edi, 0xe
shl ebx, 4
neg ebx
jmp 0x46c209