Function at 0x47622d
Capabilities:
Encrypt data using chaskey

Disassembly:
mov dword [esp + 0xf0], edi
inc ebx
and edx, ecx
xchg ebx, esi
bswap esi
and esi, 0x7046b3c2
xor ebx, ecx
shl ebx, 0xa
mov ecx, esi
neg edx
jmp 0x478428
add edi, dword [esp + 0x84]
sub esi, ebx
and ebx, 0x705c60d6
sub ebx, 0x705c9e5a
dec ebx
sub edx, esi
or ebx, edx
shl ebx, 0x1c
dec edx
mov edx, ecx
add ebx, esi
or esi, ebx
jmp 0x476e3b
mov edi, dword [edi]
or esi, ecx
neg ebx
ror ebx, 0x1e
xchg esi, ebx
not edx
jmp 0x476d6a
mov edi, dword [esp + 0x84]
xchg ecx, esi
mov ebx, 0x707a5e37
add ebx, esi
rol edx, 0x17
xchg edx, ecx
add esi, ecx
bswap ebx
jmp 0x478bb1
rol eax, 8
shl ebx, 0xf
or edx, 0x707fb677
sub ebx, 0x708005f8
and edx, 0x7080436e
jmp 0x476862
inc dword [esp + 0xb0]
and ebx, 0x7083e771
or edx, 0x708468e2
jmp 0x475a44
mov eax, 2
xor edx, ebx
bswap edx
mov ebx, esi
or ebx, ecx
and edx, 0x708f8119
sub ecx, ebx
neg ecx
mov esi, ebx
sub ebx, esi
jmp 0x476618
add dword [esp + 4], 4
xor edx, esi
or ecx, 0x7093a087
or edx, ecx
bswap ecx
add ecx, edx
xor esi, edx
jmp 0x478cd3
mov edi, dword fs:[edi]
sub esi, 0x70bd7dec
ror esi, 0xc
sub ecx, esi
ror esi, 0xf
jmp 0x4788da
add edi, dword [esp + 0x84]
add ecx, 0x70c346eb
xchg edx, ebx
sub ebx, ecx
add esi, ebx
or edx, ebx
xor esi, ecx
xor ebx, edx
mov edx, 0x70c4ff2c
jmp 0x4783e2
add edi, dword [esp + 0x84]
mov edx, esi
or ecx, 0x70c733ff
rol esi, 5
shl ecx, 0x19
xchg ebx, ecx
or edx, esi
and ecx, 0x70c8798c
add ebx, edx
jmp 0x47696f
add edi, 0xc
and ecx, esi
xchg ecx, esi
shr ebx, 9
or ecx, 0x70d84bef
add ecx, 0x70d88969
jmp 0x477d04
ret
xor al, byte [edi]
sub ebx, ecx
add ecx, ebx
and ebx, ecx
sub edx, esi
or edx, ebx
sub esi, edx
and edx, esi
rol edx, 0x19
add esi, ebx
neg edx
not ebx
and ecx, esi
mov ebx, edx
mov ecx, esi
jmp 0x475951
cmp eax, dword [esp + 0xf0]
jmp 0x47665a
sub esp, 0x118
and ebx, ecx
sub edx, ecx
xchg edx, esi
ror esi, 0x1b
sub esi, edx
shl ecx, 0xf
dec esi
mov esi, 0x712bd54a
xor ecx, ebx
bswap edx
jmp 0x476d26
mul edi
shr edx, 0x18
sub ebx, edx
xor esi, ebx
mov edx, ebx
sub esi, 0x71315e85
sub ecx, ebx
jmp 0x47679c
xor eax, eax
ror esi, 4
or edx, ebx
add edx, ebx
or esi, edx
mov edx, ebx
neg edx
xor esi, ebx
xchg ebx, ecx
or esi, ebx
mov ebx, ecx
mov ecx, ebx
xor edx, esi
jmp 0x475f53
pop edi
add esi, edx
mov esi, ecx
neg esi
and ebx, ecx
and esi, 0x71557650
xor esi, edx
or ecx, ebx
shl ecx, 3
xchg ebx, esi
and edx, 0x7156b809
jmp 0x475f95
mov edi, dword [esp + 0xb0]
xor ebx, 0x71773e27
mov ecx, esi
inc ecx
sub ebx, esi
xor edx, ecx
and ebx, esi
xchg ecx, esi
or edx, ecx
dec edx
sub esi, ecx
shr ecx, 0x1d
add esi, ebx
add esi, edx
xor ecx, edx
jmp 0x477cae
jne 0x47598c
and ebx, 0x717c8ecb
xchg ebx, edx
sub ecx, esi
mov edx, esi
nop
xchg edx, ebx
sub esi, ecx
jmp 0x4783ff
add dword [esp + 0x78], eax
ror ebx, 0xb
or ebx, 0x7194b1d0
dec edx
add ecx, ebx
dec ecx
add ecx, edx
sub ebx, 0x7195f6f6
inc ebx
sub ecx, ebx
or esi, ecx
jmp 0x477580
inc edi
mov ecx, esi
xchg edx, esi
mov edx, 0x71a34ddd
shl edx, 5
xor edx, esi
jmp 0x478d3e
add edi, dword [esp + 0x78]
or edx, esi
shr ebx, 7
add edx, esi
and esi, ecx
jmp 0x4757e0
add esp, 0x118
shr ecx, 4
mov ecx, esi
xor edx, 0x71cbce8c
mov ebx, edx
xchg edx, ecx
mov ecx, edx
mov ebx, esi
jmp 0x475e67
add dword [esp + 0x78], 0x78
mov ecx, ebx
rol ecx, 7
mov ecx, ebx
shr esi, 0xd
or esi, ebx
jmp 0x477c63
jne 0x475f53
xchg ebx, edx
xor esi, 0x71d7603e
mov esi, ebx
rol edx, 0x1c
add esi, 0x71d83200
add esi, 0x71d87929
jmp 0x47645f
mov edi, dword [esp + 0x78]
mov ebx, edx
neg ebx
and ecx, ebx
and ecx, 0x71e0b727
sub esi, edx
sub ecx, edx
add ebx, 0x71e1717c
mov ebx, edx
or esi, edx
add edx, esi
xor esi, ebx
or ebx, esi
not ebx
add esi, ebx
jmp 0x476d4d
add edi, dword [esp + 0x84]
neg ecx
and ecx, esi
or esi, ebx
inc ebx
neg edx
xchg ebx, edx
not edx
rol edx, 0x19
jmp 0x477d7d
mov dword [esp + 0xb0], 0
bswap ebx
add edx, ebx
and ecx, ebx
mov esi, 0x72141f51
or ecx, ebx
xchg ebx, edx
sub edx, 0x7214d954
sub ecx, ebx
jmp 0x4778c0
mov edi, dword [edi]
or ebx, edx
sub ecx, edx
sub esi, ecx
add esi, ebx
sub esi, ecx
xor ecx, ebx
and ecx, edx
and ecx, esi
xchg edx, esi
or edx, ebx
add ebx, edx
jmp 0x476aa7
mov dword [esp + 0x78], edi
xor esi, edx
xor edx, esi
xchg ebx, edx
sub esi, edx
and ebx, 0x72192e51
or ebx, edx
xor ecx, 0x7219bb27
or edx, ecx
rol ecx, 4
and edx, ecx
mov edx, esi
xchg ecx, edx
jmp 0x47862a
mov dword [esp + 0x78], edi
and ebx, edx
dec ecx
rol esi, 0x1d
xchg edx, ebx
sub edx, esi
mov edx, 0x72298359
sub esi, 0x7229d39c
xchg ecx, esi
not ebx
xor esi, edx
add edx, ebx
mov edx, 0x722b0999
or ebx, edx
sub ecx, edx
jmp 0x477517
mov eax, 4
sub ecx, esi
or ecx, 0x723342b6
or edx, esi
xor edx, esi
add ecx, ebx
sub ebx, esi
jmp 0x477400
add edi, 0x18
mov esi, ebx
mov edx, ebx
xchg edx, esi
shr edx, 0x11
sub edx, ecx
and ecx, ebx
ror esi, 3
sub esi, edx
rol esi, 0x13
sub ebx, esi
or ecx, edx
jmp 0x47898a
add edi, dword [esp + 0xb0]
bswap edx
xor edx, esi
or edx, ecx
mov ebx, ecx
mov edx, ebx
or esi, ebx
xor edx, ebx
jmp 0x476eca
mov edi, dword [edi]
xor edx, ecx
sub esi, ecx
shl ebx, 0x16
jmp 0x47890b
mov edi, dword [esp + 0x78]
nop
and ebx, 0x72734d32
and esi, ecx
add ebx, 0x7273c66a
dec ebx
add esi, edx
shr ebx, 0xf
xchg ecx, edx
sub edx, 0x72750cf7
add ecx, ebx
neg esi
add ebx, esi
sub esi, 0x7276005b
xor esi, edx
jmp 0x477ecd
movzx edi, word [edi]
xchg esi, ecx
or ebx, esi
and edx, 0x7297b1aa
sub ecx, edx
add edx, ebx
sub ecx, ebx
bswap ecx
shl esi, 0x1a
add esi, ebx
xor esi, ebx
neg ecx
ror ebx, 0x15
xor edx, esi
sub esi, ebx
jmp 0x476286
add dword [esp + 0x78], 0x20
add esi, ebx
shl edx, 6
xor ebx, esi
mov ecx, esi
and edx, esi
add esi, ebx
xor edx, ecx
xor ecx, esi
ror ecx, 5
sub ecx, 0x729ffa7b
jmp 0x476a77
mov edi, dword [esp + 4]
add ebx, esi
xor ecx, 0x72abcd93
not edx
sub ecx, 0x72ac5aa2
and ecx, ebx
add edx, 0x72acd30f
jmp 0x477124
mov edi, dword [esp + 0x78]
xor ebx, edx
and ecx, esi
ror edx, 0xb
or edx, ecx
xchg edx, ebx
dec ecx
dec ebx
rol edx, 0x12
jmp 0x4781f8
mov edi, dword [edi]
sub ecx, 0x72b53496
sub edx, ecx
or ebx, ecx
xchg ebx, ecx
or esi, ecx
neg edx
xchg ecx, ebx
inc ebx
and edx, ecx
jmp 0x475e15
mov edi, dword [edi]
add esi, 0x72bf205e
sub ecx, 0x72bf5ff2
xchg ebx, edx
sub ebx, 0x72bfdbf6
mov ecx, 0x72c019f3
not ebx
xor ecx, ebx
rol ecx, 0x16
and esi, 0x72c12385
xchg esi, edx
rol edx, 0x15
and esi, edx
or ebx, esi
nop
jmp 0x478336
mov dword [esp + 0x84], edi
mov edx, esi
nop
and ecx, esi
or esi, edx
or esi, 0x78b56cf2
xor edx, 0x78b605e8
ror esi, 0xa
xchg esi, ecx
xor ebx, esi
and esi, 0x78b8211e
mov edx, ecx
jmp 0x475902
mov dword [esp + 4], 0
add edx, ebx
xchg esi, ecx
sub ecx, 0x78fdebab
xchg edx, esi
bswap ecx
xor ecx, 0x78feb809
inc ecx
jmp 0x477e99
add dword [esp + 0x78], edi
xor ebx, 0x793ea3d6
mov esi, 0x793f2039
xor edx, ebx
jmp 0x47744f
mov edi, dword [edi]
ror edx, 5
sub edx, esi
add edx, 0x7978ed60
sub edx, 0x79795108
and esi, edx
add esi, edx
sub ebx, 0x797a7448
and ebx, 0x797af2f9
shr edx, 7
dec esi
jmp 0x4783cc
mov edi, dword [esp + 0x84]
xor esi, ecx
rol ecx, 0xb
or ebx, edx
add ebx, ecx
xor ebx, 0x79805795
neg edx
sub ecx, edx
neg esi
and ecx, ebx
and edx, esi
jmp 0x4768b0
mul edi
inc esi
inc edx
neg ecx
shr ebx, 4
add edx, 0x79884f8b
or edx, 0x7988b27b
and ecx, ebx
add edx, ebx
jmp 0x478845
mov edi, dword [esp + 0x78]
xchg edx, ebx
add edx, ebx
mov ebx, ecx
xchg ebx, esi
or ecx, esi
sub esi, 0x798bf11e
xchg ebx, edx
xchg esi, ebx
rol edx, 6
not ebx
jmp 0x477c1d
mov edi, dword [edi]
or ebx, esi
not esi
xor edx, ebx
or esi, ebx
shl ecx, 8
jmp 0x477624
mov dword [esp + 0x78], 0
ror esi, 0x11
mov esi, ebx
mov ecx, 0x79a3facf
sub edx, ecx
xchg ebx, esi
not ebx
mov ebx, ecx
jmp 0x475641
mov dword [esp + 4], edi
neg ecx
or esi, ecx
bswap esi
neg edx
xor esi, 0x79aa49c5
and ebx, ecx
xchg ebx, edx
and edx, ebx
add edx, ecx
mov esi, 0x79ac4fda
dec edx
add esi, ebx
and esi, ecx
sub ecx, ebx
and esi, edx
inc ebx
jmp 0x47598c
mov dword [esp + 0x84], 0
mov esi, ebx
sub ebx, edx
add esi, 0x79cc8108
xchg esi, ecx
and esi, edx
xchg edx, ecx
xor ebx, esi
not ebx
sub ecx, ebx
sub ecx, ebx
add ebx, esi
and edx, 0x79d00c17
xor esi, ecx
or edx, ecx
jmp 0x477d5b
mov edi, dword [edi]
ror ecx, 9
inc esi
neg ecx
add ecx, esi
xor ebx, ecx
xor esi, 0x79d3630d
xor ebx, edx
sub ecx, edx
ror esi, 0x14
add ebx, 0x79d4f185
jmp 0x475761
mov edi, dword [edi]
inc ecx
add edx, 0x7a3c2889
sub edx, esi
xor edx, ecx
bswap edx
xor esi, edx
jmp 0x475d27
mov edi, dword [edi]
xor esi, edx
and ecx, ebx
or edx, ecx
ror esi, 0x14
xchg ecx, edx
inc esi
mov ebx, ecx
or ebx, edx
or edx, ecx
mov ebx, 0x7ad1d503
sub ecx, 0x7ad23342
add ecx, 0x7ad291c2
jmp 0x476f6d
add edi, dword [esp + 0x84]
or ecx, edx
add ecx, esi
neg edx
xor esi, ecx
and edx, ecx
jmp 0x478b35
push edi
xchg esi, edx
add ebx, 0x7ae24f02
dec esi
xchg ebx, ecx
and esi, ecx
and ebx, edx
add ebx, ecx
not ebx
add esi, ebx
bswap esi
jmp 0x4763bc
add dword [esp + 0x78], 4
add edx, 0x7ae5cea0
mov ebx, ecx
inc ecx
mov edx, ebx
sub esi, ecx
xor esi, edx
xor edx, 0x7ae7f12f
xchg ecx, esi
inc ebx
sub esi, edx
sub esi, ecx
jmp 0x477ccc
mov edi, 0x30
add ecx, ebx
and esi, ecx
shl esi, 0xf
bswap ecx
xchg ebx, ecx
neg edx
xor ecx, 0x7aed6114
bswap ecx
xchg ecx, ebx
xchg ecx, esi
jmp 0x475c90
mov edi, dword [edi]
rol edx, 0x19
dec ecx
neg edx
add ebx, esi
or ecx, esi
mov esi, ebx
neg esi
jmp 0x475ced
sub dword [esp + 0x78], 8
xchg edx, ebx
xor ebx, ecx
xchg ecx, esi
xchg ecx, edx
shl edx, 0x1e
and ecx, 0x7b180bf4
nop
xor edx, 0x7b18cdeb
add ecx, esi
shl esi, 0xd
jmp 0x477208
mov edi, dword [esp + 0x84]
mov edx, ebx
sub ebx, esi
mov ebx, edx
sub ecx, edx
add ebx, 0x7b28f59d
mov edx, esi
and ebx, 0x7b29aa12
and esi, edx
xor edx, ecx
and ebx, 0x7b2afeb8
jmp 0x477a46
mov dword [esp + 0xb0], eax
mov edx, ecx
or esi, 0x7b67c062
shr edx, 6
and edx, ecx
mov edx, ecx
xor ecx, 0x7b693703
mov edx, esi
and ebx, ecx
mov edx, ecx
xchg ebx, edx
not esi
sub esi, ecx
jmp 0x478588
add edi, 0xc
or ebx, 0x7b79f8e1
sub esi, ecx
ror ebx, 3
xchg esi, edx
mov ebx, esi
xor esi, edx
mov esi, ebx
xchg ebx, ecx
xor ecx, ebx
shl ebx, 0x15
and edx, ebx
rol ecx, 0x1b
rol edx, 0x16
shl ebx, 0x10
mov ebx, esi
add ecx, edx
jmp 0x47759c
mov dword [esp + 0x78], edi
ror esi, 3
mov ecx, edx
add edx, 0x7b8176e7
nop
xchg esi, ecx
add ecx, ebx
or esi, 0x7b82f11d
bswap esi
rol ebx, 0x1e
xchg esi, edx
jmp 0x4769f3
mov edi, dword [edi]
mov ecx, edx
sub esi, ecx
sub ebx, 0x7b907238
xchg ebx, esi
sub ebx, edx
xchg esi, ebx
bswap esi
mov ebx, edx
add edx, ecx
jmp 0x4776e7
mov dword [esp + 4], edi
and esi, ecx
or ecx, ebx
or edx, ecx
xor edx, ecx
rol ecx, 0x1a
sub ecx, esi
sub esi, edx
sub edx, ecx
dec ebx
add esi, ebx
mov ecx, esi
add ebx, esi
xor ebx, edx
xchg ebx, edx
xchg ebx, edx
and ecx, edx
jmp 0x475a07
add edi, 0x3c
ror esi, 0x16
add edx, ecx
xor esi, ecx
mov esi, ebx
inc ecx
rol edx, 0x1b
xor ebx, 0x7bda880c
dec ebx
ror edx, 7
add esi, ebx
inc edx
ror ecx, 2
mov edx, ecx
xchg ebx, esi
xchg esi, ebx
sub ebx, esi
jmp 0x4771fa
mov edi, dword [esp + 4]
xchg ecx, ebx
and edx, ebx
add esi, ecx
ror ebx, 3
xchg edx, esi
shr esi, 4
mov edx, 0x7bf9efc3
inc ecx
and ecx, ebx
mov edx, esi
xor esi, ecx
jmp 0x478530
cmp byte [edi], 0
jmp 0x476a0c