Function at 0x49d44f
Capabilities:
Encrypt data using chaskey

Disassembly:
add edi, dword [esp + 0x54]
neg esi
sub edx, esi
xor ebx, 0x31a9206e
sub esi, 0x31a9ad50
dec edx
shl ebx, 3
sub ecx, 0x31ab0166
and esi, edx
jmp 0x49d4af
mov edi, dword [esp + 0x2c]
or ebx, edx
xchg edx, ebx
and ecx, 0x31bead34
bswap ebx
add esi, ecx
xor ebx, edx
or esi, ebx
xchg edx, ecx
xor ebx, esi
or esi, ecx
xor edx, ecx
sub ebx, 0x31c2bb90
and esi, 0x31c329d6
xor esi, ebx
jmp 0x49bd4b
jne 0x49c0b0
sub edx, ecx
mov esi, ecx
or ecx, ebx
neg ecx
bswap esi
add esi, 0x31d8bdba
jmp 0x49bbda
add edi, 0xc
mov esi, 0x31dc24f6
xor esi, ecx
dec edx
or esi, ecx
sub ecx, 0x31de165c
shr esi, 0xc
or ebx, esi
and ebx, esi
jmp 0x49b8b7
mov edi, dword [edi]
add esi, 0x31e7b96e
sub esi, 0x31e826d8
xor ebx, 0x31e89386
or edx, 0x31e902fa
not edx
not edx
sub ebx, edx
mov ebx, esi
mov edx, esi
xchg ebx, ecx
sub edx, ebx
or ebx, esi
jmp 0x49cda0
mov dword [esp + 0x54], 0
xor ebx, 0x31ff5148
xchg esi, ebx
inc esi
shl ebx, 0x16
inc edx
and esi, ecx
mov ecx, ebx
mov esi, ebx
jmp 0x49b64f
push edi
mov edx, ecx
dec ecx
add esi, 0x32040e1a
xor ebx, 0x32048f3a
not esi
mov esi, ebx
sub ecx, esi
add ecx, 0x32066176
shl ebx, 0x16
mov ebx, esi
jmp 0x49b5cc
mov dword [esp + 0x54], edi
mov ebx, ecx
shr edx, 6
or edx, ecx
dec ecx
jmp 0x49bd92
mov edi, dword [esp + 0x84]
add esi, 0x3219da16
add edx, 0x321a5766
and ecx, ebx
ror ebx, 0xf
xchg edx, esi
sub ebx, esi
jmp 0x49cdcf
mov edi, dword [esp + 0x2c]
xor ecx, edx
xchg ecx, esi
and esi, ebx
xchg ebx, edx
xor edx, ecx
and edx, ebx
add ebx, edx
or esi, ebx
xor ebx, 0x32321012
mov edx, ebx
shr ebx, 7
mov esi, 0x3233320c
jmp 0x49ac99
mov dword [esp + 0x2c], edi
xor edx, ebx
and edx, 0x3238a62e
xchg ebx, ecx
and edx, ecx
and edx, esi
mov ecx, 0x323a6810
rol esi, 0x16
xchg esi, ebx
xchg ecx, ebx
xchg esi, ebx
jmp 0x49c955
add edi, 0x18
mov esi, 0x3256f740
mov esi, 0x32573636
add esi, 0x3257789e
or esi, ebx
nop
ror edx, 0xf
mov esi, edx
shl ebx, 0x1b
jmp 0x49b625
add edi, dword [esp + 0x54]
and ebx, 0x3279f848
xor esi, ebx
or ebx, edx
add edx, ecx
and edx, ebx
rol ebx, 0x1a
add esi, ebx
mov ebx, ecx
jmp 0x49ad7c
pop edi
sub esi, ecx
rol ebx, 0x14
mov edx, ecx
sub ecx, ebx
or ebx, 0x32a9449a
xor esi, 0x32a9cf5a
add edx, esi
or ebx, ecx
shr ebx, 2
add ebx, ecx
jmp 0x49c5a7
sub dword [esp + 0x2c], 8
not ecx
shl esi, 0xb
xchg esi, ebx
or ebx, 0x32bafeb6
add ecx, ebx
ror ebx, 0x11
xor ecx, 0x32bc3b22
and edx, esi
jmp 0x49bddd
mov dword [esp + 0x84], edi
xchg ebx, ecx
or edx, ecx
jmp 0x49cf33
mov edi, dword [esp + 0x2c]
and ecx, 0x32c39538
inc esi
add ecx, 0x32c48a84
xor ebx, esi
xchg esi, ecx
and edx, ebx
and edx, ebx
mov ecx, ebx
jmp 0x49d16b
xor al, byte [edi]
dec esi
not ecx
mov ebx, edx
shl edx, 0x1b
mov esi, 0x32f81a9c
add edx, ebx
or edx, esi
ror ebx, 0x1b
jmp 0x49cd0b
xor eax, eax
add ecx, edx
bswap ecx
add ebx, esi
and ecx, 0x32fb593a
mov ebx, esi
xchg esi, ecx
shl ebx, 0xd
xchg esi, ebx
jmp 0x49b5b1
mov edi, dword [edi]
inc ebx
shl edx, 6
neg ecx
mov edx, esi
jmp 0x49adcf
movzx edi, word [edi]
mov edx, ebx
xor esi, ebx
mov esi, 0x33093ce6
and edx, ebx
add ebx, ecx
xchg esi, ebx
bswap edx
sub ecx, ebx
jmp 0x49c3b2
mov dword [esp + 0x2c], 0
sub edx, ebx
add esi, edx
bswap ecx
xchg ecx, edx
jmp 0x49d20c
add dword [esp + 0x2c], edi
mov ebx, 0x3342c534
or esi, ebx
sub ebx, ecx
neg ebx
rol ebx, 0xf
xchg edx, ebx
add edx, ecx
sub edx, ebx
jmp 0x49c527
jne 0x49b5b1
xchg edx, ecx
xchg ecx, edx
and edx, 0x3356534c
inc ecx
nop
shr ebx, 0xd
mov edx, esi
mov ecx, ebx
sub edx, ebx
mov ebx, esi
and esi, edx
mov ecx, edx
jmp 0x49b312
mov edi, dword [edi]
mov edx, 0x3361bbd2
shl ebx, 0x1e
mov esi, ecx
xchg esi, edx
add esi, ecx
sub esi, 0x3363fe8c
and edx, 0x336453f0
or edx, ebx
and ecx, ebx
ror edx, 4
jmp 0x49c83e
add edi, dword [esp + 0x54]
rol edx, 7
not ecx
xor edx, esi
sub ecx, esi
or ebx, 0x3367ff30
and ebx, 0x336855fc
sub edx, ecx
mov ecx, 0x33696bc8
mov esi, ebx
xchg ebx, ecx
inc esi
mov ecx, esi
xchg ebx, edx
mov ebx, ecx
jmp 0x49af39
add dword [esp + 0x2c], 4
mov ecx, edx
dec ecx
add edx, esi
or ebx, esi
xchg esi, ecx
or esi, 0x33c76fc8
mov edx, ecx
neg ebx
sub ebx, ecx
inc esi
mov esi, 0x33c9a9ae
mov ecx, ebx
sub edx, ebx
or ebx, 0x33caf9cc
jmp 0x49aee4
mov dword [esp + 0x84], 0
and ebx, 0x33d83f54
sub esi, 0x33d894ac
inc edx
xchg esi, edx
xchg ebx, edx
mov esi, 0x33da0b88
jmp 0x49ad4f
mov dword [esp + 0x2c], edi
rol esi, 0x13
mov ecx, 0x33e3752e
add edx, ecx
add edx, esi
sub ebx, esi
xor esi, edx
mov edx, esi
shl edx, 0x11
jmp 0x49bd08
add dword [esp + 0x2c], 0x78
or esi, ebx
and esi, ecx
mov ebx, 0x33e88eb2
xchg ebx, esi
xor edx, 0x33e9bec0
xchg ebx, esi
xchg ebx, esi
shl ecx, 0x12
jmp 0x49d09f
mov edi, dword [edi]
mov esi, 0x33f00148
xchg esi, edx
or edx, ebx
add ebx, ecx
and ecx, ebx
mov ecx, 0x33f28fdc
jmp 0x49aaa1
mov edi, dword [esp + 0x54]
mov ecx, esi
xor ecx, edx
or ebx, edx
mov esi, edx
neg edx
or ecx, ebx
jmp 0x49c74f
mov edi, dword [esp + 0x2c]
inc esi
add esi, 0x3401ddd6
add ebx, ecx
rol ebx, 2
and ecx, edx
mov esi, edx
rol esi, 0x1d
inc edx
or ecx, esi
inc ecx
jmp 0x49d046
mul edi
or esi, 0x3411e478
sub ebx, 0x34123d9a
sub ecx, 0x3412b28a
and esi, ecx
xor ebx, ecx
xchg ecx, ebx
sub ecx, ebx
or ebx, esi
jmp 0x49cb9a
mov edi, dword [edi]
xor ebx, 0x341c47e2
and ecx, esi
xor esi, ebx
or edx, ecx
xchg ecx, esi
xor esi, edx
sub esi, ebx
not ebx
jmp 0x49b036
add esp, 0xf8
add esi, edx
or ecx, edx
sub edx, ecx
xchg ebx, ecx
and edx, ebx
sub ecx, esi
sub edx, ebx
mov edx, ebx
sub ebx, esi
add edx, esi
sub ebx, edx
add ebx, ecx
jmp 0x49d478
mov edi, 0x30
or ebx, 0x3424dc8e
add ebx, esi
or edx, ebx
xchg edx, ebx
ror esi, 4
xchg ebx, edx
or edx, ebx
sub edx, esi
xchg esi, ecx
shl ebx, 0xb
and ecx, edx
ror esi, 0x11
jmp 0x49bfd6
mov edi, dword fs:[edi]
xor edx, esi
xor ebx, 0x343a69f8
neg esi
shl ebx, 0xf
mov ebx, ecx
add esi, ebx
or esi, edx
xchg ecx, ebx
not ebx
xor ebx, 0x343e56de
mov ecx, ebx
sub edx, esi
jmp 0x49ac42
inc dword [esp + 0x48]
sub ecx, edx
dec esi
mov ecx, edx
shr esi, 0x18
xor esi, edx
ror ecx, 0x18
add esi, edx
and esi, ebx
sub ecx, edx
inc ebx
rol ecx, 5
xor ecx, 0x345ca120
jmp 0x49c203
mov edi, dword [esp + 0x54]
ror edx, 0xe
or esi, ecx
xor edx, ebx
ror edx, 0x16
jmp 0x49b78b
add dword [esp + 0x84], 4
sub ecx, edx
sub esi, 0x354c72d0
xor esi, ebx
sub edx, ebx
sub ebx, ecx
mov ebx, ecx
jmp 0x49ae40
add edi, dword [esp + 0x54]
mov edx, ebx
sub edx, ecx
add ecx, ebx
xor edx, ebx
xor ecx, 0x35544c60
add ebx, ecx
add edx, ebx
mov edx, ebx
sub ecx, ebx
or esi, ecx
jmp 0x49bedf
mul edi
xor edx, ecx
sub ebx, edx
or esi, ebx
xor esi, ecx
sub esi, edx
add edx, ebx
and ecx, ebx
shr ecx, 0xa
jmp 0x49c4ba
add dword [esp + 0x2c], eax
add ebx, ecx
xor esi, edx
add ecx, esi
xor ebx, 0x35b4d96c
xchg edx, esi
not ecx
rol edx, 0x11
mov ecx, esi
mov esi, ecx
xchg ebx, edx
and esi, ebx
rol edx, 0x19
sub ecx, esi
xor esi, ebx
jmp 0x49b3fd
add dword [esp + 0x2c], 0x20
or esi, ecx
sub ecx, esi
rol esi, 0x10
rol ecx, 0x1b
ror ecx, 0x1c
and esi, ecx
and ecx, edx
mov edx, ecx
jmp 0x49ab57
mov eax, 4
and esi, ebx
xchg ecx, edx
mov edx, esi
bswap ecx
jmp 0x49b634
cmp eax, dword [esp + 0x6c]
jmp 0x49ac11
add edi, dword [esp + 0x2c]
and ecx, 0x35d46c1c
or edx, esi
xor ecx, ebx
xor edx, ecx
or esi, 0x35d629b6
and edx, ebx
jmp 0x49cbdc
add edi, 0x3c
xchg edx, esi
shl ecx, 6
sub ebx, 0x36049954
or edx, esi
rol ecx, 9
add esi, ecx
jmp 0x49cdb8
add edi, 0xc
bswap esi
inc ecx
mov esi, ecx
and esi, 0x36234aa4
ror edx, 8
mov esi, ecx
inc ebx
xor esi, ecx
jmp 0x49d301
inc edi
xchg ebx, edx
shr esi, 0xc
xor edx, ecx
or edx, ebx
jmp 0x49cb11
mov edi, dword [esp + 0x84]
xor ebx, edx
xor ecx, edx
and edx, ebx
mov ecx, 0x3648eb24
xor esi, edx
xor ecx, ebx
xchg ecx, esi
mov esi, edx
xor edx, 0x364b5c02
add esi, edx
jmp 0x49d292
cmp byte [edi], 0
jmp 0x49b848
mov dword [esp + 0x48], 0
mov esi, 0x36868c08
xor edx, ebx
ror esi, 0x1c
ror ebx, 0x1a
xor esi, ebx
not edx
or edx, ebx
or ecx, edx
jmp 0x49bc6d
mov dword [esp + 0x48], eax
mov ebx, esi
mov edx, ebx
bswap ebx
or esi, edx
rol ebx, 3
not esi
xor ecx, ebx
and edx, ebx
and esi, edx
mov edx, ecx
or esi, edx
and ebx, esi
jmp 0x49b39c
mov edi, dword [edi]
xchg ecx, esi
neg edx
and ebx, ecx
xchg ebx, ecx
inc esi
mov ecx, esi
jmp 0x49d1c4
mov edi, dword [esp + 0x48]
and ebx, edx
rol ecx, 0x1f
shr edx, 0x17
inc edx
jmp 0x49be60
rol eax, 8
or ebx, 0x36c609ba
or esi, 0x36c67e4e
xor esi, edx
or ecx, 0x36c76282
sub ecx, 0x36c7e618
shr esi, 0x12
or ebx, ecx
mov ebx, 0x36c92c76
jmp 0x49c946
mov edi, dword [edi]
neg ecx
sub edx, esi
mov ebx, esi
or edx, ebx
or edx, 0x36d4300a
mov edx, esi
rol ebx, 0x14
mov ebx, edx
xor esi, ebx
or ecx, esi
jmp 0x49bec4
add edi, dword [esp + 0x54]
and ecx, esi
and edx, ebx
sub edx, ebx
and esi, ebx
neg ebx
and edx, ebx
jmp 0x49b3ed
mov edi, dword [edi]
or ecx, ebx
or esi, ebx
add esi, ecx
or ebx, ecx
bswap edx
sub ebx, ecx
xor ebx, esi
and esi, edx
jmp 0x49bce7
mov edi, dword [edi]
add ecx, esi
xchg ebx, esi
and esi, 0x36df1fcc
xchg edx, ebx
jmp 0x49b199
mov eax, 2
xchg esi, ecx
shl ecx, 0x10
sub esi, 0x3711602e
add ecx, ebx
xchg ecx, esi
add ebx, edx
or ecx, 0x37136442
sub ecx, edx
jmp 0x49cce8
mov edi, dword [edi]
inc ecx
xor ebx, 0x3737530e
dec edx
mov ecx, edx
add ebx, ecx
xchg ebx, ecx
bswap ebx
and ecx, edx
inc ecx
and ecx, esi
jmp 0x49b8df
mov edi, dword [esp + 0x54]
mov ebx, esi
mov ecx, ebx
mov ecx, ebx
add edx, 0x37449fba
shl edx, 8
xchg ebx, esi
neg ebx
add ecx, ebx
jmp 0x49c5cc
mov edi, dword [edi]
and ecx, 0x37581b80
not ebx
sub esi, 0x37589b9e
dec ecx
xor ebx, edx
or ecx, ebx
sub esi, 0x3759952a
add ecx, ebx
jmp 0x49c245
mov dword [esp + 0x2c], edi
mov edx, 0x3760fc20
and ebx, 0x3761639a
xor ebx, ecx
ror esi, 0x1b
xor ebx, ecx
and ebx, 0x3763775a
ror esi, 4
or esi, edx
jmp 0x49c108
mov dword [esp + 0x6c], edi
not ecx
sub edx, esi
add esi, ecx
sub esi, ecx
or ebx, edx
add esi, ebx
or ebx, edx
xor ebx, 0x376bd69a
xor ecx, esi
and ebx, 0x376cc6de
jmp 0x49bf02
add edi, dword [esp + 0x48]
xchg ecx, edx
and ebx, esi
and edx, ecx
shl edx, 3
and ebx, 0x377d803a
mov edx, 0x377e1154
xor ecx, edx
and edx, 0x377f2a84
sub ecx, esi
mov ebx, ecx
jmp 0x49c547
mov edi, dword [edi]
rol ebx, 0x18
and ebx, esi
xchg edx, ebx
rol edx, 0x11
xchg esi, ecx
xor edx, 0x378d3f64
add ecx, edx
mov edx, ebx
jmp 0x49cd80
sub esp, 0xf8
xor ecx, esi
sub ebx, esi
rol edx, 0xb
rol edx, 0x12
mov edx, ecx
sub edx, ebx
add esi, 0x37b7293e
add ebx, ecx
xchg edx, esi
add ecx, 0x37b8791a
jmp 0x49cb2b
ret
mov dword [esp + 0x84], edi
add esi, 0x37c03e1e
mov edx, ecx
rol edx, 4
shr ecx, 0x1f
xor esi, edx
xchg edx, ecx
jmp 0x49c0b0