Function at 0x18000447c
Capabilities:
Encrypt data using chaskey

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
mov dword [rsp + 8], ecx
push rbp
push r12
push r13
push r14
push r15
lea rbp, [r11 - 0x2f]
sub rsp, 0xb0
mov rax, qword [rbp + 0x9f]
mov rdi, qword [rbp + 0xa7]
mov esi, dword [rbp + 0x77]
mov qword [r11 - 0x68], rdi
mov qword [r11 - 0x70], rax
mov eax, dword [rbp + 0x97]
mov dword [rsp + 0x60], eax
mov rax, qword [rbp + 0x8f]
mov r10d, ecx
mov qword [r11 - 0x80], rax
mov eax, dword [rbp + 0x87]
mov r11, qword [rbp + 0x7f]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp + 0x6f]
mov qword [rsp + 0x48], r11
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], eax
mov eax, dword [rbp + 0x67]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp + 0x5f]
mov dword [rsp + 0x28], eax
mov rax, qword [rbp + 0x57]
mov qword [rsp + 0x20], rax
call fcn.1800186a4
mov r15, qword [rbp - 9]
mov r12, qword [rbp - 9]
mov r14d, dword [rbp + 3]
mov ebx, 0x2d32
xor r13d, r13d
mov dword [rbp - 0x11], 0xa1b1
mov r8, qword [rbp - 9]
cmp ebx, 0x7fb6
jg 0x180004c7d
je 0x180004a68
mov ecx, ebx
sub ecx, 0x3a6
je 0x180004a01
sub ecx, 0x2e
je 0x1800048d0
sub ecx, 0x24bc
je 0x180005419
sub ecx, 0x4a2
je 0x1800048a6
sub ecx, 0x23f7
je 0x18000478e
sub ecx, 0x129c
je 0x180004707
sub ecx, 0x55f
je 0x180004648
cmp ecx, 0xc2f
jne 0x180005408
test r10b, 1
je 0x18000463e
mov dword [rbp + 3], 0x3300
mov dword [rbp - 0x1d], 0xc093
mov qword [rsp + 0x30], r15
shl dword [rbp - 0x1d], 6
shr dword [rbp - 0x1d], 0xb
imul eax, dword [rbp - 0x1d], 0x1c
mov dword [rbp - 0x1d], eax
lea rax, [rbp + 3]
xor dword [rbp - 0x1d], 0xcba60
mov dword [rbp - 0x21], 0x8464
mov qword [rsp + 0x28], rax
add dword [rbp - 0x21], 0xffffb9b2
or dword [rbp - 0x21], 0xa6be8df9
add dword [rbp - 0x21], 0xffff60d7
or dword [rbp - 0x21], 0x8374145c
xor dword [rbp - 0x21], 0xa7f8f6be
mov dword [rbp - 0x29], 0xf0ba
shr dword [rbp - 0x29], 1
xor dword [rbp - 0x29], 0xdb773a66
xor dword [rbp - 0x29], 0x238e4a08
xor dword [rbp - 0x29], 0xf8f1ceaf
mov eax, dword [rbp - 0x29]
mov r9d, dword [rbp - 0x21]
mov edx, dword [rbp - 0x1d]
mov dword [rsp + 0x20], eax
call fcn.18000d448
mov r10d, dword [rbp + 0x37]
mov r11, qword [rbp + 0x7f]
mov ebx, 0x5129
jmp 0x180004529
mov dword [rbp - 0x21], 0xd3a1
mov eax, 0xd41d41d5
mov r9, r12
mov ecx, dword [rbp - 0x21]
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
mov dword [rbp - 0x21], ecx
shl dword [rbp - 0x21], 0xe
add dword [rbp - 0x21], 0xffff25e7
imul eax, dword [rbp - 0x21], 0x29
mov dword [rbp - 0x21], eax
mov eax, 0x88888889
xor dword [rbp - 0x21], 0x3dc4292c
mov dword [rbp - 0x25], 0x8a2b
mov ecx, dword [rbp - 0x25]
mul ecx
shr edx, 6
mov dword [rbp - 0x25], edx
imul eax, dword [rbp - 0x25], 0x3d
mov dword [rbp - 0x25], eax
mov eax, dword [rbp + 0x67]
xor dword [rbp - 0x25], 0xf2375
mov dword [rbp - 0x19], 0x575e
mov word [rsp + 0x30], ax
or dword [rbp - 0x19], 0x7c1901fb
xor dword [rbp - 0x19], 0x7c13f3da
mov eax, dword [rbp - 0x19]
mov r8d, dword [rbp - 0x25]
mov ecx, dword [rbp - 0x21]
mov dword [rsp + 0x28], eax
mov rax, qword [rbp + 0x8f]
mov qword [rsp + 0x20], rax
call fcn.18001c1a4
mov r8, rax
mov qword [rbp - 9], rax
neg rax
sbb ebx, ebx
and ebx, 0xd321
add ebx, 0x2890
mov r10d, dword [rbp + 0x37]
mov r11, qword [rbp + 0x7f]
jmp 0x18000452d
mov dword [rbp - 0x29], 0xfdf
mov eax, 0x4325c53f
mov r9, r15
add dword [rbp - 0x29], 0x6b9b
mov ecx, dword [rbp - 0x29]
mul ecx
mov eax, 0xcccccccd
shr edx, 5
mov dword [rbp - 0x29], edx
xor dword [rbp - 0x29], 0x8261c
mov dword [rbp - 0x25], 0xc02d
mov ecx, dword [rbp - 0x25]
mul ecx
shr edx, 6
mov dword [rbp - 0x25], edx
imul eax, dword [rbp - 0x25], 0x5d
mov dword [rbp - 0x25], eax
xor dword [rbp - 0x25], 0x4bfcf
mov dword [rbp - 0x1d], 0x3b02
shr dword [rbp - 0x1d], 0x10
add dword [rbp - 0x1d], 0x99d
shr dword [rbp - 0x1d], 4
xor dword [rbp - 0x1d], 0xeb42
mov r8d, dword [rbp - 0x1d]
mov edx, dword [rbp - 0x25]
mov ecx, dword [rbp - 0x29]
call fcn.18000b7a0
mov ebx, 0xfdb2
mov r8, qword [rbp - 9]
jmp 0x1800046fa
mov dword [rbp - 0x25], 0x25cd
imul eax, dword [rbp - 0x25], 0x6b
mov dword [rbp - 0x25], eax
mov eax, 0xba2e8ba3
add dword [rbp - 0x25], 0x279a
shl dword [rbp - 0x25], 0xc
xor dword [rbp - 0x25], 0xff466951
mov dword [rbp - 0x21], 0xd7c2
mov ecx, dword [rbp - 0x21]
mul ecx
shr edx, 5
mov dword [rbp - 0x21], edx
mov rdx, r15
add dword [rbp - 0x21], 0x4d1e
imul eax, dword [rbp - 0x21], 0x4b
mov dword [rbp - 0x21], eax
xor dword [rbp - 0x21], 0x1484d9
mov dword [rbp - 0x19], 0x2438
imul eax, dword [rbp - 0x19], 0x3e
mov dword [rbp - 0x19], eax
xor dword [rbp - 0x19], 0xc7ddc
mov dword [rbp - 0x29], 0xae2b
shl dword [rbp - 0x29], 3
add dword [rbp - 0x29], 0x493a
shl dword [rbp - 0x29], 2
xor dword [rbp - 0x29], 0x1fde92
mov dword [rbp - 0x15], 0xbc67
shl dword [rbp - 0x15], 0xa
or dword [rbp - 0x15], 0xd28af82f
xor dword [rbp - 0x15], 0xd2f129c1
mov dword [rbp - 0x1d], 0x8530
or dword [rbp - 0x1d], 0x52d4d3aa
imul eax, dword [rbp - 0x1d], 0x64
mov dword [rbp - 0x1d], eax
add dword [rbp - 0x1d], 0xc146
xor dword [rbp - 0x1d], 0x5b214e72
mov eax, dword [rbp - 0x1d]
mov dword [rsp + 0x60], eax
mov eax, dword [rbp - 0x15]
mov dword [rsp + 0x58], eax
mov eax, dword [rbp - 0x29]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp - 0x19]
mov r9d, dword [rbp - 0x21]
mov r8d, dword [rbp - 0x25]
mov ecx, dword [r11 + 8]
mov dword [rsp + 0x48], eax
mov rax, qword [r11]
mov qword [rsp + 0x38], rax
mov rax, qword [rbp + 0x57]
mov qword [rsp + 0x28], rax
mov eax, dword [r11 + 8]
mov dword [rsp + 0x20], eax
call fcn.180001580
neg eax
sbb ebx, ebx
and ebx, 0xffff9fe1
add ebx, 0x63c5
jmp 0x180004785
and qword [rdi], 0
mov dword [rbp - 0x15], 0xf678
mov ebx, 0xf6bc
shr dword [rbp - 0x15], 2
shl dword [rbp - 0x15], 7
xor dword [rbp - 0x15], 0x1ecf00
mov eax, dword [rbp - 0x15]
mov dword [rdi + 8], eax
jmp 0x18000452d
mov dword [rbp - 0x21], 0xb918
mov eax, 0xb02c0b03
mov r9, r15
mov ecx, dword [rbp - 0x21]
mul ecx
shr edx, 6
mov dword [rbp - 0x21], edx
xor dword [rbp - 0x21], 0x9a8f1ae9
xor dword [rbp - 0x21], 0x3ef633cd
xor dword [rbp - 0x21], 0x967b6659
xor dword [rbp - 0x21], 0x32024e80
mov eax, dword [rbp - 0x21]
mov dword [rbp - 1], eax
mov dword [rbp - 0x29], 0x589f
mov eax, 0x2c9fb4d9
shr dword [rbp - 0x29], 9
add dword [rbp - 0x29], 0xffffa118
shr dword [rbp - 0x29], 8
xor dword [rbp - 0x29], 0xff52d7
mov dword [rbp - 0x1d], 0x1e96
mov ecx, dword [rbp - 0x1d]
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 6
mov dword [rbp - 0x1d], ecx
lea rcx, [rbp - 1]
xor dword [rbp - 0x1d], 0x6fc5384b
or dword [rbp - 0x1d], 0xa4b0d28
xor dword [rbp - 0x1d], 0x6fc3b2d0
mov dword [rbp - 0x25], 0xfedc
shr dword [rbp - 0x25], 8
xor dword [rbp - 0x25], 0x296279cb
shr dword [rbp - 0x25], 0xa
xor dword [rbp - 0x25], 0x3779c
mov eax, dword [rbp - 0x25]
mov r8d, dword [rbp - 0x1d]
mov edx, dword [rbp - 0x29]
mov dword [rsp + 0x20], eax
call fcn.180021f64
test eax, eax
jne 0x18000499d
mov ebx, 0xd145
jmp 0x180004785
mov dword [rbp - 0x25], 0xb15
mov ecx, 0xee43
shr dword [rbp - 0x25], 3
shr dword [rbp - 0x25], 0xb
add dword [rbp - 0x25], ecx
xor dword [rbp - 0x25], ecx
mov eax, dword [rbp - 0x25]
cmp dword [rbp - 1], eax
jbe 0x1800049c9
mov ebx, 0x7fb6
jmp 0x180004785
mov dword [rbp - 0x15], 0x1153
imul eax, dword [rbp - 0x15], 0x47
mov dword [rbp - 0x15], eax
xor dword [rbp - 0x15], 0x1ea59356
xor dword [rbp - 0x15], 0x1ea15d53
mov eax, dword [rbp - 0x15]
cmp dword [rbp - 1], eax
jne 0x1800049f7
mov dword [rdi + 8], r14d
mov r13d, 1
mov ebx, 0x63c5
jmp 0x180004785
mov dword [rbp - 0x1d], 0x72f1
mov r8, r15
or dword [rbp - 0x1d], 0x53da7d0f
imul eax, dword [rbp - 0x1d], 0x52
mov dword [rbp - 0x1d], eax
mov eax, 0xcf6474a9
add dword [rbp - 0x1d], 0xcba9
xor dword [rbp - 0x1d], 0xdbf2a744
mov dword [rbp - 0x25], 0x9823
mov ecx, dword [rbp - 0x25]
mul ecx
shr edx, 6
mov dword [rbp - 0x25], edx
shl dword [rbp - 0x25], 9
shr dword [rbp - 0x25], 5
xor dword [rbp - 0x25], 0x834a6
mov r9d, dword [rbp - 0x25]
mov edx, dword [rbp - 0x1d]
call fcn.1800228b4
neg eax
sbb ebx, ebx
and ebx, 0x948e
jmp 0x18000489b
mov eax, dword [rdi + 8]
sub eax, r14d
cmp eax, dword [rbp - 1]
jae 0x180004c73
mov dword [rbp - 0x25], 0x2727
mov eax, 0xf0f0f0f1
mov ecx, dword [rbp - 0x25]
mul ecx
shr edx, 6
mov dword [rbp - 0x25], edx
xor dword [rbp - 0x25], 0xfaeba7ce
or dword [rbp - 0x25], 0x8869ca5f
xor dword [rbp - 0x25], 0xfaebef5d
mov ebx, dword [rbp - 0x25]
imul ebx, dword [rdi + 8]
mov dword [rbp - 0x1d], 0x8532
imul eax, dword [rbp - 0x1d], 0x54
mov dword [rbp - 0x1d], eax
or dword [rbp - 0x1d], 0xf0beaaae
imul eax, dword [rbp - 0x1d], 0x7e
mov dword [rbp - 0x1d], eax
xor dword [rbp - 0x1d], 0x7e5b0db9
mov dword [rbp - 0x29], 0xb8e9
shr dword [rbp - 0x29], 0xc
or dword [rbp - 0x29], 0x1e8f35ac
add dword [rbp - 0x29], 0x90f7
xor dword [rbp - 0x29], 0xb73c0da2
xor dword [rbp - 0x29], 0xa9b35d7f
mov dword [rbp - 0x21], 0xa392
shl dword [rbp - 0x21], 8
imul eax, dword [rbp - 0x21], 0x67
mov dword [rbp - 0x21], eax
mov eax, 0x8421085
add dword [rbp - 0x21], 0xffff641e
or dword [rbp - 0x21], 0x73352a37
xor dword [rbp - 0x21], 0x73f0e1c3
mov dword [rbp - 0x25], 0x13ee
shr dword [rbp - 0x25], 4
mov ecx, dword [rbp - 0x25]
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 6
mov dword [rbp - 0x25], ecx
mov ecx, ebx
xor dword [rbp - 0x25], 0x571c374e
xor dword [rbp - 0x25], 0x571b196e
mov eax, dword [rbp - 0x25]
mov eax, dword [rbp - 0x21]
mov eax, dword [rbp - 0x29]
mov eax, dword [rbp - 0x1d]
call fcn.180027d94
mov rsi, rax
test rax, rax
jne 0x180004b7a
mov r10d, dword [rbp + 0x37]
mov r11, qword [rbp + 0x7f]
mov esi, dword [rbp + 0x77]
mov ebx, 0xd145
jmp 0x180004529
mov dword [rbp - 0x19], 0xc85b
mov r8, rsi
xor dword [rbp - 0x19], 0x6185c847
xor dword [rbp - 0x19], 0x61817d5d
mov dword [rbp - 0x25], 0x91ff
add dword [rbp - 0x25], 0xffff861d
or dword [rbp - 0x25], 0xa34df75c
shl dword [rbp - 0x25], 3
xor dword [rbp - 0x25], 0x1a6a7f32
mov eax, dword [rbp - 0x25]
mov edx, dword [rbp - 0x19]
mov ecx, dword [rdi + 8]
mov r9, qword [rdi]
mov dword [rsp + 0x20], eax
call fcn.180005860
mov dword [rbp - 0x29], 0x1773
mov eax, 0x38138139
xor dword [rbp - 0x29], 0xb7815a7d
add dword [rbp - 0x29], 0xc288
shr dword [rbp - 0x29], 0xb
mov ecx, dword [rbp - 0x29]
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 6
mov dword [rbp - 0x29], ecx
xor dword [rbp - 0x29], 0x408f0
mov dword [rbp - 0x25], 0x82f5
imul eax, dword [rbp - 0x25], 0x2a
mov dword [rbp - 0x25], eax
shl dword [rbp - 0x25], 2
xor dword [rbp - 0x25], 0x5b22ed
mov dword [rbp - 0x19], 0xf935
or dword [rbp - 0x19], 0xda19e51e
xor dword [rbp - 0x19], 0xda18e148
mov dword [rbp - 0x15], 0x43a4
xor dword [rbp - 0x15], 0x96524790
add dword [rbp - 0x15], 0xffffb73a
xor dword [rbp - 0x15], 0x965b4ee5
mov rax, qword [rdi]
mov r9d, dword [rbp - 0x15]
mov r8d, dword [rbp - 0x19]
mov edx, dword [rbp - 0x25]
mov ecx, dword [rbp - 0x29]
mov qword [rsp + 0x20], rax
call fcn.18001e120
mov r10d, dword [rbp + 0x37]
mov r11, qword [rbp + 0x7f]
mov qword [rdi], rsi
mov esi, dword [rbp + 0x77]
mov dword [rdi + 8], ebx
mov ebx, 0xa5bb
jmp 0x180004529
cmp ebx, 0xa5bb
je 0x18000537e
cmp ebx, 0xb2b4
je 0x18000522e
cmp ebx, 0xd145
je 0x18000518d
cmp ebx, 0xf6bc
je 0x1800050c5
cmp ebx, 0xf853
je 0x180004fdc
cmp ebx, 0xfbb1
je 0x180004d73
cmp ebx, 0xfdb2
jne 0x180005408
mov dword [rbp - 0x19], 0xa2c2
mov eax, 0x44d72045
mov r9, r8
add dword [rbp - 0x19], 0x3b8f
xor dword [rbp - 0x19], 0x9326
mov dword [rbp - 0x25], 0x5046
shl dword [rbp - 0x25], 0xf
mov ecx, dword [rbp - 0x25]
mul ecx
mov eax, 0x2f684bdb
shr edx, 5
mov dword [rbp - 0x25], edx
mov ecx, dword [rbp - 0x25]
mul ecx
mov eax, 0xa41a41a5
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
mov dword [rbp - 0x25], ecx
xor dword [rbp - 0x25], 0x873c2
mov dword [rbp - 0x29], 0xb53e
or dword [rbp - 0x29], 0x984f47fb
mov ecx, dword [rbp - 0x29]
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 5
mov dword [rbp - 0x29], ecx
xor dword [rbp - 0x29], 0x5427b38d
add dword [rbp - 0x29], 0x967b
xor dword [rbp - 0x29], 0x57c2cd7b
mov r8d, dword [rbp - 0x29]
mov edx, dword [rbp - 0x25]
mov ecx, dword [rbp - 0x19]
call fcn.18000b7a0
mov ebx, 0x2890
jmp 0x180004785
cmp esi, 1
jne 0x180004ddc
mov dword [rbp - 0x21], 0x1d2c
mov eax, 0x44d72045
xor dword [rbp - 0x21], 0x2ec3e2a3
shr dword [rbp - 0x21], 8
add dword [rbp - 0x21], 0xbb77
or dword [rbp - 0x21], 0xf306bd76
xor dword [rbp - 0x21], 0xf3232578
mov dword [rbp - 0x29], 0x96ee
or dword [rbp - 0x29], 0x974d0b59
shl dword [rbp - 0x29], 0xd
add dword [rbp - 0x29], 0xffff0327
mov ecx, dword [rbp - 0x29]
mul ecx
shr edx, 5
mov dword [rbp - 0x29], edx
xor dword [rbp - 0x29], 0x18fcd99
mov eax, dword [rbp - 0x29]
mov eax, dword [rbp - 0x21]
call fcn.180024ebc
jmp 0x180004df9
mov dword [rbp - 0x19], 0x152b
add dword [rbp - 0x19], 0xffff22a9
xor dword [rbp - 0x19], 0xfff87bf9
mov eax, dword [rbp - 0x19]
call fcn.180013e64
mov dword [rbp - 0x29], 0xdb39
mov rsi, rax
add dword [rbp - 0x29], 0xaba5
add dword [rbp - 0x29], 0xffffea8b
add dword [rbp - 0x29], 0xffff59e9
shl dword [rbp - 0x29], 6
xor dword [rbp - 0x29], 0x32d480
test byte [rbp + 0x37], 1
mov ecx, dword [rbp - 0x29]
je 0x180004e30
bts ecx, 0x17
mov dword [rbp - 0x21], 0x7bbb
bts ecx, 8
mov r9, rsi
mov eax, dword [rbp - 0x21]
mov dword [rsp + 0x58], ecx
shl eax, 6
mov dword [rbp - 0x21], eax
xor dword [rbp - 0x21], 0x13b528
mov dword [rbp - 0x29], 0xcc1a
imul eax, dword [rbp - 0x29], 0x1c
mov dword [rbp - 0x29], eax
add dword [rbp - 0x29], 0x7ed3
add dword [rbp - 0x29], 0xffff2e10
xor dword [rbp - 0x29], 0x1553a5
mov dword [rbp - 0x19], 0x5c89
add dword [rbp - 0x19], 0xffffb4c1
xor dword [rbp - 0x19], 0x7125e
mov dword [rbp - 0x1d], 0x71ec
imul eax, dword [rbp - 0x1d], 0x73
mov dword [rbp - 0x1d], eax
shl dword [rbp - 0x1d], 0xe
shl dword [rbp - 0x1d], 7
xor dword [rbp - 0x1d], 0xa085f8d5
mov dword [rbp - 0x15], 0xf10c
add dword [rbp - 0x15], 0xffffbf9a
shr dword [rbp - 0x15], 0xe
xor dword [rbp - 0x15], 0xb84f5
mov dword [rbp - 0x25], 0xdabf
add dword [rbp - 0x25], 0xffffa2cf
or dword [rbp - 0x25], 0xfef73fff
xor dword [rbp - 0x25], 0xfef1293f
mov eax, dword [rbp - 0x25]
mov dword [rsp + 0x50], eax
mov rax, qword [rbp + 0x9f]
mov qword [rsp + 0x48], rax
mov rax, qword [rbp - 9]
mov qword [rsp + 0x40], rax
mov eax, dword [rbp - 0x15]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x1d]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x19]
mov edx, dword [rbp - 0x29]
mov ecx, dword [rbp - 0x21]
mov dword [rsp + 0x20], eax
call fcn.180008ea8
mov dword [rbp - 0x21], 0x2f1b
mov r15, rax
neg rax
sbb ebx, ebx
or dword [rbp - 0x21], 0x7fffffff
xor dword [rbp - 0x21], 0x7ff97589
mov dword [rbp - 0x1d], 0xe1d4
and ebx, 0xffffb502
imul eax, dword [rbp - 0x1d], 0x4b
mov dword [rbp - 0x1d], eax
mov eax, 0x29e4129f
add ebx, 0xfdb2
add dword [rbp - 0x1d], 0xffff572c
add dword [rbp - 0x1d], 0x70c
xor dword [rbp - 0x1d], 0x41f511
mov dword [rbp - 0x29], 0x2c3
mov ecx, dword [rbp - 0x29]
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 6
mov dword [rbp - 0x29], ecx
shl dword [rbp - 0x29], 8
xor dword [rbp - 0x29], 0x29fe9250
shl dword [rbp - 0x29], 2
xor dword [rbp - 0x29], 0xa7f55874
mov dword [rbp - 0x25], 0xcbe7
or dword [rbp - 0x25], 0x50aca445
xor dword [rbp - 0x25], 0xf05963fc
imul eax, dword [rbp - 0x25], 0x23
mov dword [rbp - 0x25], eax
xor dword [rbp - 0x25], 0x1907785
mov eax, dword [rbp - 0x25]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbp - 0x29]
mov r8d, dword [rbp - 0x1d]
mov edx, dword [rbp - 0x21]
mov rcx, rsi
call fcn.180010e30
mov esi, dword [rbp + 0x77]
jmp 0x180005400
mov dword [rbp - 0x25], 0x853f
shl dword [rbp - 0x25], 0xb
add dword [rbp - 0x25], 0xffffb2b3
shr dword [rbp - 0x25], 6
xor dword [rbp - 0x25], 0xa6aa
mov eax, dword [rbp - 0x25]
mov dword [rdi + 8], eax
mov dword [rbp - 0x1d], 0xe078
add dword [rbp - 0x1d], 0xffff986d
add dword [rbp - 0x1d], 0xffffcb85
shr dword [rbp - 0x1d], 1
xor dword [rbp - 0x1d], 0xb8e6f
mov dword [rbp - 0x25], 0x57e9
shr dword [rbp - 0x25], 2
shr dword [rbp - 0x25], 9
imul eax, dword [rbp - 0x25], 0x47
mov dword [rbp - 0x25], eax
mov eax, 0x4104105
xor dword [rbp - 0x25], 0x25de1
mov dword [rbp - 0x29], 0x8c3f
add dword [rbp - 0x29], 0x5e72
or dword [rbp - 0x29], 0xe76df763
mov ecx, dword [rbp - 0x29]
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 6
mov dword [rbp - 0x29], ecx
xor dword [rbp - 0x29], 0x1ddc1fe
mov dword [rbp - 0x19], 0xbb1c
xor dword [rbp - 0x19], 0x34569d3e
xor dword [rbp - 0x19], 0x345baf4e
mov eax, dword [rbp - 0x19]
mov eax, dword [rbp - 0x29]
mov eax, dword [rbp - 0x25]
mov eax, dword [rbp - 0x1d]
mov ecx, dword [rdi + 8]
call fcn.180027d94
mov qword [rdi], rax
mov dword [rbp - 0x19], 0xbe46
add dword [rbp - 0x19], 0xffff2411
xor dword [rbp - 0x19], 0xffffe257
mov r14d, dword [rbp - 0x19]
mov rax, qword [rdi]
neg rax
sbb ebx, ebx
and ebx, 0xffffa00f
jmp 0x18000489b
mov dword [rbp - 0x19], 0x83df
mov eax, 0x8d3dcb09
or dword [rbp - 0x19], 0x2e43a2e1
xor dword [rbp - 0x19], 0x2e415705
mov dword [rbp - 0x21], 0xbeb0
mov ecx, dword [rbp - 0x21]
mul ecx
mov eax, 0x76b981db
shr edx, 5
mov dword [rbp - 0x21], edx
add dword [rbp - 0x21], 0x6e
add dword [rbp - 0x21], 0x9ab6
xor dword [rbp - 0x21], 0x859ef59b
xor dword [rbp - 0x21], 0x859a8915
mov dword [rbp - 0x15], 0x4c09
xor dword [rbp - 0x15], 0xf1aa230d
or dword [rbp - 0x15], 0x1010ec94
xor dword [rbp - 0x15], 0xf1b8d6db
mov dword [rbp - 0x29], 0x50fc
mov ecx, dword [rbp - 0x29]
mul ecx
shr edx, 5
mov dword [rbp - 0x29], edx
or dword [rbp - 0x29], 0x5b8aa73c
xor dword [rbp - 0x29], 0xfb3a254b
shr dword [rbp - 0x29], 0xe
xor dword [rbp - 0x29], 0xd1c76
mov eax, dword [rbp - 0x29]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x15]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x21]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x19]
mov dword [rsp + 0x20], eax
call fcn.180020e1c
mov r12, rax
test rax, rax
je 0x180005499
mov ebx, 0x6924
jmp 0x180004785
mov dword [rbp - 0x21], 0x955c
mov eax, 0x51eb851f
add dword [rbp - 0x21], 0xffff6059
mov ecx, dword [rbp - 0x21]
mul ecx
shr edx, 3
mov dword [rbp - 0x21], edx
add dword [rbp - 0x21], 0xdeab
shr dword [rbp - 0x21], 0xe
xor dword [rbp - 0x21], 0xa9eef
mov dword [rbp - 0x19], 0x16d5
shl dword [rbp - 0x19], 0xa
xor dword [rbp - 0x19], 0x56d543
mov dword [rbp - 0x29], 0x512f
add dword [rbp - 0x29], 0xffff15e4
or dword [rbp - 0x29], 0x6fd2575a
add dword [rbp - 0x29], 0xffff6b81
shr dword [rbp - 0x29], 0xa
xor dword [rbp - 0x29], 0x3d09bf
mov dword [rbp - 0x15], 0xf4aa
shr dword [rbp - 0x15], 1
add dword [rbp - 0x15], 0xffff1daa
xor dword [rbp - 0x15], 0xffffb5ac
mov rax, qword [rdi]
mov r9d, dword [rbp - 0x15]
mov r8d, dword [rbp - 0x29]
mov edx, dword [rbp - 0x19]
mov ecx, dword [rbp - 0x21]
mov qword [rsp + 0x20], rax
call fcn.18001e120
jmp 0x1800049f7
mov dword [rbp - 0xd], 0x94d7
mov eax, 0xba2e8ba3
or dword [rbp - 0xd], 0xb3b59e24
xor dword [rbp - 0xd], 0xb3b9e5e5
mov dword [rbp - 0x21], 0x89f2
shr dword [rbp - 0x21], 0xd
mov ecx, dword [rbp - 0x21]
mul ecx
mov eax, 0x3e0f83e1
shr edx, 4
mov dword [rbp - 0x21], edx
or dword [rbp - 0x21], 0xc3074a17
mov ecx, dword [rbp - 0x21]
mul ecx
shr edx, 4
mov dword [rbp - 0x21], edx
xor dword [rbp - 0x21], 0x2f7a5b8
mov dword [rbp - 0x15], 0x4aa3
shl dword [rbp - 0x15], 8
mov eax, dword [rbp - 0x15]
lea ecx, [rax + rax*4]
shl ecx, 3
mov dword [rbp - 0x15], ecx
xor dword [rbp - 0x15], 0xba20dba
mov dword [rbp - 0x25], 0x814c
imul eax, dword [rbp - 0x25], 0x53
mov dword [rbp - 0x25], eax
mov eax, 0xbacf914d
add dword [rbp - 0x25], 0xffff6fbe
or dword [rbp - 0x25], 0x377d8980
xor dword [rbp - 0x25], 0x377a5b1b
mov dword [rbp - 0x29], 0x8ecb
or dword [rbp - 0x29], 0xff9fa7ea
shr dword [rbp - 0x29], 1
add dword [rbp - 0x29], 0xffff81df
xor dword [rbp - 0x29], 0x7fcf7ec4
mov dword [rbp - 0x11], 0x2f2f
mov ecx, dword [rbp - 0x11]
mul ecx
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 6
mov dword [rbp - 0x11], ecx
mov rcx, r15
xor dword [rbp - 0x11], 0x27b3
mov dword [rbp - 0x19], 0x5477
mov eax, dword [rbp - 0x19]
shl eax, 2
mov dword [rbp - 0x19], eax
shr dword [rbp - 0x19], 0xb
xor dword [rbp - 0x19], 0x1d4ea
mov dword [rbp - 0x1d], 0x1a25
add dword [rbp - 0x1d], 0xffffc316
add dword [rbp - 0x1d], 0xffff3dd0
add dword [rbp - 0x1d], 0x259d
xor dword [rbp - 0x1d], 0xfffe9468
mov eax, dword [rbp - 0x25]
mov dword [rsp + 0x40], eax
mov eax, dword [rbp - 0x29]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x15]
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x19]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x21]
mov r9d, dword [rbp - 0xd]
mov r8d, dword [rbp - 0x11]
mov edx, dword [rbp - 0x1d]
mov dword [rsp + 0x20], eax
call fcn.18002611c
mov ebx, 0x7553
jmp 0x180004785
mov dword [rbp - 0x19], 0x4ffd
mov ecx, r14d
lea r9, [rbp - 1]
shr dword [rbp - 0x19], 5
mov rdx, r15
shl dword [rbp - 0x19], 9
xor dword [rbp - 0x19], 0x3270f
mov dword [rbp - 0xd], 0xb982
add dword [rbp - 0xd], 0xc40d
xor dword [rbp - 0xd], 0xfc7b8
mov dword [rbp - 0x11], 0xf1fc
shr dword [rbp - 0x11], 0xb
xor dword [rbp - 0x11], 0x18acb
mov eax, dword [rdi + 8]
add rcx, qword [rdi]
sub eax, r14d
mov dword [rsp + 0x30], eax
mov eax, dword [rbp - 0x11]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0xd]
mov r8d, dword [rbp - 0x19]
mov dword [rsp + 0x20], eax
call fcn.18002786c
test eax, eax
je 0x1800053fb
add r14d, dword [rbp - 1]
mov ebx, 0x3d4
jmp 0x180004785
mov ebx, 0xd145
mov r11, qword [rbp + 0x7f]
mov r10d, dword [rbp + 0x37]
cmp ebx, 0xf8eb
je 0x180005499
jmp 0x180004529
mov dword [rbp - 0x29], 0xef0c
mov eax, 0x7a44c6b
mov r9, r12
add dword [rbp - 0x29], 0xffffa967
mov ecx, dword [rbp - 0x29]
mul ecx
shr edx, 1
mov dword [rbp - 0x29], edx
xor dword [rbp - 0x29], 0x68dc5743
imul eax, dword [rbp - 0x29], 0x29
mov dword [rbp - 0x29], eax
xor dword [rbp - 0x29], 0xcb40ad61
mov dword [rbp - 0x25], 0x45cd
imul eax, dword [rbp - 0x25], 0x66
mov dword [rbp - 0x25], eax
add dword [rbp - 0x25], 0xffff5c32
add dword [rbp - 0x25], 0xffffb35f
xor dword [rbp - 0x25], 0x1025e4
mov dword [rbp - 0x19], 0x7516
shl dword [rbp - 0x19], 5
xor dword [rbp - 0x19], 0x62138f2
xor dword [rbp - 0x19], 0x62f5d05
mov r8d, dword [rbp - 0x19]
mov edx, dword [rbp - 0x25]
mov ecx, dword [rbp - 0x29]
call fcn.18000b7a0
lea r11, [rsp + 0xb0]
mov eax, r13d
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret