Function at 0x180007e78
Capabilities:
Encrypt data using chaskey

Disassembly:
mov dword [rsp + 0x10], edx
mov dword [rsp + 8], ecx
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x5d0]
sub rsp, 0x6d0
mov rsi, qword [rbp + 0x610]
mov ebx, 0x7f10
mov dword [rbp + 0x608], 0x5356
xor edi, edi
cmp ebx, 0x983
je 0x180008968
cmp ebx, 0x4f0c
je 0x1800088a9
cmp ebx, 0x72c8
je 0x1800086a4
cmp ebx, 0x7f10
je 0x18000854e
cmp ebx, 0xa862
je 0x180008b8a
cmp ebx, 0xca63
je 0x1800082ba
cmp ebx, 0xee7e
jne 0x180008b79
mov dword [rbp + 0x600], 0x2d76
shr dword [rbp + 0x600], 9
xor dword [rbp + 0x600], 0x8b097
mov dword [rbp + 0x608], 0x8bb2
shl dword [rbp + 0x608], 0xa
shr dword [rbp + 0x608], 4
shr dword [rbp + 0x608], 0xc
xor dword [rbp + 0x608], 0x28ec4
mov eax, dword [rbp + 0x608]
mov eax, dword [rbp + 0x600]
call fcn.180029dd8
mov r14, rax
mov rax, qword [0x18002c270]
cmp dword [rax + 4], 0
je 0x180007fa3
mov dword [rbp + 0x608], 0x644d
mov ecx, dword [rbp + 0x608]
mov eax, 0xb81702e1
mul ecx
shr edx, 6
mov dword [rbp + 0x608], edx
xor dword [rbp + 0x608], 0xaa1cac3
shr dword [rbp + 0x608], 3
xor dword [rbp + 0x608], 0x8154397e
jmp 0x180007fc4
mov dword [rbp + 0x608], 0x253f
imul eax, dword [rbp + 0x608], 0x52
mov dword [rbp + 0x608], eax
xor dword [rbp + 0x608], 0x800bee2f
mov r8d, dword [rbp + 0x608]
mov dword [rbp - 0x74], 0x7da6
xor dword [rbp - 0x74], 0xe04d1551
add dword [rbp - 0x74], 0x474e
add dword [rbp - 0x74], 0xc24a
xor dword [rbp - 0x74], 0xe04e728f
mov dword [rbp - 0x7c], 0x892
add dword [rbp - 0x7c], 0xc622
xor dword [rbp - 0x7c], 0xceb4
mov dword [rbp - 0x70], 0xee7e
imul eax, dword [rbp - 0x70], 0x38
mov dword [rbp - 0x70], eax
imul eax, dword [rbp - 0x70], 0x17
mov dword [rbp - 0x70], eax
xor dword [rbp - 0x70], 0x4afe9f2
mov dword [rbp + 0x600], 0xfc59
or dword [rbp + 0x600], 0xeffe76f7
xor dword [rbp + 0x600], 0xa3d864ff
xor dword [rbp + 0x600], 0x4c2d274b
mov dword [rbp - 0x80], 0xd406
add dword [rbp - 0x80], 0x4585
shl dword [rbp - 0x80], 0xf
shr dword [rbp - 0x80], 0xf
xor dword [rbp - 0x80], 0xbe099
mov dword [rbp + 0x608], 0x815
xor dword [rbp + 0x608], 0xb201d726
xor dword [rbp + 0x608], 0xe18a7acf
or dword [rbp + 0x608], 0x8d86c125
imul eax, dword [rbp + 0x608], 0x75
mov dword [rbp + 0x608], eax
xor dword [rbp + 0x608], 0x2cca4bbd
mov dword [rbp - 0x78], 0xae82
shr dword [rbp - 0x78], 5
imul eax, dword [rbp - 0x78], 0x78
mov dword [rbp - 0x78], eax
mov eax, 0xa41a41a5
xor dword [rbp - 0x78], 0xce31a
mov dword [rbp + 0x618], 0xd686
mov ecx, dword [rbp + 0x618]
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
mov dword [rbp + 0x618], ecx
imul eax, dword [rbp + 0x618], 0x22
mov dword [rbp + 0x618], eax
mov eax, 0x76b981db
mov ecx, dword [rbp + 0x618]
mul ecx
shr edx, 5
mov dword [rbp + 0x618], edx
xor dword [rbp + 0x618], 0xa5f80
mov dword [rbp + 0x610], 0x284e
add dword [rbp + 0x610], 0x8813
add dword [rbp + 0x610], 0x93b5
add dword [rbp + 0x610], 0xa659
xor dword [rbp + 0x610], 0x254fb
mov ecx, dword [rbp - 0x70]
mov eax, dword [rbp + 0x610]
or ecx, 1
mov dword [rsp + 0x70], eax
mov qword [rsp + 0x68], r8
lea rax, [rbp - 0x68]
mov qword [rsp + 0x60], rax
mov eax, dword [rbp - 0x7c]
mov dword [rsp + 0x58], eax
mov eax, dword [rbp + 0x618]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp - 0x78]
mov dword [rsp + 0x48], eax
mov eax, dword [rbp - 0x74]
mov qword [rsp + 0x40], r14
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x608]
mov edx, dword [rbp - 0x80]
mov dword [rsp + 0x30], eax
mov dword [rsp + 0x20], ecx
mov ecx, dword [rbp + 0x600]
call fcn.180015188
neg eax
mov dword [rbp + 0x600], 0xf6ae
mov ecx, dword [rbp + 0x600]
sbb ebx, ebx
mov eax, 0xb21642c9
and ebx, 0x10ae
add ebx, 0x983
mul ecx
shr edx, 6
mov dword [rbp + 0x600], edx
shl dword [rbp + 0x600], 0xb
xor dword [rbp + 0x600], 0x9d7d4881
xor dword [rbp + 0x600], 0x275a8cb
xor dword [rbp + 0x600], 0x9f1adb3d
mov dword [rbp + 0x618], 0x226a
imul eax, dword [rbp + 0x618], 0x61
mov dword [rbp + 0x618], eax
xor dword [rbp + 0x618], 0xc916fcdb
xor dword [rbp + 0x618], 0xc9121819
mov dword [rbp + 0x608], 0xe47d
imul eax, dword [rbp + 0x608], 0x35
mov dword [rbp + 0x608], eax
or dword [rbp + 0x608], 0x3a29c1f5
add dword [rbp + 0x608], 0xe0e1
or dword [rbp + 0x608], 0xdedebc2a
xor dword [rbp + 0x608], 0xfefb285b
mov dword [rbp + 0x610], 0xace8
mov eax, 0x3531dec1
mov ecx, dword [rbp + 0x610]
mul ecx
mov rcx, r14
shr edx, 4
mov dword [rbp + 0x610], edx
shl dword [rbp + 0x610], 0xf
xor dword [rbp + 0x610], 0x117ea87
mov eax, dword [rbp + 0x610]
mov r9d, dword [rbp + 0x608]
mov r8d, dword [rbp + 0x618]
mov edx, dword [rbp + 0x600]
mov dword [rsp + 0x20], eax
call fcn.180010e30
jmp 0x180008b79
mov dword [rbp + 0x610], 0xcac4
lea rcx, [rbp - 0x60]
or dword [rbp + 0x610], 0x25070ce2
shr dword [rbp + 0x610], 0x10
xor dword [rbp + 0x610], 0x2de1d8bd
xor dword [rbp + 0x610], 0x2de1fdbb
mov dword [rbp + 0x618], 0xda2a
add dword [rbp + 0x618], 0x67ca
add dword [rbp + 0x618], 0x62d3
xor dword [rbp + 0x618], 0x217aa
mov dword [rbp + 0x600], 0x2c5d
shl dword [rbp + 0x600], 9
or dword [rbp + 0x600], 0x3d47e7b5
xor dword [rbp + 0x600], 0x2dd5ec1a
xor dword [rbp + 0x600], 0x10806a71
mov dword [rbp + 0x608], 0x2368
xor dword [rbp + 0x608], 0xea3c09bd
xor dword [rbp + 0x608], 0xf4f13f58
add dword [rbp + 0x608], 0xffffd6ec
or dword [rbp + 0x608], 0x93d87a32
xor dword [rbp + 0x608], 0x9fd2aa51
mov r9d, dword [rbp + 0x608]
mov r8d, dword [rbp + 0x600]
mov edx, dword [rbp + 0x618]
call fcn.180012f1c
mov r8d, eax
mov eax, dword [rbp + 0x610]
mov dword [rbp + 0x610], 0x8c03
shl dword [rbp + 0x610], 0xc
add r8d, eax
mov eax, 0x1cf06adb
mov ecx, dword [rbp + 0x610]
add r8d, r8d
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 6
mov dword [rbp + 0x610], ecx
xor dword [rbp + 0x610], 0xe88286ae
shl dword [rbp + 0x610], 1
xor dword [rbp + 0x610], 0xd125d9d0
mov dword [rbp - 0x80], 0xb3c6
add dword [rbp - 0x80], 0xd7f1
add dword [rbp - 0x80], 0xffffa01c
add dword [rbp - 0x80], 0x31d5
xor dword [rbp - 0x80], 0xafc55
mov dword [rbp + 0x600], 0x46e6
or dword [rbp + 0x600], 0x3184fb81
xor dword [rbp + 0x600], 0x4445a289
add dword [rbp + 0x600], 0xe3b6
or dword [rbp + 0x600], 0x4b9ad78
xor dword [rbp + 0x600], 0x75fc81d0
mov dword [rbp + 0x608], 0x712e
imul eax, dword [rbp + 0x608], 0x2c
mov dword [rbp + 0x608], eax
mov ecx, dword [rbp + 0x608]
mov eax, 0x27350b89
mul ecx
mov eax, 0x76b981db
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 6
mov dword [rbp + 0x608], ecx
xor dword [rbp + 0x608], 0x89e80e44
shl dword [rbp + 0x608], 6
xor dword [rbp + 0x608], 0x7a05c592
mov dword [rbp - 0x7c], 0xc6f8
xor dword [rbp - 0x7c], 0x27b75912
xor dword [rbp - 0x7c], 0x27bc28f0
mov dword [rbp + 0x618], 0xa3b8
mov ecx, dword [rbp + 0x618]
mul ecx
shr edx, 5
mov dword [rbp + 0x618], edx
add dword [rbp + 0x618], 0x2880
or dword [rbp + 0x618], 0x2288afe9
xor dword [rbp + 0x618], 0x228c4160
mov rax, qword [rbp - 0x68]
mov qword [rsp + 0x50], rax
mov eax, dword [rbp + 0x618]
mov dword [rsp + 0x48], eax
mov eax, dword [rbp - 0x7c]
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], r8d
lea rax, [rbp - 0x60]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp + 0x608]
mov r9d, dword [rbp + 0x600]
mov r8d, dword [rbp - 0x80]
mov edx, dword [rbp + 0x610]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], eax
call fcn.1800121ec
xor edi, edi
test eax, eax
sete dil
mov ebx, 0xa862
jmp 0x180007ead
mov dword [rbp + 0x608], 0x4960
mov ecx, dword [rbp + 0x608]
mov eax, 0x38e38e39
mul ecx
shr edx, 2
mov eax, 0x4ec4ec4f
mov dword [rbp + 0x608], edx
shl dword [rbp + 0x608], 0xf
mov ecx, dword [rbp + 0x608]
mul ecx
shr edx, 2
mov eax, 0xa41a41a5
mov dword [rbp + 0x608], edx
xor dword [rbp + 0x608], 0x281dac
mov dword [rbp + 0x610], 0x6bd0
or dword [rbp + 0x610], 0x203ac115
add dword [rbp + 0x610], 0xaf9c
add dword [rbp + 0x610], 0xffff0482
xor dword [rbp + 0x610], 0x203f70f3
mov dword [rbp - 0x78], 0x13f0
mov ecx, dword [rbp - 0x78]
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 6
mov dword [rbp - 0x78], ecx
shr dword [rbp - 0x78], 8
xor dword [rbp - 0x78], 0xa72e5
mov dword [rbp + 0x600], 0xddb1
xor dword [rbp + 0x600], 0x38c40329
imul eax, dword [rbp + 0x600], 0x66
mov dword [rbp + 0x600], eax
xor dword [rbp + 0x600], 0x8eeda54f
xor dword [rbp + 0x600], 0x10905673
mov dword [rbp + 0x618], 0x1afa
add dword [rbp + 0x618], 0xffffaf93
add dword [rbp + 0x618], 0xffffa0ae
xor dword [rbp + 0x618], 0xfffefdab
mov dword [rbp - 0x7c], 0x4a76
shl dword [rbp - 0x7c], 0xb
xor dword [rbp - 0x7c], 0x25335e5
mov eax, dword [rbp + 0x608]
mov dword [rsp + 0x48], eax
lea rax, [rbp + 0x1b0]
mov qword [rsp + 0x38], rax
mov eax, dword [rbp - 0x7c]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x618]
mov r8d, dword [rbp + 0x600]
mov edx, dword [rbp - 0x78]
mov ecx, dword [rbp + 0x610]
mov dword [rsp + 0x20], eax
call fcn.180022134
mov ebx, 0x72c8
jmp 0x180007ead
mov dword [rbp + 0x608], 0x8c60
add dword [rbp + 0x608], 0xffff325c
xor dword [rbp + 0x608], 0xfffacd09
mov eax, dword [rbp + 0x608]
call fcn.1800263b0
mov dword [rbp + 0x608], 0xe870
add dword [rbp + 0x608], 0xfd76
shl dword [rbp + 0x608], 2
xor dword [rbp + 0x608], 0x8a42a832
add dword [rbp + 0x608], 0x60b5
xor dword [rbp + 0x608], 0x8a45d3dd
mov dword [rbp + 0x618], 0x85d1
add dword [rbp + 0x618], 0xffff57cd
mov rbx, rax
xor dword [rbp + 0x618], 0xfff50626
mov dword [rbp + 0x610], 0xa70
mov r8, rbx
add dword [rbp + 0x610], 0xffff1d3f
xor dword [rbp + 0x610], 0xfff4b19c
mov dword [rbp + 0x600], 0x3f02
add dword [rbp + 0x600], 0xffff35d7
shl dword [rbp + 0x600], 9
shl dword [rbp + 0x600], 0x10
xor dword [rbp + 0x600], 0xb204cd8b
mov eax, dword [rbp + 0x600]
mov rcx, qword [0x18002c270]
mov dword [rsp + 0x40], eax
mov eax, dword [rbp + 0x610]
add rcx, 0x10
mov dword [rsp + 0x38], eax
lea rax, [rbp + 0x1b0]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp + 0x618]
mov edx, dword [rbp + 0x608]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
lea rcx, [rbp - 0x60]
call fcn.180026590
mov dword [rbp + 0x600], 0xc406
add dword [rbp + 0x600], 0xe5b6
imul eax, dword [rbp + 0x600], 0x17
mov dword [rbp + 0x600], eax
add dword [rbp + 0x600], 0x6d50
shl dword [rbp + 0x600], 2
xor dword [rbp + 0x600], 0x99dafc
mov dword [rbp + 0x618], 0xf47c
mov rcx, rbx
shl dword [rbp + 0x618], 8
xor dword [rbp + 0x618], 0xf9c654
mov dword [rbp + 0x610], 0x369f
shl dword [rbp + 0x610], 5
shl dword [rbp + 0x610], 7
shl dword [rbp + 0x610], 0xb
xor dword [rbp + 0x610], 0x4f888123
mov dword [rbp + 0x608], 0xb463
xor dword [rbp + 0x608], 0xa9360dba
xor dword [rbp + 0x608], 0x14ccde13
imul eax, dword [rbp + 0x608], 0x51
mov dword [rbp + 0x608], eax
shl dword [rbp + 0x608], 0xa
xor dword [rbp + 0x608], 0xeb5748e7
mov eax, dword [rbp + 0x608]
mov r9d, dword [rbp + 0x610]
mov r8d, dword [rbp + 0x618]
mov edx, dword [rbp + 0x600]
mov dword [rsp + 0x20], eax
call fcn.180010e30
mov ebx, 0x4f0c
jmp 0x180007ead
mov dword [rbp + 0x600], 0xa93d
mov ecx, dword [rbp + 0x600]
mov eax, 0x86186187
mul ecx
sub ecx, edx
mov eax, 0x8421085
shr ecx, 1
add ecx, edx
shr ecx, 5
mov dword [rbp + 0x600], ecx
add dword [rbp + 0x600], 0xcb2e
add dword [rbp + 0x600], 0xffffb8d6
add dword [rbp + 0x600], 0xffff3e0a
xor dword [rbp + 0x600], 0xfffac4f2
mov dword [rbp + 0x608], 0xecc8
add dword [rbp + 0x608], 0xffff240a
shr dword [rbp + 0x608], 0xd
mov ecx, dword [rbp + 0x608]
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 4
mov dword [rbp + 0x608], ecx
shr dword [rbp + 0x608], 8
xor dword [rbp + 0x608], 0x6c0f4
mov r8, qword [0x18002c270]
mov edx, dword [rbp + 0x608]
mov ecx, dword [rbp + 0x600]
add r8, 0x10
call fcn.18000fb9c
mov ebx, 0xee7e
mov rsi, rax
jmp 0x180007ead
mov dword [rbp - 0x6c], 0x104
mov dword [rbp + 0x600], 0x4015
add dword [rbp + 0x600], 0xffffbac7
or dword [rbp + 0x600], 0xf59fffee
xor dword [rbp + 0x600], 0xfffab43f
mov dword [rbp + 0x618], 0xeef
or dword [rbp + 0x618], 0xce1faac0
lea r9, [rbp - 0x6c]
xor dword [rbp + 0x618], 0xce198f49
mov dword [rbp + 0x608], 0xdd
shl dword [rbp + 0x608], 0xa
shr dword [rbp + 0x608], 6
imul eax, dword [rbp + 0x608], 0x1f
mov dword [rbp + 0x608], eax
shl dword [rbp + 0x608], 3
xor dword [rbp + 0x608], 0xfca92
mov dword [rbp + 0x610], 0xa802
xor dword [rbp + 0x610], 0x65e01e60
shr dword [rbp + 0x610], 4
xor dword [rbp + 0x610], 0x6537461
mov eax, dword [rbp + 0x610]
mov dword [rsp + 0x38], eax
lea rax, [rbp + 0x3c0]
mov qword [rsp + 0x30], rax
mov eax, dword [rbp + 0x608]
mov r8d, dword [rbp + 0x618]
mov edx, dword [rbp + 0x600]
mov rcx, qword [rbp - 0x68]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rsi
call fcn.180016968
test eax, eax
jne 0x180008b74
mov dword [rbp + 0x600], 0x11c9
add dword [rbp + 0x600], 0xca1b
or dword [rbp + 0x600], 0xb5ee0e17
shr dword [rbp + 0x600], 0x10
shr dword [rbp + 0x600], 0xb
xor dword [rbp + 0x600], 0x16
mov dword [rbp + 0x610], 0x3ca3
mov eax, 0xa41a41a5
lea r9, [rbp + 0x3c0]
mov ecx, dword [rbp + 0x610]
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
mov dword [rbp + 0x610], ecx
imul eax, dword [rbp + 0x610], 0x6c
mov dword [rbp + 0x610], eax
or dword [rbp + 0x610], 0x6a9d5e4e
xor dword [rbp + 0x610], 0x6a932550
mov dword [rbp + 0x618], 0x5f44
shr dword [rbp + 0x618], 2
xor dword [rbp + 0x618], 0xffbd2
mov dword [rbp + 0x608], 0x592c
or dword [rbp + 0x608], 0xa7f8285c
add dword [rbp + 0x608], 0xed0d
imul eax, dword [rbp + 0x608], 0x15
mov dword [rbp + 0x608], eax
mov ecx, dword [rbp + 0x608]
mov eax, 0x10624dd3
mul ecx
shr edx, 3
mov dword [rbp + 0x608], edx
xor dword [rbp + 0x608], 0x199a1c9
mov eax, dword [rbp + 0x608]
mov r8d, dword [rbp + 0x618]
mov ecx, dword [rbp + 0x610]
lea rdx, [rbp - 0x60]
mov dword [rsp + 0x20], eax
call fcn.180012320
mov ecx, eax
mov eax, dword [rbp + 0x600]
cmp ecx, eax
jne 0x180008b74
mov edi, 1
jmp 0x180008544
mov ebx, 0xca63
cmp ebx, 0x1a31
je 0x180008cbf
jmp 0x180007ead
mov dword [rbp + 0x618], 0xa203
imul eax, dword [rbp + 0x618], 0x7f
mov dword [rbp + 0x618], eax
mov eax, 0xa41a41a5
xor dword [rbp + 0x618], 0x453c6669
xor dword [rbp + 0x618], 0x456920e2
mov dword [rbp + 0x610], 0x79fd
or dword [rbp + 0x610], 0x7debb5e5
xor dword [rbp + 0x610], 0x7226dc0d
mov ecx, dword [rbp + 0x610]
mul ecx
mov eax, 0xfc0fc0fd
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 6
mov dword [rbp + 0x610], ecx
mov ecx, dword [rbp + 0x610]
mul ecx
mov eax, 0xf0f0f0f1
shr edx, 6
mov dword [rbp + 0x610], edx
xor dword [rbp + 0x610], 0xc4fbc
mov dword [rbp + 0x600], 0xd8ee
shr dword [rbp + 0x600], 0xc
add dword [rbp + 0x600], 0xffff24f3
shl dword [rbp + 0x600], 0xd
mov ecx, dword [rbp + 0x600]
mul ecx
shr edx, 4
mov dword [rbp + 0x600], edx
xor dword [rbp + 0x600], 0xd733f56
mov dword [rbp + 0x608], 0xad0b
shl dword [rbp + 0x608], 0xa
imul eax, dword [rbp + 0x608], 0x61
mov dword [rbp + 0x608], eax
add dword [rbp + 0x608], 0xffffa127
mov ecx, dword [rbp + 0x608]
mov eax, 0xb21642c9
mul ecx
shr edx, 4
mov dword [rbp + 0x608], edx
xor dword [rbp + 0x608], 0x4713f0
mov ecx, dword [rbp + 0x608]
mov r8d, dword [rbp + 0x600]
mov edx, dword [rbp + 0x610]
mov r9, qword [rbp - 0x68]
mov dword [rsp + 0x20], ecx
mov ecx, dword [rbp + 0x618]
call fcn.18001f100
mov eax, edi
add rsp, 0x6d0
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret