Function at 0x14008f8b0
Capabilities:
Authenticate hmac

Disassembly:
push rbp
push rsi
sub rsp, 0x378
lea rbp, [rsp + 0x80]
mov byte [rbp + 0x17f], r9b
mov qword [rbp + 0x180], r8
mov qword [rbp + 0x1e8], rdx
mov qword [rbp + 0x1c8], rcx
mov eax, 0x10
mov qword [rbp + 0x1b0], rax
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x1b0]
mov rcx, rsp
mov qword [rbp + 0x1d0], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x1b0]
mov rcx, rsp
mov qword [rbp + 0x188], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x1b0]
mov rcx, rsp
mov qword [rbp + 0x190], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x1b0]
mov rcx, rsp
mov qword [rbp + 0x198], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x1b0]
mov rcx, rsp
mov qword [rbp + 0x1a0], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x1b0]
mov rcx, rsp
mov qword [rbp + 0x1a8], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp + 0x1b0]
mov rcx, rsp
mov qword [rbp + 0x1b8], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x1c0], rax
sub rsp, 0x20
call fcn.14008ee82
mov rcx, qword [rbp + 0x1c8]
mov rdx, qword [rbp + 0x1d0]
add rsp, 0x20
mov qword [rbp + 0x1d8], rax
movabs rax, 0xa0e1ee3006c19797
movabs r8, 0xa0e1ee3006c19797
xor rax, r8
mov qword [rbp + 0x2e8], rax
lea rax, [rbp + 0x2e8]
add rax, 8
mov qword [rbp + 0x1e0], rax
mov qword [rbp + 0x2f0], 0
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x2e8]
sub rsp, 0x20
call fcn.140018a3d
mov rdx, qword [rbp + 0x1e8]
add rsp, 0x20
cmp qword [rdx], 0
je 0x14008fa3f
jmp 0x14008ffcb
lea rcx, [rbp + 0x2b0]
mov edx, 0x20
sub rsp, 0x20
call fcn.14008ee9d
add rsp, 0x20
mov qword [rbp + 0x2a0], 0
lea rax, [rbp + 0x2a0]
add rax, 8
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x2a8], 0
mov rax, qword [rbp + 0x2e8]
mov qword [rbp + 0x290], rax
mov rax, qword [rbp + 0x2f0]
mov qword [rbp + 0x298], rax
lea rcx, [rbp + 0x290]
lea rdx, [rbp + 0x2b0]
sub rsp, 0x20
call fcn.1400882e0
mov rdx, qword [rbp + 0x1d8]
add rsp, 0x20
mov cl, 1
xor eax, eax
cmp byte [rdx], 0
mov byte [rbp + 0x16f], cl
mov qword [rbp + 0x170], rax
jne 0x14008fea4
mov rax, qword [rbp + 0x2b0]
mov qword [rbp + 0x138], rax
mov rax, qword [rbp + 0x2b8]
mov qword [rbp + 0x140], rax
lea rcx, [rbp + 0x2b0]
sub rsp, 0x20
call fcn.140010107
add rsp, 0x20
lea rcx, [rbp + 0x2b0]
add rcx, 0x10
mov rax, qword [rbp + 0x2c0]
mov qword [rbp + 0x2a0], rax
mov rax, qword [rbp + 0x2c8]
mov qword [rbp + 0x2a8], rax
sub rsp, 0x20
call fcn.140010107
mov rdx, qword [rbp + 0x188]
add rsp, 0x20
mov rax, qword [rbp + 0x2a0]
mov qword [rdx], rax
mov rax, qword [rbp + 0x2a8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x2e8]
sub rsp, 0x20
call fcn.140013ddc
add rsp, 0x20
lea rcx, [rbp + 0x2a0]
sub rsp, 0x20
call fcn.140010107
mov rdx, qword [rbp + 0x138]
mov rcx, qword [rbp + 0x1e8]
call fcn.140019cc0
mov r8, qword [rbp + 0x138]
mov rax, qword [rbp + 0x140]
mov rdx, qword [rbp + 0x190]
mov rcx, qword [rbp + 0x1e8]
add rsp, 0x20
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140091200
mov rax, qword [rbp + 0x1e8]
add rsp, 0x20
mov rcx, qword [rax]
add rax, 8
mov qword [rbp + 0x148], rax
xor eax, eax
test rcx, rcx
cmovg rax, rcx
mov qword [rbp + 0x150], rax
xor eax, eax
mov qword [rbp + 0x158], rax
mov rcx, qword [rbp + 0x150]
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x130], rax
cmp rax, rcx
je 0x14008fe87
mov rax, qword [rbp + 0x148]
mov rax, qword [rax]
mov qword [rbp + 0x128], rax
cmp rax, 0
je 0x14008fc5c
mov rcx, qword [rbp + 0x128]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
je 0x14008fc5c
mov rcx, qword [rbp + 0x1e8]
sub rsp, 0x20
call fcn.140013e60
add rsp, 0x20
mov rax, qword [rbp + 0x130]
mov rcx, qword [rbp + 0x1e8]
mov rcx, qword [rcx]
mov qword [rbp + 0x120], rcx
cmp rax, rcx
jl 0x14008fcde
mov rcx, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x120]
movabs rax, 0x2a968ba1eff9a3c5
movabs r8, 0x8e885a38c433eac5
xor rax, r8
sub rdx, rax
movabs rax, 0xe1705dddfc0de448
movabs r8, 0x1e8fa22203f21bb7
xor rax, r8
add rdx, rax
movabs rax, 0xa41ed1992bca4900
add rdx, rax
sub rsp, 0x20
call fcn.14001284c
add rsp, 0x20
jmp 0x14008fe87
mov rcx, qword [rbp + 0x130]
mov rax, qword [rbp + 0x148]
mov rax, qword [rax]
lea rdx, [rax + rcx + 8]
mov qword [rbp + 0x110], rdx
mov al, byte [rax + rcx + 8]
mov byte [rbp + 0x11f], al
sub al, 0x2f
je 0x14008fd25
jmp 0x14008fd12
mov al, byte [rbp + 0x11f]
sub al, 0x5c
jne 0x14008fe5a
jmp 0x14008fd25
mov eax, dword [0x14024f348]
mov edx, dword [0x14024f34c]
mov ecx, 0x503e7ce3
xor ecx, 0x503e7ce3
sub ecx, edx
add eax, ecx
mov ecx, 0x3ab4ba6d
xor ecx, 0x7b15f0dc
mov edx, 0xc44fe094
xor edx, 0x3bb01f6b
xor ecx, edx
mov edx, 0x48cdbbf2
xor edx, 0x48cdbbf2
mov r8d, 0xa0dbaa65
xor r8d, 0xa0dbaa64
sub edx, r8d
sub ecx, edx
sub eax, ecx
mov ecx, 0x891a6080
xor ecx, 0x8bf3e1a3
or eax, ecx
mov edx, 0xffffffff
xor edx, 0x3dd5180d
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x3dd5180d
add eax, edx
sub eax, ecx
mov ecx, 0xeaa4e559
xor ecx, 0x6fb7a489
cmp eax, ecx
jbe 0x1400911bd
mov r8b, byte [rbp + 0x17f]
mov eax, dword [0x14024f350]
xor edx, edx
div dword [0x14024f354]
mov rdx, qword [rbp + 0x110]
mov ecx, eax
mov eax, ecx
or eax, 0x6cd29d15
xor eax, 0xffffffff
mov r9d, 0xbd0f195d
xor r9d, 0x42f0e6a2
xor ecx, r9d
mov r9d, 0xffffffff
xor r9d, 0x6cd29d15
and ecx, r9d
or eax, ecx
mov ecx, 0xe31ca7d6
xor ecx, 0x1ce35829
xor eax, ecx
mov ecx, 0xf4f9068b
xor ecx, 0x8b461174
add eax, ecx
add eax, 0xfae129a0
sub eax, 0x7fbf17ff
mov ecx, 0xb866ab67
xor ecx, 0xb836c2cc
add eax, ecx
mov ecx, 0xfe744c7f
xor ecx, 0x3f7d64b9
add eax, ecx
sub eax, 0x5069ab
mov ecx, 0x5f93f34b
xor ecx, 0xea3c80e1
mov byte [rdx], r8b
cmp eax, ecx
jae 0x1400911bd
jmp 0x14008fe5a
mov rax, qword [rbp + 0x130]
movabs rcx, 0x61cc89f89a663d01
movabs rdx, 0x61cc89f89a663d00
xor rcx, rdx
add rax, rcx
mov qword [rbp + 0x158], rax
jmp 0x14008fbf1
mov rax, qword [rbp + 0x140]
mov rcx, qword [rbp + 0x1d8]
mov cl, byte [rcx]
mov byte [rbp + 0x16f], cl
mov qword [rbp + 0x170], rax
mov rax, qword [rbp + 0x160]
mov rcx, qword [rbp + 0x1d8]
mov dl, byte [rbp + 0x16f]
mov r8, qword [rbp + 0x170]
mov qword [rbp + 0xf8], r8
mov byte [rbp + 0x106], dl
cmp dl, 0
sete dl
mov byte [rbp + 0x107], dl
mov byte [rcx], 0
mov rax, qword [rax]
mov qword [rbp + 0x108], rax
cmp rax, 0
je 0x14008ff21
mov rcx, qword [rbp + 0x108]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14008ff21
mov rcx, qword [rbp + 0x108]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp + 0xf8]
cmp rax, 0
je 0x14008ff7a
mov rcx, qword [rbp + 0xf8]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x613ca4aedc53f975
movabs rdx, 0x613ca4aedc53f975
xor rcx, rdx
cmp rax, rcx
jne 0x14008ff7a
mov rcx, qword [rbp + 0xf8]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
lea rcx, [rbp + 0x2b0]
sub rsp, 0x20
call fcn.14005fe40
mov rax, qword [rbp + 0x1d8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x68
xor cl, 0x68
cmp al, cl
je 0x14008ffa9
jmp 0x140091042
mov al, byte [rbp + 0x107]
mov rcx, qword [rbp + 0x1d8]
mov dl, byte [rbp + 0x106]
mov byte [rcx], dl
test al, 1
jne 0x14008ffcb
jmp 0x140091042
lea rcx, [rbp + 0x2d0]
mov edx, 0x18
sub rsp, 0x20
call fcn.14008ee9d
mov rax, qword [rbp + 0x180]
add rsp, 0x20
cmp qword [rax], 1
setg al
mov cl, al
and cl, 1
mov byte [rbp + 0x2e0], cl
test al, 1
jne 0x14009000a
jmp 0x14009023f
mov rdx, qword [rbp + 0x1e0]
mov rax, qword [rbp + 0x2d0]
mov rcx, qword [rbp + 0x2e8]
mov qword [rbp + 0xd0], rcx
mov rdx, qword [rdx]
mov qword [rbp + 0xd8], rdx
mov rdx, rax
sub rdx, rcx
cmovg rcx, rax
mov qword [rbp + 0xe0], rcx
cmp rax, 0xffffffffffffffff
setg cl
mov byte [rbp + 0xef], cl
mov qword [rbp + 0xf0], rax
mov rax, qword [rbp + 0xe0]
mov rdx, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0xf0]
mov qword [rbp + 0xc0], rcx
cmp rcx, rdx
mov qword [rbp + 0xc8], rax
jge 0x140090231
mov al, byte [rbp + 0xef]
test al, 1
jne 0x1400900f6
jmp 0x140090094
mov rcx, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0xd0]
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs r8, 0xeda916a61f08618e
movabs r9, 0xeda916a61f08618e
xor r8, r9
movabs r9, 0xf31e5d4725c8a102
movabs r10, 0xf31e5d4725c8a103
xor r9, r10
sub r8, r9
sub rax, r8
sub rdx, rax
sub rsp, 0x20
call fcn.14001284c
add rsp, 0x20
jmp 0x140091042
mov eax, dword [0x14024f358]
mov ecx, dword [0x14024f35c]
xor ecx, 0x52c64c6b
xor edx, edx
div ecx
sub eax, 0x4e2a83f2
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xb227ae8a
mov ecx, 0x77cebb70
xor ecx, 0xbf8c17f9
mov r8d, 0xcbd53fba
xor r8d, 0x342ac045
xor ecx, r8d
or eax, edx
or ecx, 0xc842ac89
xor eax, 0xffffffff
and eax, ecx
xor ecx, ecx
sub ecx, 0x12a9dc53
sub eax, ecx
cmp eax, 0xce9a2a4a
ja 0x1400911c6
mov rcx, qword [rbp + 0xd8]
mov rdx, qword [rbp + 0xc0]
mov eax, dword [0x14024f360]
xor eax, 0xf06a15b8
mov r8d, dword [0x14024f364]
xor r8d, 0xa9ef862b
or eax, r8d
mov r8d, eax
xor r8d, 0x8823b536
mov r9d, 0xffffffff
xor r9d, 0x8823b536
and eax, r9d
shl eax, 1
sub eax, r8d
mov r8d, eax
add r8d, 1
xor eax, 0xffffffff
or eax, 0xcef60998
add eax, r8d
sub eax, 0x4e5ee0aa
mov cl, byte [rcx + rdx + 8]
mov byte [rbp + 0xbf], cl
cmp eax, 0x5f3ef7c5
jae 0x14009015c
mov al, byte [rbp + 0xbf]
sub al, 0x2f
je 0x140090207
jmp 0x1400901e5
mov rax, qword [rbp + 0xc0]
mov cl, byte [rbp + 0xbf]
sub cl, 0x5c
mov qword [rbp + 0xc8], rax
jne 0x140090231
jmp 0x140090207
mov rax, qword [rbp + 0xc0]
mov rcx, 0xffffffffffffffff
xor rcx, 1
xor edx, edx
sub rdx, 1
sub rcx, rdx
sub rax, rcx
mov qword [rbp + 0xf0], rax
jmp 0x140090055
mov rax, qword [rbp + 0xc8]
mov qword [rbp + 0x2d0], rax
mov rax, qword [rbp + 0x1a8]
mov rcx, qword [rbp + 0x1b8]
mov rdx, qword [rbp + 0x1e8]
mov r8, qword [rbp + 0x1a0]
lea r9, [rbp + 0x280]
add r9, 8
mov qword [rbp + 0x70], r9
lea r9, [rbp + 0x260]
add r9, 8
mov qword [rbp + 0x78], r9
add r8, 8
mov qword [rbp + 0x80], r8
lea r8, [rbp + 0x210]
add r8, 8
mov qword [rbp + 0x88], r8
add rdx, 8
mov qword [rbp + 0x90], rdx
add rcx, 8
mov qword [rbp + 0x98], rcx
lea rcx, [rbp + 0x1f0]
add rcx, 8
mov qword [rbp + 0xa0], rcx
add rax, 8
mov qword [rbp + 0xa8], rax
lea rax, [rbp + 0x230]
add rax, 8
mov qword [rbp + 0xb0], rax
mov rcx, qword [rbp + 0x1d8]
mov rax, qword [rbp + 0x2d0]
mov rdx, qword [rbp + 0x2e8]
sub rax, rdx
setge al
mov r8b, byte [rcx]
test r8b, r8b
setne cl
or cl, al
mov edx, 0xc8174ab0
xor edx, 0xc8174ab8
mov eax, 0x558fed
xor eax, 0x558ffd
cmp r8b, 0
cmovne eax, edx
test cl, 1
mov dword [rbp + 0x6c], eax
jne 0x140090fc2
mov r8, qword [rbp + 0x198]
mov rax, qword [rbp + 0x2e8]
mov qword [r8], rax
mov rax, qword [rbp + 0x2f0]
mov qword [r8 + 8], rax
lea rcx, [rbp + 0x280]
lea rdx, [rbp + 0x2d0]
sub rsp, 0x20
call fcn.14008e2f0
mov rcx, qword [rbp + 0x70]
mov rax, qword [rbp + 0x1d8]
add rsp, 0x20
mov rdx, qword [rbp + 0x280]
mov qword [rbp + 0x58], rdx
mov rcx, qword [rcx]
mov qword [rbp + 0x60], rcx
cmp byte [rax], 0
jne 0x140091042
mov rax, qword [rbp + 0x180]
cmp qword [rax], 2
jae 0x14009053f
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x58]
mov r8, qword [rbp + 0x2e8]
mov qword [rbp + 0x270], r8
mov r8, qword [rbp + 0x2f0]
mov qword [rbp + 0x278], r8
mov qword [rbp + 0x260], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x270]
lea rdx, [rbp + 0x260]
sub rsp, 0x20
call fcn.14008ef23
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x1d8]
mov byte [rbp + 0x57], cl
cmp byte [rax], 0
jne 0x140091042
mov al, byte [rbp + 0x57]
test al, 1
jne 0x140090409
jmp 0x14009053f
mov rax, qword [rbp + 0x1e8]
mov rax, qword [rax]
mov qword [rbp + 0x48], rax
cmp rax, 0
je 0x1400904f5
mov rdx, qword [rbp + 0x48]
movabs rcx, 0x737c0e879ed36378
mov rax, rdx
add rax, rcx
add rax, 0xffffffffffffffff
movabs rcx, 0x737c0e879ed36378
sub rax, rcx
mov qword [rbp + 0x40], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl dl
cmp rax, 0xffffffffffffffff
setg cl
xor dl, 0xff
mov al, cl
xor al, dl
and al, cl
test al, 1
jne 0x140090474
jmp 0x140090486
sub rsp, 0x20
call fcn.140008c92
add rsp, 0x20
jmp 0x140091042
mov rax, qword [rbp + 0x48]
movabs rcx, 0x660d474786632a3b
movabs rdx, 0x660d474786632a3b
xor rcx, rdx
cmp rax, rcx
jg 0x1400904c3
mov rdx, qword [rbp + 0x40]
sub rsp, 0x20
mov rcx, rdx
call fcn.14001284c
add rsp, 0x20
jmp 0x140091042
mov rcx, qword [rbp + 0x40]
mov rax, qword [rbp + 0x90]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rbp + 0x3f], al
sub al, 0x2f
je 0x14009050f
jmp 0x1400904e5
mov al, byte [rbp + 0x3f]
sub al, 0x5c
je 0x14009050f
jmp 0x1400904f5
mov dl, byte [rbp + 0x17f]
mov rcx, qword [rbp + 0x1e8]
sub rsp, 0x20
call fcn.140091846
add rsp, 0x20
mov rax, qword [rbp + 0x180]
mov rcx, qword [rax]
mov r8, 0xffffffffffffffff
xor r8, 1
mov rdx, rcx
and rdx, r8
mov r8, rcx
xor r8, 1
add rcx, r8
sub rcx, rdx
mov qword [rax], rcx
jmp 0x140090fb8
mov rdx, qword [rbp + 0x1a0]
mov rax, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x60]
mov r8, qword [rbp + 0x58]
movups xmm0, xmmword [rbp + 0x2e8]
movaps xmmword [rbp + 0x250], xmm0
mov qword [rdx], r8
mov qword [rax], rcx
sub rsp, 0x20
lea rcx, [rbp + 0x250]
call fcn.14008f000
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x1d8]
mov al, byte [rax]
test al, al
sete al
mov byte [rbp + 0x3e], al
and al, cl
test al, 1
jne 0x14009059f
jmp 0x140090c75
mov rcx, qword [rbp + 0x1e8]
mov rax, qword [rbp + 0x180]
mov rax, qword [rax]
mov qword [rbp + 0x28], rax
mov rcx, qword [rcx]
mov qword [rbp + 0x30], rcx
cmp rax, 1
jle 0x140090896
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x28]
and rcx, 1
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rax
mov r8, qword [rbp + 0x20]
mov qword [rbp + 8], r8
mov rax, r8
add rax, 0xffffffffffffffff
mov qword [rbp + 0x10], rax
mov rdx, rax
xor rdx, 0xffffffffffffffff
movabs rcx, 0xf80f3f953b1dac8e
movabs r9, 0xd2039a4326b31885
xor rcx, r9
and rcx, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0x2a0ca5d61daeb40b
xor r10, rdx
mov r9, rax
and r9, r10
mov rdx, r8
xor rdx, 0xffffffffffffffff
movabs r11, 0xe724ef107b2d2122
movabs rsi, 0xcd284ac666839529
xor r11, rsi
and rdx, r11
and r8, r10
or rcx, r9
or rdx, r8
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x140090671
jmp 0x140090683
sub rsp, 0x20
call fcn.140008c92
add rsp, 0x20
jmp 0x140091042
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x10]
cmp rax, rcx
jge 0x140090819
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x30]
cmp rax, rcx
jl 0x1400906e7
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x30]
movabs rax, 0xcf22ef772a410516
movabs r8, 0xcf22ef772a410516
xor rax, r8
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
xor edx, edx
sub rdx, rax
sub rsp, 0x20
call fcn.14001284c
add rsp, 0x20
jmp 0x140091042
mov eax, dword [0x14024f368]
xor eax, 0x9a2cd7dd
mov ecx, dword [0x14024f36c]
xor ecx, 0x71965039
or eax, ecx
mov ecx, 0x3507877c
xor ecx, 0x81ad185d
mov edx, eax
xor edx, ecx
xor edx, 0xffffffff
and edx, 0xb4aa9f21
mov ecx, 0x71970ad6
xor ecx, 0x71970ad4
imul ecx, edx
sub ecx, 0xb4aa9f21
sub eax, ecx
xor eax, 0xffffffff
mov edx, 0xa6ac8872
xor edx, 0x5342f86c
mov ecx, 0x16970d8e
xor ecx, 0xe968f271
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0x6a2117a0
or eax, edx
or ecx, 0x6a2117a0
xor eax, 0xffffffff
and eax, ecx
or eax, 0x4e59e3ec
cmp eax, 0x333239ed
jbe 0x1400911cf
mov rcx, qword [rbp + 0x90]
mov eax, dword [0x14024f370]
xor eax, 0xae87cd65
mov r8d, dword [0x14024f374]
mov edx, 0xbc0b9c48
xor edx, 0xa1833519
xor r8d, edx
xor edx, edx
div r8d
mov edx, eax
xor edx, 0xf7074979
xor edx, 0xffffffff
or eax, 0xf7074979
and eax, edx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xe409c46d
mov r8d, 0xffffffff
xor r8d, 0xe409c46d
and eax, r8d
sub eax, edx
mov r8d, 0xfe443736
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rcx]
mov cl, byte [rcx + rdx + 8]
mov byte [rbp + 7], cl
cmp eax, 0xa79bd400
jae 0x1400911cf
mov al, byte [rbp + 7]
sub al, 0x2f
je 0x140090819
jmp 0x140090800
mov rax, qword [rbp + 0x10]
mov cl, byte [rbp + 7]
sub cl, 0x5c
mov qword [rbp + 0x20], rax
jne 0x1400905d9
jmp 0x140090819
mov rax, qword [rbp + 8]
cmp rax, 0
jle 0x140090fb8
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x1e8]
sub rsp, 0x20
call fcn.1400141a0
mov rax, qword [rbp + 0x180]
add rsp, 0x20
mov rcx, qword [rax]
mov rdx, rcx
add rdx, 0xfffffffffffffffe
mov qword [rbp - 8], rdx
test rdx, rdx
setns al
or rcx, rdx
sets cl
add al, cl
inc al
test al, 1
jne 0x140090871
jmp 0x140090883
sub rsp, 0x20
call fcn.140008c92
add rsp, 0x20
jmp 0x140091042
mov rax, qword [rbp + 0x180]
mov rcx, qword [rbp - 8]
mov qword [rax], rcx
jmp 0x140090fb8
mov rax, qword [rbp + 0x30]
cmp rax, 0
jle 0x1400908fa
mov rax, qword [rbp + 0x90]
mov rdx, qword [rbp + 0x30]
mov rcx, rdx
not rcx
lea rcx, [rcx + rdx*2]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rbp - 9], al
sub al, 0x2f
je 0x1400908fa
jmp 0x1400908d0
mov al, byte [rbp - 9]
sub al, 0x5c
je 0x1400908fa
jmp 0x1400908e0
mov dl, byte [rbp + 0x17f]
mov rcx, qword [rbp + 0x1e8]
sub rsp, 0x20
call fcn.140091846
add rsp, 0x20
mov eax, dword [0x14024f378]
xor eax, dword [0x14024f37c]
mov ecx, 0x2fff641a
xor ecx, 0xd0e0cc99
and eax, ecx
imul ecx, eax, 0x3b924e04
mov edx, 0xffffffff
xor edx, 0xf8f59efd
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x5abe1326
xor ecx, 0x77d35c45
cmp eax, ecx
je 0x1400911d8
mov rcx, qword [rbp + 0x1a8]
mov r9, qword [rbp + 0x60]
mov r8, qword [rbp + 0x58]
mov eax, dword [0x14024f380]
mov edx, dword [0x14024f384]
xor edx, 0x9775d69c
xor eax, edx
mov edx, eax
xor edx, 0xffffffff
mov r10d, 0x2482ce7e
xor r10d, 0xa8db6431
and r10d, edx
mov r11d, 0xffffffff
xor r11d, 0x8c59aa4f
mov edx, eax
and edx, r11d
imul edx, r10d
mov r10d, eax
and r10d, 0x8c59aa4f
mov r11d, 0x597a7b06
xor r11d, 0xd523d149
or eax, r11d
imul eax, r10d
add eax, edx
mov r10d, 0x4d192752
xor edx, edx
div r10d
or eax, 0x1f1919d1
mov dword [rbp - 0x10], eax
mov eax, 0x903d3cc6
xor eax, 0xa5d5c295
mov dword [rbp - 0x14], eax
mov rax, qword [rbp + 0x2e8]
mov qword [rbp + 0x240], rax
mov rax, qword [rbp + 0x2f0]
mov qword [rbp + 0x248], rax
lea rdx, [rbp + 0x240]
sub rsp, 0x20
call fcn.140019600
mov rdx, qword [rbp + 0x1a8]
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x1e8]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp - 0x28], rdx
mov rax, qword [rax]
mov qword [rbp - 0x20], rax
sub rsp, 0x20
call fcn.140019cc0
mov r8, qword [rbp - 0x28]
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0x1e8]
mov rdx, qword [rbp - 0x20]
add rsp, 0x20
mov qword [rbp + 0x230], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x230]
sub rsp, 0x20
call fcn.140091200
mov rdx, qword [rbp - 0x20]
mov ecx, dword [rbp - 0x14]
mov eax, dword [rbp - 0x10]
add rsp, 0x20
cmp rdx, 0
sete dl
mov byte [rbp - 0xa], dl
cmp eax, ecx
je 0x14009093d
mov al, byte [rbp - 0xa]
test al, 1
jne 0x140090fb8
jmp 0x140090a8b
mov eax, dword [0x14024f388]
xor eax, 0x495b0e12
mov r8d, dword [0x14024f38c]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xe7e66da2
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xc077ed61
xor r8d, 0x279180c3
mov edx, eax
and edx, r8d
or eax, 0xe7e66da2
imul eax, edx
add eax, ecx
and eax, 0x45e6457
mov ecx, eax
and ecx, 0x605ef0ac
mov edx, 0x13dd4899
xor edx, 0x13dd489b
imul ecx, edx
xor eax, 0x605ef0ac
add eax, ecx
cmp eax, 0x5b0ad555
je 0x1400911e1
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x14024f390]
mov edx, 0x8c6b2891
xor edx, 0x404fdbb7
xor eax, edx
mov edx, dword [0x14024f394]
mov r8d, 0xf8cd6cd0
xor r8d, 0xedf3974b
xor edx, r8d
and eax, eax
xor eax, 0xffffffff
and edx, edx
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
mov edx, 0x89c42df5
xor edx, 0x24bd15b6
sub eax, edx
mov r8d, eax
xor r8d, 0xffffffff
and r8d, 0xe3b1291a
mov r9d, 0x8b104f81
xor r9d, 0x68a1669b
mov edx, 0xc0ef1f72
xor edx, 0x3f10e08d
xor r9d, edx
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xe3b1291a
mov r9d, 0x40ec5fee
xor r9d, 0xa35d76f4
or eax, r9d
imul eax, r8d
add eax, edx
mov r9d, 0xffffffff
xor r9d, 0x8abd4f49
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, 0x8abd4f49
mov r9d, 0xc25ca268
xor r9d, 0x48e1ed21
or eax, r9d
imul eax, r8d
add eax, edx
mov rcx, qword [rcx]
mov rdx, rcx
add rdx, 1
movabs r8, 0xd10a96f91f36a731
movabs r9, 0x2ef56906e0c958ce
xor r8, r9
xor rcx, r8
movabs r8, 0x4000000000000000
or rcx, r8
add rcx, rdx
cmp rcx, 0
sete cl
mov byte [rbp - 0x29], cl
cmp eax, 0x121bc7b9
jb 0x1400911e1
mov al, byte [rbp - 0x29]
test al, 1
jne 0x140090c5f
jmp 0x140090fb8
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
jmp 0x140090fb8
mov cl, byte [rbp + 0x3e]
mov eax, 8
test cl, 1
mov dword [rbp + 0x6c], eax
jne 0x140090c8e
jmp 0x140090fc2
mov rax, qword [rbp + 0x88]
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x58]
movups xmm0, xmmword [rbp + 0x2e8]
movaps xmmword [rbp + 0x220], xmm0
mov qword [rbp + 0x210], rdx
mov qword [rax], rcx
sub rsp, 0x20
lea rcx, [rbp + 0x220]
lea rdx, [rbp + 0x210]
call fcn.14008f610
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x1d8]
mov al, byte [rax]
xor cl, 1
movzx ecx, cl
shl ecx, 5
test al, al
mov eax, 8
cmove eax, ecx
mov dword [rbp - 0x30], eax
test eax, eax
je 0x140090fb8
jmp 0x140090cfe
mov eax, dword [rbp - 0x30]
mov ecx, eax
sub ecx, 0x20
mov dword [rbp + 0x6c], eax
jne 0x140090fc2
jmp 0x140090d14
mov eax, dword [0x14024f398]
xor eax, dword [0x14024f39c]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
mov edx, 0xbaacab33
xor edx, 0x44c75cd5
or eax, edx
add eax, ecx
mov ecx, 0xbe45592a
xor edx, edx
div ecx
sub eax, 0x67fa39f6
cmp eax, 0x74293d33
je 0x1400911ea
mov rdx, qword [rbp + 0x58]
mov r8, qword [rbp + 0x60]
mov eax, dword [0x14024f3a0]
mov r9d, dword [0x14024f3a4]
mov ecx, 0x51605a60
xor ecx, 0xae9fa59f
mov r10d, eax
xor r10d, ecx
mov ecx, r9d
and ecx, r10d
xor r9d, 0xffffffff
and eax, r9d
or ecx, eax
mov r9d, 0x63958eca
xor r9d, 0x889fb751
mov eax, ecx
xor eax, r9d
mov r9d, 0xffffffff
xor r9d, 0xeb0a399b
and ecx, r9d
shl ecx, 1
sub ecx, eax
sub ecx, 0x5a125995
mov r9d, 0xe1998b2b
xor r9d, 0x34c2e4d8
mov eax, ecx
and eax, r9d
xor ecx, 0xd55b6ff3
or eax, ecx
mov ecx, 0xa6f7c929
xor ecx, 0x59f85bf
cmp rdx, r8
setg dl
mov byte [rbp - 0x31], dl
cmp eax, ecx
jb 0x1400911ea
mov al, byte [rbp - 0x31]
test al, 1
jne 0x140090fb8
jmp 0x140090df8
mov rax, qword [rbp + 0x1e8]
mov rax, qword [rax]
mov qword [rbp - 0x40], rax
cmp rax, 0
jle 0x140090e5c
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp + 0x90]
mov rax, qword [rax]
mov al, byte [rax + rcx + 7]
mov byte [rbp - 0x41], al
sub al, 0x2f
je 0x140090e5c
jmp 0x140090e32
mov al, byte [rbp - 0x41]
sub al, 0x5c
je 0x140090e5c
jmp 0x140090e42
mov dl, byte [rbp + 0x17f]
mov rcx, qword [rbp + 0x1e8]
sub rsp, 0x20
call fcn.140091846
add rsp, 0x20
mov rcx, qword [rbp + 0x1b8]
mov r9, qword [rbp + 0x60]
mov r8, qword [rbp + 0x58]
mov rax, qword [rbp + 0x2e8]
mov qword [rbp + 0x200], rax
mov rax, qword [rbp + 0x2f0]
mov qword [rbp + 0x208], rax
lea rdx, [rbp + 0x200]
sub rsp, 0x20
call fcn.140019600
mov rdx, qword [rbp + 0x1b8]
mov rax, qword [rbp + 0x98]
mov rcx, qword [rbp + 0x1e8]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp - 0x60], rdx
mov rax, qword [rax]
mov qword [rbp - 0x58], rax
sub rsp, 0x20
call fcn.140019cc0
mov r8, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x58]
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0x1e8]
add rsp, 0x20
mov qword [rbp + 0x1f0], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x1f0]
sub rsp, 0x20
call fcn.140091200
mov rax, qword [rbp + 0x180]
add rsp, 0x20
mov rdx, qword [rax]
mov rax, rdx
add rax, 2
mov qword [rbp - 0x50], rax
movabs rcx, 0x86885942bfa41c9e
movabs r8, 0x7977a6bd405be361
xor rcx, r8
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
or rax, rdx
and rax, rcx
movabs rcx, 0x4da67035ab0b563e
movabs rdx, 0x4da67035ab0b563e
xor rcx, rdx
cmp rax, rcx
jge 0x140090f70
sub rsp, 0x20
call fcn.140008c92
add rsp, 0x20
jmp 0x140091042
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp + 0x180]
mov rdx, qword [rbp - 0x50]
mov qword [rcx], rdx
cmp rax, 0
je 0x140090fb8
mov rcx, qword [rbp - 0x58]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x140090fb8
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
xor eax, eax
mov dword [rbp + 0x6c], eax
jmp 0x140090fc2
mov eax, dword [rbp + 0x6c]
mov dword [rbp - 0x64], eax
test eax, eax
je 0x1400902db
jmp 0x140090fd5
mov eax, dword [rbp - 0x64]
sub eax, 8
je 0x140091042
jmp 0x140090fe6
mov rax, qword [rbp + 0x1e8]
mov rax, qword [rax]
test rax, rax
sete al
mov rcx, qword [rbp + 0x2e8]
test rcx, rcx
setne cl
and al, cl
test al, 1
jne 0x140091012
jmp 0x140091042
mov rdx, qword [rbp + 0x1c0]
mov rcx, qword [rbp + 0x1e8]
mov rax, qword [0x140262518]
mov qword [rdx], rax
mov rax, qword [0x140262520]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140013ddc
add rsp, 0x20
mov rax, qword [rbp + 0x1e0]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x1400911b3
mov ecx, dword [0x14024f3a8]
xor ecx, dword [0x14024f3ac]
mov edx, 0x79c9855d
xor edx, 0x86367aa2
mov eax, ecx
xor eax, edx
mov edx, 0x92a888fd
xor edx, 0x6d577702
xor ecx, edx
and eax, ecx
mov ecx, 0xdbbdfd8a
xor ecx, 0x1f1a3d3b
mov edx, 0xaa425081
xor edx, 0x6ee59030
or ecx, edx
mov edx, 0x87a39bd
xor edx, 0xf785c642
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xe8a646e5
xor ecx, 0x11904274
add eax, ecx
mov ecx, 0xb196620b
xor ecx, 0xaaa23c5b
sub eax, ecx
cmp eax, 0xd83c6452
je 0x1400911f3
mov ecx, dword [0x14024f3b0]
mov edx, dword [0x14024f3b4]
mov r8d, 0xd399479f
xor r8d, 0x2c66b860
mov eax, ecx
xor eax, r8d
mov r8d, 0xb4173caf
xor r8d, 0x4be8c350
xor ecx, r8d
and eax, ecx
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x5574cf2e
xor ecx, 0x6f1c26de
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x70]
mov ecx, eax
and ecx, 0x9e4f6175
xor ecx, 0xffffffff
mov r8d, 0x895ec738
xor r8d, 0x1711a64d
add eax, r8d
add eax, 1
add eax, ecx
add eax, 0xd168d744
add eax, 0xc50db177
sub eax, 0xd168d744
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
movabs rdx, 0xd3bf013462bd93df
movabs r8, 0xd3bf013462bd93df
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0xbd518967
jae 0x1400910d6
mov al, byte [rbp - 0x71]
test al, 1
jne 0x1400911a2
jmp 0x1400911b3
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
lea rsp, [rbp + 0x2f8]
pop rsi
pop rbp
ret
pop rdx
cwde
cmp al, 0x43
jmp 0x14008fdb2
jns 0x14009122c
call 0x13ff89fb7
dec eax
cdq
sbb esi, dword [rdi - 0x17]
cdq
cmc
invalid
enter 0x1b99, 0x77
jmp 0x140090771
mov ebx, 0xe9443d50
pop rsp
idiv edi
call [rdi - 0x1648a654]
lahf
lodsb al, byte [rsi]
pop rcx
mov bh, 0xe9
invalid
push rbx
push 0x5de9bb53
sti
invalid
pop rax
xor ch, al
pop rax
jmp 0x1400910d6
sbb eax, dword [rax]