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

Disassembly:
add esi, dword [esp + 0xbc]
bswap ebx
sub ecx, 0x57adce0b
neg ebx
or ecx, 0x57ae0643
rol edi, 0x1f
xchg edx, edi
xchg ebx, edx
and edi, ecx
and ebx, 0x57ae9093
mov edi, ebx
neg ebx
and edx, 0x57aee0a3
jmp 0x46e127
mov esi, dword [esi]
and edx, 0x57b7a299
sub edi, ebx
xor ebx, edx
sub edi, ebx
add edi, ebx
xor ecx, edx
and ebx, 0x57b84353
xor ecx, 0x57b85fe3
jmp 0x46c125
add dword [esp + 0xc0], 0x20
ror ebx, 0x17
sub edx, edi
and ebx, edx
and ebx, edi
mov ebx, 0x57b8ea0d
bswap ecx
neg ebx
and edx, 0x57b94317
jmp 0x46cebc
add esi, 0xc
xor edi, 0x57bd075b
sub edi, 0x57bd2381
sub edi, edx
mov edi, 0x57bd5857
xchg ecx, edi
xor ecx, edi
add ebx, 0x57bdad27
xchg ebx, edx
jmp 0x46ebca
add dword [esp + 0xc0], 0x78
mov edi, ecx
mov edi, edx
shr ecx, 7
sub ebx, edx
or ecx, 0x57cf6f51
and ecx, edx
xor ecx, edi
xor ebx, 0x57cfbfe7
xchg ecx, ebx
nop
mov edx, ecx
ror edi, 0x19
jmp 0x46c956
mov esi, dword [esi]
or ebx, edi
inc edx
and edi, edx
add ecx, edi
xor ecx, edi
add ecx, edi
mov ebx, edi
xor ebx, ecx
xchg edx, ecx
rol ebx, 0x17
ror edi, 0x1d
mov edx, edi
xor edi, 0x57d4189d
xor ecx, ebx
jmp 0x46beeb
mov dword [esp + 0xbc], 0
sub ebx, ecx
shl edx, 0x17
or edx, 0x57dbde75
inc edi
xor ecx, ebx
xor ebx, edi
xor ecx, ebx
xor ebx, edi
not ecx
and ecx, edx
jmp 0x46cbce
ret
add esi, dword [esp + 0x50]
and edi, 0x57ec5ad1
and ecx, edi
mov edi, 0x57ec8e51
add edx, ebx
or edi, 0x57ecc795
and edi, ebx
or edx, ebx
mov edi, 0x57ed1501
rol edi, 0x12
and edx, 0x57ed4d59
sub edi, ebx
sub edx, edi
jmp 0x46dc66
add esi, 0x3c
mov ebx, edx
xchg ebx, edi
or ebx, edi
shr edi, 0xf
jmp 0x46d6f9
mul esi
xchg edi, ecx
xor ecx, edi
add ebx, 0x5800bf29
sub ebx, edx
sub ecx, edi
ror ebx, 6
sub edx, edi
xor ebx, edx
inc edx
and edi, edx
jmp 0x46c5b4
add dword [esp + 0x1c], 4
add ebx, ecx
bswap edx
not edx
shl ecx, 7
jmp 0x46d8ed
mov dword [esp + 0x50], esi
mov edx, ebx
inc edi
xchg ecx, ebx
and edi, 0x581328dd
ror edx, 3
xchg ebx, ecx
jmp 0x46cd9c
mov esi, dword [esp + 0x50]
xor ecx, 0x5818d4ff
and ecx, 0x5818efbb
xor edx, 0x58190be1
mov edx, 0x5819265b
dec edi
xor edx, 0x58195e93
add ecx, 0x581982bb
sub ebx, ecx
sub ecx, ebx
add edi, ecx
xchg edi, edx
not ecx
xor ebx, edx
xor edx, ebx
jmp 0x46cd47
mov dword [esp + 0x1c], esi
add edi, 0x58246fc7
inc edi
add ebx, edx
and edi, edx
or ecx, 0x5824f9cd
and ecx, ebx
mov ecx, edi
shl ebx, 0xf
add edx, 0x58257a85
xor edi, 0x58259ca5
not ebx
and edx, edi
jmp 0x46f12f
mov esi, dword [esi]
add ebx, 0x5829ead7
inc ebx
xor edx, 0x582a30e1
or ebx, ecx
rol ebx, 0xa
mov ecx, edi
xor ebx, edi
bswap edx
jmp 0x46ef9d
jne 0x46de8e
and edx, edi
shr ebx, 0x1f
and edi, ecx
mov edi, 0x5838c2eb
add ebx, edx
xor ecx, ebx
neg edx
nop
jmp 0x46d4c8
inc esi
and ecx, 0x5854e8df
or edx, ecx
mov edi, ebx
sub edi, 0x585557b1
xchg edi, ecx
add ebx, edx
sub ebx, edi
add ecx, edx
jmp 0x46e83b
mov dword [esp + 0xc0], 0
mov edi, edx
xchg ebx, edi
xor ecx, edi
xchg ecx, ebx
bswap ebx
dec ebx
jmp 0x46d313
mov dword [esp + 0xbc], eax
or ecx, edi
add edi, ebx
dec edx
add edi, edx
bswap edx
dec edi
jmp 0x46eb4f
add esi, 0xc
mov ecx, 0x58865b3d
xor ebx, 0x588684b7
bswap ecx
bswap ecx
jmp 0x46ee39
mov esi, dword [esp + 0x50]
xor edi, ecx
add ecx, 0x5887383f
and edx, ecx
xor edx, edi
add ecx, edi
add edi, ebx
mov edx, edi
mov edx, 0x58881d9f
sub ebx, edi
xor ebx, ecx
xchg ebx, edx
add ebx, edi
jmp 0x46f0c9
mov eax, 2
shl edx, 0x14
neg ecx
and ebx, edx
sub edx, 0x58896043
add ecx, edx
xchg edi, edx
bswap edx
xchg edx, ecx
mov ecx, edx
sub ecx, edx
and ecx, ebx
or edx, ebx
jmp 0x46ccc3
mov dword [esp + 0xc0], esi
sub ebx, ecx
ror ecx, 5
sub edx, 0x58993da3
or edx, edi
and ecx, edx
xor edx, edi
add edi, edx
xor edx, edi
xor ecx, edi
add edx, edi
jmp 0x46bfb6
mov dword [esp + 0x1c], 0
mov edi, 0x58a3f981
add ecx, ebx
xchg ecx, edi
and ecx, ebx
rol ecx, 0x19
add edi, ebx
add ebx, 0x58a4e3df
dec ecx
or edx, 0x58a534eb
or edx, 0x58a55c99
xor edx, 0x58a58413
xchg ebx, ecx
jmp 0x46df01
add esp, 0xdc
xchg ebx, ecx
mov ebx, ecx
and ebx, edi
xor ecx, ebx
neg edx
or edi, 0x58a84129
add edi, ecx
dec edx
xor ebx, edx
add ecx, edi
jmp 0x46b922
mov esi, dword [esi]
inc edx
sub edi, ebx
mov edx, 0x58a95d7d
xor ecx, 0x58a98575
ror ebx, 0x10
sub ecx, ebx
jmp 0x46ba52
mov esi, dword [esp + 0xbc]
shl edi, 0x10
neg edx
sub ecx, edi
mov edi, 0x58aec747
mov ebx, 0x58aeef8b
xor edi, ecx
dec ebx
or edx, 0x58af6ca5
jmp 0x46bcb9
mov dword [esp + 0x1c], esi
or edx, edi
and edi, 0x58b2ffa3
shl edx, 4
xor edi, ebx
sub edi, ebx
xchg edx, edi
jmp 0x46c981
add dword [esp + 0xc0], esi
sub ecx, edi
mov ecx, 0x58b3fbf5
xchg ecx, edx
and ebx, edi
mov ecx, 0x58b46e8b
or edx, ecx
mov ebx, ecx
shr edx, 6
or ecx, ebx
xor ecx, ebx
mov edi, 0x58b55895
xor ebx, edx
jmp 0x46b411
mov esi, dword [esp + 0x50]
sub edx, ecx
ror edi, 0xb
or edx, ebx
sub ebx, ecx
sub ecx, edi
sub ecx, ebx
jmp 0x46bc17
mov esi, dword [esp + 0xc0]
and ecx, ebx
sub edi, edx
and edi, ebx
xchg edx, ebx
and ecx, edx
and edi, edx
jmp 0x46e4ae
rol eax, 8
inc edi
shr ecx, 0xb
shl ecx, 0xf
or ebx, edx
xor ebx, edi
xchg edi, ecx
neg ebx
or ecx, ebx
inc edi
mov ebx, ecx
add edi, ecx
and edi, ecx
jmp 0x46c513
mov esi, dword [esp + 0x1c]
sub edi, edx
not edx
shl edx, 0xf
shl ecx, 0xd
ror edx, 3
add ebx, 0x58d63efb
jmp 0x46b2b7
mov dword [esp + 0xc0], esi
and ebx, ecx
mov ecx, edi
xor edx, 0x58ece143
xor edx, ebx
xchg edx, edi
shl ebx, 8
mov ecx, 0x58ed6be5
or edi, edx
sub ebx, edx
add edi, ecx
bswap ebx
mov edi, ecx
jmp 0x46cfc8
mov dword [esp + 0x60], esi
and edi, ebx
sub ebx, edi
xor ebx, edi
shr edx, 0x13
mov ebx, 0x58f87243
ror ebx, 0x11
inc ebx
add edx, 0x58f8dccd
ror ecx, 9
xor edi, ecx
and ecx, ebx
or ebx, edi
jmp 0x46e588
mov esi, dword [esp + 0xc0]
xor ebx, ecx
mov ecx, edx
or ebx, edi
mov ecx, edx
mov edx, edi
xor edx, ebx
and edx, 0x58fb7823
and edx, ebx
jmp 0x46f15b
pop esi
or edi, 0x590630f9
and edi, edx
mov ebx, edx
mov ecx, edi
add edi, 0x590698c7
xor edx, ebx
sub edx, edi
mov edi, edx
shr edi, 7
or edi, ecx
add ecx, edi
xor ebx, ecx
and edi, ecx
sub edx, ebx
shl edi, 0x11
mov ecx, ebx
jmp 0x46e087
mov esi, dword [esp + 0xc0]
or edi, ebx
xor ecx, ebx
mov edx, ecx
and edi, ebx
sub ebx, 0x591378db
neg ecx
and edx, 0x5913b677
xor edi, ebx
mov edx, edi
add edi, 0x59140703
or edx, 0x591424e1
neg edi
jmp 0x46ecad
add dword [esp + 0xc0], eax
bswap ebx
and edi, ebx
sub ebx, 0x5919e29f
xor ebx, edx
mov ecx, edi
or ecx, ebx
xor edx, 0x591a4d87
sub ecx, edi
xor ebx, edi
sub ecx, edx
jmp 0x46d58c
add esi, dword [esp + 0x50]
and edi, ecx
sub ecx, 0x591ae1b9
mov ebx, ecx
mov ecx, edx
xor edi, edx
or ebx, edx
or ebx, ecx
or ebx, edx
or ebx, ecx
xchg ebx, edi
jmp 0x46c094
mov esi, dword [esi]
dec ebx
sub edx, ebx
mov ebx, edi
xchg edi, edx
bswap edx
and edi, 0x591eaec9
sub edx, 0x591ecadb
xor ebx, ecx
jmp 0x46ddd3
movzx esi, word [esi]
sub ebx, 0x59295087
or ecx, ebx
not edx
sub edi, 0x5929a4e9
and edi, ecx
and edi, ebx
xor ecx, edi
and ecx, edi
sub ebx, edx
xchg ecx, ebx
jmp 0x46e16b
add dword [esp + 0xc0], 4
xor ecx, edx
and edx, ebx
bswap ecx
and edx, 0x592e9f73
xor ecx, edx
inc ebx
and ecx, 0x592ef86f
and ecx, edi
jmp 0x46e4cf
mov esi, dword [esp + 0x1c]
xor ecx, edi
xchg ebx, edx
xor edx, ebx
and edi, 0x592f89cf
xor edi, ecx
or edi, edx
shr edx, 0x13
and edx, 0x592ff753
mov ebx, 0x593018a3
or edx, ebx
jmp 0x46cc49
push esi
bswap ebx
xchg edi, ecx
xor ebx, edi
and ecx, edx
add edx, edi
shr edx, 0x1f
xchg edx, edi
xor edx, edi
jmp 0x46e1d4
mov dword [esp + 0xc0], esi
mov ebx, ecx
sub ebx, 0x5959d291
or ecx, ebx
and edi, edx
sub edx, ecx
and ebx, ecx
or ebx, edx
and edi, ebx
add ecx, ebx
xor ebx, 0x595aa803
xchg ecx, edi
xchg ebx, edx
jmp 0x46b6e4
xor al, byte [esi]
or edi, 0x595f69ef
xor edx, 0x595f857b
xor edx, ecx
xchg edi, edx
or edx, ecx
or edx, ebx
shr ecx, 0x1d
xchg ecx, edi
xor edx, 0x59604975
dec edx
inc edi
mov ecx, 0x59609ff3
jmp 0x46cfa8
mov dword [esp + 0x50], 0
or ecx, edi
or ecx, edx
xor edi, 0x59632f85
and edx, edi
xchg edi, edx
or edx, edi
xor ecx, edx
ror ecx, 5
shr ecx, 7
or edi, edx
shr edx, 0xb
neg edx
sub ecx, edx
sub edi, edx
mov ecx, 0x59647c65
xor ecx, edi
jmp 0x46c56c
cmp eax, dword [esp + 0x60]
jmp 0x46ea02
mov eax, 4
not edx
add edi, ecx
xchg ecx, edi
xor edi, ecx
shl edx, 0x16
xor edx, edi
dec edx
and ecx, edx
jmp 0x46d839
mul esi
mov edx, ebx
not ecx
not ecx
shl ebx, 7
xchg ebx, edx
inc edx
add ecx, edi
sub edx, ebx
shl edx, 0x1d
rol edx, 1
or edx, 0x5977a2c7
rol ebx, 0x1d
or edx, ebx
shl ecx, 3
jmp 0x46d666
xor eax, eax
xor edx, ecx
or ecx, edi
xor ebx, edx
sub ecx, edx
sub edi, edx
mov ecx, ebx
mov ebx, 0x597b0ce7
or ecx, edx
mov ecx, 0x597b4137
mov edi, 0x597b5ec1
jmp 0x46de8e
mov esi, dword [esi]
sub edx, 0x597b826b
add ebx, 0x597b9e65
ror edx, 0xc
rol edi, 8
add edi, ecx
add ecx, edx
add ebx, edx
not edx
jmp 0x46cae0
mov esi, dword [esi]
mov edx, ebx
inc edx
mov edx, ecx
and edi, ebx
or edx, edi
xor ecx, edx
ror ecx, 0xa
xchg ecx, edx
jmp 0x46f1ac
mov esi, dword [esi]
xchg ecx, edx
mov ebx, edx
mov ecx, edi
xchg edx, edi
mov ebx, ecx
mov ecx, edx
xor ebx, edi
rol edi, 5
shl edi, 0x16
xor ebx, edx
and edi, edx
bswap ecx
jmp 0x46d68e
mov esi, dword [esp + 0xc0]
xor edx, ebx
and edx, edi
bswap edi
or edi, edx
sub ecx, edx
and ebx, ecx
add edi, ecx
xchg ebx, edx
mov ebx, edx
xor edx, ecx
and ecx, edx
ror edi, 0xf
jmp 0x46e2a3
mov esi, 0x30
mov edi, ecx
mov edi, ebx
rol edx, 0x15
or edx, 0x599b3cab
mov ebx, 0x599b588f
bswap ebx
xor ebx, ecx
dec ebx
jmp 0x46eae3
add esi, dword [esp + 0x50]
neg edi
and ebx, ecx
not ebx
dec ecx
shl ecx, 0x12
mov ecx, edx
shr ecx, 0x19
xchg edx, edi
jmp 0x46d1fb
cmp byte [esi], 0
jmp 0x46c288
add esi, dword [esp + 0x50]
and edx, edi
mov ecx, ebx
xchg ebx, edi
bswap edi
or ebx, 0x59ba43e9
sub edi, 0x59ba5f4f
shr edi, 6
neg edi
jmp 0x46cc27
jne 0x46f12f
add edx, ecx
add ecx, 0x59bfd6b1
bswap ecx
shl edx, 0xd
jmp 0x46d8c9
mov esi, dword fs:[esi]
xchg ecx, ebx
neg edi
and ecx, ebx
xchg ebx, ecx
or ebx, edi
or ebx, edx
or ecx, edi
shl ebx, 0x10
nop
xor edi, ecx
and ebx, edx
mov ebx, edi
mov edx, ebx
shl edi, 3
jmp 0x46b49c
sub dword [esp + 0xc0], 8
shr ebx, 7
or edx, ecx
xor ecx, 0x59e716e3
shr ebx, 0x1b
or ecx, edi
shl ebx, 0xf
not ebx
mov ecx, 0x59e7a617
jmp 0x46d368
mov esi, dword [esi]
shl ebx, 0xe
xor edi, ebx
xchg ecx, edi
not ecx
xor edi, ebx
mov ebx, ecx
and edx, ecx
xor ebx, edi
or ecx, edx
xor edx, ebx
and edx, edi
add ebx, 0x59f9d66b
xchg edx, ebx
sub edx, 0x59fa0d5d
jmp 0x46c93f
mov esi, dword [esi]
xor ebx, edx
rol edx, 3
and edi, edx
xchg edi, edx
and edx, ecx
xchg ecx, edx
mov edx, 0x5a106b79
or edx, ebx
jmp 0x46e945
mov esi, dword [esi]
add ebx, edx
sub edx, 0x5a2635e1
neg edi
xchg ecx, edx
and ebx, edx
and ebx, ecx
inc ebx
xchg edi, ebx
mov edx, edi
add ebx, ecx
xor ebx, edi
rol edi, 0x1b
or ebx, ecx
xchg ebx, edi
not ebx
dec ecx
jmp 0x46b3ee
add esi, 0x18
xor ebx, ecx
rol ecx, 0x11
bswap edi
xor edx, ebx
ror edi, 0xa
mov ecx, edx
neg ebx
not ecx
or ebx, 0x5a331b5f
or ebx, edx
mov ecx, ebx
sub ebx, edi
mov edi, edx
xor ebx, edx
mov edi, 0x5a33b8d3
xor edx, ecx
jmp 0x46b755
add esi, dword [esp + 0xc0]
sub edi, edx
xor edi, ebx
or edx, ecx
and edx, ecx
sub edx, 0x5a3bf85b
and ecx, ebx
xchg ebx, ecx
sub ebx, edx
jmp 0x46e1f8
inc dword [esp + 0xbc]
xchg edi, ecx
mov edi, edx
rol ebx, 0xa
xor ecx, ebx
and edi, ebx
sub ebx, edi
or ebx, 0x5a3f5423
mov ebx, edi
mov ecx, 0x5a3f89df
xchg edx, ebx
and edx, ecx
xchg ecx, edx
jmp 0x46be6c
mov esi, dword [esi]
or edi, ebx
add edx, 0x5a401869
mov ebx, edi
sub ecx, 0x5a404d6b
sub ecx, edx
mov edx, ecx
mov edi, edx
or ebx, edx
xor ebx, 0x5a40d5ef
shl edi, 9
jmp 0x46e603
add esi, dword [esp + 0x50]
mov ecx, edx
mov edx, edi
mov edi, ecx
add ebx, edi
jmp 0x46cd2a
sub esp, 0xdc
ror edi, 0x16
or ebx, edi
rol ebx, 1
bswap ebx
neg ecx
or ecx, edx
add edi, ecx
shr edx, 7
xor edx, 0x5a45179d
add edx, ebx
neg edi
mov edi, 0x5a456943
xchg ecx, ebx
add ecx, edi
xchg ebx, ecx
mov edx, ebx
jmp 0x46b867