Function at 0x4798b0
Capabilities:
Encrypt data using chaskey

Disassembly:
add esi, 0x18
add edi, edx
sub edi, ebx
shl ebx, 0x1e
xchg edx, ecx
or edx, edi
sub edx, edi
shl ecx, 9
and edx, ebx
rol edi, 0x13
mov ebx, ecx
sub edx, ebx
mov ebx, ecx
rol edi, 0x1e
add ebx, edi
shl ebx, 0x16
xchg ecx, ebx
jmp 0x4772a6
mov esi, dword [esp + 0x78]
rol edx, 0xb
shr ebx, 0x12
xchg ebx, edi
add ebx, 0x540eacc1
xor ebx, 0x540eec65
sub ecx, ebx
add edi, ecx
mov ebx, 0x54100ce3
sub edx, 0x541048e3
rol edx, 4
and edx, edi
shr ebx, 0xa
jmp 0x476dcb
add esi, dword [esp + 0x78]
ror edi, 0x1a
xchg ecx, ebx
or edx, edi
neg edx
xchg edx, ebx
rol ecx, 9
mov ecx, edi
mov edx, 0x54232435
ror edi, 9
sub edx, edi
jmp 0x476b02
inc dword [esp + 0xa4]
add ebx, edx
sub ebx, ecx
add edi, edx
and edi, ebx
and edx, 0x5424ecb5
xchg ebx, edi
sub ecx, ebx
dec ecx
or ebx, ecx
xchg ebx, ecx
jmp 0x475ce5
mov esi, dword fs:[esi]
and ecx, edx
mov ecx, edx
sub ecx, edx
add edx, 0x543753e1
or ecx, ebx
add edx, ecx
mov edi, ecx
mov edi, edx
and edx, ebx
mov edx, 0x5438bb4b
or edi, 0x5438f68d
bswap edi
add ebx, ecx
xor edi, 0x5439a803
jmp 0x47867a
mov dword [esp + 0x78], 0
sub edx, edi
add edx, edi
ror edx, 0x12
sub edi, 0x5446a3c7
mov ebx, ecx
sub ecx, edx
xchg ecx, edi
or ebx, edx
jmp 0x477217
mov dword [esp + 0xe0], esi
or edx, edi
add edx, ebx
or ebx, 0x5448ecc7
xchg ebx, edx
and edi, edx
xor edi, ecx
or edi, edx
not edx
xor edx, edi
mov edi, ebx
add ebx, edi
mov ebx, edx
dec ebx
dec edx
jmp 0x477421
add dword [esp + 0x34], 4
shr ecx, 4
shr edx, 8
xchg ecx, edx
add edi, ebx
xchg ebx, edi
bswap edx
and edi, edx
sub ecx, edx
and edx, edi
shr ecx, 9
shl ebx, 0x15
xor edi, edx
jmp 0x47851f
mov dword [esp + 0x78], esi
xchg ecx, ebx
xor ebx, 0x54866915
sub edi, ebx
not edx
sub edx, edi
shr edi, 0x1d
nop
xor ebx, 0x5487f8d3
jmp 0x4778e8
mov esi, dword [esi]
sub edi, 0x548ed0d7
ror ebx, 8
ror edx, 0x1d
add edx, edi
jmp 0x478f78
rol eax, 8
and edx, edi
xor edx, ebx
add ebx, ecx
sub edi, ebx
xchg ecx, edx
or ecx, ebx
shl edi, 0xa
xor edx, edi
shr edi, 3
sub edi, ebx
jmp 0x478b95
mov esi, dword [esi]
mov ebx, 0x54a25b95
xor ebx, edx
ror edx, 7
shr ebx, 0x17
sub edi, 0x54a35a37
add edi, edx
xchg edi, ecx
and ecx, ebx
xor edi, ebx
sub edi, ebx
ror ebx, 0x1b
or ebx, edx
mov ecx, edx
mov ecx, edi
jmp 0x476534
add dword [esp + 0xe0], 4
neg ecx
shl edi, 0xf
or edx, edi
dec ebx
sub ebx, 0x54a6e9bf
mov ebx, ecx
xor ecx, ebx
not edi
sub edi, edx
rol ebx, 0x1d
mov ecx, 0x54a873f9
mov edx, ebx
rol edi, 0xd
or edx, ebx
jmp 0x47978d
mov esi, dword [esp + 0x78]
xor ebx, 0x54f66087
xor edi, edx
sub edx, ecx
or edx, 0x54f72dd3
or ebx, edi
shl edx, 0x17
add edi, 0x54f7eab3
xchg edx, edi
ror edx, 7
inc edx
jmp 0x47853d
xor al, byte [esi]
xchg edx, ecx
shl ebx, 8
add edx, 0x54ff15e9
xor edx, ecx
inc edx
xor ebx, 0x54ffe519
jmp 0x475eca
cmp byte [esi], 0
jmp 0x47874e
push esi
or ecx, ebx
mov ebx, 0x55152751
mov ebx, edx
mov edx, ecx
or ebx, 0x551a589b
mov edx, edi
mov edi, ebx
inc edx
jmp 0x478497
mov esi, dword [esi]
xor ebx, ecx
shr edi, 9
sub edi, 0x552100a9
and ecx, ebx
xor edx, edi
and edx, ecx
xor edi, edx
dec edi
xor ebx, 0x55227265
mov edx, 0x5522adb3
sub ecx, ebx
xor ebx, edx
rol ecx, 0xc
dec ecx
jmp 0x4756d4
add esp, 0x14c
sub edx, ecx
or ebx, edx
xor edx, ebx
add edi, ecx
xchg edx, ecx
inc ebx
and ebx, ecx
xchg ecx, edi
jmp 0x478f16
add esi, dword [esp + 0x78]
and edx, edi
add ecx, edx
sub ecx, edi
xor edi, 0x55571015
add edi, 0x55574c75
xor ebx, 0x555787b7
xchg ebx, edx
xor edx, 0x55580e6b
nop
neg edx
add ebx, edx
add ebx, 0x5558fc67
and ecx, edi
bswap edi
jmp 0x4768ef
cmp eax, dword [esp + 0xd0]
jmp 0x477b4a
mov dword [esp + 0x34], esi
or ebx, ecx
add ecx, 0x55629077
xor edi, ebx
sub ebx, edx
and ecx, 0x556342d9
rol edx, 0x1d
add edi, edx
add ecx, ebx
xchg edx, edi
add edx, edi
jmp 0x4758d4
mov esi, dword [esi]
mov edx, ecx
xchg edx, ecx
mov edi, 0x5565451d
shl ebx, 0x16
shl ecx, 0x15
or edi, edx
jmp 0x478e7e
mov esi, dword [esi]
add edx, edi
and ebx, 0x557950b3
inc ecx
mov ecx, edx
xor ebx, edx
or ecx, edx
or edx, edi
or ebx, 0x557ad77b
dec edi
xchg ebx, ecx
jmp 0x4758ae
mov dword [esp + 0x34], esi
sub ebx, 0x558a5d5b
mov edx, edi
xor ebx, edx
and edx, ebx
bswap edi
dec ebx
jmp 0x477eae
mov esi, dword [esp + 0xa4]
and edi, ecx
mov edx, ecx
sub edi, edx
or ebx, edi
mov ebx, 0x559816cf
mov ebx, edx
ror ebx, 0x18
or ebx, 0x5598d357
and ecx, 0x55991297
xor edx, ecx
jmp 0x478ead
mov esi, dword [esi]
xor edi, ecx
xchg ebx, ecx
and edi, 0x55b94151
inc ecx
or ecx, ebx
or edx, edi
or edx, ecx
mov edx, ebx
neg ecx
and ebx, 0x55baeae7
xchg edi, ecx
sub edx, ecx
or edx, 0x55bb9aa3
or ebx, edx
and edi, ecx
xchg edx, ebx
jmp 0x475f4a
add dword [esp + 0xe0], esi
dec ecx
add ecx, edi
or ecx, 0x55bd1d5b
mov edx, edi
or ecx, edi
neg ecx
and ebx, edi
add edx, edi
jmp 0x479490
mov esi, dword [esp + 0xe0]
sub ebx, edx
sub ebx, 0x55d97597
mov edi, ebx
mov ebx, edi
xor ecx, edi
add ecx, edx
xor ecx, edx
sub ebx, edi
jmp 0x475e4c
mov dword [esp + 0xa4], eax
or edi, edx
or edx, ecx
or edx, edi
shr edx, 0x1c
xor ebx, ecx
sub ecx, 0x55f995eb
add edi, ebx
and ecx, 0x55fa0a01
bswap edi
add edi, ecx
ror ebx, 0xd
xchg ecx, edi
jmp 0x4797f6
add dword [esp + 0xe0], 0x78
sub edx, edi
and edi, edx
or edx, ebx
shr edx, 0x11
or edx, ecx
sub ebx, edx
add ecx, 0x55ff021d
and ecx, 0x55ff4241
bswap ebx
xor edi, ecx
jmp 0x4763ab
add dword [esp + 0xe0], eax
add ebx, 0x5609b14b
mov edx, ebx
and ecx, edi
mov edx, ecx
and ebx, ecx
bswap ecx
xor ecx, ebx
and edx, edi
xor edi, 0x560bafb3
shl edi, 0xa
jmp 0x47784d
mov dword [esp + 0xe0], 0
xor edx, edi
or edi, ecx
xor edi, 0x5610a3b3
sub ebx, edi
sub ecx, 0x561131ab
and ebx, edi
or ebx, ecx
or edi, edx
add edi, edx
ror ecx, 9
neg ecx
sub edi, ecx
jmp 0x477947
mov esi, dword [esi]
xor edi, 0x56182a6d
add edx, ebx
sub edx, edi
mov edi, ebx
add edi, 0x561931df
and ecx, ebx
jmp 0x476821
mov esi, dword [esi]
mov ebx, edi
xchg edi, ecx
sub edx, edi
sub edi, ebx
xchg edi, ebx
shr edi, 0xd
jmp 0x475dd1
mov esi, dword [esp + 0x34]
xor ebx, edi
xor ebx, ecx
and ebx, edx
and edx, ecx
jmp 0x477609
add esi, dword [esp + 0x78]
and edi, ecx
xchg edx, edi
or edx, ebx
bswap ebx
ror ebx, 6
and ecx, ebx
jmp 0x4766aa
add esi, dword [esp + 0xa4]
mov edi, ebx
shr ebx, 0x14
or ecx, ebx
ror ecx, 0xf
shl ecx, 9
xchg ecx, ebx
jmp 0x4785b2
mul esi
shr edx, 7
inc edi
sub edi, edx
inc edi
and edx, 0x5665e925
xchg edx, ebx
add ebx, edi
sub ecx, edi
add edi, edx
sub edi, ebx
jmp 0x4771c6
mov esi, dword [esp + 0xe0]
bswap edx
add ebx, ecx
or edi, edx
and edx, ecx
or edx, 0x5686b1d3
mov edi, ecx
mov edx, ecx
ror ecx, 0x1a
xor edi, edx
xchg edx, edi
jmp 0x477a2f
mov esi, dword [esp + 0x78]
and edi, ecx
xor edi, ebx
or edx, ecx
inc ecx
add edx, edi
sub edx, ebx
mov edi, 0x5692d2a7
mov ebx, ecx
add ebx, ecx
xor ecx, ebx
jmp 0x478f36
mov dword [esp + 0xd0], esi
sub ecx, edx
or edi, ecx
and ebx, edi
not ecx
sub edx, ecx
sub ecx, edx
xor ecx, edx
sub ebx, ecx
jmp 0x4784f1
mov esi, dword [esi]
and edi, ebx
sub edx, edi
and ecx, ebx
neg edx
or edi, ecx
inc ecx
mov ebx, edx
xor edi, ecx
xor ebx, edx
shl edx, 6
xchg ebx, ecx
add ecx, 0x56af14cd
xchg edx, edi
xchg edi, ecx
mov edi, ebx
or ebx, 0x56b011c7
jmp 0x4775c7
jne 0x4758d4
shr ebx, 0x17
inc ecx
mov edx, 0x56c3a5a9
xor ecx, edi
xchg ecx, edi
or ebx, ecx
mov edx, ecx
add edx, 0x56c4d891
xor ecx, 0x56c514a7
mov edi, 0x56c55017
or edi, ecx
rol ebx, 5
jmp 0x475f77
mov esi, dword [esi]
add ecx, 0x56e94777
and ebx, 0x56e982d9
and ebx, edx
or ecx, ebx
sub ebx, edi
xor edx, edi
xor edi, 0x56eab56d
shr ebx, 7
or edx, edi
sub ecx, ebx
not ecx
sub edx, ebx
jmp 0x477fb9
mov eax, 2
not ecx
xor edx, 0x5704303b
sub ebx, edi
mov ebx, ecx
inc ecx
xor edx, 0x57052b05
jmp 0x476bae
mov dword [esp + 0xe0], esi
xor edx, ebx
and ebx, edx
bswap ebx
xchg ebx, edi
mov edi, ebx
and ebx, edi
and edx, ecx
or edx, 0x571ac873
sub edi, ecx
and edx, ecx
jmp 0x475782
mov esi, dword [esi]
or edi, 0x572ab885
xor edi, ecx
bswap edx
xchg edx, ebx
mov ecx, edi
add edx, 0x572bee41
add edi, ebx
or edi, ebx
xor edi, ebx
or ebx, edi
jmp 0x47941b
pop esi
mov edx, ebx
bswap edi
shl edi, 0xa
shr edx, 0x17
mov edi, ecx
shl edi, 4
and edx, ecx
xchg ebx, edi
and edx, ecx
xchg ecx, ebx
jmp 0x47685c
mov esi, dword [esi]
xor edx, 0x5b3a0d13
dec edx
mov edi, ecx
xchg ebx, edi
sub ecx, ebx
mov edi, 0x5b3b4247
jmp 0x47885a
xor eax, eax
bswap edx
xor ecx, ebx
xchg edi, edx
or ebx, 0x5b4f100f
sub edi, ebx
shl edx, 0x1a
jmp 0x47641e
mov esi, 0x30
and edi, edx
add edx, 0x5b541c87
shl edx, 0xf
xor edx, ebx
xchg edx, ebx
add edx, ebx
mov ecx, ebx
or ebx, 0x5b558b7d
xor ebx, edx
rol ebx, 6
shr ecx, 0xb
ror edx, 1
jmp 0x4759df
mov esi, dword [esp + 0x34]
sub edi, ebx
mov ecx, ebx
rol edx, 0xc
rol edi, 8
sub ebx, 0x5b57c639
xchg edi, edx
jmp 0x478376
add esi, dword [esp + 0xe0]
or ebx, 0x5b5850cb
or ebx, edx
rol ebx, 8
sub edi, 0x5b5902ad
and edi, 0x5b594db9
xor edi, 0x5b598a53
jmp 0x477d3c
mov eax, 4
sub edi, edx
mov ecx, edx
or edx, 0x5b61b813
shr ebx, 0x16
and ecx, edi
or ecx, ebx
inc edx
not edi
jmp 0x479046
add esi, 0xc
bswap edx
or ecx, ebx
sub edx, ebx
or ebx, ecx
shl edi, 0x17
mov ecx, ebx
or edx, 0x5b716055
mov edx, 0x5b71ceb9
mov edi, edx
dec edi
and edx, edi
add edi, ebx
bswap ecx
dec edx
and ecx, ebx
xchg edi, ecx
jmp 0x476918
mov esi, dword [esp + 0xe0]
sub ebx, edx
mov ebx, edi
add ebx, ecx
xor ecx, ebx
add ebx, ecx
add ecx, ebx
xchg edi, edx
and edx, edi
not edi
add ebx, 0x5b80b85f
jmp 0x47728b
jne 0x47641e
and edi, 0x5b8316ff
xchg edi, ecx
dec edi
not ecx
shl ecx, 0xb
xor edx, ebx
not ebx
mov ecx, edi
inc edx
add edx, 0x5b854223
add ecx, edi
nop
jmp 0x4782f5
add esi, dword [esp + 0x78]
xor ecx, edi
and edi, 0x5b96c79d
bswap ebx
add ecx, 0x5b9748d7
xchg edi, ebx
add edx, edi
xor ecx, 0x5b980487
rol edi, 8
and edi, ecx
neg ebx
jmp 0x4764e2
inc esi
not edi
or edi, edx
sub ecx, edi
neg ebx
and edx, edi
or edi, ebx
xchg edx, ebx
bswap ebx
not ecx
sub edx, ecx
and ebx, ecx
xor ecx, 0x5bd60e99
jmp 0x47646f
add esi, 0xc
rol ecx, 0x12
neg edi
or ecx, ebx
and ebx, ecx
rol edx, 2
add edx, edi
xor ebx, ecx
or edx, 0x5c0e4ea9
or ecx, 0x5c0e8ea1
and edx, 0x5c0eceb7
add ecx, edx
shr ebx, 3
jmp 0x476d99
mul esi
sub ecx, edx
add edx, ebx
neg ecx
shr ebx, 1
add ebx, 0x5c109e57
and edx, 0x5c10dd85
sub edi, 0x5c112e49
rol ecx, 7
mov ecx, edx
add edi, edx
jmp 0x4770f2
ret
add esi, 0x3c
add ecx, 0x5c18874b
shr edi, 0x10
sub ecx, edi
xchg ebx, edx
xchg edx, ebx
and ebx, edx
sub edi, ecx
mov ebx, edi
sub ecx, ebx
shl ebx, 0xa
inc ecx
xchg ebx, edi
nop
xchg edi, ecx
jmp 0x4780a8
add esi, dword [esp + 0x78]
xchg edi, edx
or ecx, edi
rol ecx, 0x18
xor ecx, edx
sub edi, 0x5c1f9b35
xor ecx, ebx
xchg ebx, edx
add ecx, 0x5c20df57
rol edi, 8
add edx, ecx
jmp 0x475ae6
movzx esi, word [esi]
or ecx, ebx
or edi, 0x5c2ceab3
add ebx, 0x5c2d2a1b
mov ebx, ecx
add edi, 0x5c2db6d1
xchg edx, edi
mov edx, edi
bswap ebx
mov ebx, ecx
or ecx, 0x5c2eef79
jmp 0x47769f
mov dword [esp + 0xe0], esi
mov edi, ecx
not edx
mov ecx, edx
rol ecx, 6
add ecx, edx
xchg edi, ebx
mov edx, edi
xchg ecx, edx
add ebx, ecx
shr edx, 3
jmp 0x477137
add dword [esp + 0xe0], 0x20
and ebx, 0x5c7ef917
rol edi, 1
mov edx, 0x5c7f7a79
mov ecx, edx
xchg edi, ecx
xor edx, 0x5c8045b3
mov edi, ebx
sub ecx, 0x5c80c2e3
jmp 0x47870c
mov dword [esp + 0x34], 0
bswap ecx
sub ebx, edx
dec ebx
or edx, 0x5c85ab1f
not edi
or ebx, edx
sub edx, edi
and edx, ecx
rol edi, 7
xchg edx, edi
xchg edx, ecx
and edx, edi
neg edx
xchg edi, edx
ror ecx, 2
xor ecx, 0x5c88b157
jmp 0x475ac1
mov dword [esp + 0xa4], 0
add edi, ebx
ror ebx, 2
ror ebx, 0x1e
rol ecx, 9
ror edi, 0x1b
or edx, ecx
sub ebx, edx
or ecx, edi
add ecx, 0x5c9cebbd
or edi, ebx
xchg edx, ebx
or edi, ebx
jmp 0x4794f9
mov esi, dword [esp + 0xe0]
and ebx, 0x5cb59079
xchg edx, ecx
and edi, ecx
dec ebx
add edx, 0x5cb68103
add ebx, edi
shl edi, 0x16
not ecx
rol edi, 0x17
shr edx, 0x17
jmp 0x476a26
sub dword [esp + 0xe0], 8
add edx, ecx
rol edi, 0x19
add ecx, edx
xor edx, ebx
mov edi, edx
dec edi
neg ebx
mov ecx, ebx
ror ebx, 0x13
or ecx, 0x5cbf620b
or edx, ebx
and edx, edi
jmp 0x476f2d
sub esp, 0x14c
sub edx, ebx
add edi, ebx
xchg edi, edx
mov ecx, ebx
shl edi, 0x13
sub edx, ecx
neg ecx
add edi, ecx
xor ebx, edx
shl ecx, 0xf
and ecx, 0x5cce865b
or edx, 0x5ccec637
jmp 0x479624