Function at 0x47b884
Capabilities:
Encrypt data using chaskey

Disassembly:
mov edi, dword [edi]
bswap esi
xchg ecx, ebx
add edx, 0x2b70d9a5
sub ebx, edx
sub edx, ebx
add esi, ecx
xor edx, ebx
mov esi, ebx
jmp 0x47b709
mov eax, 2
add edx, esi
not ebx
sub ecx, 0x2b75dc06
sub ebx, 0x2b764897
and edx, 0x2b76ad1b
xor esi, 0x2b7717bd
add esi, edx
rol edx, 0x16
mov edx, 0x2b784321
jmp 0x4794b6
xor eax, eax
and esi, ecx
and ecx, ebx
sub esi, ecx
and ebx, ecx
xor ebx, esi
mov esi, 0x2c7658f8
shl esi, 0xf
and edx, 0x2c775abf
or ecx, ebx
mov edx, ecx
sub ecx, edx
jmp 0x47b83f
rol eax, 8
or ebx, esi
or ecx, esi
or edx, ecx
xor ecx, 0x2c847722
xor ebx, esi
mov esi, ecx
mov esi, 0x2c85cc79
jmp 0x47b2a5
add esp, 0x108
add ecx, edx
shr esi, 0x18
neg ecx
sub edx, ebx
and esi, 0x2d1806fe
and edx, ebx
xor edx, 0x2d18fd59
sub esi, edx
jmp 0x47a171
add edi, dword [esp + 0xf0]
mov ecx, esi
or esi, ecx
add edx, esi
sub edx, 0x2d478f52
and esi, 0x2d49a7a5
and edx, ecx
mov esi, ebx
jmp 0x47a735
mov edi, dword [esp + 0x70]
sub ecx, 0x2d4b3301
add ebx, edx
or ecx, esi
xchg ebx, ecx
add edx, ebx
jmp 0x47b7f8
mov dword [esp + 0x70], edi
xchg ecx, edx
xor ebx, edx
and ecx, edx
xor edx, 0x2d4f1235
jmp 0x47b22b
add edi, dword [esp]
bswap edx
add esi, 0x2d5f556b
dec ecx
neg edx
sub ebx, ecx
jmp 0x47ae2e
mov edi, dword [esp]
xor esi, edx
inc ebx
add ecx, edx
nop
add edx, esi
sub ecx, edx
or ebx, 0x2d743dd4
jmp 0x479d5a
mov dword [esp + 0x70], 0
not ecx
rol ebx, 0xa
mov ecx, 0x2d7be5d8
xchg ecx, ebx
shr edx, 0xf
jmp 0x47b12f
add dword [esp + 0x70], 4
xor ecx, edx
and ebx, edx
sub edx, ecx
add ecx, edx
sub ecx, edx
not ecx
rol esi, 0x1c
or edx, ebx
xor esi, 0x2d8b4575
add ebx, edx
or esi, edx
add ebx, edx
sub edx, ebx
sub ecx, edx
jmp 0x47bb51
mov dword [esp + 0x50], edi
neg ecx
mov esi, ecx
shr ecx, 0x1f
add esi, ecx
add ecx, ebx
xor edx, esi
mov edx, esi
xor edx, 0x2d90c846
sub ebx, ecx
sub ecx, edx
and edx, esi
xor esi, edx
xchg edx, ecx
rol edx, 0x11
or esi, edx
add edx, ecx
jmp 0x478ca0
mov edi, dword [esp + 0x50]
or esi, edx
sub esi, ecx
or esi, 0x2d99aede
mov ebx, 0x2d9a209b
or esi, ecx
add ecx, esi
and edx, ecx
ror edx, 0x1c
xchg edx, esi
xor esi, edx
shl ebx, 0xd
jmp 0x479fe0
cmp byte [edi], 0
jmp 0x47ab35
mov dword [esp + 0xf0], 0
not esi
neg ecx
dec ebx
mov ebx, esi
xor ebx, esi
or ecx, 0x2de79ecd
mov ebx, ecx
jmp 0x479510
mov edi, dword [esp + 0xf0]
not ebx
mov edx, 0x2dfcbbc8
xor ebx, edx
mov ecx, edx
not edx
or edx, ebx
jmp 0x47ac15
push edi
add edx, esi
ror edx, 0x1d
add ebx, 0x2e220531
add ebx, ecx
mov edx, ebx
sub ebx, edx
neg ecx
and edx, 0x2e240771
xor edx, 0x2e2480b6
shl esi, 0x16
jmp 0x478fec
mov edi, dword [edi]
mov ecx, 0x2ea7d6d8
and ecx, ebx
and ecx, 0x2ea8ef03
rol ebx, 0xf
neg edx
sub ecx, 0x2eaa9349
add ebx, 0x2eab0261
inc edx
or ecx, edx
and esi, edx
jmp 0x47a541
add dword [esp + 0x50], 4
or esi, ecx
sub edx, 0x2ebddca3
xor esi, edx
sub ecx, edx
neg ecx
nop
xchg esi, ebx
jmp 0x4795ef
mul edi
and edx, 0x2f880448
xchg edx, ecx
and ecx, ebx
xor ebx, esi
and ebx, 0x2f89cd5c
shr edx, 9
and ebx, ecx
jmp 0x47bc36
mov dword [esp + 0x50], edi
or ecx, esi
and edx, 0x2faeeaee
or ebx, ecx
or edx, ebx
dec ebx
shl edx, 0xf
and ebx, 0x2fb0faff
mov ecx, ebx
add edx, 0x2fb21050
jmp 0x47b6ad
mul edi
sub ebx, edx
mov ecx, ebx
mov ebx, ecx
dec esi
sub esi, 0x2fc8b8f1
xor edx, 0x2fc933ad
xor ecx, esi
or ebx, 0x2fca03aa
dec edx
jmp 0x47b727
add edi, 0xc
not ecx
add ebx, edx
mov edx, ebx
xor ecx, ebx
ror ebx, 0xe
inc ebx
shl esi, 0x10
mov esi, ecx
or edx, ecx
sub ebx, edx
xchg esi, ecx
inc edx
sub edx, ebx
and ebx, edx
jmp 0x47af0e
mov edi, dword [esp + 0xf0]
sub ebx, ecx
and ebx, esi
xchg edx, esi
and edx, 0x30fd764f
mov ecx, ebx
xchg edx, ebx
dec ebx
jmp 0x47b3a9
mov dword [esp], 0
shr ebx, 0x1f
xchg edx, esi
sub edx, ebx
bswap esi
shl edx, 0xd
shl esi, 5
sub esi, edx
sub esi, ecx
jmp 0x47b2ed
mov edi, dword [edi]
sub ecx, 0x31158b7e
sub edx, esi
shl esi, 0x1a
and edx, ecx
add ecx, 0x311c6858
add esi, ebx
add ecx, edx
xor ebx, esi
mov esi, 0x311e048c
xor esi, ecx
xor esi, edx
neg edx
jmp 0x47ab53
mov edi, dword [edi]
sub esi, ecx
and esi, edx
neg ecx
sub ecx, ebx
add ecx, edx
and ebx, 0x31220ab4
xor edx, ebx
jmp 0x47b756
cmp eax, dword [esp + 0xe0]
jmp 0x47a478
add edi, dword [esp + 0xf0]
or ecx, 0x315e600c
add edx, 0x315ecf18
or ecx, ebx
add edx, esi
shl ecx, 0x12
shl ecx, 0xe
mov esi, ebx
jmp 0x47959c
ret
mov edi, 0x30
sub ebx, edx
rol edx, 0x16
and esi, ebx
add esi, edx
or esi, ecx
and edx, ebx
sub esi, edx
xchg ecx, esi
mov edx, ecx
xchg ecx, esi
add esi, edx
or ebx, ecx
shl ebx, 5
xor edx, esi
dec esi
jmp 0x47b859
add edi, 0xc
and esi, ebx
and ebx, 0x3171479f
add edx, 0x3171a40b
mov edx, ecx
xor edx, esi
and ebx, ecx
bswap ecx
xor esi, 0x31739ba6
and esi, ebx
neg ecx
and ebx, ecx
shl ecx, 0x13
jmp 0x47a846
mov edi, dword [edi]
xor ebx, edx
sub ecx, ebx
inc ecx
add edx, esi
or esi, ecx
xor esi, 0x328fb668
jmp 0x47ba9c
jne 0x47b6ad
xchg edx, ecx
mov ebx, edx
sub ebx, ecx
and ebx, ecx
ror edx, 2
xor ebx, esi
add edx, ebx
and ecx, edx
mov ebx, esi
mov edx, ebx
and ecx, ebx
jmp 0x47956e
add edi, dword [esp + 0xf0]
mov ebx, 0x32b2e1e5
sub ebx, edx
shl esi, 6
bswap edx
mov edx, ebx
jmp 0x47924b
mov dword [esp + 0x70], edi
sub ebx, ecx
shl ebx, 2
sub ecx, edx
add ebx, 0x3318f635
and ebx, edx
ror esi, 0x17
add ecx, 0x331a879d
jmp 0x47b6d2
sub dword [esp + 0x70], 8
xchg ebx, edx
dec ecx
xchg edx, esi
sub ecx, edx
or esi, edx
mov ebx, edx
and esi, edx
or ecx, ebx
or edx, esi
ror edx, 7
jmp 0x47b6e8
mov edi, dword [edi]
mov esi, ebx
shl edx, 4
add ebx, esi
sub ebx, esi
xor edx, 0x33381fa9
mov ebx, ecx
not ecx
xchg edx, esi
jmp 0x478c79
mov edi, dword [edi]
sub esi, edx
add edx, 0x3374b1cb
bswap edx
xor ebx, edx
ror ecx, 0x1d
add ebx, 0x33796c39
xchg ebx, edx
bswap esi
and ebx, esi
and ebx, esi
jmp 0x479e5d
pop edi
shl esi, 0xe
mov ebx, 0x33c69eef
and ebx, edx
or edx, esi
mov ebx, ecx
shl esi, 0x1f
ror ebx, 0x14
not ecx
neg ecx
jmp 0x47a0b0
jne 0x47b83f
mov edx, ecx
sub ebx, ecx
add esi, edx
inc edx
and ebx, edx
bswap ebx
sub ebx, ecx
and ebx, edx
and esi, edx
neg ebx
jmp 0x47a9cd
add edi, dword [esp + 0xf0]
and edx, ebx
sub esi, ebx
sub ebx, 0x340e9855
mov ecx, edx
sub esi, edx
xor esi, ecx
xchg ecx, edx
ror edx, 2
xchg edx, ecx
sub esi, ecx
not edx
jmp 0x4798e7
add dword [esp + 0x70], edi
dec ebx
inc ebx
and esi, 0x346e1ba4
inc ecx
or esi, ebx
shr edx, 0x18
bswap ecx
dec ecx
nop
jmp 0x47b81f
mov edi, dword [edi]
xor esi, ebx
neg edx
or ecx, esi
xor ecx, 0x34ac46b4
add ebx, esi
jmp 0x4793d0
mov eax, 4
xchg edx, esi
xor ecx, esi
mov edx, 0x34ca1448
and ebx, esi
bswap esi
sub esi, ebx
ror ecx, 0xc
and edx, 0x34cbf56a
and esi, edx
jmp 0x47b00b
mov edi, dword [edi]
not ebx
ror ecx, 0x1d
sub esi, 0x34e5a4af
and ecx, edx
xchg esi, ebx
sub ebx, edx
sub esi, 0x34e76487
and ecx, ebx
sub ecx, ebx
jmp 0x47a79c
mov edi, dword [edi]
or esi, ebx
or esi, edx
xor ecx, esi
and ebx, 0x34ea358e
xchg esi, ebx
mov esi, ecx
and ebx, esi
and esi, ebx
or esi, edx
inc edx
jmp 0x479394
movzx edi, word [edi]
sub esi, ecx
xchg esi, ebx
add edx, ebx
or ecx, 0x3508e2c0
bswap esi
jmp 0x479c11
mov edi, dword [esp + 0xf0]
nop
and ebx, 0x35757315
xor edx, ebx
or esi, edx
shl edx, 1
or ebx, esi
jmp 0x47b5d8
mov dword [esp + 0xe0], edi
and edx, esi
or esi, ecx
not edx
bswap edx
or ecx, edx
mov ecx, edx
sub ebx, esi
mov ecx, 0x35a1a847
inc esi
or ebx, esi
not edx
or ecx, 0x35a3685b
rol edx, 0x13
jmp 0x47a185
add dword [esp + 0x70], 0x78
shr edx, 0xd
xchg ebx, ecx
or ecx, edx
sub ebx, edx
mov ecx, ebx
or esi, ecx
jmp 0x47b057
inc edi
neg ecx
and edx, ebx
nop
sub ecx, edx
sub ebx, esi
ror esi, 0x1a
rol ebx, 0x15
not edx
rol esi, 0x17
xchg ebx, esi
xor ebx, edx
not ebx
xor ebx, 0x360f9917
and ecx, esi
not edx
mov edx, esi
jmp 0x47961a
mov dword [esp + 0x50], 0
add ecx, edx
or edx, ebx
mov ecx, esi
not edx
sub ebx, 0x36176fa8
xchg ecx, edx
xchg ebx, edx
mov ecx, esi
jmp 0x479754
add edi, 0x3c
sub ecx, esi
inc ebx
xchg ecx, edx
or ebx, 0x362d8bfb
sub ebx, 0x362df4b6
add esi, ecx
and esi, 0x362efda4
and edx, 0x362f747e
mov ecx, ebx
or ebx, ecx
dec ecx
inc ebx
jmp 0x47ad4c
add edi, dword [esp + 0x70]
sub esi, edx
add esi, edx
add ebx, esi
sub ecx, esi
xor esi, 0x3683f7a6
mov ebx, ecx
and esi, ecx
sub esi, ebx
shr esi, 0x13
not esi
shl ebx, 0xd
or ebx, edx
xchg edx, esi
xor ebx, 0x3687d2a1
sub ecx, 0x36883783
ror edx, 0x10
jmp 0x47a00b
mov edi, dword [esp + 0x70]
not esi
xor ecx, edx
dec esi
xor ebx, edx
dec edx
inc edx
sub ecx, 0x37b0166c
bswap esi
mov ecx, esi
rol ecx, 5
ror ebx, 0x14
xor ecx, 0x37c58a61
rol esi, 0x16
and edx, ecx
jmp 0x4799ce
inc dword [esp]
or esi, 0x37cab7d5
rol ebx, 2
xor edx, esi
shr edx, 8
not esi
dec esi
xor esi, ebx
xchg edx, ebx
or esi, ebx
add esi, edx
jmp 0x4799f8
mov edi, dword [esp + 0x50]
rol ebx, 3
not ebx
rol ecx, 7
or ebx, edx
jmp 0x479452
mov edi, dword [esp + 0x70]
and ecx, ebx
sub edx, 0x37e63bfb
add esi, edx
add edx, ebx
and ebx, esi
mov esi, 0x37e82d08
inc ebx
inc esi
jmp 0x47af30
add edi, 0x18
or edx, esi
neg ecx
rol ebx, 0x10
and edx, esi
inc ecx
add edx, 0x37efd08f
and edx, ebx
mov esi, ecx
or edx, ecx
jmp 0x47a462
mov dword [esp], eax
sub edx, 0x37f1ce79
dec edx
xchg ebx, edx
sub edx, 0x37f2fcf1
xor ebx, ecx
and edx, esi
mov ecx, edx
xor ecx, 0x37f4c8dc
or ebx, edx
or edx, esi
xor esi, ebx
add ebx, ecx
jmp 0x47a77b
mov dword [esp + 0x70], edi
xor edx, esi
ror esi, 0x19
add ebx, esi
shr esi, 0x14
and edx, 0x3805bf4a
xor esi, 0x38062d87
jmp 0x4797e0
mov edi, dword [edi]
xchg esi, ecx
mov ecx, edx
add edx, ebx
rol esi, 0x10
jmp 0x47a14d
mov edi, dword [edi]
and ebx, edx
xchg ebx, esi
or esi, 0x3822a6f4
and ecx, ebx
neg ecx
mov edx, ecx
or edx, ebx
or edx, 0x38249497
sub edx, esi
or ebx, 0x38256c7d
jmp 0x47bba5
add dword [esp + 0x70], 0x20
add edx, ecx
xor ecx, ebx
ror esi, 0x12
xchg ebx, ecx
xor esi, edx
sub ebx, edx
or ecx, edx
or ebx, esi
add esi, ecx
jmp 0x4793b6
xor al, byte [edi]
add esi, 0x3829fa61
mov esi, ebx
inc esi
xchg ebx, ecx
sub ebx, 0x382f4c55
and esi, ebx
jmp 0x479061
mov edi, dword fs:[edi]
xchg edx, ebx
inc ebx
sub ebx, 0x38310b32
rol ebx, 0xa
and esi, edx
mov esi, 0x3832503c
add esi, ecx
dec ebx
or ecx, ebx
xor ebx, 0x383407e2
xor esi, edx
xchg edx, ebx
dec ecx
jmp 0x47a1ae
sub esp, 0x108
xor esi, edx
and ecx, ebx
add ebx, 0x3838403a
sub edx, esi
and ecx, esi
sub ebx, edx
xor ecx, ebx
and ecx, esi
jmp 0x479fbd
mov dword [esp + 0xf0], edi
mov ecx, ebx
mov ebx, edx
sub esi, ecx
rol edx, 0xc
sub esi, ecx
shl ecx, 3
or ecx, esi
shl edx, 0x1a
shr edx, 8
jmp 0x479efc
mov edi, dword [esp + 0x70]
bswap edx
inc edx
or ecx, esi
and edx, esi
mov esi, edx
dec ebx
xchg ecx, esi
add ebx, edx
and ecx, esi
and edx, ecx
sub esi, 0x390c960f
and ecx, esi
jmp 0x47b778
add edi, dword [esp + 0xf0]
ror ecx, 0x17
sub edx, ecx
add ebx, ecx
and esi, ecx
shr ecx, 0x12
add ecx, edx
xchg ecx, esi
and esi, ebx
sub ecx, ebx
or ebx, 0x3929d611
jmp 0x479cef
add dword [esp + 0x70], eax
mov esi, ebx
sub edx, 0x39394a81
dec ecx
inc ecx
inc edx
dec ebx
mov esi, 0x393b98bd
ror ebx, 0x1f
bswap esi
add ebx, 0x393cebdd
or ecx, 0x393d6a33
jmp 0x47b65d