Function at 0x476e02
Capabilities:
Encrypt data using chaskey

Disassembly:
mov ecx, dword [ecx]
or edi, ebx
sub ebx, 0x2e44eaa4
not edi
and edi, ebx
or edi, ebx
dec ebx
mov ebx, esi
sub edi, edx
or esi, edi
jmp 0x477f26
jne 0x477c17
add esi, edi
or ebx, edi
mov ebx, edi
and ebx, esi
mov esi, edi
xor ebx, edi
and esi, edx
xchg esi, ebx
xchg edx, esi
mov edx, ebx
jmp 0x476c59
mov ecx, dword [ecx]
xor ebx, edi
and esi, ebx
mov edi, edx
rol edi, 0x10
or ebx, 0x2e586dfc
and edx, esi
jmp 0x476196
mov ecx, dword [ecx]
mov edx, edi
sub esi, ebx
xor ebx, edx
or edi, ebx
xchg edx, esi
xchg edi, esi
bswap edx
jmp 0x4760a9
mov ecx, dword [ecx]
inc edi
or edx, ebx
mov ebx, esi
not edx
or esi, 0x2e5eba3b
ror edx, 8
or edx, edi
jmp 0x47852e
add ecx, 0xc
and edx, 0x2e5f82cb
not edx
not ebx
and ebx, edx
jmp 0x47592f
mov ecx, dword [ecx]
or edi, esi
rol edi, 6
shr ebx, 0x18
xchg edx, edi
add esi, ebx
xor edi, ebx
dec edi
rol edi, 4
and edi, edx
xchg esi, edx
jmp 0x477667
add ecx, dword [esp + 0x118]
neg edx
mov edx, edi
sub edx, edi
xor edx, esi
xor ebx, edi
and esi, ebx
shl edx, 0x18
or edx, ebx
jmp 0x477556
add ecx, dword [esp + 0x118]
dec edx
rol edi, 0xe
xor edx, esi
bswap esi
or edi, 0x2e8c5657
xchg edx, esi
and ebx, edx
sub edi, 0x2e8d1e78
inc ebx
not ebx
and edi, ebx
sub edx, esi
sub ebx, edx
sub edi, ebx
jmp 0x4775fe
mov ecx, dword [ecx]
xor edi, edx
bswap edi
shr edi, 0xa
mov edi, edx
sub ebx, 0x2e8fd540
add esi, edi
jmp 0x4771e8
mov dword [esp + 0x118], 0
and edi, edx
dec esi
xor edi, ebx
xor esi, 0x2ea2f2dc
mov edx, edi
rol edx, 0x15
or ebx, edx
and edi, edx
mov ebx, edi
sub edx, 0x2ea46c07
xchg edx, esi
xor ebx, edx
and edx, edi
sub esi, ebx
add edi, ebx
jmp 0x477e4d
mov eax, 2
not esi
mov edx, edi
xchg esi, edi
xchg esi, ebx
rol ebx, 9
sub edi, ebx
xor esi, ebx
mov edi, 0x2ec6bc96
ror esi, 0x1d
jmp 0x475f7c
ret
mov ecx, dword [esp + 0x18]
or esi, edx
nop
dec edx
xor esi, edx
nop
and edx, edi
sub esi, edi
nop
shl ebx, 4
xor edx, 0x2eddd170
mov esi, ebx
mov ebx, esi
jmp 0x477408
cmp eax, dword [esp + 0x8c]
jmp 0x477aa6
mov ecx, dword [esp + 0x10c]
add esi, 0x2eed5f73
and esi, ebx
neg ebx
add edx, 0x2eee1383
xor ebx, edx
sub esi, edi
ror esi, 8
ror edx, 9
inc edi
or edx, ebx
add ebx, edi
xchg edi, edx
xor edx, ebx
jmp 0x476a7f
mov dword [esp + 0x10c], ecx
bswap esi
or edi, ebx
mov edi, esi
sub esi, edx
xchg esi, ebx
or edx, 0x2ef1c6a0
and edi, ebx
neg ebx
and edi, ebx
jmp 0x47625c
mov ecx, dword [esp + 0x10c]
bswap esi
and esi, edi
not esi
xchg ebx, edx
and edi, edx
or edi, 0x2ef7c31b
add ebx, esi
xor edi, edx
dec edi
neg edx
jmp 0x475766
cmp byte [ecx], 0
jmp 0x4757e6
add ecx, dword [esp + 0x118]
mov ebx, 0x2f01c728
add edx, edi
xchg edx, edi
dec ebx
add edi, ebx
xor edi, esi
rol esi, 0x1c
sub esi, edx
and edx, esi
xor edi, ebx
or ebx, edi
mov edx, ebx
or ebx, edx
xor edx, 0x2f04ea44
mov esi, edx
jmp 0x477b5c
add dword [esp + 0x10c], 0x78
xor ebx, esi
bswap esi
mov edi, 0x2f137c02
xor edx, 0x2f13bbc7
not edx
mov edi, esi
sub esi, 0x2f148562
or esi, ebx
sub edi, ebx
add edx, 0x2f153c31
add ebx, edi
and edx, ebx
xor ebx, edx
jmp 0x476f75
add dword [esp + 0x10c], 0x20
and ebx, 0x2f165109
shl esi, 2
sub esi, 0x2f16cff5
add edx, edi
ror ebx, 0x16
rol ebx, 2
mov esi, 0x2f17c646
sub edi, edx
or edx, edi
rol edi, 0x12
jmp 0x47607a
add ecx, dword [esp + 0x118]
xor ebx, edi
sub ebx, edi
mov esi, edi
or ebx, edi
and esi, edx
xor edx, 0x2f5f58ad
sub edx, edi
sub ebx, edx
jmp 0x477c00
movzx ecx, word [ecx]
xchg ebx, edx
mov edx, ebx
mov edi, ebx
mov ebx, edx
sub ebx, 0x2f6db476
mov edi, ebx
mov ebx, edx
xchg edi, ebx
mov ebx, 0x2f6eb61f
inc esi
or edx, edi
jmp 0x4784e1
mov ecx, dword [ecx]
xor edx, esi
and edi, ebx
mov edx, 0x2f7bcfe6
or edx, edi
add edx, edi
inc edi
sub edi, ebx
add esi, ebx
jmp 0x4758d4
add dword [esp + 0x10c], eax
or ebx, edi
xchg ebx, esi
xor edi, ebx
xor edx, edi
xor esi, 0x2f90b915
or ebx, esi
add edi, 0x2f9134ba
shl ebx, 0x1b
sub ebx, esi
mov edi, ebx
shr edx, 7
sub ebx, esi
and esi, 0x2f92b201
sub ebx, 0x2f92f1af
or edx, edi
mov esi, edi
jmp 0x477a0a
mov ecx, dword [ecx]
add esi, edx
or edx, 0x2fa89f3c
or edx, esi
mov esi, edx
xor esi, edi
shr edi, 6
sub esi, edi
xor ebx, 0x2faa1c5c
xchg ebx, edi
add ebx, edi
mov edx, ebx
jmp 0x475977
mov ecx, dword [ecx]
xor edx, edi
or edx, 0x2fbeea3c
add esi, 0x2fbf2888
add esi, 0x2fbf642a
rol esi, 7
xchg esi, edx
sub edi, esi
jmp 0x475b36
inc dword [esp + 0x18]
xchg edx, ebx
and edi, 0x2fc3efdf
xor ebx, edi
xor edi, 0x2fc467f2
add esi, ebx
xor edi, esi
and ebx, 0x2fc519f3
or ebx, 0x2fc55521
dec esi
xor edi, ebx
xchg ebx, esi
add ebx, edi
bswap edx
and esi, ebx
jmp 0x477361
pop ecx
bswap edi
inc edx
xchg edx, ebx
sub esi, ebx
sub esi, edi
or edx, 0x2fc9a3a9
xchg edi, ebx
xor ebx, 0x2fca2a05
jmp 0x47602b
sub esp, 0x134
xor edi, ebx
add edx, 0x2fea05b3
or edi, edx
xor ebx, edi
xchg esi, edx
jmp 0x4779bc
mov ecx, dword [esp + 0xb4]
xor edx, esi
and edi, 0x2ff2296d
mov edi, 0x2ff2677b
and edx, edi
jmp 0x477420
mov ecx, dword [esp + 0x118]
not edx
not esi
add edi, 0x3004f6a8
sub ebx, edx
xor esi, edi
and edi, ebx
or esi, ebx
xor edx, esi
jmp 0x4770d3
mov dword [esp + 0x10c], ecx
add ebx, 0x3007e0c1
xchg esi, edx
add edi, ebx
sub esi, edi
and ebx, 0x3008d440
and edx, 0x3009120a
bswap edx
mov edi, edx
xor edx, ebx
or esi, edi
not ebx
jmp 0x47769b
mov ecx, dword [esp + 0xb4]
xchg edi, ebx
sub edi, edx
and edi, ebx
bswap edi
and edx, esi
add esi, edi
bswap ebx
xchg ebx, edx
or edi, 0x301d4181
and esi, 0x301d7f8a
and esi, edx
or edx, ebx
and edi, edx
jmp 0x4784fc
add ecx, dword [esp + 0x10c]
inc edi
add esi, edi
ror edx, 0x1b
not edx
sub esi, 0x301f8ed5
shl ebx, 0x14
bswap esi
jmp 0x477f09
mov ecx, dword fs:[ecx]
sub edi, edx
and esi, edi
and esi, edx
sub ebx, esi
shl edx, 0x12
or esi, 0x302efe9b
neg edi
xchg edx, esi
jmp 0x4758ed
mov dword [esp + 0x118], ecx
and ebx, esi
and edi, esi
add esi, 0x3032db43
and esi, edx
dec edi
ror ebx, 0xe
jmp 0x478570
add dword [esp + 0xb4], 4
or ebx, edx
xchg edx, ebx
add edx, esi
xor ebx, esi
xor esi, edx
mov esi, edi
xchg ebx, esi
neg edx
or ebx, edx
xor edx, esi
jmp 0x476e78
mul ecx
inc edx
inc edx
add ebx, edx
xor esi, edi
or edx, edi
sub edi, edx
and edx, edi
xor edi, esi
dec edx
mov ebx, edi
jmp 0x4783c9
mov ecx, dword [ecx]
neg edx
sub edi, edx
jmp 0x476660
add dword [esp + 0x10c], 4
xchg edi, esi
mov edx, edi
mov edi, esi
shl edx, 0xd
sub esi, edx
sub edx, 0x305f7f02
shr edi, 0x1b
jmp 0x47745e
mov ecx, dword [esp + 0x10c]
or edi, ebx
xor esi, 0x3060fc49
add ebx, 0x30613a11
add esi, 0x306179a1
ror edi, 0x14
mov edx, edi
mov edx, esi
sub ebx, edi
jmp 0x47588f
mov dword [esp + 0x8c], ecx
ror esi, 0x1d
dec esi
xor ebx, 0x3066ffc6
or esi, 0x30673c9e
add esi, edi
xor edi, ebx
inc edi
sub edi, edx
xor edi, esi
mov esi, ebx
mov edi, 0x3068ec5d
mov edx, 0x3069285c
xor ebx, 0x30696590
sub edi, esi
jmp 0x477579
mov dword [esp + 0xb4], ecx
xor edx, ebx
shl edx, 4
neg esi
xor esi, ebx
mov edx, ebx
mov edi, edx
add ebx, esi
or esi, edi
add esi, edx
and edi, ebx
add esi, ebx
jmp 0x476c0f
mov ecx, 0x30
mov edx, esi
add edi, ebx
dec edi
or edx, esi
or edi, 0x307487bf
or edx, esi
xchg esi, edx
and edi, ebx
sub ebx, 0x30758570
and ebx, 0x3075c280
xor ebx, esi
xchg edi, esi
bswap esi
jmp 0x4771a1
add esp, 0x134
inc ebx
and ebx, esi
not ebx
jmp 0x475ef0
add ecx, 0xc
mov esi, edx
not esi
mov esi, ebx
xor esi, edx
xchg edi, edx
xor ebx, edi
rol edi, 0xb
neg edi
xchg edi, esi
jmp 0x4767fb
mov ecx, dword [esp + 0x118]
sub edx, ebx
mov esi, ebx
mov esi, ebx
or esi, ebx
shl esi, 4
and edi, ebx
xor esi, edi
or ebx, esi
rol esi, 0xa
xor edx, ebx
and edx, 0x308aeff2
or edi, edx
jmp 0x4777ec
add dword [esp + 0x10c], ecx
add esi, 0x30a2a915
mov edx, edi
and esi, 0x30a3da97
or edx, esi
mov esi, edx
or edx, edi
add ebx, edi
shl esi, 0x1e
add edi, ebx
sub edi, edx
add edi, esi
jmp 0x47629c
mov eax, 4
xchg ebx, edx
xchg esi, edx
xor esi, 0x30b362ad
and edx, 0x30b3a07f
xchg edi, ebx
add ebx, 0x30b42cee
jmp 0x476732
mov dword [esp + 0x18], 0
sub ebx, edi
or edx, ebx
bswap ebx
shl edx, 0xf
xor esi, edi
sub edx, 0x30c5bebd
nop
mov edx, ebx
sub esi, ebx
ror ebx, 0x15
jmp 0x477fb9
mov ecx, dword [esp + 0x10c]
xor edi, edx
sub edx, esi
ror edx, 0x16
sub edx, esi
and ebx, 0x30cb5411
jmp 0x476bbb
jne 0x476c0f
add edi, ebx
or edi, edx
sub esi, 0x30d566c5
xchg edi, edx
sub esi, ebx
add ebx, esi
add edi, ebx
not edx
neg edx
jmp 0x47742b
sub dword [esp + 0x10c], 8
sub ebx, edi
mov edi, edx
and edi, edx
mov esi, edx
or ebx, edi
xor edi, ebx
or edi, 0x30d9a7f9
shl ebx, 6
neg edi
and edx, ebx
not ebx
rol esi, 0xa
dec ebx
xchg edi, edx
jmp 0x4760f3
mov dword [esp + 0xb4], ecx
mov edx, ebx
and edx, 0x30e4be09
ror ebx, 0xa
shl edx, 5
xchg ebx, esi
or ebx, edi
ror ebx, 8
sub edi, esi
or ebx, edi
inc edi
add esi, edi
xchg esi, edi
jmp 0x475e4b
push ecx
xor esi, edi
add ebx, 0x30f05fb7
or ebx, esi
mov ebx, esi
inc edx
xchg esi, ebx
xor ebx, edi
jmp 0x4780c0
xor al, byte [ecx]
mov esi, edi
or edx, ebx
sub esi, 0x30f26dac
inc edi
rol esi, 3
add edi, ebx
or ebx, edx
jmp 0x47835d
mov dword [esp + 0x10c], ecx
xchg edi, edx
add edx, esi
or edi, ebx
sub ebx, edi
mov edx, edi
or edi, edx
sub ebx, edi
mov edi, esi
and esi, edx
jmp 0x4770a5
mov dword [esp + 0x10c], 0
shl edx, 0x1d
add edx, esi
xchg edx, ebx
bswap ebx
ror esi, 9
or edi, 0x311b0cd7
dec ebx
or esi, edx
jmp 0x4774b0
inc ecx
mov edx, ebx
and edx, esi
mov edi, edx
sub esi, edi
inc edx
mov edi, ebx
and edi, ebx
add edx, esi
xchg edi, ebx
xchg edi, ebx
inc ebx
xchg edx, esi
inc edi
xor edx, ebx
jmp 0x476141
mov ecx, dword [ecx]
sub ebx, esi
sub edx, ebx
xor esi, edx
or ebx, 0x3128379d
rol ebx, 0xb
sub edx, edi
xchg ebx, edi
mov edi, esi
inc ebx
jmp 0x476fa9
add ecx, dword [esp + 0x118]
xor esi, 0x3129a3c2
and edi, edx
dec esi
shl edi, 7
and edi, ebx
add esi, edx
mov edx, ebx
xchg edi, ebx
jmp 0x477dac
mov dword [esp + 0xb4], 0
ror edx, 0x1e
ror edx, 8
xor ebx, edi
xor edx, ebx
xor edx, esi
mov esi, edx
add esi, 0x313719d6
ror edx, 0x19
inc edx
jmp 0x475c7d
xor eax, eax
or esi, edx
and edi, esi
mov ebx, edx
nop
or edx, esi
sub edx, edi
mov esi, edx
bswap edx
and esi, edx
add edi, edx
or ebx, esi
add ebx, 0x314acb0d
add edx, edi
jmp 0x477c17
rol eax, 8
mov edi, esi
mov edx, esi
or edx, ebx
xor edi, 0x31798531
mov edx, esi
or ebx, esi
mov esi, edx
xor edi, edx
jmp 0x477eea
add ecx, 0x3c
bswap ebx
add esi, edx
add edx, esi
sub edi, esi
add esi, edi
mov edx, 0x317c1213
xchg edx, edi
or edx, edi
bswap edx
mov esi, edi
add esi, edx
or ebx, edx
jmp 0x4758bf
mov dword [esp + 0x18], eax
shl esi, 0xd
or esi, edx
xor edi, esi
and edi, ebx
add ebx, edi
mov edx, ebx
shl ebx, 2
add edi, ebx
jmp 0x477ac7
add ecx, 0x18
dec edx
or ebx, edx
and edi, 0x318c8a35
sub esi, 0x318cc7d2
add edi, esi
and edi, 0x318d3dfa
sub ebx, esi
xchg edx, ebx
or edx, esi
dec ebx
xor edi, ebx
sub esi, 0x318eb2c0
shr edx, 0xb
and ebx, edx
jmp 0x475b65
mul ecx
or edx, ebx
and ebx, edx
add edi, edx
xor edx, ebx
neg esi
add edi, 0x3195d87f
or edi, edx
sub edi, ebx
jmp 0x47691e
add ecx, dword [esp + 0x18]
xor ebx, edx
add edx, esi
or ebx, edi
sub esi, edi
neg edi
sub edx, edi
sub ebx, edx
add esi, edx
bswap edi
add ebx, 0x319a3a6e
jmp 0x4778c3
mov ecx, dword [ecx]
xchg edx, ebx
xor edx, 0x319beddb
and edx, esi
add edx, esi
xor edx, edi
ror edx, 9
neg edi
dec edi
inc edx
and ebx, 0x319debe9
xor ebx, 0x319e2811
sub edx, edi
xchg edi, esi
inc esi
jmp 0x478468
mov ecx, dword [esp + 0x118]
or esi, edx
or edi, edx
rol edx, 0x16
mov ebx, 0x31a2108e
xchg edi, ebx
and ebx, esi
add esi, ebx
neg esi
jmp 0x478379