Function at 0x46b80b
Capabilities:
Encrypt data using chaskey

Disassembly:
mov esi, dword [esp + 0x18]
or ebx, edi
add edx, ebx
and edx, ebx
ror edi, 0x17
dec edi
mov edx, 0x7a152b6
bswap edx
and ebx, edi
jmp 0x46b292
add esi, 0x18
not ecx
dec edx
sub ecx, edi
xchg ecx, edx
not ebx
not edi
and edx, ecx
and edx, ecx
rol edx, 8
mov edi, ebx
jmp 0x46ca8a
add esi, dword [esp + 0x18]
sub ecx, edi
and edi, ebx
xor ecx, edx
shl ebx, 0x18
add edi, ecx
add ecx, edi
jmp 0x46cb0b
mov esi, dword [esi]
ror edx, 0xe
xchg edx, ebx
xor ebx, 0x7a9c02e
sub edi, 0x7a9da30
or edi, 0x7a9f5da
neg ebx
sub ebx, edi
shr edx, 0xc
jmp 0x46c6b2
mov esi, dword [esp + 0x7c]
or ebx, ecx
sub ebx, 0x7adfd66
dec ebx
or ecx, edx
ror ebx, 4
sub ecx, edi
and ebx, ecx
or edx, ebx
and ecx, ebx
sub ecx, edi
jmp 0x46b8dd
mov dword [esp + 0x7c], 0
mov ebx, 0x7b7a828
add ecx, edi
xor edi, ecx
xchg edx, ecx
or ecx, ebx
dec edi
sub edi, 0x7b8445e
and ebx, edx
and edx, 0x7b87680
add edx, 0x7b890fc
jmp 0x46c1fd
add esi, 0xc
not edx
xchg ebx, edx
and ebx, edx
or edx, ecx
jmp 0x46c224
mov esi, dword [esp + 0x40]
sub edx, edi
xor ebx, ecx
mov ecx, 0x7bb21b8
xchg edi, ebx
or ebx, edx
inc ecx
or ebx, edx
rol ecx, 0x17
add ecx, 0x7bbbe02
xchg edi, ecx
jmp 0x46bd30
mov esi, dword [esi]
sub edi, ecx
xor ebx, 0x7beb2ea
sub edx, edi
xor ebx, ecx
xor ecx, edx
xor edx, edi
jmp 0x46c28b
mov esi, dword [esp + 0x18]
or ecx, edi
sub edx, ecx
xchg ebx, edi
and ebx, edx
not ecx
shl edi, 7
and edi, 0x7bfd412
and edx, edi
ror ebx, 0x1c
xor edi, ebx
add edx, 0x7c03a2e
xchg ecx, ebx
jmp 0x46b31f
mov esi, dword [esp + 0x78]
sub edx, ebx
mov edx, edi
and edx, ecx
sub ecx, 0x7c0c3ae
jmp 0x46a9bc
add dword [esp + 0x78], eax
mov edx, 0x7c47150
or ebx, ecx
mov ecx, edx
sub edi, ebx
or edx, edi
xor ecx, 0x7c4edee
and edx, ebx
sub ecx, ebx
neg ecx
nop
xor ebx, edx
xor ecx, edi
and ebx, edx
not ecx
jmp 0x46c9ed
mov eax, 2
and edi, ebx
xchg edi, ebx
mov edx, ebx
add edi, ebx
rol ecx, 0x10
xchg edx, ebx
jmp 0x46a941
add esi, dword [esp + 0x18]
inc ebx
mov ebx, edx
or edx, 0x7c8c938
add edx, edi
mov edx, ecx
or edx, 0x7c913b8
jmp 0x46b23a
sub dword [esp + 0x78], 8
sub ebx, edi
or ecx, 0x7cc9a82
mov ecx, 0x7ccb4fe
xor edx, ecx
not edx
and ecx, edi
bswap edx
sub ecx, edx
sub ecx, edi
mov edi, ecx
jmp 0x46b6c5
mov dword [esp + 0x50], esi
add edx, 0x7d17d20
or edx, edi
sub edi, ecx
and ebx, 0x7d1cd6c
xor ebx, edx
and edi, 0x7d2019e
add ecx, edi
mov edi, ebx
jmp 0x46c799
mov dword [esp + 0x7c], esi
and ebx, ecx
add edx, ecx
xor ecx, 0x7d8539a
sub edi, ebx
add ebx, edi
sub ebx, 0x7d89eea
add edi, ecx
sub edi, 0x7d8d4a4
and ebx, edx
add ecx, 0x7d906b2
sub edx, ecx
rol edi, 3
xchg edi, ecx
shl ebx, 0x17
jmp 0x46ab02
xor eax, eax
add ecx, edx
or ebx, ecx
xchg ecx, ebx
neg edi
xor ecx, 0x7d9f410
neg edx
or ebx, edi
add ecx, ebx
and ebx, ecx
add edx, ecx
not edi
xchg ecx, edx
jmp 0x46bf9a
mov dword [esp + 0x40], 0
mov ecx, edi
sub edx, 0x7dc37c8
and ebx, ecx
mov edi, edx
sub edx, 0x7dc8066
add edx, ecx
and ecx, 0x7dcb2a8
xor edi, edx
and edi, ecx
add ecx, edx
xor ecx, ebx
mov edx, ecx
xchg ebx, edi
and ebx, edx
jmp 0x46a8c3
add esi, 0x3c
sub edi, ebx
neg edi
shr ecx, 0x19
or ebx, edi
sub ebx, ecx
mov ecx, edx
jmp 0x46c93b
mov esi, dword [esp + 0x78]
not edx
mov edi, edx
sub edx, ecx
rol ebx, 0x1f
sub edx, edi
add edx, 0x7e4554e
jmp 0x46c8a0
add dword [esp + 0x78], 0x78
neg ecx
or ebx, edx
inc ecx
or ebx, edx
add edx, 0x7eb3842
not ecx
jmp 0x46a9d3
add dword [esp + 0x7c], 4
xor edx, edi
add edi, edx
xor ecx, edi
xchg edi, edx
add ecx, 0x7f42fd6
and edi, ecx
bswap edx
shl ebx, 0x1d
and ecx, 0x7f49bf0
or ecx, 0x7f4b5b0
jmp 0x46a770
rol eax, 8
sub ebx, edi
dec ebx
and edx, 0x7f7563e
xchg edx, ecx
ror ecx, 0x12
ror ecx, 0x1d
jmp 0x46bf80
push esi
neg ecx
sub ebx, edx
add ebx, edi
sub ebx, 0x7fca0ee
xor ebx, 0x7fcbaae
xor ebx, 0x7fcd822
sub edi, 0x7fcf3e2
dec edi
sub ebx, ecx
sub edi, ebx
jmp 0x46add2
add dword [esp + 0x78], esi
sub ecx, ebx
sub ebx, ecx
jmp 0x46ca70
jne 0x46bf9a
add edx, 0x800d18c
shl edx, 0x17
and edx, edi
mov ebx, 0x801211e
xor edx, ebx
mov edi, ecx
inc ecx
add edx, edi
jmp 0x46ca49
mov dword [esp + 0x78], esi
xchg edi, edx
mov ebx, ecx
not edi
and edx, ebx
not edi
xchg ecx, edx
sub edx, edi
xor ebx, ecx
jmp 0x46a5e7
add esi, dword [esp + 0x78]
or ebx, edi
bswap ecx
sub ecx, edi
or ecx, edx
jmp 0x46b7bc
mov esi, dword [esi]
add ecx, 0x80635c0
add edi, ecx
and edi, ecx
add ecx, edx
mov edx, edi
ror ecx, 7
add ecx, edx
or ecx, 0x806e45c
xor ecx, ebx
ror ecx, 0xc
jmp 0x46a903
ret
mov eax, 4
mov edx, 0x80b7c88
bswap edx
inc ecx
add edx, edi
xor edx, 0x80be4d6
neg edx
shr ebx, 4
and edi, ecx
and ecx, 0x80c4f2c
sub edi, edx
jmp 0x46c4da
mov dword [esp + 0x78], 0
sub edi, ebx
xor ebx, edx
rol ebx, 9
or ecx, edi
add edi, edx
xor edi, ecx
and edx, ebx
mov ecx, edi
ror edi, 0x17
bswap ecx
jmp 0x46ac85
mov dword [esp + 0x78], esi
add edx, 0x814b582
not ecx
jmp 0x46afc9
mul esi
and edi, ebx
mov ebx, edx
shl edi, 0x12
shl edx, 0x1b
and edx, edi
mov ebx, ecx
shl edx, 0x1d
dec ecx
jmp 0x46aa9b
mov dword [esp + 0x7c], esi
xor ecx, 0x81a372e
bswap edi
mov edi, edx
or ecx, 0x81a880c
shr edx, 0x1e
or ecx, ebx
sub ebx, 0x81ad572
xor edx, ebx
jmp 0x46bcef
mov esi, dword [esp + 0x7c]
add ebx, edi
add ecx, 0x81c7d9e
mov ebx, ecx
sub ebx, 0x81cb26c
or ebx, 0x81ccc58
xchg ebx, edx
sub edx, ecx
add ebx, ecx
jmp 0x46c596
mov esi, dword [esp + 0x78]
inc ecx
sub ecx, edx
sub ecx, edi
rol ecx, 0x11
xor ebx, edx
mov edi, ebx
or edi, ebx
and edx, ebx
jmp 0x46bc93
mov esi, dword [esi]
add ecx, edx
mov edx, edi
and edx, ecx
rol edi, 4
xchg edi, edx
add ecx, 0x823cd3a
sub edx, ecx
sub ecx, edx
sub ecx, edi
add edi, ebx
or ecx, edi
add edi, edx
jmp 0x46b303
sub esp, 0x80
add edx, 0x825a5ea
mov ecx, edi
jmp 0x46ae22
mov esi, dword [esi]
and ebx, ecx
add ecx, edx
sub edx, 0x82b4c6c
and ebx, ecx
add edx, ecx
not edi
xchg ecx, edx
xor ebx, ecx
and ebx, edx
xor edx, ecx
mov edi, edx
sub edx, 0x82c3078
jmp 0x46ab33
add dword [esp + 0x78], 4
rol ebx, 5
or ecx, edi
mov ebx, edx
add edi, ebx
add ecx, edx
mov edx, edi
neg edx
or edi, ebx
and edx, ebx
rol edx, 0xd
shl edi, 2
xor ecx, ebx
xor edi, ecx
add ebx, edi
jmp 0x46aa01
add esp, 0x80
and ebx, 0x84107cc
or ecx, edi
xchg ecx, ebx
or edi, edx
jmp 0x46b419
mov esi, dword [esi]
mov ecx, 0x8480064
not ecx
shl ebx, 0xc
mov edi, ebx
and ecx, edi
mov edi, 0x84883d6
bswap edi
and ecx, ebx
jmp 0x46a676
inc dword [esp + 0x40]
add edi, ebx
and ebx, ecx
not ebx
xchg edx, ecx
ror ecx, 0x14
not ebx
xchg edx, ecx
ror ecx, 0x18
jmp 0x46b10d
mul esi
or edi, 0x84c2548
xor ebx, 0x84c3f52
and ebx, edi
shl edx, 8
and edx, edi
sub edi, ebx
xor ebx, edx
xor ecx, edi
jmp 0x46c3a7
add esi, dword [esp + 0x18]
and edx, 0x8553008
or edx, 0x8554bc8
xor ecx, edx
dec edx
xor ecx, ebx
xor edx, ecx
sub ecx, 0x855ca1a
and ecx, 0x855e9ca
jmp 0x46bb94
inc esi
sub ecx, 0x85bb872
add ecx, 0x85bd26e
xor edi, edx
mov ebx, edi
xor edx, ebx
or edx, ebx
jmp 0x46c6aa
xor al, byte [esi]
xchg ebx, edi
neg ecx
sub edi, 0x85c8fb0
or edi, 0x85ca95a
neg ebx
ror ebx, 0xb
bswap edi
shl ecx, 9
and edx, ecx
xor edx, edi
or edx, edi
or ecx, 0x85d7c7c
jmp 0x46b186
mov esi, dword fs:[esi]
and ecx, edx
and edi, edx
jmp 0x46c9ba
mov dword [esp + 0x18], 0
inc edi
mov edi, edx
and ebx, ecx
mov edi, 0x87c2b78
xchg edx, edi
add edi, edx
and edx, 0x87cb886
shl ecx, 3
jmp 0x46b481
mov esi, dword [esi]
neg ebx
add ebx, ecx
and edi, ebx
or edi, ebx
and ecx, edi
sub edx, edi
or ecx, edx
inc edi
jmp 0x46a6d2
add esi, dword [esp + 0x18]
mov edi, ebx
mov edx, edi
jmp 0x46ad98
mov dword [esp + 0x40], eax
add edi, 0x89bee84
shl edi, 0x1a
xor edi, edx
xchg ebx, ecx
and ecx, edi
nop
and ebx, edx
and edi, 0x89dfc38
add ecx, edi
shr edi, 0x19
shl ebx, 0xd
and edi, 0x89f4ae2
jmp 0x46abd3
movzx esi, word [esi]
mov ebx, edi
mov ecx, edx
mov ebx, edi
or edx, ebx
add edx, edi
xor ecx, 0x8aeef8a
jmp 0x46b60e
cmp eax, dword [esp + 0x50]
jmp 0x46c64e
add esi, dword [esp + 0x40]
xor edi, ebx
or edi, ebx
dec edx
add edi, ecx
sub edx, ecx
and edx, ebx
sub ecx, edx
xor edi, ebx
jmp 0x46b42b
jne 0x46bcef
shr edx, 0x15
not edx
xor edx, 0x8c27a4a
and ebx, edx
bswap edi
shl edi, 0x14
jmp 0x46ba54
mov esi, dword [esp + 0x18]
sub edi, ecx
mov edi, ebx
xor ecx, edx
ror edx, 0xe
shl edx, 0x1b
sub ecx, edi
mov edi, 0x8c44ede
add edx, ecx
jmp 0x46aead
cmp byte [esi], 0
jmp 0x46b2e1
mov esi, dword [esi]
add edi, edx
or edi, ebx
and edx, edi
sub edx, ebx
and edi, 0x8c76f4c
mov edi, ebx
not ebx
xor ebx, edi
and ebx, ecx
bswap ecx
inc ebx
mov ebx, 0x8c8b026
and edx, ecx
add ebx, edi
jmp 0x46a630
mov esi, 0x30
xchg edi, ecx
sub ecx, edi
xchg edi, ebx
xor edx, edi
add ecx, ebx
mov edi, ebx
jmp 0x46c042
mov dword [esp + 0x18], esi
add edi, ecx
sub edi, ecx
ror edx, 0x13
xor edx, ebx
sub ebx, ecx
bswap ebx
and edi, edx
xchg edi, ecx
sub ecx, edi
mov ecx, 0x8df888c
and edx, 0x8dfa2c2
xor ecx, edi
jmp 0x46c66b
mov esi, dword [esi]
xor edi, ebx
mov edx, ebx
dec edx
or edx, 0x8e13196
xchg edi, edx
and ebx, ecx
jmp 0x46ca0f
mov esi, dword [esi]
sub edi, ecx
xor ecx, 0x8e5ce56
and ecx, 0x8e5e8fe
mov ecx, edx
neg edi
add ebx, ecx
dec edx
dec edx
jmp 0x46b575
mov esi, dword [esi]
and edi, edx
xchg edi, ecx
add edi, ebx
and ecx, ebx
mov ecx, 0x8e7c708
mov ebx, edi
shl ecx, 0x11
bswap ecx
xor ecx, edx
add edx, ebx
mov edx, edi
inc ebx
jmp 0x46be8e
add esi, 0xc
sub ebx, edi
or edi, edx
jmp 0x46b385
mov esi, dword [esp + 0x78]
shr ecx, 4
and ecx, edx
neg ebx
mov edi, ebx
xor ecx, 0x8eb9142
shl ecx, 5
and edx, ecx
add edx, ebx
jmp 0x46c973
add esi, dword [esp + 0x18]
ror edx, 0xa
add edi, 0x8ec160a
neg edi
add ebx, ecx
dec edx
dec edx
jmp 0x46b64d
pop esi
and edx, edi
and ecx, ebx
bswap edi
mov edi, 0x8edc55e
mov ecx, 0x8eddfc8
xchg ecx, edx
mov ecx, 0x8ee12c2
xor ebx, ecx
dec edx
xor edi, edx
xchg ebx, ecx
shr ebx, 0x19
jmp 0x46c533
add dword [esp + 0x78], 0x20
rol edx, 6
xor edi, ecx
xchg edi, ebx
xchg ebx, edx
neg ebx
and ebx, ecx
jmp 0x46aeff
mov esi, dword [esi]
xor edx, 0x8ef5bee
xor edx, ecx
xor edi, edx
xchg ebx, ecx
and edi, edx
xor ebx, edx
mov ebx, edi
and ecx, ebx
jmp 0x46c852
mov dword [esp + 0x78], esi
mov edi, ecx
sub edx, ecx
or edx, ebx
neg edi
jmp 0x46b69d