Function at 0x49aa41
Capabilities:
Encrypt data using chaskey

Disassembly:
mov dword [esp + 0x18], 0
bswap esi
mov edx, 0x3835c82d
xor edx, esi
xchg edi, edx
jmp 0x499660
mov eax, 4
sub edx, ebx
xor ebx, edx
add edx, esi
bswap edi
add edx, ebx
mov ebx, edx
sub edi, esi
dec edi
jmp 0x498622
mov ecx, dword [ecx]
xor esi, edi
or edx, 0x388cf611
and esi, ebx
mov edi, esi
sub ebx, 0x388f194d
xchg edi, esi
sub esi, edi
sub edx, 0x3891397d
shr esi, 0x1d
or edi, 0x38926d31
jmp 0x49b22f
add ecx, 0xc
neg esi
and esi, ebx
sub edi, edx
xor edi, edx
bswap edx
and edx, 0x3896dda3
mov esi, edx
ror esi, 8
or edx, 0x3898d521
xor esi, 0x38996621
mov edx, edi
shl esi, 1
not esi
rol edi, 5
jmp 0x49ae5f
push ecx
shr edx, 1
and edx, 0x38b20a45
and edx, ebx
or esi, 0x38b36cdd
rol edi, 8
dec esi
and esi, edi
sub ebx, edx
rol edi, 0x1c
or edi, edx
nop
shl edx, 0x13
jmp 0x499137
movzx ecx, word [ecx]
nop
sub edi, ebx
and edi, 0x38bb37cf
and esi, ebx
sub edi, edx
sub edx, edi
sub edi, esi
or ebx, esi
and ebx, edi
dec ebx
jmp 0x49aee6
mov ecx, 0x30
xor esi, edi
or edx, esi
add edx, esi
add ebx, edx
xor ebx, 0x38cae0db
add ebx, esi
and ebx, edi
add edi, ebx
rol edx, 0x1f
add ebx, edx
xchg edx, edi
shr ebx, 0x1e
jmp 0x498b71
add dword [esp + 0xc4], 0x20
xchg edi, esi
bswap edx
shr edi, 0x15
ror edx, 7
and edx, esi
neg edi
sub edx, 0x38dd1667
or esi, 0x38ddc5f1
jmp 0x49a740
add ecx, dword [esp + 0x18]
inc edi
xchg edx, ebx
bswap ebx
xor edi, edx
or ebx, 0x38eddfa1
and edx, 0x38ee9a1b
jmp 0x49850d
mov dword [esp + 0xc4], ecx
mov edi, 0x38f416cb
xor ebx, edi
and ebx, 0x38f54e69
add edx, 0x38f5f693
add edx, edi
ror edx, 0x14
sub edx, 0x38f80b0b
shr esi, 1
add ebx, esi
xchg edi, esi
sub edx, esi
mov ebx, esi
jmp 0x499f76
mov ecx, dword [ecx]
xor edx, esi
mov esi, edi
ror esi, 0xe
dec edi
mov edi, 0x38fe9305
or edx, 0x38ff29d1
ror esi, 0x13
and ebx, 0x39005eef
mov edx, ebx
xor ebx, edx
jmp 0x498d3b
add ecx, 0x18
sub esi, edi
xchg ebx, edx
xor edx, esi
mov edi, edx
dec edi
mov edi, ebx
and esi, ebx
mov edx, 0x391de497
sub edi, 0x391edd79
sub ebx, 0x391f7a53
or esi, edi
sub edx, esi
xchg edx, ebx
or esi, edi
and ebx, 0x3922c881
neg edi
jmp 0x498ba6
mul ecx
sub ebx, edx
shl esi, 0x10
shl edx, 0x1d
sub edi, esi
jmp 0x49a6f3
add dword [esp + 0xc4], ecx
sub esi, ebx
and esi, edx
xor ebx, esi
and ebx, edx
mov edi, ebx
or edi, 0x39439941
sub esi, ebx
add esi, 0x394509f7
and esi, ebx
and ebx, esi
jmp 0x4986af
mov ecx, dword [ecx]
and edx, esi
not ebx
xor edi, 0x396d52d9
xor edi, esi
sub ebx, edi
mov esi, 0x396f80e1
xchg ebx, esi
xor ebx, esi
or ebx, 0x39719d4b
or ebx, edi
and edx, edi
mov edi, 0x39734079
xor edx, ebx
xor edx, ebx
jmp 0x499d0e
mov ecx, dword fs:[ecx]
ror edi, 0x1e
or edx, ebx
xor edi, esi
or edi, 0x39bce9b9
mov edx, ebx
add ebx, edi
add edx, ebx
dec esi
or esi, 0x39c03c1d
and edx, esi
rol esi, 0x1a
or edi, 0x39c21871
sub edx, esi
xor ebx, 0x39c35643
jmp 0x498552
mov ecx, dword [ecx]
ror ebx, 9
sub ebx, esi
or edi, 0x39c5754d
and edx, ebx
shl esi, 7
sub edi, esi
sub edi, ebx
and ebx, edx
inc edi
mov edi, esi
jmp 0x49978f
add ecx, dword [esp + 0x74]
sub ebx, 0x39f6267f
xor edi, 0x39f6bd79
xor ebx, 0x39f79ced
not edi
shl esi, 0x16
and edi, ebx
shr edx, 0x1c
ror esi, 0xc
add edx, esi
add ebx, esi
jmp 0x49982c
add ecx, dword [esp + 0x74]
ror esi, 4
mov edi, esi
mov esi, ebx
not edi
sub edi, edx
or edi, ebx
shl ebx, 8
add edi, ebx
jmp 0x4985fa
mov dword [esp + 0xc4], 0
sub esi, 0x3a634eb3
xchg esi, edi
or edx, edi
xor edi, edx
dec edx
mov edi, ebx
xor ebx, 0x3a66e119
not edx
or edi, esi
shl esi, 0x1c
dec ebx
bswap ebx
or edi, edx
xor edx, esi
jmp 0x49b677
xor al, byte [ecx]
neg edi
sub edi, 0x3a97785d
xor edi, 0x3a9824df
xchg esi, edi
mov esi, edx
and esi, edi
jmp 0x49a129
mov ecx, dword [ecx]
xchg edi, esi
mov ebx, edx
add ebx, edx
xchg edx, ebx
or edx, esi
ror esi, 0xa
add esi, edi
neg edx
jmp 0x498c9c
xor eax, eax
and ebx, edi
mov edi, esi
sub esi, edi
or ebx, 0x3aebda97
add edx, 0x3aecb1ff
and esi, edx
jmp 0x498f9c
mov ecx, dword [esp + 0xc4]
mov esi, edx
shr edx, 9
xor esi, ebx
add ebx, esi
inc edx
and edi, ebx
sub esi, edi
add edx, ebx
xor edi, esi
xchg edx, ebx
xchg ebx, edi
or esi, 0x3b17ccb7
jmp 0x49a210
add dword [esp + 0xc4], 0x78
xchg ebx, esi
ror edi, 8
bswap edx
add edi, edx
sub esi, ebx
xor edx, 0x3b784529
or esi, edi
ror esi, 0x1a
inc edi
mov esi, edx
sub ebx, 0x3b7b9787
or edi, 0x3b7c3bc5
jmp 0x49b3f0
mov dword [esp + 0x108], ecx
xchg edi, esi
shr edi, 3
and edi, 0x3b7e2207
dec ebx
not ebx
sub edi, edx
xor esi, ebx
or edi, 0x3b818e1b
jmp 0x49ae37
add ecx, 0xc
or esi, edi
and edi, ebx
add edx, 0x3ba0288d
add esi, edx
sub edi, 0x3ba162a1
neg edx
xor edx, esi
and esi, edx
or esi, 0x3ba420f5
mov edi, 0x3ba4b02f
jmp 0x49992d
mov ecx, dword [esp + 0xc4]
xor edi, esi
and esi, edi
or edx, 0x3bb66127
xchg esi, edi
or edx, ebx
add ebx, edx
jmp 0x498526
mov dword [esp + 0x108], 0
mov edx, ebx
mov edi, esi
xor esi, 0x3be5835f
xor edx, ebx
not esi
ror edi, 0x10
add edx, 0x3be85c77
mov esi, 0x3be8f4cb
add ebx, 0x3be998a3
sub edx, esi
xor ebx, edi
sub ebx, esi
jmp 0x49a7e1
inc ecx
neg edx
inc edi
neg ebx
mov edi, esi
add edi, esi
shr esi, 9
inc edx
and edx, esi
xor edx, 0x3c163d53
neg edx
and esi, edi
ror ebx, 0x1f
jmp 0x49a6a8
mov dword [esp + 0x74], ecx
and edx, esi
inc esi
xor ebx, edi
sub edi, ebx
mov ebx, 0x3c22d911
xchg esi, edi
sub ebx, esi
or ebx, edi
jmp 0x49a071
add dword [esp + 0x108], 4
or edi, 0x3c3646d3
and edx, edi
add ebx, esi
mov esi, ebx
add ebx, edx
mov edi, ebx
xor edi, 0x3c3a3203
sub edi, edx
and edi, esi
not edx
or ebx, edx
xchg edx, edi
jmp 0x49af02
mov dword [esp + 0x108], ecx
and ebx, 0x3c3df777
sub ebx, edi
bswap edi
or ebx, 0x3c402085
bswap ebx
and ebx, edi
shl edi, 8
and esi, edx
xchg edi, ebx
xor edi, 0x3c443b57
or esi, ebx
and edi, 0x3c459c31
jmp 0x4998f0
add dword [esp + 0xc4], 4
rol edi, 0x1a
mov esi, ebx
shl ebx, 1
mov edi, 0x3c546f71
sub edx, esi
xchg edi, edx
jmp 0x499203
inc dword [esp + 0x18]
and esi, edx
and edi, edx
or edi, edx
not edx
jmp 0x4997ff
mov ecx, dword [ecx]
shl edi, 0x1b
add ebx, edi
sub edi, ebx
add edx, 0x3c6f9549
and esi, edx
or ebx, esi
not edi
add edi, edx
xor esi, 0x3c73475d
add esi, edx
jmp 0x49a299
mov ecx, dword [ecx]
neg edx
add edi, esi
rol edi, 0x19
sub edi, ebx
sub edx, edi
sub ebx, 0x58381f8d
xor edx, 0x58390339
shr ebx, 0x14
or edx, ebx
shr edi, 0x19
mov edx, ebx
shr edx, 0x1c
shr ebx, 0x13
inc edx
jmp 0x49882a
sub dword [esp + 0xc4], 8
or esi, ebx
inc esi
or edx, edi
bswap ebx
not edi
add edx, esi
jmp 0x49ade6
mov dword [esp + 0xc4], ecx
or ebx, edi
or esi, edi
xor edx, ebx
xor esi, ebx
or ebx, esi
xor ebx, edx
bswap ebx
xchg ebx, edx
sub edi, esi
and esi, ebx
jmp 0x4993fa
mov ecx, dword [esp + 0x74]
inc edi
sub ebx, edx
or edx, ebx
add esi, edi
shr edi, 0x18
add esi, edx
sub esi, 0x58e9e321
not esi
xchg edx, ebx
mov esi, ebx
xchg esi, edi
add esi, 0x58ed0e77
jmp 0x4988e2
mov ecx, dword [esp + 0x74]
ror edx, 3
mov edx, 0x59199f5b
neg edi
add edi, edx
sub esi, ebx
shr edi, 0x10
and edx, ebx
sub edx, esi
rol edx, 7
xchg ebx, edi
shl ebx, 0x1f
rol edx, 8
jmp 0x49a1e8
mov dword [esp + 0xc4], ecx
mov edx, 0x5920d775
xchg esi, ebx
xchg edx, ebx
or edi, ebx
not esi
mov ebx, esi
shl edi, 0x12
and edx, esi
jmp 0x49b971
rol eax, 8
add edi, esi
sub edi, 0x593b8fff
add ebx, esi
or edi, 0x593cced9
dec esi
inc ebx
and edx, 0x593efced
and ebx, edx
sub edx, 0x59402e65
bswap edi
jmp 0x499749
add ecx, 0x3c
add esi, ebx
or esi, edi
xor esi, 0x595fd8c7
shl edx, 0x10
or esi, 0x59614b37
mov ebx, 0x5961f471
mov ebx, edi
add edi, 0x59636709
jmp 0x4989ce
mov ecx, dword [ecx]
shr esi, 0x13
not ebx
and edx, esi
sub edx, ebx
neg ebx
inc edi
or edx, ebx
and ebx, edi
not edx
ror esi, 0x11
or esi, edx
add esi, ebx
xchg edi, esi
not esi
sub edx, esi
and ebx, edi
jmp 0x49a3b2
mov ecx, dword [ecx]
or esi, ebx
bswap edi
not ebx
sub edx, esi
xchg ebx, esi
or edi, edx
sub ebx, edi
dec ebx
add edx, edi
and ebx, esi
shl edx, 5
rol edx, 5
xchg edx, ebx
ror edi, 5
xor edx, ebx
dec edi
jmp 0x498757
mov ecx, dword [ecx]
neg esi
and edx, esi
sub edi, ebx
xchg edx, edi
shl ebx, 0xc
bswap edx
sub esi, edx
and ebx, edi
jmp 0x499c3d
add ecx, dword [esp + 0xc4]
or ebx, edx
and edx, esi
xchg ebx, edi
and esi, edi
add esi, edi
or ebx, esi
add edx, 0x598d5683
xor ebx, 0x598de639
add esi, edi
xor esi, edi
xor edi, edx
dec edi
jmp 0x49a238
add dword [esp + 0xc4], eax
xchg ebx, edx
sub edx, ebx
sub esi, 0x59a358a3
mov esi, edx
or esi, edx
and edi, ebx
mov edi, edx
shl ebx, 0x15
or esi, 0x59a723c1
shl esi, 0xd
ror edx, 0xf
xor esi, 0x59a96755
jmp 0x499567
mov ecx, dword [ecx]
add edi, esi
add edi, esi
sub ebx, edx
xor ebx, edi
xchg edx, ebx
and ebx, edx
xchg edi, esi
rol esi, 0x13
mov ebx, 0x59b6ed4f
mov edi, edx
jmp 0x49aa81
add ecx, dword [esp + 0x74]
sub edx, 0x59b8468b
mov edi, edx
inc esi
add esi, ebx
sub edi, ebx
add esi, 0x59bb7e19
or edi, esi
neg esi
sub edx, esi
and edx, 0x59be0801
or esi, edx
xor esi, edx
jmp 0x49942c
cmp byte [ecx], 0
jmp 0x49b593
mov dword [esp + 0x18], eax
mov esi, edx
mov esi, edi
and ebx, edi
sub esi, edx
and esi, ebx
or edx, edi
mov edx, edi
xor edx, edi
jmp 0x499c7d
mov ecx, dword [esp + 0xc4]
bswap ebx
xchg edi, esi
or esi, edx
mov ebx, edi
mov edi, 0x5a774c7d
and ebx, edx
xchg edx, esi
and edi, 0x5a794c99
or esi, edi
mov edi, edx
neg edx
xor esi, edx
jmp 0x499017
mov dword [esp + 0x74], 0
xchg ebx, edi
neg edx
or ebx, edi
or ebx, 0x5a948a0b
xor edx, ebx
or edx, esi
or edi, 0x5a96a753
inc ebx
dec ebx
sub edi, 0x5a986f6b
add edx, esi
xchg edi, edx
ror esi, 2
xchg edx, edi
jmp 0x498ea3
cmp eax, dword [esp + 0x88]
jmp 0x49adbe
add esp, 0x14c
and ebx, esi
dec edi
xchg edx, edi
mov edi, esi
add edi, esi
ror edx, 0x12
shr edi, 0x1e
dec edi
inc edx
xchg edx, edi
sub edx, ebx
xor esi, edx
jmp 0x49b0a2
sub esp, 0x14c
inc edi
xor edx, ebx
and edi, 0x5b0804f7
xchg esi, ebx
or edi, esi
mov edi, esi
or edx, 0x5b0a622d
xchg esi, edx
mov edi, esi
sub edi, edx
xor esi, 0x5b0d1ec1
xor edx, 0x5b0dac69
jmp 0x49837a
add ecx, dword [esp + 0x74]
sub edi, 0x5b11660d
or edi, ebx
mov ebx, 0x5b12aea9
sub edx, ebx
neg edx
or esi, ebx
jmp 0x49a09d
pop ecx
xor esi, edx
mov esi, edx
and esi, edx
and esi, ebx
sub ebx, esi
add esi, ebx
and ebx, edx
xor edx, esi
rol esi, 0x18
xor ebx, 0x5b299019
xor esi, edi
and esi, ebx
rol edx, 0x12
sub edx, ebx
rol edi, 0x11
inc ebx
jmp 0x49a880
jne 0x4998f0
xchg edx, esi
bswap edx
xor edi, ebx
ror esi, 0xa
mov edi, 0x5bb4cbb7
xor edx, ebx
or edx, edi
ror esi, 0x1e
xchg esi, edi
add ebx, 0x5bb8048d
jmp 0x49989f
mov ecx, dword [esp + 0xc4]
and edi, 0x5bb8f601
and ebx, esi
dec edx
and edx, ebx
xor edi, ebx
and esi, 0x5bbc2c51
or ebx, edx
add edx, ebx
and edx, esi
xchg edi, edx
and ebx, edx
mov edx, edi
jmp 0x49a393
mov eax, 2
or ebx, 0x5bc88119
nop
ror esi, 0x1b
mov edx, esi
xor edx, esi
or ebx, esi
mov esi, edx
rol edi, 7
rol edx, 6
and esi, ebx
xchg edi, ebx
sub esi, edx
jmp 0x49aed1
mov ecx, dword [ecx]
or edi, edx
sub esi, 0x5bd0daf1
add edi, esi
shl edx, 3
xchg esi, ebx
ror edx, 2
or edx, edi
sub edx, esi
sub edi, esi
sub ebx, 0x5bd5d79d
jmp 0x4994e7
mov ecx, dword [esp + 0x18]
and esi, edi
xchg esi, edi
mov ebx, edi
shl edi, 0x16
jmp 0x4988d1
mul ecx
and esi, edi
add esi, edi
xor ebx, edi
xor edx, ebx
xor esi, edi
or ebx, esi
add esi, edi
not esi
shr esi, 0x12
and ebx, edx
jmp 0x49a339
mov ecx, dword [esp + 0x108]
mov esi, 0x5bec2559
bswap esi
or ebx, 0x5bece807
mov edx, ebx
xor edi, esi
and ebx, edi
add esi, edi
rol ebx, 0xc
xchg edx, edi
add edx, edi
dec esi
shl ebx, 0x13
jmp 0x49878c
ret
add ecx, dword [esp + 0x74]
add esi, edx
add esi, edi
shl ebx, 2
or esi, edi
jmp 0x49a8ae
mov ecx, dword [esp + 0x74]
dec esi
mov edx, esi
neg edx
not edi
sub edx, 0x5dd4f8df
dec esi
xor edx, esi
and edi, ebx
mov esi, ebx
add ebx, edx
shl edi, 7
or edx, edi
jmp 0x49a2b1
jne 0x498f9c
or ebx, esi
add edi, esi
or esi, ebx
or edi, ebx
shl edi, 0x17
mov edx, esi
mov ebx, esi
nop
bswap edx
ror edx, 0x1f
mov edx, 0x5e44d15b
add ebx, 0x5e452bf1
jmp 0x49aae5
mov dword [esp + 0x88], ecx
sub edi, 0x5e5aaa6d
rol ebx, 0x1f
rol edi, 0x19
and ebx, 0x5e5bc819
xor edi, 0x5e5c30af
sub esi, ebx
sub esi, 0x5e5d59e3
add ebx, edx
xchg edi, edx
sub edx, edi
neg esi
shl ebx, 0x17
jmp 0x498663
mov ecx, dword [esp + 0x108]
mov ebx, 0x5ecae06b
add edx, ebx
add ebx, 0x5ecba365
add ebx, edx
jmp 0x49871f