Function at 0x140016f50
Capabilities:
Authenticate hmac

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x78], rdx
mov rdi, rcx
mov rax, qword [0x140229ab8]
xor rax, rbp
mov qword [rbp + 0x40], rax
mov eax, dword [0x140229e58]
mov ecx, dword [0x140229e5c]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete byte [rbp + 0x3b]
cmp ecx, 0xa
setl byte [rbp + 0x3a]
mov dword [rbp + 0x3c], 0xf3a8f9af
xor r12d, r12d
mov r14d, 0x6902c19c
mov r15d, 0x8b949fcd
mov r13d, 0x4940b87
mov eax, dword [rbp + 0x3c]
cmp eax, 0x3927a80
jle 0x140017031
cmp eax, 0x420fe1ca
jle 0x1400170a0
cmp eax, 0x5c801daf
jg 0x140017170
cmp eax, 0x4ba9bdcd
jle 0x1400172b8
cmp eax, 0x55544bdd
jle 0x1400174e8
cmp eax, 0x5806f6be
jg 0x140017911
cmp eax, 0x55544bde
je 0x140017a71
cmp eax, 0x5595e9bd
jne 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xaca43817
mov edx, 0x2a0608ce
jmp 0x14001833f
cmp eax, 0xc1d05662
jle 0x14001710c
cmp eax, 0xdc1a7afd
jg 0x1400171c9
cmp eax, 0xd0564967
jle 0x1400172f0
cmp eax, 0xd432941a
jle 0x14001752a
cmp eax, 0xd67b0bef
jg 0x140017949
cmp eax, 0xd432941b
je 0x140017a7d
cmp eax, 0xd5464d93
jne 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x91609624
mov edx, 0x29ae3151
jmp 0x14001833f
cmp eax, 0x1df8ae6d
jg 0x14001720c
cmp eax, 0x14464d36
jle 0x14001733e
cmp eax, 0x1ba6a5fd
jle 0x14001756d
cmp eax, 0x1c923d11
jg 0x140017981
cmp eax, 0x1ba6a5fe
je 0x140017a9f
cmp eax, 0x1c0cb489
jne 0x140016fbc
mov rax, qword [rbp + 0x28]
mov rax, qword [rbp - 8]
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xa48a0cc2
mov edx, 0xf30cabf1
jmp 0x14001833f
cmp eax, 0x99aafcfd
jle 0x140017271
cmp eax, 0xab8c5b32
jle 0x140017394
cmp eax, 0xb1133892
jle 0x1400175b0
cmp eax, 0xb5e96be2
jg 0x1400179a3
cmp eax, 0xb1133893
je 0x140017ac1
cmp eax, 0xb380f10b
jne 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xe2f7ae09
mov edx, 0xcd7c7d10
jmp 0x14001833f
cmp eax, 0x6b38e8ec
jle 0x1400173d4
cmp eax, 0x7791e307
jle 0x1400175dd
cmp eax, 0x78dc2690
jg 0x1400179da
cmp eax, 0x7791e308
je 0x140017ae3
cmp eax, 0x77ec79c3
jne 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x23db2a23
mov edx, 0x6513635a
jmp 0x14001833f
cmp eax, 0xe5ec45a9
jle 0x140017422
cmp eax, 0xeb91106d
jle 0x14001760e
cmp eax, 0xf3a8f9ae
jg 0x140017a1e
cmp eax, 0xeb91106e
je 0x140017af7
cmp eax, 0xf30cabf1
jne 0x140016fbc
mov dword [rbp + 0x3c], 0x4940b87
jmp 0x140016fbc
cmp eax, 0x2a0608cd
jg 0x14001745a
cmp eax, 0x275b6998
jg 0x140017651
cmp eax, 0x23db2a22
jle 0x140017a56
cmp eax, 0x23db2a23
je 0x140017b24
cmp eax, 0x26fe81b0
jne 0x140016fbc
mov rax, qword [rbp + 0x28]
cmp rax, qword [rbp - 8]
sete byte [rbp + 0x36]
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x275b6999
mov edx, 0x53667b8c
jmp 0x14001833f
cmp eax, 0x8b949fcc
jg 0x14001749a
cmp eax, 0x861a5b88
jg 0x140017694
cmp eax, 0x80772a34
je 0x140017b30
cmp eax, 0x80e47639
je 0x140017b52
cmp eax, 0x81a6fb59
jne 0x140016fbc
mov rax, qword [rbp - 0x10]
mov dword [rbp + 0x3c], 0xc1d05663
jmp 0x140016fbc
cmp eax, 0x43de8bdc
jg 0x1400176d7
cmp eax, 0x420fe1cb
je 0x140017b7c
cmp eax, 0x4287c975
je 0x140017c5c
cmp eax, 0x42eae677
jne 0x140016fbc
mov dword [rbp + 0x3c], 0xab8c5b33
jmp 0x140016fbc
cmp eax, 0xca073ce3
jg 0x140017715
cmp eax, 0xc1d05663
je 0x140017c68
cmp eax, 0xc3c86d6f
je 0x140017ca1
cmp eax, 0xc603494a
jne 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xdc1a7afe
mov edx, 0xa1fe2cb8
jmp 0x14001833f
cmp eax, 0x691a19b
jg 0x140017758
cmp eax, 0x3927a81
je 0x140017cb1
cmp eax, 0x4940b87
je 0x140017cd3
cmp eax, 0x587cfd4
jne 0x140016fbc
mov rax, qword [rbp + 0x28]
mov rax, qword [rbp + 0x10]
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x7791e308
mov edx, 0x6c3d01d5
jmp 0x14001833f
cmp eax, 0xa532635e
jg 0x14001778d
cmp eax, 0x99aafcfe
je 0x140017cf5
cmp eax, 0xa1fe2cb8
je 0x140017d17
cmp eax, 0xa48a0cc2
jne 0x140016fbc
mov rax, qword [rbp + 0x28]
mov rax, qword [rbp - 8]
mov dword [rbp + 0x3c], 0x1c0cb489
jmp 0x140016fbc
cmp eax, 0x6902c19b
jg 0x14001783f
cmp eax, 0x5c801db0
je 0x140017d5e
cmp eax, 0x5ece1566
je 0x140017d6e
cmp eax, 0x6513635a
jne 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x23db2a23
mov edx, 0x8923517c
jmp 0x14001833f
cmp eax, 0xe073a174
jg 0x14001786c
cmp eax, 0xdc1a7afe
je 0x140017d90
cmp eax, 0xddc5b383
je 0x140017db2
cmp eax, 0xe037cbda
jne 0x140016fbc
mov dword [rbp + 0x3c], 0x5b7357da
jmp 0x140016fbc
cmp eax, 0x2fd14688
jg 0x140017899
cmp eax, 0x2a0608ce
je 0x140017dd4
cmp eax, 0x2b61b975
je 0x140017df6
cmp eax, 0x2e2302d5
jne 0x140016fbc
mov dword [rbp + 0x3c], 0x296f7758
mov rax, qword [rbp + 0x20]
mov qword [rbp - 0x48], rax
jmp 0x140016fbc
cmp eax, 0x91609623
jg 0x1400178ce
cmp eax, 0x8b949fcd
je 0x140017e77
cmp eax, 0x8e5f869e
je 0x140017e99
cmp eax, 0x8f5f696f
jne 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xd0564968
mov edx, 0x153a3c4c
jmp 0x14001833f
cmp eax, 0x4ba9bdce
je 0x140017e1a
cmp eax, 0x53667b8c
je 0x140017eca
cmp eax, 0x543a3a99
jne 0x140016fbc
cmp byte [rbp + 0x39], 0
mov eax, 0xa532635f
mov ecx, 0x78dc2691
cmovne eax, ecx
mov dword [rbp + 0x3c], eax
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp - 0x60]
jmp 0x140018013
cmp eax, 0xd0564968
je 0x140017eec
cmp eax, 0xd13f5692
je 0x140017efc
cmp eax, 0xd290a8f5
jne 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x14e6d6a4
mov edx, 0x543a3a99
jmp 0x14001833f
cmp eax, 0x14464d37
je 0x140017f1e
cmp eax, 0x14e6d6a4
je 0x140017f2a
cmp eax, 0x153a3c4c
jne 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x4287c975
mov edx, 0xb1133893
jmp 0x14001833f
cmp eax, 0xab8c5b33
je 0x140017f36
cmp eax, 0xaca43817
je 0x140017f58
cmp eax, 0xad5e6f93
jne 0x140016fbc
mov dword [rbp + 0x3c], 0xe2c07133
jmp 0x140016fbc
cmp eax, 0x6b38e8ed
je 0x140017f64
cmp eax, 0x6c3d01d5
je 0x140017f86
cmp eax, 0x76b4881b
jne 0x140016fbc
mov rax, qword [rbp - 0x10]
mov dword [rbp + 0x3c], 0x9407993d
jmp 0x140016fbc
cmp eax, 0xe5ec45aa
je 0x140017f92
cmp eax, 0xe7a21cf6
je 0x140017f9e
cmp eax, 0xe878ec5a
jne 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x14e6d6a4
mov edx, 0xd290a8f5
jmp 0x14001833f
cmp eax, 0x275b6999
je 0x140017fe3
cmp eax, 0x296f7758
je 0x140017e4d
cmp eax, 0x29ae3151
jne 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x91609624
mov edx, 0x2fd14689
jmp 0x14001833f
cmp eax, 0x861a5b89
je 0x1400182b5
cmp eax, 0x8923517c
je 0x140017ff7
cmp eax, 0x8a746edd
jne 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xe563d52
mov edx, 0xd13f5692
jmp 0x14001833f
cmp eax, 0x43de8bdd
je 0x140018020
cmp eax, 0x46e0655d
je 0x14001802c
cmp eax, 0x4acd5b5d
jne 0x140016fbc
cmp byte [rbp + 0x36], 0
mov eax, 0x80e47639
mov ecx, 0x1df8ae6e
cmovne eax, ecx
mov dword [rbp + 0x3c], eax
mov rax, qword [rbp - 8]
jmp 0x140018368
cmp eax, 0xca073ce4
je 0x1400180d3
cmp eax, 0xcd7c7d10
je 0x1400180f5
cmp eax, 0xcf5aebd0
jne 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xd0564968
mov edx, 0x80772a34
jmp 0x14001833f
cmp eax, 0x691a19c
je 0x140018117
cmp eax, 0xe563d52
je 0x140018139
cmp eax, 0x13547a57
jne 0x140016fbc
mov rax, qword [rbp]
mov rax, qword [rbp + 0x28]
mov dword [rbp + 0x3c], 0x8e5f869e
jmp 0x140016fbc
cmp eax, 0xa532635f
je 0x140018145
cmp eax, 0xa950df55
je 0x14001816f
cmp eax, 0xaaef6a27
jne 0x140016fbc
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rdx, qword [rdi + 0x10]
mov rbx, qword [rdi + 0x18]
mov rax, qword [0x140213220]
mov rsi, qword [0x140213228]
shrd rsi, rax, 0x16
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r12
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r12
movabs rax, 0xafaad7dc306f5bd8
xor rsi, rax
mov rcx, rdi
cmp rbx, rsi
jbe 0x140017814
mov rcx, qword [rdi]
lea rdx, [rcx + rdx*2]
mov rbx, qword [0x140213240]
mov rax, 0xffffffff8dfe9e40
add rbx, rax
sub rsp, 0x20
call rbx
add rsp, 0x20
mov dword [rbp + 0x3c], 0x46e0655d
jmp 0x140016fbc
cmp eax, 0x6902c19c
je 0x140018183
cmp eax, 0x69f04428
je 0x1400181a5
cmp eax, 0x6aca8c65
jne 0x140016fbc
mov dword [rbp + 0x3c], 0xd9aade74
jmp 0x140016fbc
cmp eax, 0xe073a175
je 0x1400181c7
cmp eax, 0xe2c07133
je 0x1400181db
cmp eax, 0xe2f7ae09
jne 0x140016fbc
mov dword [rbp + 0x3c], 0xcd7c7d10
jmp 0x140016fbc
cmp eax, 0x2fd14689
je 0x1400181fd
cmp eax, 0x32ee649b
je 0x14001821f
cmp eax, 0x3cdf743e
jne 0x140016fbc
mov rax, qword [rbp + 0x18]
mov rax, qword [rbp + 0x20]
mov dword [rbp + 0x3c], 0x1c923d12
jmp 0x140016fbc
cmp eax, 0x91609624
je 0x140018249
cmp eax, 0x9407993d
je 0x140018255
cmp eax, 0x966f26fe
jne 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x99aafcfe
mov edx, 0xb5e96be3
jmp 0x14001833f
cmp eax, 0x5806f6bf
je 0x14001827b
cmp eax, 0x5b7357da
jne 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x81a6fb59
mov edx, 0xc1d05663
jmp 0x14001833f
cmp eax, 0xd67b0bf0
je 0x14001829d
cmp eax, 0xd9aade74
jne 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x6aca8c65
mov edx, 0x2e2302d5
jmp 0x14001833f
cmp eax, 0x1c923d12
je 0x140018307
cmp eax, 0x1ceeace4
jne 0x140016fbc
mov dword [rbp + 0x3c], 0x5806f6bf
jmp 0x140016fbc
cmp eax, 0xb5e96be3
je 0x140018350
cmp eax, 0xbeef4b28
jne 0x140016fbc
cmp byte [rbp + 0x37], 0
mov eax, 0xd5464d93
mov ecx, 0x4ba9bdce
cmovne eax, ecx
mov dword [rbp + 0x3c], eax
mov rax, qword [rbp + 0x28]
mov qword [rbp - 0x40], rax
jmp 0x140016fbc
cmp eax, 0x78dc2691
je 0x1400182e0
cmp eax, 0x79c55436
jne 0x140016fbc
mov rax, qword [rbp + 0x28]
cmp rax, qword [rbp + 0x10]
sete byte [rbp + 0x37]
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x1ba6a5fe
mov edx, 0xbeef4b28
jmp 0x14001833f
cmp eax, 0xf3a8f9af
je 0x140018379
cmp eax, 0xfe61f111
jne 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xe073a175
mov edx, 0x77ec79c3
jmp 0x14001833f
cmp eax, 0x20b7f2a9
je 0x140017d33
cmp eax, 0x1df8ae6e
je 0x14001839a
jmp 0x140016fbc
mov dword [rbp + 0x3c], 0x420fe1cb
jmp 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xe5ec45aa
mov edx, 0x3927a81
jmp 0x14001833f
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x7791e308
mov edx, 0x587cfd4
jmp 0x14001833f
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x4287c975
mov edx, 0xd67b0bf0
jmp 0x14001833f
mov rax, qword [rbp + 0x28]
mov rax, qword [rbp + 0x10]
mov dword [rbp + 0x3c], 0x587cfd4
jmp 0x140016fbc
mov rax, qword [rbp + 0x18]
mov ecx, dword [0x140229e58]
lea edx, [rcx - 1]
imul edx, ecx
movzx eax, word [rax]
cmp dword [0x140229e5c], 0xa
mov word [rbp + 0xe], ax
mov eax, 0x5c801db0
mov ecx, 0x8f5f696f
jmp 0x140017fd2
mov dword [rbp + 0x3c], 0x6513635a
jmp 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x5c801db0
mov edx, 0xeb91106e
jmp 0x14001833f
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
mov rax, qword [rbp - 0x38]
cmp dword [0x140229e5c], 0xa
mov qword [rbp - 0x10], rax
mov eax, 0x1ceeace4
mov edx, 0x5806f6bf
jmp 0x14001833f
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x58], rax
mov rax, qword [rbp - 0x58]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
mov rax, qword [0x140213220]
mov rbx, qword [0x140213228]
shrd rbx, rax, 0x16
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r12
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r12
movabs rax, 0xafaad7dc306f5bd8
xor rbx, rax
mov rax, rdi
cmp rdx, rbx
jbe 0x140017bf5
mov rax, qword [rdi]
mov qword [rbp - 0x20], rax
add rcx, rcx
add rcx, qword [rbp - 0x20]
mov qword [rbp + 0x20], rcx
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp + 0x20]
mov rbx, qword [0x140213240]
mov rax, 0xffffffff8dfe9e40
add rbx, rax
sub rsp, 0x20
call rbx
add rsp, 0x20
mov qword [rbp - 0x60], rax
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp - 0x60]
cmp rcx, rax
sete byte [rbp + 0x39]
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x69f04428
mov edx, 0xe878ec5a
jmp 0x14001833f
mov dword [rbp + 0x3c], 0xb1133893
jmp 0x140016fbc
mov rax, qword [rbp - 0x10]
add rax, 0xfffffffffffffffe
mov qword [rbp], rax
mov rax, qword [rbp]
mov ecx, dword [0x140229e58]
lea edx, [rcx - 1]
imul edx, ecx
movzx eax, word [rax]
cmp dword [0x140229e5c], 0xa
mov word [rbp + 0xa], ax
mov eax, 0x81a6fb59
mov ecx, 0xc603494a
jmp 0x140017fd2
mov rax, qword [rbp + 0x10]
mov dword [rbp + 0x3c], 0xe7a21cf6
jmp 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xe5ec45aa
mov edx, 0x4acd5b5d
jmp 0x14001833f
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x275b6999
mov edx, 0x26fe81b0
jmp 0x14001833f
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xa950df55
mov edx, 0x32ee649b
jmp 0x14001833f
movzx eax, word [rbp + 0xa]
mov rcx, qword [rbp - 0x10]
mov qword [rbp - 0x28], rcx
cmp ax, 0x5c
je 0x140017d33
cmp ax, 0x2f
jne 0x14001839a
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x14464d37
cmovl eax, r15d
test cl, 1
cmove eax, r15d
mov dword [rbp + 0x3c], eax
jmp 0x140016fbc
mov rax, qword [rbp + 0x18]
mov dword [rbp + 0x3c], 0xeb91106e
jmp 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xdc1a7afe
mov edx, 0x5b7357da
jmp 0x14001833f
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x76b4881b
mov edx, 0x9407993d
jmp 0x14001833f
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xe073a175
mov edx, 0x6b38e8ed
jmp 0x14001833f
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x1ba6a5fe
mov edx, 0x79c55436
jmp 0x14001833f
mov rcx, qword [rbp - 0x70]
movzx eax, word [rbp + 0xc]
mov qword [rbp - 0x48], rcx
mov rcx, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x10]
mov qword [rbp - 0x40], rcx
cmp ax, 0x5c
je 0x140017e1a
cmp ax, 0x2f
jne 0x140017e4d
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
mov rax, qword [rbp - 0x40]
cmp dword [0x140229e5c], 0xa
mov qword [rbp - 8], rax
mov eax, 0xca073ce4
cmovl eax, r13d
test cl, 1
cmove eax, r13d
mov dword [rbp + 0x3c], eax
jmp 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
mov rax, qword [rbp - 0x48]
cmp dword [0x140229e5c], 0xa
mov qword [rbp + 0x10], rax
mov eax, 0xaca43817
mov edx, 0x5595e9bd
jmp 0x14001833f
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x14464d37
mov edx, 0x691a19c
jmp 0x14001833f
mov rax, qword [rbp]
mov rcx, qword [rbp + 0x28]
cmp rcx, rax
sete byte [rbp + 0x35]
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x13547a57
mov edx, 0x966f26fe
jmp 0x14001833f
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xca073ce4
mov edx, 0xd432941b
jmp 0x14001833f
mov rax, qword [rbp + 0x18]
mov dword [rbp + 0x3c], 0x80772a34
jmp 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x69f04428
mov edx, 0x420fe1cb
jmp 0x14001833f
mov dword [rbp + 0x3c], 0x8b949fcd
jmp 0x140016fbc
mov dword [rbp + 0x3c], 0xd290a8f5
jmp 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x13547a57
mov edx, 0x8e5f869e
jmp 0x14001833f
mov dword [rbp + 0x3c], 0x5595e9bd
jmp 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x3cdf743e
mov edx, 0x1c923d12
jmp 0x14001833f
mov dword [rbp + 0x3c], 0x79c55436
jmp 0x140016fbc
mov dword [rbp + 0x3c], 0x3927a81
jmp 0x140016fbc
mov rax, qword [rbp + 0x10]
add rax, 0xfffffffffffffffe
mov qword [rbp - 0x70], rax
mov rax, qword [rbp - 0x70]
mov ecx, dword [0x140229e58]
lea edx, [rcx - 1]
imul edx, ecx
movzx eax, word [rax]
cmp dword [0x140229e5c], 0xa
mov word [rbp + 0xc], ax
mov eax, 0xc3c86d6f
mov ecx, 0xb380f10b
cmovl eax, ecx
test dl, 1
cmove eax, ecx
mov dword [rbp + 0x3c], eax
jmp 0x140016fbc
mov rax, qword [rbp + 0x28]
mov rax, qword [rbp - 8]
mov dword [rbp + 0x3c], 0x26fe81b0
jmp 0x140016fbc
cmp byte [rbp + 0x38], 0
mov eax, 0xa532635f
mov ecx, 0x78dc2691
cmovne eax, ecx
mov dword [rbp + 0x3c], eax
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp - 0x68]
mov qword [rbp - 0x50], rcx
mov qword [rbp - 0x30], rax
jmp 0x140016fbc
mov dword [rbp + 0x3c], 0x6902c19c
jmp 0x140016fbc
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rdx, qword [rdi + 0x10]
mov rbx, qword [rdi + 0x18]
mov rax, qword [0x140213220]
mov rsi, qword [0x140213228]
shrd rsi, rax, 0x16
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r12
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], r12
movabs rax, 0xafaad7dc306f5bd8
xor rsi, rax
mov rcx, rdi
cmp rbx, rsi
jbe 0x140018092
mov rcx, qword [rdi]
lea rdx, [rcx + rdx*2]
mov rbx, qword [0x140213240]
mov rax, 0xffffffff8dfe9e40
add rbx, rax
sub rsp, 0x20
call rbx
add rsp, 0x20
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xaaef6a27
mov edx, 0x55544bde
jmp 0x14001833f
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xa48a0cc2
mov edx, 0x1c0cb489
jmp 0x14001833f
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xe2f7ae09
mov edx, 0x2b61b975
jmp 0x14001833f
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x99aafcfe
mov edx, 0xab8c5b33
jmp 0x14001833f
mov dword [rbp + 0x3c], 0x8a746edd
jmp 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
mov rax, qword [rbp - 0x50]
cmp dword [0x140229e5c], 0xa
mov qword [rbp + 0x18], rax
mov eax, 0xad5e6f93
mov edx, 0xe2c07133
jmp 0x14001833f
mov rax, qword [rbp]
mov rax, qword [rbp + 0x28]
mov dword [rbp + 0x3c], 0x32ee649b
jmp 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x43de8bdd
mov edx, 0xddc5b383
jmp 0x14001833f
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xaaef6a27
mov edx, 0x46e0655d
jmp 0x14001833f
mov rax, qword [rbp + 0x18]
mov rax, qword [rbp + 0x20]
mov dword [rbp + 0x3c], 0x6b38e8ed
jmp 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xad5e6f93
mov edx, 0xcf5aebd0
jmp 0x14001833f
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xc3c86d6f
mov edx, 0xe7a21cf6
jmp 0x14001833f
mov rax, qword [rbp]
mov rax, qword [rbp + 0x28]
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0xa950df55
mov edx, 0x42eae677
jmp 0x14001833f
mov dword [rbp + 0x3c], 0x29ae3151
jmp 0x140016fbc
mov rax, qword [rbp - 0x10]
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x76b4881b
mov edx, 0xe037cbda
jmp 0x14001833f
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x1ceeace4
mov edx, 0x5ece1566
jmp 0x14001833f
movzx eax, word [rbp + 0xe]
mov rcx, qword [rbp + 0x18]
mov qword [rbp - 0x30], rcx
cmp ax, 0x5c
je 0x1400182b5
cmp ax, 0x2f
jne 0x1400182e0
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x43de8bdd
cmovl eax, r14d
test cl, 1
cmove eax, r14d
mov dword [rbp + 0x3c], eax
jmp 0x140016fbc
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
mov rax, qword [rbp - 0x30]
cmp dword [0x140229e5c], 0xa
mov qword [rbp + 0x28], rax
mov eax, 0x6aca8c65
mov edx, 0xd9aade74
jmp 0x14001833f
mov rax, qword [rbp + 0x18]
add rax, 2
mov qword [rbp - 0x68], rax
mov rax, qword [rbp + 0x20]
mov rcx, qword [rbp - 0x68]
cmp rcx, rax
sete byte [rbp + 0x38]
mov eax, dword [0x140229e58]
lea ecx, [rax - 1]
imul ecx, eax
cmp dword [0x140229e5c], 0xa
mov eax, 0x3cdf743e
mov edx, 0xfe61f111
cmovl eax, edx
test cl, 1
cmove eax, edx
mov dword [rbp + 0x3c], eax
jmp 0x140016fbc
cmp byte [rbp + 0x35], 0
mov eax, 0x80e47639
mov ecx, 0x1df8ae6e
cmovne eax, ecx
mov dword [rbp + 0x3c], eax
mov rax, qword [rbp]
mov qword [rbp - 0x38], rax
mov rax, qword [rbp + 0x28]
mov qword [rbp - 0x28], rax
jmp 0x140016fbc
mov al, byte [rbp + 0x3b]
cmp byte [rbp + 0x3a], 0
mov ecx, 0xe563d52
mov edx, 0x8a746edd
cmovne ecx, edx
test al, al
cmovne ecx, edx
mov dword [rbp + 0x3c], ecx
jmp 0x140016fbc
mov rcx, qword [rbp - 0x28]
mov rdi, qword [rbp - 0x20]
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
xor ebx, ebx
mov qword [rax], rbx
mov rax, rcx
not rax
and rax, rdi
lea rdx, [rax + rcx*2]
sub rdx, rdi
or rcx, rdi
sub rdx, rcx
mov rdi, qword [0x140213230]
mov rcx, qword [0x140213238]
mov rsi, rcx
shr rsi, 0x24
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rbx
shld rdi, rcx, 0x1c
sub edi, esi
not rsi
sub edi, esi
sub edi, esi
lea ecx, [rdi + rsi]
add edi, esi
dec edi
mov eax, 0x10
call fcn.1401e7180
sub rsp, rax
mov rax, rsp
mov qword [rax], rbx
neg ecx
mov eax, edi
xor eax, 0xa4cfd6c9
sub eax, edi
mov ebx, ecx
and ebx, 0x36
lea ebx, [rbx + rbx*2]
sub eax, ebx
xor edi, 0x5b302936
lea eax, [rax + rdi*2]
or ecx, 0x36
add ecx, eax
add cl, 0x37
sar rdx, cl
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
mov qword [rax], rcx
mov rax, qword [rbp - 0x18]
mov qword [rax + 8], rdx
mov rdx, qword [rbp - 0x18]
mov rax, 0xffffffff8dfe9e40
add rax, qword [0x140213248]
sub rsp, 0x20
mov rsi, qword [rbp - 0x78]
mov rcx, rsi
call rax
add rsp, 0x20
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp + 0x40]
xor rcx, rbp
sub rsp, 0x20
call fcn.1401e71e0
add rsp, 0x20
mov rax, rsi
lea rsp, [rbp + 0x48]
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret