Function at 0x46cfd0
Capabilities:
Encrypt data using chaskey
Resolve function by parsing pe exports

Disassembly:
mov dword [esp + 0xc], edx
mov ebx, ecx
and esi, ebx
dec edi
ror esi, 0x18
or esi, edi
and esi, edi
add esi, ebx
sub edi, esi
xchg ebx, edi
add esi, ebx
jmp 0x46ba11
add edx, dword [esp + 0x40]
or ebx, edi
add edi, ebx
mov ecx, edi
xchg esi, ebx
xchg edi, ebx
shr ebx, 0x1c
or ecx, 0x862ef08
xchg edi, esi
jmp 0x46a50e
rol eax, 8
shr esi, 0x15
or ecx, esi
add esi, ebx
sub ecx, 0x86429bd
not ebx
rol edi, 0x10
mov ebx, edi
xor ebx, edi
sub ecx, edi
jmp 0x46c81d
mov dword [esp + 0x1c], eax
mov ebx, esi
and edi, esi
add ebx, esi
or ebx, edi
xor esi, ebx
xchg edi, ecx
and edi, esi
or ecx, esi
xor edi, ebx
jmp 0x46b31f
mov edx, dword [esp + 0x1c]
ror esi, 3
sub ebx, ecx
xchg esi, edi
xor esi, ecx
and ecx, esi
shl esi, 0x18
or esi, ebx
add ecx, esi
ror ebx, 1
jmp 0x46a881
mov dword [esp + 0x4c], edx
dec ecx
mov edi, ecx
shr ebx, 0xe
shl ecx, 4
ror edi, 1
mov ebx, esi
shr ebx, 0x17
bswap ecx
xor ebx, edi
neg esi
or ecx, edi
jmp 0x46b425
mov edx, dword [esp + 0x40]
sub esi, ebx
mov ecx, ebx
shr esi, 0x18
jmp 0x46ccb7
mov edx, dword [edx]
rol ebx, 0x1f
neg ecx
sub ecx, edi
inc ebx
xchg esi, ecx
xor esi, edi
xchg ecx, ebx
sub esi, ebx
sub esi, ebx
sub edi, ecx
xor edi, esi
jmp 0x46ae5f
add esp, 0x88
or edi, 0x89eece1
not ebx
mov edi, esi
neg edi
and ecx, esi
sub ecx, 0x8a00c12
xor edi, 0x8a049fb
shr ecx, 0x12
and edi, 0x8a0c668
add ecx, ebx
mov esi, ebx
rol esi, 5
dec ecx
xchg ecx, ebx
jmp 0x46b7f7
mov dword [esp + 0x84], edx
neg esi
shl esi, 0x15
and esi, ebx
and esi, ebx
inc esi
xchg esi, edi
and ebx, 0x8b169d3
mov ecx, esi
and ecx, edi
sub edi, ecx
ror esi, 0x10
jmp 0x46cae5
add edx, 0xc
not esi
inc edi
add ebx, 0x8b40e8c
add ebx, 0x8b448a3
mov edi, ebx
sub ebx, 0x8b4c5e9
xchg ecx, ebx
jmp 0x46b22f
mul edx
not edi
mov esi, ecx
xchg ebx, esi
add esi, ecx
mov ebx, 0x8c1def5
or ecx, esi
dec ecx
or ebx, esi
not ecx
or ecx, ebx
dec ebx
jmp 0x46a36f
mov edx, dword [edx]
and ebx, ecx
dec ebx
rol edi, 7
xchg ecx, edi
neg ecx
and ebx, ecx
shl ecx, 0xa
sub edi, esi
xor ecx, ebx
sub esi, ecx
sub ecx, esi
xchg ecx, esi
ror ebx, 0x1e
jmp 0x46bc55
movzx edx, word [edx]
xor esi, ebx
sub ecx, 0x8d03f3e
mov ebx, esi
bswap ecx
and edi, esi
xchg ebx, edi
and ecx, ebx
mov ebx, 0x8d19c39
jmp 0x46be33
add edx, dword [esp + 0x40]
xor ecx, ebx
sub esi, ecx
sub ecx, esi
xor ecx, 0x8da73a2
or edi, ebx
sub esi, edi
jmp 0x46a679
mov edx, dword [esp + 0x84]
sub edi, ebx
shr edi, 0x16
sub ebx, edi
ror ebx, 0x10
shl ebx, 0x19
jmp 0x46aec7
add dword [esp + 0x84], eax
xchg edi, ecx
shl esi, 0x1e
shr ebx, 0x15
neg esi
mov edi, ecx
add esi, ecx
add ebx, ecx
inc ecx
or ebx, 0x8fd0f99
rol edi, 0x14
nop
jmp 0x46ce6b
jne 0x46b425
bswap esi
xor ecx, edi
xor ebx, edi
xor ebx, edi
and esi, edi
bswap edi
and esi, ebx
mov edi, ecx
shr ecx, 0x1f
add ecx, edi
xchg ecx, esi
neg esi
sub ebx, ecx
mov edi, 0x900ba93
jmp 0x46b8d2
add dword [esp + 0x84], 0x20
and esi, edi
and esi, edi
add ebx, ecx
and edi, ecx
xor esi, edi
xor ebx, 0x91a47ac
jmp 0x46b1fb
mov edx, dword [esp + 0x40]
rol ebx, 0x1b
dec ebx
sub ecx, ebx
xchg ebx, esi
and ebx, edi
jmp 0x46b4c9
mov dword [esp + 0x84], edx
not ecx
xchg ebx, ecx
sub ecx, 0x923e540
shr edi, 5
jmp 0x46bf3a
mov edx, dword [edx]
and ebx, edi
mov ebx, 0x9299829
xor edi, esi
xor ebx, 0x92a0cd8
or ebx, ecx
and ebx, esi
inc ebx
xor edi, ecx
shl ecx, 0x17
mov esi, ecx
and esi, ebx
dec esi
jmp 0x46b158
add edx, dword [esp + 0x40]
add ebx, 0x955da71
xchg ebx, edi
xor ebx, ecx
xor ecx, esi
sub ecx, edi
mov edi, esi
sub edi, 0x9572f3d
sub ecx, 0x9577373
add ebx, edi
sub esi, edi
xor edi, ecx
jmp 0x46c109
mov edx, dword [esp + 0x84]
or edi, ecx
and ebx, ecx
mov esi, 0x9618825
xor ebx, ecx
add ebx, 0x9622e89
or ecx, edi
neg ecx
and ebx, edi
rol ebx, 8
shl ebx, 0x16
shl edi, 0x16
xchg ebx, esi
sub edi, 0x964a599
jmp 0x46cf40
mov edx, dword [edx]
xor esi, edi
or ebx, esi
xor ecx, edi
not ecx
and esi, ebx
add esi, ecx
jmp 0x46c5c5
sub dword [esp + 0x84], 8
and esi, ebx
shr edi, 0xa
sub edi, 0x974f5b9
mov ecx, edi
not ebx
xchg ebx, edi
sub esi, ebx
and edi, 0x9761873
bswap ebx
xor ebx, 0x9768ed8
neg ecx
xchg edi, ebx
xchg edi, ebx
add esi, ecx
jmp 0x46bfc7
inc dword [esp + 0x1c]
mov esi, ebx
sub esi, 0x985fef7
sub esi, ecx
jmp 0x46b514
add dword [esp + 0x84], edx
xchg esi, ebx
or edi, ecx
sub edi, ecx
xor esi, 0x990c263
or ecx, ebx
xor edi, 0x9913463
xchg ecx, edi
mov ebx, ecx
xchg esi, ebx
or edi, ecx
jmp 0x46adb4
add dword [esp + 0x4c], 4
sub ecx, esi
or edi, ecx
and edi, ecx
xor edi, ecx
xor edi, esi
not edi
shr ebx, 0x1c
or ecx, esi
xor ebx, 0x99807a8
add esi, 0x99841a8
shr ecx, 0x1e
and ebx, esi
jmp 0x46c611
mov dword [esp + 0x40], edx
or ebx, esi
sub esi, edi
add esi, edi
rol edi, 1
xor ebx, ecx
mov ebx, ecx
or esi, ebx
add edi, ebx
mov esi, ebx
xchg edi, ebx
xor esi, 0xa817d86
shr ebx, 3
sub ebx, edi
add ebx, ecx
jmp 0x46cfaf
ret
xor eax, eax
or ebx, esi
mov edi, 0xab65fb5
or ecx, esi
mov esi, ecx
add edi, esi
xchg edi, esi
xchg ebx, ecx
xor esi, 0xab8008f
not ecx
sub ebx, edi
xor edi, esi
or ebx, edi
mov esi, ecx
sub ecx, esi
or ebx, esi
add esi, edi
jmp 0x46bb2e
add dword [esp + 0x84], 4
xor ebx, ecx
mov ecx, esi
or edi, 0xaba8ce4
mov esi, 0xabac6a7
xchg esi, ecx
jmp 0x46ab69
add edx, dword [esp + 0x40]
not ebx
xchg ebx, ecx
add esi, edi
neg edi
mov edi, ebx
xor ebx, edi
ror esi, 6
and ebx, 0xacbf280
jmp 0x46cc6b
mov edx, 0x30
xchg ecx, ebx
not edi
add ecx, ebx
jmp 0x46c558
xor al, byte [edx]
mov esi, edi
dec ebx
add ecx, ebx
mov esi, ebx
add esi, 0xae281c5
dec esi
sub esi, 0xae2f4f1
mov esi, edi
sub ebx, edi
or edi, 0xae3a993
and ecx, ebx
and edi, ebx
or ecx, ebx
or edi, 0xae50aae
jmp 0x46a34f
add edx, 0x18
neg ebx
or esi, 0xaf76dad
mov esi, ecx
sub ebx, 0xaf7db90
xor edi, ecx
sub ecx, 0xaf848b6
or esi, ecx
mov ebx, 0xaf8c1cb
neg edi
and edi, ecx
jmp 0x46bf84
add edx, 0x3c
mov ecx, esi
xor edi, ecx
xor esi, 0xb04e1a2
and edi, ebx
add ecx, ebx
xor ecx, ebx
ror edi, 7
or esi, edi
not edi
xor ebx, 0xb067b38
mov esi, 0xb06b55c
xchg ecx, esi
jmp 0x46a613
add edx, dword [esp + 0x1c]
or ebx, ecx
xchg ebx, esi
rol ebx, 0x1e
or ebx, edi
ror edi, 7
add ebx, 0xb0a73db
xor ecx, 0xb0aaaca
or esi, edi
and ecx, edi
ror edi, 0x13
jmp 0x46c698
jne 0x46bb2e
and edi, ebx
shr edi, 0x12
ror esi, 3
add edi, ecx
xchg ecx, ebx
add ecx, esi
mov ebx, esi
or ecx, ebx
or edi, esi
shr esi, 9
shl esi, 0x1e
mov esi, ecx
jmp 0x46c307
mul edx
add edi, esi
mov esi, 0xb1aedeb
or esi, ebx
sub ecx, edi
mov ebx, ecx
xor esi, 0xb1bd6d6
xor ebx, esi
inc ebx
and esi, ecx
inc edi
add ebx, ecx
jmp 0x46abd3
add dword [esp + 0x84], 0x78
ror ebx, 4
add esi, edi
neg esi
and esi, 0xb381957
not edi
shr edi, 0x17
and ebx, esi
xchg ebx, ecx
sub esi, edi
jmp 0x46a5c1
mov edx, dword [edx]
sub ebx, esi
mov edi, 0xb3be133
and edi, ebx
xchg ebx, ecx
shl edi, 0x14
add esi, ecx
not ecx
sub edi, ebx
mov edi, esi
sub esi, ecx
inc edi
jmp 0x46b56f
mov edx, dword [esp + 0x84]
ror edi, 0x1e
xchg edi, ecx
xchg ecx, edi
nop
mov ecx, 0xb429bd2
mov ebx, 0xb42dc50
mov edi, 0xb431943
sub ebx, 0xb435219
sub edi, ecx
jmp 0x46c1a6
mov dword [esp + 0x4c], 0
xchg edi, esi
inc edi
not edi
or ebx, 0xb48c19b
mov ecx, ebx
xchg ecx, ebx
xor ecx, ebx
shl esi, 6
sub ebx, ecx
shl esi, 0xd
add ebx, edi
xor esi, 0xb4b15c6
add esi, ebx
jmp 0x46c471
mov dword [esp + 0x4c], edx
shr edi, 1
xchg edi, esi
mov esi, ecx
add ebx, 0xb5780da
neg ebx
and edi, ecx
sub ecx, 0xb5831a8
inc ecx
shr ecx, 0x1b
xor edi, 0xb58eac0
mov ebx, esi
or ecx, 0xb595da6
shl ecx, 0x17
jmp 0x46c7de
mov edx, dword [edx]
bswap edi
or edi, 0xb60abae
or esi, edi
xor edi, ebx
xor ecx, edi
xchg edi, ebx
mov ecx, edi
add esi, edi
ror edi, 2
shl ecx, 0x15
or ecx, esi
ror ebx, 7
neg ebx
jmp 0x46c2d5
add edx, dword [esp + 0x40]
dec ecx
xor ecx, 0xb74c23b
add ebx, ecx
xor esi, ebx
shr esi, 9
rol edi, 0x13
xor esi, ecx
xchg edi, ebx
or ecx, ebx
neg ecx
xor ecx, 0xb775038
mov ecx, ebx
or edi, ecx
shr ebx, 4
jmp 0x46a78e
pop edx
xor ecx, 0xb78cf1b
or ecx, 0xb790942
mov ecx, edi
xor esi, edi
xchg esi, edi
mov ecx, ebx
mov ebx, ecx
add ebx, edi
and esi, 0xb7a981a
sub edi, esi
add ecx, ebx
or esi, ebx
add edi, esi
xor ebx, edi
jmp 0x46c811
mov edx, dword [edx]
dec esi
sub ecx, edi
or ecx, ebx
dec edi
or ebx, esi
add ebx, 0xb7d960c
and edi, esi
jmp 0x46a9f9
mov dword [esp + 0x40], 0
add ebx, ecx
bswap ebx
mov esi, ecx
and esi, edi
and ecx, esi
or ebx, edi
sub ebx, edi
mov ecx, 0xb92e62f
xor edi, ecx
dec esi
sub ecx, 0xb938dde
jmp 0x46cbb1
mov edx, dword fs:[edx]
sub ecx, esi
and esi, edi
sub ebx, 0xba00564
or edi, 0xba03a47
bswap ebx
xor ebx, 0xba0aaab
and ebx, esi
bswap ebx
xor ebx, 0xba14fe0
jmp 0x46cdff
mov edx, dword [edx]
mov edi, ecx
or ecx, ebx
or ebx, edi
mov esi, ebx
and ebx, 0xba61f7d
add esi, ecx
shr edi, 0x13
and ebx, 0xba6c874
xor esi, ecx
mov edi, 0xba73796
xor ebx, esi
jmp 0x46a904
mov dword [esp + 0x84], edx
ror ecx, 7
mov esi, edi
and ecx, edi
or ebx, ecx
sub esi, ecx
add edi, 0xba8c06d
and ecx, esi
add esi, edi
sub edi, ecx
jmp 0x46ae1b
mov edx, dword [esp + 0x4c]
mov edi, ebx
add edi, 0xba9d639
and ecx, esi
xchg ecx, esi
not esi
jmp 0x46c6c6
mov eax, 4
shr ebx, 0x15
mov ebx, edi
dec ecx
or esi, edi
jmp 0x46a95d
mov edx, dword [edx]
xor esi, edi
and ecx, 0xbb60be3
nop
add esi, 0xbb681e4
neg ebx
or esi, ebx
rol ebx, 4
dec ebx
mov esi, ebx
or edi, 0xbb7e4e1
neg edi
neg esi
jmp 0x46b9db
mov dword [esp + 0x1c], 0
mov esi, 0xbb8a4cb
rol ecx, 2
mov edi, 0xbb91b07
or ecx, esi
mov ecx, esi
add edi, esi
bswap ecx
xor edi, ecx
sub edi, esi
inc ebx
sub ecx, edi
neg esi
or esi, ecx
jmp 0x46c034
mov eax, 2
not esi
ror ebx, 0x19
ror ecx, 0xf
xchg edi, ebx
or ecx, ebx
sub esi, edi
xor ebx, edi
mov ecx, edi
jmp 0x46a48f
cmp eax, dword [esp + 0xc]
jmp 0x46abfa
inc edx
sub ebx, 0xbcb2c9d
add ebx, esi
or ecx, esi
jmp 0x46ce20
mov edx, dword [edx]
sub esi, ebx
add esi, ebx
jmp 0x46a7c7
mov edx, dword [esp + 0x4c]
or ecx, edi
xchg ebx, esi
mov ecx, ebx
add edi, ecx
sub ecx, ebx
add esi, edi
add ebx, edi
mov edi, esi
mov esi, 0xbfdfd5a
ror esi, 2
add ecx, esi
neg ecx
neg esi
ror esi, 6
sub ecx, esi
jmp 0x46bd5b
mov edx, dword [edx]
and ecx, 0xbff970b
mov edi, 0xbffcf7c
shl esi, 0x13
shl edi, 0xb
mov ecx, 0xc0105fe
dec esi
nop
not edi
mov esi, edi
shl esi, 0x19
jmp 0x46c5ee
mov dword [esp + 0x84], 0
add esi, ecx
mov esi, ebx
sub edi, esi
add esi, ebx
or edi, 0xc0c36c1
inc edi
xchg edi, ecx
sub ecx, ebx
bswap ebx
inc esi
and ebx, 0xc0dea61
jmp 0x46a30e
push edx
mov ebx, edi
and esi, edi
sub edi, ebx
xor edi, esi
and edi, esi
sub ebx, esi
sub ebx, esi
add esi, 0xc1aaadb
sub esi, edi
or ebx, 0xc1b1fd9
jmp 0x46b8a4
add edx, dword [esp + 0x84]
neg ebx
xchg ebx, ecx
add ebx, ecx
add ecx, esi
xor ebx, 0xc1e3b12
shl ecx, 0xe
mov ecx, edi
xchg esi, edi
not ebx
sub esi, ebx
and edi, ecx
jmp 0x46cb14
add edx, 0xc
xchg ebx, esi
xchg ecx, esi
sub ecx, 0xc35070f
mov edi, 0xc354107
xor edi, ecx
xor esi, edi
inc ecx
shr edi, 0xd
xchg edi, esi
jmp 0x46cada
cmp byte [edx], 0
jmp 0x46bdc6
mov edx, dword [esp + 0x84]
or esi, 0xc3ce27c
and edi, ebx
or edi, esi
sub ecx, 0xc3d9381
inc edi
mov esi, ecx
mov edi, ebx
not ecx
shl esi, 2
and ecx, 0xc451b19
xchg edi, esi
add ecx, ebx
jmp 0x46c335
mov edx, dword [edx]
xchg ebx, esi
mov esi, ebx
shl ecx, 0x1b
shl ebx, 6
mov ecx, edi
inc ecx
bswap ecx
jmp 0x46a32e
mov edx, dword [esp + 0x40]
xchg ecx, edi
mov ebx, ecx
shr ebx, 5
and edi, ecx
xchg esi, ebx
neg ecx
bswap ebx
add ebx, ecx
and ebx, esi
add ecx, edi
jmp 0x46bd11
sub esp, 0x88
mov ebx, edi
or esi, ebx
or edi, esi
add esi, 0xc5ac27e
or ebx, edi
shl edi, 0x17
add ebx, ecx
jmp 0x46c6f0