Function at 0x14014eec0
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x58]
sub rsp, 0x158
mov r11, qword [rbp + 0xc0]
lea rax, [r8 + 0x68]
mov r13, qword [rcx]
xor r15d, r15d
mov qword [rbp - 0x40], rax
mov rsi, rdx
mov edi, r9d
mov qword [rbp - 0x50], r15
movzx eax, byte [r11 + 0x34]
mov r9, r8
mov r14, qword [r11 + 0x50]
lea r12d, [r15 + 1]
imul rdx, rax, 0x70
mov rax, qword [r8 + 8]
mov rbx, rcx
movsxd r8, dword [r8 + 0x294]
add rax, 8
add rax, rdx
mov qword [rbp - 0x58], r13
mov qword [rbp - 0x80], r14
mov edx, r15d
mov qword [rbp - 0x48], rax
mov r10d, dword [rax + 0x44]
mov dword [rsp + 0x40], r10d
test r8, r8
jle 0x14014ef6d
mov ecx, r15d
lea rax, [r9 + 0x298]
cmp dword [rax], r10d
je 0x14014f010
inc edx
inc rcx
add rax, 4
cmp rcx, r8
jl 0x14014ef56
mov rax, r15
not rax
mov ecx, edi
and rax, qword [rbp + 0xc8]
mov qword [r11 + 0x58], rax
mov r10, qword [r9 + 0x58]
shr r10, cl
and r10d, r12d
mov r12d, dword [rbx + 0x44]
dec r12d
mov qword [rsp + 0x78], r10
mov dword [rbx + 0x44], r12d
mov dword [r11 + 0x10], r12d
mov dword [r11 + 0xc], r12d
mov eax, dword [rbx + 0x44]
dec eax
mov dword [rsp + 0x50], r12d
mov dword [rbx + 0x44], eax
mov dword [rbp - 0x60], eax
mov dword [r11 + 0x18], eax
cmp byte [r11 + 0x34], r15b
jbe 0x14014f047
mov rax, qword [rbp - 0x48]
test byte [rax + 0x3c], 8
je 0x14014f047
mov edx, dword [rbx + 0x38]
inc edx
mov dword [rbx + 0x38], edx
mov dword [r11], edx
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x14014f01d
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 0x46]
call fcn.1400fb2d0
mov r10, qword [rsp + 0x78]
mov r11, qword [rbp + 0xc0]
mov r9, qword [rbp + 0xb0]
jmp 0x14014f047
mov ecx, edx
mov rax, r12
shl rax, cl
jmp 0x14014ef70
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 0x46
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov edx, edi
test edi, edi
jle 0x14014f06b
nop dword [rax]
movsxd rax, edx
lea rcx, [rax + rax*2]
shl rcx, 5
cmp dword [rcx + r9 + 0x398], r15d
jne 0x14014f06b
dec edx
test edx, edx
jg 0x14014f050
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbp - 0x48]
shl rcx, 5
mov r8d, dword [rax + 0x40]
mov r9d, dword [rcx + r9 + 0x3a4]
test r8b, 0x10
je 0x14014f16b
movsxd rcx, dword [rsi + 0x90]
mov ebx, dword [rax + 0x34]
mov edx, dword [rax + 0x30]
cmp dword [rsi + 0x94], ecx
jg 0x14014f0bd
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, ebx
mov rcx, rsi
lea edx, [r9 + 0xd]
call fcn.1400fb2d0
jmp 0x14014f0ea
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r15
movsxd rdx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], edx
jg 0x14014f128
mov r9d, r12d
mov dword [rsp + 0x20], r15d
mov r8d, ebx
mov edx, 0xe
mov rcx, rsi
call fcn.1400fb2d0
mov r11, qword [rbp + 0xc0]
mov edx, eax
mov dword [r11 + 0x3c], eax
mov byte [r11 + 0x35], VariantTimeToDosDateTime
jmp 0x140151282
mov r11, qword [rbp + 0xc0]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0xe
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov dword [r11 + 0x3c], edx
mov byte [r11 + 0x35], VariantTimeToDosDateTime
jmp 0x140151282
mov edx, dword [r14 + 0x28]
mov eax, 0x400
test eax, edx
je 0x14014f81b
movzx r14d, word [r14 + 0x2c]
lea ecx, [r14 + 2]
cmp ecx, 1
jne 0x14014f1b7
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x14014f1a0
inc dword [rbx + 0x38]
mov eax, dword [rbx + 0x38]
mov dword [rbp + 0xb8], eax
jmp 0x14014f1e8
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov eax, dword [rbx + rax*4 + 0xcc]
mov dword [rbp + 0xb8], eax
jmp 0x14014f1e8
mov edx, dword [rbx + 0x28]
mov r8d, dword [rbx + 0x2c]
mov dword [rbp + 0xb8], r8d
cmp ecx, edx
jg 0x14014f1d7
lea eax, [rcx + r8]
sub edx, ecx
mov dword [rbx + 0x2c], eax
mov dword [rbx + 0x28], edx
jmp 0x14014f1e8
mov eax, dword [rbx + 0x38]
lea edx, [rax + 1]
add eax, ecx
mov dword [rbx + 0x38], eax
mov dword [rbp + 0xb8], edx
mov r12d, dword [r11 + 0xc]
mov ebx, r15d
test r14d, r14d
je 0x14014f28d
mov r13d, dword [rbp + 0xb8]
mov rdi, r15
mov rsi, qword [rsp + 0x78]
add r13d, 2
mov r15, qword [rbp + 0xa0]
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rbp - 0x80]
mov rax, qword [rax + 0x38]
mov rdx, qword [rdi + rax]
test rdx, rdx
je 0x14014f278
test byte [rdx + 0x14], 1
lea r8d, [rbx + r13]
mov rcx, r15
je 0x14014f25f
mov dword [rsp + 0x28], r8d
mov r9d, ebx
mov r8, r11
mov dword [rsp + 0x20], esi
call fcn.1400ec0c0
mov r11, qword [rbp + 0xc0]
mov r12d, dword [r11 + 0x10]
jmp 0x14014f278
mov rdx, qword [rdx]
mov r9d, 1
mov rdx, qword [rdx + 0x18]
call fcn.1400ec7b0
mov r11, qword [rbp + 0xc0]
inc ebx
add rdi, 8
cmp ebx, r14d
jl 0x14014f220
mov rsi, qword [rbp + 0xa8]
xor r15d, r15d
mov rdi, qword [rbp - 0x80]
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [rdi + 0x18]
cmp dword [rsi + 0x94], ecx
jg 0x14014f2c8
mov r9d, dword [rbp + 0xb8]
mov r8d, edx
mov edx, 0x46
mov dword [rsp + 0x20], r15d
mov rcx, rsi
call fcn.1400fb2d0
mov r8d, dword [rbp + 0xb8]
jmp 0x14014f2fd
mov r8d, dword [rbp + 0xb8]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x46
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
movsxd rcx, dword [rsi + 0x90]
lea edx, [r8 + 1]
cmp dword [rsi + 0x94], ecx
jg 0x14014f331
mov r9d, edx
mov dword [rsp + 0x20], r15d
mov edx, 0x46
mov r8d, r14d
mov rcx, rsi
call fcn.1400fb2d0
mov r8d, dword [rbp + 0xb8]
jmp 0x14014f35f
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x46
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
cmp byte [rdi + 0x1c], 0
mov ebx, 0xffffffff
movsxd rdx, dword [rsi + 0x90]
mov eax, 0xfffffff9
mov rdi, qword [rdi + 0x20]
cmovne ebx, eax
cmp dword [rsi + 0x94], edx
jg 0x14014f3a2
mov r9d, r12d
mov dword [rsp + 0x20], r8d
mov r12d, dword [rsp + 0x40]
lea edx, [rax + 0x10]
mov r8d, r12d
mov rcx, rsi
call fcn.1400fb2d0
mov edx, eax
jmp 0x14014f3d9
mov r9d, dword [rsp + 0x40]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 8], r12d
mov r12d, r9d
mov dword [rax + rcx*8], 9
mov dword [rax + rcx*8 + 4], r9d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r15
mov rcx, qword [rsi]
cmp byte [rcx + 0x61], 0
je 0x14014f3ee
mov r8, rdi
mov edx, ebx
call fcn.1400f83b0
jmp 0x14014f42f
test edx, edx
jns 0x14014f3fa
mov edx, dword [rsi + 0x90]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
jne 0x14014f421
test rdi, rdi
je 0x14014f42f
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], bl
jmp 0x14014f42f
mov r9d, ebx
mov r8, rdi
mov rcx, rsi
call fcn.140159ba0
mov r11, qword [rbp + 0xc0]
mov eax, 0x3c
mov rdx, qword [rbp - 0x80]
mov ecx, 0xaa
mov r8, qword [rbp + 0xb0]
mov byte [rdx + 0x1c], 0
mov dword [r11 + 0x38], r12d
lea r12d, [r14 - 1]
cmp byte [r8 + 0x45], 0
cmovne eax, ecx
mov byte [r11 + 0x35], al
mov eax, dword [rsi + 0x90]
mov dword [r11 + 0x3c], eax
test r12d, r12d
js 0x140151227
movsxd rax, dword [r11 + 0x40]
lea r14, [r14*8 - 8]
lea r8d, [rcx - 0x62]
lea r13, [rax + rax*4]
shl r13, 2
nop
mov rbx, qword [rdx + 0x38]
mov rbx, qword [r14 + rbx]
cmp r12d, 0x10
jge 0x14014f53a
movzx eax, word [rdx + 0x1e]
movzx ecx, r12w
shr ax, cl
test al, 1
je 0x14014f53a
test byte [rbx + 0x12], 4
mov edx, r15d
jne 0x14014f7f7
cmp dword [r11], 0
je 0x14014f4d5
mov rax, qword [rbx]
test byte [rax + 4], 1
je 0x14014f7f7
mov rax, qword [rbx + 0x38]
test qword [r11 + 0x58], rax
jne 0x14014f7f7
test edx, edx
je 0x14014f503
movzx eax, word [rbx + 0x12]
mov ecx, 0x400
test cx, ax
je 0x14014f503
mov ecx, 0x200
or ax, cx
mov word [rbx + 0x12], ax
jmp 0x14014f508
or word [rbx + 0x12], 4
movsxd rcx, dword [rbx + 0x18]
test ecx, ecx
js 0x14014f7f7
mov rax, qword [rbx + 8]
mov rbx, rcx
shl rbx, 6
add rbx, qword [rax + 0x20]
add byte [rbx + 0x16], 0xff
jne 0x14014f7f7
inc edx
test byte [rbx + 0x12], 4
je 0x14014f4c2
jmp 0x14014f7f7
test byte [rbx + 0x14], 1
je 0x14014f7f7
mov rax, qword [rbp - 0x58]
cmp byte [rax + 0x61], 0
jne 0x14014f5fb
mov rax, qword [r11 + 0x48]
sub r13, 0x14
mov ecx, dword [rax + r13 + 4]
test ecx, ecx
jns 0x14014f56b
mov ecx, dword [rsi + 0x90]
dec ecx
mov rax, qword [rsi]
cmp byte [rax + 0x61], 0
je 0x14014f57d
lea rax, [0x1402a0c50]
jmp 0x14014f58f
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
movsxd rcx, dword [rsi + 0x90]
mov r10d, dword [rax + 0xc]
mov r9d, dword [rax + 8]
mov r8d, dword [rax + 4]
movzx edx, byte [rax]
cmp dword [rsi + 0x94], ecx
jg 0x14014f5bf
movzx edx, dl
mov rcx, rsi
mov dword [rsp + 0x20], r10d
call fcn.1400fb2d0
jmp 0x14014f5f5
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], r15w
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r15
mov byte [rax + rcx*8 + 1], 0
mov r8d, 0x48
mov rax, qword [rbp + 0xa0]
mov rcx, qword [rax]
cmp dword [rcx + 0x178], 0
jne 0x14014f664
cmp r8w, word [rcx + 0x17c]
jbe 0x14014f620
inc dword [rcx + 0x188]
jmp 0x14014f66e
mov rdi, qword [rcx + 0x198]
test rdi, rdi
je 0x14014f63e
mov rax, qword [rdi]
mov qword [rcx + 0x198], rax
inc dword [rcx + 0x184]
jmp 0x14014f679
mov rdi, qword [rcx + 0x190]
test rdi, rdi
je 0x14014f65c
mov rax, qword [rdi]
mov qword [rcx + 0x190], rax
inc dword [rcx + 0x184]
jmp 0x14014f679
inc dword [rcx + 0x18c]
jmp 0x14014f66e
cmp byte [rcx + 0x61], 0
jne 0x14014f7f7
mov rdx, r8
call fcn.1400f07f0
mov rdi, rax
test rdi, rdi
je 0x14014f7f7
xor eax, eax
mov rcx, rdi
mov qword [rdi], rax
mov qword [rdi + 8], rax
mov qword [rdi + 0x10], rax
mov qword [rdi + 0x18], rax
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov qword [rdi + 0x30], rax
mov qword [rdi + 0x38], rax
mov qword [rdi + 0x40], rax
mov eax, 0xffffffff
mov word [rdi + 0x32], ax
mov byte [rdi], 0x35
call fcn.1400f5200
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rcx]
mov r8d, dword [rax + 0x88]
cmp dword [rdi + 0x28], r8d
jle 0x14014f6de
lea rdx, str.Expression_tree_is_too_large__maximum_depth__d_
call fcn.14011c380
mov rax, qword [rbx]
mov rbx, qword [rbp - 0x58]
mov rcx, qword [rax + 0x10]
mov qword [rdi + 0x10], rcx
cmp dword [rbx + 0x178], 0
jne 0x14014f750
mov eax, 0x49
cmp ax, word [rbx + 0x17c]
jbe 0x14014f70c
inc dword [rbx + 0x188]
jmp 0x14014f760
mov rcx, qword [rbx + 0x198]
test rcx, rcx
je 0x14014f72a
mov rax, qword [rcx]
mov qword [rbx + 0x198], rax
inc dword [rbx + 0x184]
jmp 0x14014f76e
mov rcx, qword [rbx + 0x190]
test rcx, rcx
je 0x14014f748
mov rax, qword [rcx]
mov qword [rbx + 0x190], rax
inc dword [rbx + 0x184]
jmp 0x14014f76e
inc dword [rbx + 0x18c]
jmp 0x14014f760
cmp byte [rbx + 0x61], 0
je 0x14014f75b
mov rcx, r15
jmp 0x14014f7b3
mov eax, 0x49
mov rdx, rax
mov rcx, rbx
call fcn.1400f07f0
mov rcx, rax
test rcx, rcx
je 0x14014f7b3
xor eax, eax
mov qword [rcx], rax
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], rax
mov qword [rcx + 0x20], rax
mov qword [rcx + 0x28], rax
mov qword [rcx + 0x30], rax
mov qword [rcx + 0x38], rax
mov qword [rcx + 0x40], rax
mov eax, 0xffffffff
mov word [rcx + 0x32], ax
lea rax, [rcx + 0x48]
mov qword [rcx + 8], rax
mov byte [rcx], 0xab
mov byte [rax], 0
mov eax, 1
mov dword [rcx + 0x28], eax
mov qword [rdi + 0x18], rcx
test rcx, rcx
je 0x14014f7e8
mov eax, dword [rbp + 0xb8]
xor r9d, r9d
add eax, 2
mov rdx, rdi
add eax, r12d
mov dword [rcx + 0x2c], eax
mov rcx, qword [rbp + 0xc0]
mov r8d, dword [rcx + 0x18]
mov rcx, qword [rbp + 0xa0]
call fcn.140120540
mov rdx, rdi
mov qword [rdi + 0x10], r15
mov rcx, rbx
call fcn.140120110
mov r11, qword [rbp + 0xc0]
sub r14, 8
sub r12d, 1
mov rdx, qword [rbp - 0x80]
mov r8d, 0x48
jns 0x14014f490
jmp 0x140151282
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x14014f90e
mov rax, qword [r14 + 0x38]
xor r9d, r9d
mov r14, qword [rbp + 0xa0]
mov r8, r11
mov rcx, r14
mov rbx, qword [rax]
inc dword [r14 + 0x38]
mov rdx, rbx
mov edi, dword [r14 + 0x38]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r10d
call fcn.1400ec0c0
mov edx, eax
cmp eax, edi
je 0x14014f882
test edi, edi
je 0x14014f882
movzx eax, byte [r14 + 0x1f]
cmp al, 8
jae 0x14014f882
movzx eax, al
mov dword [r14 + rax*4 + 0xcc], edi
inc byte [r14 + 0x1f]
mov r11, qword [rbp + 0xc0]
movsxd rcx, dword [rsi + 0x90]
mov r8d, dword [r11 + 0x10]
cmp dword [rsi + 0x94], ecx
jg 0x14014f8be
mov dword [rsp + 0x20], edx
mov r9d, r8d
mov r8d, dword [rsp + 0x40]
mov edx, 0x1e
mov rcx, rsi
call fcn.1400fb2d0
mov r11, qword [rbp + 0xc0]
jmp 0x14014f8f1
mov r9d, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x1e
mov dword [rax + rcx*8 + 4], r9d
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r15
mov byte [r11 + 0x35], 0xaa
mov rax, qword [rbx + 0x38]
test qword [r11 + 0x58], rax
jne 0x140151289
or word [rbx + 0x12], 4
jmp 0x140151289
mov eax, edx
and eax, 0x102
cmp eax, 0x102
jne 0x14014fbdb
mov dword [rsp + 0x54], r15d
mov edi, 0xaa
mov r13d, edi
mov rbx, r15
mov rcx, r15
test dl, 0x20
je 0x14014f947
mov rax, qword [r14 + 0x38]
mov r8d, 8
mov rcx, qword [rax]
jmp 0x14014f94a
mov r8, r15
test dl, 0x10
je 0x14014f957
mov rax, qword [r14 + 0x38]
mov rbx, qword [r8 + rax]
test r10d, r10d
mov r14, rcx
cmove r14, rbx
cmove rbx, rcx
test rbx, rbx
je 0x14014fa6a
mov rdi, qword [rbx]
mov dword [rbp + 0xb8], 0x18161719
mov rdx, qword [rdi + 0x18]
movzx eax, byte [rdx]
cmp al, 0xab
jne 0x14014f98a
movzx eax, byte [rdx + 0x36]
cmp al, 0xac
jne 0x14014f994
lea rax, [rdx + 0x20]
jmp 0x14014f99c
cmp al, 0x86
jne 0x14014f9f6
mov rax, qword [rdx + 0x20]
mov rax, qword [rax]
cmp dword [rax], 1
jle 0x14014f9f6
mov rcx, qword [rbp + 0xa0]
movzx eax, byte [rcx + 0x1f]
test al, al
jne 0x14014f9bb
inc dword [rcx + 0x38]
mov ebx, dword [rcx + 0x38]
jmp 0x14014f9ca
dec al
movzx eax, al
mov byte [rcx + 0x1f], al
mov ebx, dword [rcx + rax*4 + 0xcc]
mov rdx, qword [rdi + 0x18]
mov r9d, 1
mov r8d, ebx
call fcn.1400ec7b0
movzx eax, byte [rdi]
mov r12d, ebx
inc rax
and eax, 2
or rax, 1
movzx ecx, byte [rbp + rax + 0xb8]
jmp 0x14014fa28
mov rcx, qword [rbp + 0xa0]
lea r8, [rsp + 0x60]
call fcn.14011fa80
mov rcx, qword [rbp + 0xc0]
mov rdx, rbx
mov r12d, eax
call fcn.1400f17d0
movzx eax, byte [rdi]
mov ebx, dword [rsp + 0x60]
movzx ecx, byte [rbp + rax + 0x82]
mov r8d, dword [rsp + 0x40]
movzx edx, cl
mov rcx, rsi
mov dword [rsp + 0x20], r12d
mov r12d, dword [rsp + 0x50]
mov r9d, r12d
call fcn.14013f680
mov rcx, qword [rbp + 0xa0]
mov edi, r13d
test ebx, ebx
je 0x14014fa8b
movzx eax, byte [rcx + 0x1f]
cmp al, 8
jae 0x14014fa8b
movzx eax, al
mov dword [rcx + rax*4 + 0xcc], ebx
inc byte [rcx + 0x1f]
jmp 0x14014fa8b
mov r8d, dword [rsp + 0x40]
mov edx, r10d
xor edx, 1
mov rcx, rsi
lea edx, [rdx*4 + 0x20]
call fcn.14013f610
mov rcx, qword [rbp + 0xa0]
test r14, r14
je 0x14014fb3b
mov rbx, qword [r14]
mov r9d, 1
inc dword [rcx + 0x38]
mov eax, dword [rcx + 0x38]
mov r8d, eax
mov dword [rsp + 0x54], eax
mov rdx, qword [rbx + 0x18]
call fcn.1400ec7b0
mov rcx, qword [rbx + 0x18]
movzx edx, byte [rcx]
movzx eax, dl
cmp dl, 0xab
jne 0x14014fac6
movzx eax, byte [rcx + 0x36]
cmp al, 0xac
jne 0x14014fad0
lea rax, [rcx + 0x20]
jmp 0x14014fad8
cmp al, 0x86
jne 0x14014fae0
mov rax, qword [rcx + 0x20]
mov rax, qword [rax]
cmp dword [rax], 1
jg 0x14014fafa
movzx eax, byte [rbx]
sub al, 0x36
test al, 0xfd
jne 0x14014fafa
mov eax, dword [rsp + 0x78]
xor eax, 1
lea r13d, [rax*2 + 0x37]
jmp 0x14014fb07
mov rax, qword [rsp + 0x78]
lea r13d, [rax*2 + 0x36]
cmp dl, 0xab
jne 0x14014fb10
movzx edx, byte [rcx + 0x36]
cmp dl, 0xac
jne 0x14014fb1b
lea rax, [rcx + 0x20]
jmp 0x14014fb24
cmp dl, 0x86
jne 0x14014fb2c
mov rax, qword [rcx + 0x20]
mov rax, qword [rax]
cmp dword [rax], 1
jg 0x14014fb3b
mov rcx, qword [rbp + 0xc0]
mov rdx, r14
call fcn.1400f17d0
mov r11, qword [rbp + 0xc0]
mov ecx, dword [rsi + 0x90]
cmp dword [rsp + 0x78], r15d
mov r14, qword [rbp + 0xa0]
sete al
mov dword [r11 + 0x3c], ecx
add al, 4
mov byte [r11 + 0x35], al
mov eax, dword [rsp + 0x40]
mov dword [r11 + 0x38], eax
cmp r13d, edi
je 0x140151289
inc dword [r14 + 0x38]
mov r8d, eax
mov ebx, dword [r14 + 0x38]
mov edx, 0x80
mov r9d, ebx
mov rcx, rsi
call fcn.14013f610
mov r8d, dword [rsp + 0x54]
mov r9d, r12d
mov edx, r13d
mov dword [rsp + 0x20], ebx
mov rcx, rsi
call fcn.14013f680
movsxd rax, dword [rsi + 0x90]
mov r11, qword [rbp + 0xc0]
mov r8, qword [rbp + 0xb0]
test eax, eax
jle 0x140151290
lea rcx, [rax + rax*2]
mov edx, 0x53
mov rax, qword [rsi + 0x88]
mov word [rax + rcx*8 - 0x16], dx
jmp 0x140151290
mov eax, 0x200
test eax, edx
je 0x1401507a1
movzx r12d, word [r14 + 0x18]
xor r13b, r13b
mov rax, qword [rbp - 0x80]
mov rdi, r15
movzx ebx, word [r14 + 0x1a]
mov r9d, r15d
movzx r11d, word [r14 + 0x1c]
mov r14, r15
mov word [rsp + 0x74], bx
mov r8d, r12d
mov r10, qword [rax + 0x20]
mov rax, qword [rbp + 0xc0]
mov word [rsp + 0x70], r11w
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x78], r15
mov eax, dword [rax + 8]
mov dword [rsp + 0x48], eax
mov qword [rbp - 0x70], r15
mov byte [rbp + 0xb8], dil
mov dword [rsp + 0x58], r15d
mov qword [rsp + 0x68], r10
mov dword [rsp + 0x4c], r12d
test dl, 0x20
je 0x14014fc65
mov rax, qword [rbp - 0x80]
inc r8d
movzx r9d, bx
mov rax, qword [rax + 0x38]
mov r14, qword [rax + r12*8]
mov qword [rbp - 0x68], r14
test dl, 0x10
je 0x14014fd42
mov rax, qword [rbp - 0x80]
movzx ebx, r11w
cmp r9d, ebx
mov ecx, r8d
mov rax, qword [rax + 0x38]
cmova ebx, r9d
mov rdi, qword [rax + rcx*8]
mov eax, 0x100
mov qword [rbp - 0x78], rdi
test word [rdi + 0x12], ax
je 0x14014fd01
mov rcx, qword [rbp + 0xa0]
mov edx, 0x46
mov rax, qword [rbp + 0xc0]
mov r9d, dword [rcx + 0x38]
lea r8d, [rdx - 0x45]
inc r9d
mov dword [rcx + 0x38], r9d
mov rcx, rsi
mov dword [rax + 0x2c], r9d
call fcn.14013f610
mov eax, dword [rsi + 0x90]
mov ecx, r15d
mov r8, qword [rbp + 0xc0]
mov r10, qword [rsp + 0x68]
movzx r11d, word [rsp + 0x70]
movzx edx, r12w
shl dword [r8 + 0x2c], 1
mov dword [r8 + 0x30], eax
mov rax, qword [r10 + 0x38]
cmp byte [rdx + rax], 1
sete cl
xor ecx, dword [rsp + 0x78]
or dword [r8 + 0x2c], ecx
jmp 0x14014fd05
movzx edx, r12w
mov r9d, ebx
test r14, r14
jne 0x14014fd3d
mov rax, qword [r10 + 8]
movsx r8, word [rax + rdx*2]
test r8d, r8d
js 0x14014fd31
mov rax, qword [r10 + 0x18]
mov rdx, r8
shl rdx, 5
mov rcx, qword [rax + 8]
cmp byte [rdx + rcx + 0x18], r15b
je 0x14014fd37
cmp r8d, 0xfffffffe
jne 0x14014fd3d
mov r13b, 1
mov r9d, ebx
movzx ebx, word [rsp + 0x74]
mov rax, qword [rbp - 0x80]
mov eax, dword [rax + 0x28]
test al, 0x30
jne 0x14014fd84
bt eax, 0x13
jae 0x14014fd84
mov rax, qword [rbp + 0xa0]
mov r9d, 1
mov rcx, qword [rbp + 0xc0]
movzx r13d, r9b
inc dword [rax + 0x38]
mov r10d, dword [rax + 0x38]
mov dword [rcx + 0x24], r10d
dec dword [rax + 0x44]
mov eax, dword [rax + 0x44]
mov dword [rcx + 0x28], eax
mov dword [rsp + 0x58], r10d
mov rax, qword [rsp + 0x68]
movzx r8d, word [rax + 0x5e]
cmp r12w, r8w
jae 0x14014fdb1
mov rax, qword [rax + 0x38]
mov edx, r15d
movzx ecx, r12w
cmp byte [rcx + rax], r15b
mov rcx, qword [rsp + 0x78]
sete dl
cmp ecx, edx
je 0x14014fdc0
jmp 0x14014fdb6
mov rcx, qword [rsp + 0x78]
test ecx, ecx
je 0x14014fdee
cmp r8w, r12w
jne 0x14014fdee
mov rax, rdi
mov qword [rbp - 0x78], r14
mov rdi, r14
mov qword [rbp - 0x68], rax
mov r14, rax
mov byte [rbp + 0xb8], r13b
movzx eax, bl
xor r13b, r13b
movzx ebx, ax
mov word [rsp + 0x70], ax
mov word [rsp + 0x74], r11w
jmp 0x14014fdf3
movzx ebx, word [rsp + 0x70]
mov rdx, qword [rbp + 0xc0]
lea rax, [rbp - 0x50]
mov r8d, ecx
mov qword [rsp + 0x20], rax
mov rcx, qword [rbp + 0xa0]
call fcn.1400eb540
mov r8d, eax
mov dword [rsp + 0x5c], eax
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x14014fe40
test bx, bx
je 0x14014fe40
mov rcx, qword [rbp - 0x58]
movzx edx, r12w
add rdx, rax
call fcn.140119fe0
mov r8d, dword [rsp + 0x5c]
mov qword [rbp - 0x70], rax
mov edx, dword [rsp + 0x58]
mov rax, qword [rbp + 0xc0]
test edx, edx
je 0x14014fe54
mov eax, dword [rax + 0x28]
jmp 0x14014fe57
mov eax, dword [rax + 0x10]
mov dword [rsp + 0x44], eax
test r14, r14
je 0x14014fe73
test byte [r14 + 0x14], 0x28
jne 0x14014fe73
mov dword [rsp + 0x50], r15d
mov ebx, 1
jmp 0x14014fe7c
mov ebx, 1
mov dword [rsp + 0x50], ebx
test rdi, rdi
je 0x14014fe8c
test byte [rdi + 0x14], 0x28
mov dword [rsp + 0x60], r15d
je 0x14014fe90
mov dword [rsp + 0x60], ebx
mov r10d, 0x49
test r14, r14
jne 0x14014fed1
test r12w, r12w
jne 0x14014fed1
mov ecx, dword [rsp + 0x4c]
mov dword [rsp + 0x54], r15d
mov edi, ecx
test r13b, r13b
je 0x1401500f8
lea r9d, [rcx + r8]
mov edx, r10d
xor r8d, r8d
mov rcx, rsi
mov r14d, r15d
call fcn.14013f610
inc edi
jmp 0x14014ffe7
movzx ecx, r12w
mov dword [rsp + 0x54], ebx
mov edi, ecx
test r14, r14
je 0x14014feaa
mov rax, qword [r14]
lea r13d, [r8 + rcx]
movzx r14d, word [rsp + 0x74]
mov r8d, r13d
mov rcx, qword [rbp + 0xa0]
mov r9d, r14d
mov rbx, qword [rax + 0x18]
mov rdx, rbx
call fcn.1400ec7b0
mov rax, qword [rbp - 0x68]
mov ecx, 0x100
test word [rax + 0x12], cx
je 0x14014ff5d
mov rax, qword [rsi]
mov ecx, dword [rsi + 0x90]
dec ecx
cmp byte [rax + 0x61], r15b
je 0x14014ff2f
lea rcx, [0x1402a0c50]
jmp 0x14014ff41
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0xc0]
mov eax, dword [rdx + 0x2c]
shr eax, 1
mov dword [rcx + 0xc], eax
movzx eax, byte [rdx + 0x2c]
and al, 1
movzx eax, al
mov word [rcx + 2], ax
mov rcx, rbx
call fcn.14011ceb0
test eax, eax
je 0x14014ff7e
mov r9d, dword [rsp + 0x44]
mov r8d, r13d
mov edx, 0x32
mov rcx, rsi
call fcn.14013f610
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x14014ff99
movzx r8d, r12w
mov edx, r14d
add r8, rax
mov rcx, rbx
call fcn.140158b00
movzx eax, byte [rbx]
add edi, r14d
cmp al, 0xab
jne 0x14014ffa7
movzx eax, byte [rbx + 0x36]
cmp al, 0xac
jne 0x14014ffb1
lea rax, [rbx + 0x20]
jmp 0x14014ffb9
cmp al, 0x86
jne 0x14014ffcb
mov rax, qword [rbx + 0x20]
mov rax, qword [rax]
cmp dword [rax], 1
jle 0x14014ffcb
mov dword [rsp + 0x50], 1
jmp 0x14014ffdb
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rbp + 0xc0]
call fcn.1400f17d0
xor r13b, r13b
mov ebx, dword [rsp + 0x54]
mov r14d, dword [rsp + 0x50]
mov r12, qword [rbp - 0x50]
mov r8d, edi
mov edx, dword [rsp + 0x5c]
mov r9, r12
mov rcx, qword [rbp + 0xa0]
movzx eax, r13b
sub r8d, eax
mov dword [rsp + 0x54], eax
call fcn.1400eb9e0
mov rcx, qword [rbp - 0x80]
lea r13, [0x140000000]
movzx eax, word [rcx + 0x2e]
test ax, ax
je 0x14015002b
movzx eax, ax
cmp edi, eax
je 0x140150119
test dword [rcx + 0x28], 0x40000
je 0x140150046
mov r8d, dword [rsp + 0x48]
mov edx, 0x77
mov rcx, rsi
call fcn.14013f5a0
mov eax, dword [rsp + 0x58]
test eax, eax
je 0x140150062
mov edx, 0x46
mov r9d, eax
mov rcx, rsi
lea r8d, [rdx - 0x45]
call fcn.14013f610
mov rcx, qword [rsp + 0x78]
lea eax, [r14 + rbx*2]
mov ebx, dword [rsp + 0x5c]
mov r9d, dword [rsp + 0x44]
mov r8d, dword [rsp + 0x48]
lea ecx, [rcx + rax*2]
mov dword [rsp + 0x28], edi
movzx edx, byte [rcx + r13 + 0x21a630]
mov rcx, rsi
mov dword [rsp + 0x20], ebx
call fcn.14013f780
cmp dword [rsp + 0x58], r15d
je 0x14015011d
mov r9d, dword [rsi + 0x90]
xor r8d, r8d
add r9d, 2
mov rcx, rsi
lea edx, [r8 + 0xb]
call fcn.14013f610
mov r9d, dword [rsp + 0x44]
mov eax, 2
mov r8d, dword [rsp + 0x48]
mov edx, 6
mov ecx, edi
sub ecx, r14d
mov dword [rsp + 0x28], ecx
cmp edi, 1
mov rcx, rsi
mov dword [rsp + 0x20], ebx
cmova eax, edx
add eax, dword [rsp + 0x78]
movzx edx, byte [rax + r13 + 0x21a630]
call fcn.14013f780
jmp 0x14015011d
test edx, edx
je 0x14014ffde
lea r9d, [rcx + r8]
mov edx, r10d
xor r8d, r8d
mov rcx, rsi
call fcn.14013f610
inc edi
jmp 0x14014ffe2
mov ebx, dword [rsp + 0x5c]
mov rax, qword [rbp - 0x78]
mov r14d, dword [rsp + 0x4c]
test rax, rax
je 0x140150270
mov rax, qword [rax]
movzx edi, word [rsp + 0x70]
add r14d, dword [rsp + 0x5c]
mov r9d, edi
mov rcx, qword [rbp + 0xa0]
mov r8d, r14d
mov rbx, qword [rax + 0x18]
mov rdx, rbx
call fcn.1400ec7b0
mov rax, qword [rbp - 0x78]
mov ecx, 0x100
test word [rax + 0x12], cx
je 0x1401501ac
mov rax, qword [rsi]
mov ecx, dword [rsi + 0x90]
dec ecx
cmp byte [rax + 0x61], r15b
je 0x14015017e
lea rcx, [0x1402a0c50]
jmp 0x140150190
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rcx, [rax + rcx*8]
mov rdx, qword [rbp + 0xc0]
mov eax, dword [rdx + 0x2c]
shr eax, 1
mov dword [rcx + 0xc], eax
movzx eax, byte [rdx + 0x2c]
and al, 1
movzx eax, al
mov word [rcx + 2], ax
mov rcx, rbx
call fcn.14011ceb0
test eax, eax
je 0x1401501cd
mov r9d, dword [rsp + 0x44]
mov r8d, r14d
mov edx, 0x32
mov rcx, rsi
call fcn.14013f610
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x1401501fc
mov r8, rax
mov edx, edi
mov rcx, rbx
call fcn.140158b00
mov rax, qword [rbp - 0x70]
mov r8d, edi
mov rcx, qword [rbp + 0xa0]
mov r9, rax
mov edx, r14d
call fcn.1400eb9e0
mov r14d, dword [rsp + 0x4c]
movzx eax, byte [rbx]
add r14d, edi
cmp al, 0xab
jne 0x14015020f
movzx eax, byte [rbx + 0x36]
cmp al, 0xac
jne 0x140150219
lea rax, [rbx + 0x20]
jmp 0x140150221
cmp al, 0x86
jne 0x140150230
mov rax, qword [rbx + 0x20]
mov rax, qword [rax]
cmp dword [rax], 1
jle 0x140150230
mov ebx, 1
jmp 0x140150244
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rbp + 0xc0]
call fcn.1400f17d0
mov ebx, dword [rsp + 0x60]
mov edi, dword [rsp + 0x58]
mov r8, qword [rbp - 0x58]
test r12, r12
je 0x1401502d6
test r8, r8
je 0x1401502ca
cmp qword [r8 + 0x2b8], r15
je 0x1401502a4
mov rdx, r12
mov rcx, r8
call fcn.1400fea60
jmp 0x1401502d2
cmp byte [rbp + 0xb8], r15b
je 0x140150240
mov edi, dword [rsp + 0x58]
test edi, edi
jne 0x14015029b
lea r9d, [r14 + rbx]
xor r8d, r8d
lea edx, [rdi + 0x49]
mov rcx, rsi
call fcn.14013f610
inc r14d
mov ebx, r15d
jmp 0x140150248
mov ebx, dword [rsp + 0x60]
inc r14d
jmp 0x140150248
cmp r12, qword [r8 + 0x1a0]
jb 0x1401502ca
cmp r12, qword [r8 + 0x1a8]
jae 0x1401502ca
mov rax, qword [r8 + 0x198]
mov qword [r12], rax
mov qword [r8 + 0x198], r12
jmp 0x1401502d6
mov rcx, r12
call fcn.1400d56c0
mov r8, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x140150324
test r8, r8
je 0x14015031f
cmp qword [r8 + 0x2b8], r15
je 0x1401502fa
mov rdx, rcx
mov rcx, r8
call fcn.1400fea60
jmp 0x140150324
cmp rcx, qword [r8 + 0x1a0]
jb 0x14015031f
cmp rcx, qword [r8 + 0x1a8]
jae 0x14015031f
mov rax, qword [r8 + 0x198]
mov qword [rcx], rax
mov qword [r8 + 0x198], rcx
jmp 0x140150324
call fcn.1400d56c0
mov rcx, qword [rbp + 0xc0]
mov eax, dword [rsi + 0x90]
mov dword [rcx + 0x3c], eax
test r14d, r14d
je 0x14015038d
test edi, edi
je 0x140150358
mov r9d, dword [rsi + 0x90]
mov r8d, edi
add r9d, 3
mov edx, 0x14
mov rcx, rsi
call fcn.14013f610
mov rax, qword [rsp + 0x78]
mov rcx, rsi
mov r12d, dword [rsp + 0x44]
mov r9d, r12d
mov r8d, dword [rsp + 0x48]
mov dword [rsp + 0x28], r14d
lea eax, [rbx + rax*2]
mov ebx, dword [rsp + 0x5c]
movzx edx, byte [rax + r13 + 0x21a62c]
mov dword [rsp + 0x20], ebx
call fcn.14013f780
jmp 0x140150396
mov ebx, dword [rsp + 0x5c]
mov r12d, dword [rsp + 0x44]
test edi, edi
je 0x1401503ec
mov r9d, dword [rsi + 0x90]
mov r8d, edi
add r9d, 2
mov edx, 0x12
mov rcx, rsi
call fcn.14013f610
mov eax, dword [rsp + 0x54]
mov r9d, r12d
mov rcx, qword [rsp + 0x78]
mov r12d, dword [rsp + 0x48]
lea r8d, [r14 + rax]
lea eax, [rax + rcx*2]
mov dword [rsp + 0x28], r8d
movzx edx, byte [rax + r13 + 0x21a62c]
mov r8d, r12d
mov rcx, rsi
mov dword [rsp + 0x20], ebx
call fcn.14013f780
jmp 0x1401503f1
mov r12d, dword [rsp + 0x48]
mov r13, qword [rbp - 0x80]
test dword [r13 + 0x28], 0x40000
je 0x140150429
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x14015044d
mov eax, 1
mov dword [rsp + 0x20], r15d
mov r9d, eax
mov r8d, r12d
mov rcx, rsi
lea edx, [rax + 0x76]
call fcn.1400fb2d0
mov edx, 1
test byte [r13 + 0x28], 0x40
mov rcx, qword [rbp + 0xb0]
je 0x14015047e
test byte [rcx + 0x40], 0x20
jne 0x14015047e
mov dword [rbp + 0xb8], edx
jmp 0x1401505e6
lea eax, [rcx + 1]
mov edx, 1
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x77
mov dword [rax + rcx*8 + 4], r12d
mov qword [rax + rcx*8 + 8], rdx
mov qword [rax + rcx*8 + 0x10], r15
jmp 0x14015042e
mov r10, qword [rsp + 0x68]
mov dword [rbp + 0xb8], r15d
mov rbx, qword [r10 + 0x18]
test byte [rbx + 0x40], 0x20
jne 0x140150504
movzx eax, word [rcx + 0x40]
mov edx, 0x400
test dx, ax
jne 0x1401504c7
mov edx, 0x1000
test dx, ax
je 0x1401504b2
cmp byte [rcx + 0x45], 1
je 0x1401504c7
mov r8d, dword [rsp + 0x40]
mov r9d, r12d
mov rdx, r10
call fcn.1400ebdf0
jmp 0x1401505e6
mov rax, qword [rbp + 0xa0]
mov r8d, r12d
mov edx, 0x87
mov rcx, rsi
inc dword [rax + 0x38]
mov ebx, dword [rax + 0x38]
mov r9d, ebx
call fcn.14013f610
mov r8d, dword [rsp + 0x40]
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x20], ebx
lea edx, [r9 + 0x1f]
call fcn.14013f680
jmp 0x1401505e6
mov ecx, dword [rsp + 0x40]
cmp ecx, r12d
je 0x1401505ef
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x140150532
nop word [rax + rax]
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x140150532
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140150520
movzx edx, word [rbx + 0x5e]
mov rcx, qword [rbp + 0xa0]
call fcn.140127590
mov r14d, eax
mov edi, r15d
movzx eax, word [rbx + 0x5e]
cmp r15w, ax
jae 0x1401505c4
mov r13d, 0xffffffff
nop dword [rax + rax]
movzx r8d, word [r10 + 0x60]
mov edx, r15d
test r8d, r8d
je 0x140150591
mov rax, qword [rbx + 8]
mov r9, qword [r10 + 8]
movsxd rcx, edi
movzx r10d, word [rax + rcx*2]
nop dword [rax]
movsxd rax, edx
cmp r10w, word [r9 + rax*2]
je 0x140150595
inc edx
cmp edx, r8d
jl 0x140150580
movzx edx, r13w
lea eax, [rdi + r14]
movsx r9d, dx
mov edx, 0x5a
mov dword [rsp + 0x20], eax
mov r8d, r12d
mov rcx, rsi
call fcn.14013f680
movzx eax, word [rbx + 0x5e]
inc edi
mov r10, qword [rsp + 0x68]
cmp edi, eax
jl 0x140150560
mov r13, qword [rbp - 0x80]
mov r9d, dword [rbp - 0x60]
mov edx, 0x1c
mov r8d, dword [rsp + 0x40]
mov rcx, rsi
movzx eax, ax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r14d
call fcn.14013f780
mov ecx, dword [rsp + 0x40]
mov r10, qword [rsp + 0x68]
mov rax, qword [rbp + 0xc0]
cmp dword [rax], r15d
jne 0x140150729
mov r11, qword [rbp + 0xb0]
test byte [r11 + 0x40], 0x20
jne 0x140150729
mov rax, qword [r10 + 0x50]
test rax, rax
je 0x140150729
lea rdx, [0x140160a50]
mov qword [rbp], r15
mov qword [rbp + 8], rdx
xorps xmm0, xmm0
lea rdx, [rbp - 0x20]
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x28], rdx
mov r14d, r15d
movdqu xmmword [rbp + 0x10], xmm0
mov dword [rbp - 0x18], ecx
mov dword [rbp - 0x14], r12d
cmp dword [rax], r15d
jle 0x140150729
mov r12, r15
lea r13, [rax + 8]
mov r15, r11
mov rsi, rax
nop dword [rax]
nop word [rax + rax]
mov rax, qword [r10 + 8]
cmp word [r12 + rax], 0xfffe
jne 0x140150707
mov rdx, qword [r15 + 0x20]
mov dword [rbp - 0x10], r14d
mov rax, qword [r13]
mov qword [rbp - 0x20], rax
test rdx, rdx
je 0x14015069e
lea rcx, [rbp]
call fcn.140160470
mov rdi, qword [r15 + 0x10]
test rdi, rdi
je 0x1401506d0
mov ebx, dword [rdi]
add rdi, 8
test ebx, ebx
jle 0x1401506d0
mov rdx, qword [rdi]
test rdx, rdx
je 0x1401506c6
lea rcx, [rbp]
call fcn.140160470
test eax, eax
jne 0x1401506d0
dec ebx
add rdi, 0x28
test ebx, ebx
jg 0x1401506b1
mov rdi, qword [r15 + 0x18]
test rdi, rdi
je 0x140150702
mov ebx, dword [rdi]
add rdi, 8
test ebx, ebx
jle 0x140150702
mov rdx, qword [rdi]
test rdx, rdx
je 0x1401506f8
lea rcx, [rbp]
call fcn.140160470
test eax, eax
jne 0x140150702
dec ebx
add rdi, 0x28
test ebx, ebx
jg 0x1401506e3
mov r10, qword [rsp + 0x68]
inc r14d
add r12, 2
add r13, 0x28
cmp r14d, dword [rsi]
jl 0x140150670
mov rsi, qword [rbp + 0xa8]
xor r15d, r15d
mov r13, qword [rbp - 0x80]
mov rcx, qword [r10 + 0x48]
test rcx, rcx
je 0x140150744
mov r8, qword [rbp - 0x40]
mov edx, dword [rsp + 0x40]
call fcn.140160640
mov r10, qword [rsp + 0x68]
mov r11, qword [rbp + 0xc0]
mov eax, 0x1000
test dword [r13 + 0x28], eax
je 0x14015075d
mov byte [r11 + 0x35], 0xaa
jmp 0x14015076b
cmp dword [rsp + 0x78], 0
sete al
add al, 4
mov byte [r11 + 0x35], al
mov eax, dword [rsp + 0x48]
mov dword [r11 + 0x38], eax
movzx eax, byte [r13 + 0x2a]
and al, 1
mov byte [r11 + 0x36], al
test byte [r13 + 0x28], 0xf
jne 0x14015078a
mov byte [r11 + 0x37], 1
cmp dword [rbp + 0xb8], 0
mov rax, r15
cmove rax, r10
mov qword [rbp - 0x50], rax
jmp 0x140151282
bt edx, 0xd
jae 0x140151230
dec dword [rbx + 0x44]
inc dword [rbx + 0x38]
mov eax, dword [rbx + 0x34]
mov ecx, dword [rbx + 0x38]
mov dword [rsp + 0x58], eax
inc eax
mov dword [rbx + 0x34], eax
mov eax, dword [rbx + 0x44]
mov dword [rsp + 0x54], eax
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x30], r15
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0x48], r15d
mov r12, qword [rax + 0x20]
mov rax, qword [r14 + 0x38]
mov dword [rsp + 0x44], r15d
mov dword [rsp + 0x5c], r15d
mov qword [rbp - 0x68], r15
mov r14, qword [rax]
mov qword [rsp + 0x68], r12
mov qword [rbp - 0x20], r14
mov rax, qword [r14 + 0x28]
mov qword [rbp - 0x38], rax
mov rax, qword [rbp + 0xb0]
mov byte [r11 + 0x35], 0x42
mov dword [r11 + 0x38], ecx
movzx eax, byte [rax + 0x42]
cmp al, 1
jbe 0x140150964
movzx ebx, al
sub ebx, edi
dec ebx
movsxd rax, ebx
imul rcx, rax, 0x70
add rcx, 0x78
test r13, r13
je 0x140150842
mov rdx, rcx
mov rcx, r13
call fcn.140119d40
jmp 0x140150847
call fcn.14012cad0
mov qword [rbp - 0x28], rax
mov rdx, rax
test rax, rax
jne 0x14015085f
mov rax, qword [rbp + 0xc8]
jmp 0x1401516ab
mov r11, qword [rbp + 0xb0]
lea eax, [rbx + 1]
movzx ecx, al
mov rax, qword [rbp - 0x48]
mov dword [rdx + 4], ecx
mov dword [rdx], ecx
movups xmm0, xmmword [rax]
movups xmmword [rdx + 8], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x18], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x28], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x38], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x48], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x58], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rdx + 0x68], xmm0
mov r10, qword [r11 + 8]
cmp ebx, 1
jl 0x14015092c
mov r8, qword [rbp + 0xc0]
add rdx, 0x78
add r8, 0x94
mov r9d, ebx
nop word [rax + rax]
movzx eax, byte [r8]
lea rdx, [rdx + 0x70]
imul rcx, rax, 0x70
lea r8, [r8 + 0x60]
movups xmm0, xmmword [rcx + r10 + 8]
movups xmmword [rdx - 0x70], xmm0
movups xmm1, xmmword [rcx + r10 + 0x18]
movups xmmword [rdx - 0x60], xmm1
movups xmm0, xmmword [rcx + r10 + 0x28]
movups xmmword [rdx - 0x50], xmm0
movups xmm1, xmmword [rcx + r10 + 0x38]
movups xmmword [rdx - 0x40], xmm1
movups xmm0, xmmword [rcx + r10 + 0x48]
movups xmmword [rdx - 0x30], xmm0
movups xmm1, xmmword [rcx + r10 + 0x58]
movups xmmword [rdx - 0x20], xmm1
movups xmm0, xmmword [rcx + r10 + 0x68]
movups xmmword [rdx - 0x10], xmm0
sub r9, 1
jne 0x1401508d0
mov rbx, qword [rbp + 0xa0]
test byte [r11 + 0x40], 0x10
jne 0x1401509dd
test byte [r12 + 0x40], 0x20
jne 0x14015097c
inc dword [rbx + 0x38]
xor r8d, r8d
mov eax, dword [rbx + 0x38]
mov rcx, rsi
mov r9d, eax
mov dword [rsp + 0x48], eax
lea edx, [r8 + 0x49]
call fcn.14013f610
jmp 0x1401509d3
mov rax, qword [rbp + 0xb0]
mov r11, qword [rbp + 0xb0]
mov rax, qword [rax + 8]
mov qword [rbp - 0x28], rax
jmp 0x140150933
mov rbx, qword [r12 + 0x10]
test rbx, rbx
je 0x140150998
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x140150998
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x140150986
mov rcx, qword [rbp + 0xa0]
mov edx, 0x70
mov edi, dword [rcx + 0x34]
mov r8d, edi
mov dword [rsp + 0x48], edi
lea eax, [rdi + 1]
mov dword [rcx + 0x34], eax
mov rcx, rsi
movzx r9d, word [rbx + 0x5e]
call fcn.14013f610
mov rdx, rbx
mov rbx, qword [rbp + 0xa0]
mov rcx, rbx
call fcn.14014b7b0
inc dword [rbx + 0x38]
mov eax, dword [rbx + 0x38]
mov dword [rsp + 0x44], eax
movsxd rdx, dword [rsi + 0x90]
mov dword [rsp + 0x70], edx
cmp dword [rsi + 0x94], edx
jg 0x140150a0f
mov r9d, dword [rsp + 0x60]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], r15d
lea edx, [r8 + 0x46]
call fcn.1400fb2d0
mov dword [rsp + 0x70], eax
jmp 0x140150a3d
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov edx, dword [rsp + 0x60]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], 0x46
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov r12, qword [rbp - 0x40]
mov eax, dword [r12 + 0x14]
cmp eax, 1
jle 0x140150b0d
mov ebx, r15d
test eax, eax
jle 0x140150b06
mov rdi, r15
mov edx, 0x1fff
mov rsi, r15
nop word [rax + rax]
mov rcx, qword [r12 + 0x20]
movsxd rax, ebx
shl rax, 6
add rax, rcx
cmp rax, r14
je 0x140150ac8
test byte [rcx + rdi + 0x12], 6
jne 0x140150ac8
test word [rcx + rdi + 0x14], dx
je 0x140150ac8
mov rdx, qword [rcx + rdi]
test rdx, rdx
je 0x140150aab
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
call fcn.1400f4350
jmp 0x140150aae
mov rax, r15
mov rcx, qword [rbp + 0xa0]
mov r8, rax
mov rdx, rsi
call fcn.14011ca60
mov rsi, rax
mov edx, 0x1fff
inc ebx
add rdi, 0x40
cmp ebx, dword [r12 + 0x14]
jl 0x140150a70
mov rbx, qword [rbp + 0xa0]
test rsi, rsi
mov qword [rbp - 0x68], rsi
mov rsi, qword [rbp + 0xa8]
je 0x140150b0d
mov r9, qword [rbp - 0x68]
xor r8d, r8d
mov edx, 0x1002c
mov rcx, rbx
call fcn.14012dae0
mov qword [rbp - 0x68], rax
jmp 0x140150b0d
mov rbx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0xb0]
lea r8, str.MULTI_INDEX_OR
mov r12d, 0x400
mov edx, 1
mov rcx, rbx
movzx eax, word [rax + 0x40]
and ax, r12w
or ax, 0x20
mov word [rbp + 0xb8], ax
call fcn.140147c50
mov rax, qword [rbp - 0x38]
mov edi, r15d
mov dword [rsp + 0x4c], r15d
cmp dword [rax + 0x14], r15d
jle 0x140150ff9
mov ecx, dword [rsp + 0x40]
mov r12, r15
mov qword [rbp - 0x78], r15
mov rax, qword [rax + 0x20]
cmp dword [r12 + rax + 0x1c], ecx
je 0x140150b7e
mov edx, 0x400
test word [r12 + rax + 0x14], dx
je 0x140150fd0
mov rbx, qword [r12 + rax]
mov r14d, r15d
mov rax, qword [rbp - 0x68]
mov dword [rsp + 0x78], r15d
test rax, rax
je 0x140150b9a
mov qword [rax + 0x10], rbx
mov rbx, rax
mov rcx, qword [rbp + 0xa0]
lea r9d, [rdi + 1]
lea r8, str.INDEX__d
mov edx, 1
call fcn.140147c50
mov eax, dword [rsp + 0x58]
xor r9d, r9d
mov r13, qword [rbp - 0x28]
mov r8, rbx
mov rcx, qword [rbp + 0xa0]
mov rdx, r13
mov dword [rsp + 0x30], eax
movzx eax, word [rbp + 0xb8]
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r15
call fcn.14014e090
mov qword [rbp - 0x70], rax
mov rbx, rax
test rax, rax
je 0x140150fc5
mov rcx, qword [rbp + 0xa0]
lea r8, [rax + 0x398]
xor r9d, r9d
mov rdx, r13
call fcn.140152200
mov rax, qword [rbp + 0xb0]
mov r13, qword [rsp + 0x68]
test byte [rax + 0x40], 0x10
jne 0x140150e65
mov rax, qword [rbp - 0x38]
mov ebx, edi
mov ecx, dword [rax + 0x14]
mov eax, 0xffffffff
dec ecx
cmp edi, ecx
cmove ebx, eax
test byte [r13 + 0x40], 0x20
mov dword [rbp - 0x80], ebx
jne 0x140150c88
mov r14d, dword [rsp + 0x44]
mov r9d, eax
mov r8d, dword [rsp + 0x40]
mov rdx, r13
mov rcx, rsi
mov dword [rsp + 0x20], r14d
call fcn.14011d460
mov r8d, dword [rsp + 0x48]
xor r9d, r9d
mov dword [rsp + 0x28], ebx
mov rcx, rsi
mov dword [rsp + 0x20], r14d
lea edx, [r9 + 0x2a]
call fcn.14013f780
mov r14d, eax
jmp 0x140150e61
mov rcx, r13
call fcn.1401347e0
mov rdx, qword [rbp + 0xa0]
mov r14, rax
movzx r13d, word [rax + 0x5e]
cmp r13d, 1
jne 0x140150cc6
movzx ecx, byte [rdx + 0x1f]
test cl, cl
jne 0x140150cb5
inc dword [rdx + 0x38]
mov edi, dword [rdx + 0x38]
jmp 0x140150cf0
dec cl
movzx eax, cl
mov byte [rdx + 0x1f], al
mov edi, dword [rdx + rax*4 + 0xcc]
jmp 0x140150cf0
mov ecx, dword [rdx + 0x28]
mov edi, dword [rdx + 0x2c]
mov dword [rsp + 0x50], edi
cmp r13d, ecx
jg 0x140150ce4
lea eax, [rdi + r13]
sub ecx, r13d
mov dword [rdx + 0x2c], eax
mov dword [rdx + 0x28], ecx
jmp 0x140150cf4
mov eax, dword [rdx + 0x38]
lea edi, [rax + 1]
add eax, r13d
mov dword [rdx + 0x38], eax
mov dword [rsp + 0x50], edi
mov rbx, r15
mov r12, r13
test r13d, r13d
je 0x140150d3b
mov r15, qword [rsp + 0x68]
mov r13d, dword [rsp + 0x40]
nop dword [rax]
mov rax, qword [r14 + 8]
mov r8d, r13d
mov rdx, r15
mov dword [rsp + 0x20], edi
mov rcx, rsi
movsx r9d, word [rax + rbx*2]
call fcn.14011d460
inc edi
inc rbx
cmp rbx, r12
jl 0x140150d10
xor r15d, r15d
mov r13d, r12d
mov edi, dword [rbp - 0x80]
mov ebx, dword [rsp + 0x50]
mov r12d, dword [rsp + 0x48]
test edi, edi
je 0x140150d6b
xor r9d, r9d
mov dword [rsp + 0x28], r13d
mov r8d, r12d
mov dword [rsp + 0x20], ebx
mov rcx, rsi
lea edx, [r9 + 0x1d]
call fcn.14013f780
mov r14d, eax
jmp 0x140150d70
mov r14d, dword [rsp + 0x78]
test edi, edi
js 0x140150e13
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [rsp + 0x44]
cmp dword [rsi + 0x94], ecx
jg 0x140150da4
mov dword [rsp + 0x20], edx
mov r9d, r13d
mov edx, 0x5c
mov r8d, ebx
mov rcx, rsi
call fcn.1400fb2d0
jmp 0x140150dd1
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x5c
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r15
mov r9d, dword [rsp + 0x44]
mov r8d, r12d
mov dword [rsp + 0x28], r13d
mov edx, 0x84
mov rcx, rsi
mov dword [rsp + 0x20], ebx
call fcn.14013f780
test edi, edi
je 0x140150e13
movsxd rax, dword [rsi + 0x90]
test eax, eax
jle 0x140150e13
lea rcx, [rax + rax*2]
mov edx, 0x10
mov rax, qword [rsi + 0x88]
mov word [rax + rcx*8 - 0x16], dx
mov edi, dword [rsp + 0x4c]
mov r12, qword [rbp - 0x78]
cmp r13d, 1
jne 0x140150e48
mov r13, qword [rsp + 0x68]
test ebx, ebx
je 0x140150e61
mov rcx, qword [rbp + 0xa0]
movzx eax, byte [rcx + 0x1f]
cmp al, 8
jae 0x140150e61
movzx eax, al
mov dword [rcx + rax*4 + 0xcc], ebx
inc byte [rcx + 0x1f]
jmp 0x140150e61
mov rax, qword [rbp + 0xa0]
cmp r13d, dword [rax + 0x28]
jle 0x140150e5c
mov dword [rax + 0x28], r13d
mov dword [rax + 0x2c], ebx
mov r13, qword [rsp + 0x68]
mov rbx, qword [rbp - 0x70]
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x140150e92
mov r9d, dword [rsp + 0x54]
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov r8d, dword [rsp + 0x60]
mov rcx, rsi
mov dword [rsp + 0x20], r15d
call fcn.1400fb2d0
jmp 0x140150ec7
mov edx, dword [rsp + 0x60]
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x54]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
test r14d, r14d
je 0x140150f02
mov rax, qword [rsi]
mov edx, dword [rsi + 0x90]
cmp byte [rax + 0x61], 0
je 0x140150ee4
lea rax, [0x1402a0c50]
jmp 0x140150eff
lea eax, [rdx - 1]
test r14d, r14d
cmovns eax, r14d
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
cmp byte [rbx + 0x46], 0
mov ecx, 1
mov eax, dword [rsp + 0x5c]
mov rdx, qword [rbx + 0x3e8]
cmovne eax, ecx
mov dword [rsp + 0x5c], eax
mov eax, 0x200
test dword [rdx + 0x28], eax
je 0x140150f55
test edi, edi
je 0x140150f35
mov rax, qword [rbp - 0x30]
cmp qword [rdx + 0x20], rax
jne 0x140150f55
test byte [r13 + 0x40], 0x20
je 0x140150f4b
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax + 0x64]
and cl, 3
cmp cl, 2
je 0x140150f55
mov r14, qword [rdx + 0x20]
mov qword [rbp - 0x30], r14
jmp 0x140150f59
mov qword [rbp - 0x30], r15
mov rcx, rbx
call fcn.1401516c0
mov rbx, qword [rbp + 0xa0]
mov ecx, dword [rbx + 0x120]
test ecx, ecx
jne 0x140150f7d
mov eax, r15d
mov dword [rbx + 0x120], eax
jmp 0x140150fcc
mov rdx, qword [rbx + 0x10]
test ecx, ecx
jns 0x140150f8d
mov ecx, dword [rdx + 0x90]
dec ecx
mov rax, qword [rdx]
cmp byte [rax + 0x61], 0
je 0x140150fa8
lea rax, [0x1402a0c50]
mov eax, dword [rax + 8]
mov dword [rbx + 0x120], eax
jmp 0x140150fcc
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea rax, [rax + rcx*8]
mov eax, dword [rax + 8]
mov dword [rbx + 0x120], eax
jmp 0x140150fcc
mov rbx, qword [rbp + 0xa0]
mov ecx, dword [rsp + 0x40]
mov rax, qword [rbp - 0x38]
inc edi
add r12, 0x40
mov dword [rsp + 0x4c], edi
mov qword [rbp - 0x78], r12
cmp edi, dword [rax + 0x14]
jl 0x140150b62
mov r14, qword [rbp - 0x20]
mov r12d, 0x400
mov r13, qword [rbp - 0x58]
mov ecx, dword [rbx + 0x120]
test ecx, ecx
jne 0x140151008
mov eax, r15d
jmp 0x14015103f
mov rdx, qword [rbx + 0x10]
test ecx, ecx
jns 0x140151018
mov ecx, dword [rdx + 0x90]
dec ecx
mov rax, qword [rdx]
cmp byte [rax + 0x61], 0
je 0x14015102a
lea rax, [0x1402a0c50]
jmp 0x14015103c
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea rax, [rax + rcx*8]
mov eax, dword [rax + 8]
mov r8, qword [rbp + 0xc0]
mov dword [rbx + 0x120], eax
mov rax, qword [rbp - 0x30]
mov qword [r8 + 0x40], rax
test rax, rax
je 0x140151061
mov eax, dword [rsp + 0x58]
mov dword [r8 + 8], eax
mov rax, qword [rbp - 0x68]
test rax, rax
je 0x140151080
mov rdx, rax
mov qword [rax + 0x10], r15
mov rcx, r13
call fcn.140120110
mov r8, qword [rbp + 0xc0]
mov rax, qword [rsi]
mov edx, dword [rsi + 0x90]
cmp byte [rax + 0x61], 0
je 0x140151098
lea rax, [0x1402a0c50]
jmp 0x1401510b5
mov ecx, dword [rsp + 0x70]
lea eax, [rdx - 1]
test ecx, ecx
cmovns eax, ecx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 4], edx
movsxd rcx, dword [rsi + 0x90]
mov edx, dword [r8 + 0xc]
cmp dword [rsi + 0x94], ecx
jg 0x1401510e4
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 0xb]
call fcn.1400fb2d0
jmp 0x14015110e
lea eax, [rcx + 1]
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov qword [rax + rcx*8], VariantTimeToDosDateTime
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov rcx, qword [rsi + 0x18]
mov edx, dword [rsp + 0x54]
not edx
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x14015112d
mov r8d, edx
mov rdx, rsi
call fcn.1401099f0
jmp 0x14015113d
mov rcx, qword [rcx + 0x50]
mov eax, dword [rsi + 0x90]
movsxd rdx, edx
mov dword [rcx + rdx*4], eax
mov r8, qword [rbp + 0xb0]
cmp byte [r8 + 0x42], 1
jbe 0x1401511a1
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x1401511a1
test r13, r13
je 0x140151195
cmp qword [r13 + 0x2b8], 0
je 0x140151170
mov rdx, rcx
mov rcx, r13
call fcn.1400fea60
jmp 0x14015119a
cmp rcx, qword [r13 + 0x1a0]
jb 0x140151195
cmp rcx, qword [r13 + 0x1a8]
jae 0x140151195
mov rax, qword [r13 + 0x198]
mov qword [rcx], rax
mov qword [r13 + 0x198], rcx
jmp 0x1401511a1
call fcn.1400d56c0
mov r8, qword [rbp + 0xb0]
cmp dword [rsp + 0x5c], 0
mov r11, qword [rbp + 0xc0]
jne 0x140151227
test byte [r14 + 0x12], 4
mov edx, r15d
jne 0x140151227
nop dword [rax]
cmp dword [r11], 0
je 0x1401511cf
mov rax, qword [r14]
test byte [rax + 4], 1
je 0x140151227
mov rax, qword [r14 + 0x38]
test qword [r11 + 0x58], rax
jne 0x140151227
test edx, edx
je 0x1401511f7
movzx eax, word [r14 + 0x12]
test r12w, ax
je 0x1401511f7
mov ecx, 0x200
or ax, cx
mov word [r14 + 0x12], ax
jmp 0x1401511fd
or word [r14 + 0x12], 4
movsxd rax, dword [r14 + 0x18]
test eax, eax
js 0x140151227
mov rcx, rax
mov rax, qword [r14 + 8]
shl rcx, 6
mov r14, rcx
add r14, qword [rax + 0x20]
add byte [r14 + 0x16], 0xff
jne 0x140151227
inc edx
test byte [r14 + 0x12], 4
je 0x1401511c0
mov r14, qword [rbp + 0xa0]
jmp 0x140151290
test r8b, 0x20
je 0x14015123d
mov byte [r11 + 0x35], 0xaa
jmp 0x140151282
mov ecx, r10d
lea r13, [0x140000000]
movzx eax, byte [rcx + r13 + 0x21a638]
movzx edx, byte [rcx + r13 + 0x21a63c]
mov rcx, rsi
mov byte [r11 + 0x35], al
mov eax, dword [rsp + 0x40]
mov r8d, eax
mov dword [r11 + 0x38], eax
call fcn.14013f610
mov r11, qword [rbp + 0xc0]
inc eax
mov dword [r11 + 0x3c], eax
mov byte [r11 + 0x37], 1
mov r14, qword [rbp + 0xa0]
mov r8, qword [rbp + 0xb0]
mov r10, qword [rbp - 0x50]
lea r9, [0x1400f47c0]
mov rax, r10
neg rax
lea rax, [r8 + 0x68]
sbb edx, edx
add edx, 2
mov dword [rbp + 0xb8], edx
mov r12d, dword [rax + 0x14]
mov r13d, r15d
mov rbx, qword [rax + 0x20]
test r12d, r12d
jle 0x1401513a6
nop dword [rax]
nop dword [rax + rax]
movzx ecx, word [rbx + 0x12]
mov edi, r15d
test cl, 6
jne 0x140151364
mov rax, qword [rbx + 0x38]
test qword [r11 + 0x58], rax
je 0x1401512f1
mov byte [r8 + 0x46], 1
jmp 0x140151364
mov rax, qword [rbp - 0x48]
mov r14, qword [rbx]
test byte [rax + 0x3c], 8
je 0x140151305
test byte [r14 + 4], 1
je 0x14015135d
cmp edx, 1
jne 0x140151516
mov eax, dword [r11 + 4]
xorps xmm0, xmm0
mov dword [rbp - 0x18], eax
lea rax, [rbp - 0x20]
mov qword [rbp + 0x28], rax
mov qword [rbp], r15
mov qword [rbp + 0x20], r15
mov qword [rbp - 0x20], r10
mov qword [rbp + 8], r9
movdqu xmmword [rbp + 0x10], xmm0
test r14, r14
je 0x14015134d
mov rdx, r14
lea rcx, [rbp]
call fcn.140160470
mov r11, qword [rbp + 0xc0]
cmp byte [rbp + 0x24], 0
je 0x14015151b
mov r13d, 2
mov r14, qword [rbp + 0xa0]
mov edx, dword [rbp + 0xb8]
lea r9, [0x1400f47c0]
mov r11, qword [rbp + 0xc0]
dec r12d
mov r10, qword [rbp - 0x50]
add rbx, 0x40
mov r8, qword [rbp + 0xb0]
test r12d, r12d
jg 0x1401512d0
mov rax, qword [rbp - 0x40]
lea r9, [0x1400f47c0]
mov rbx, qword [rax + 0x20]
mov r12d, dword [rax + 0x14]
mov r11, qword [rbp + 0xc0]
mov edx, r13d
mov r8, qword [rbp + 0xb0]
mov dword [rbp + 0xb8], edx
test r13d, r13d
jg 0x1401512b0
test r12d, r12d
jle 0x1401514cc
mov r13, qword [rbp + 0xc8]
add rbx, 0x14
mov rsi, r11
nop dword [rax]
test byte [rbx - 2], 6
jne 0x1401514b5
movzx eax, word [rbx]
mov edx, VariantTimeToDosDateTime
test al, 0x82
setne cl
bt ax, dx
setb al
test al, cl
je 0x1401514b5
mov eax, dword [rsp + 0x40]
cmp dword [rbx + 8], eax
jne 0x1401514b5
cmp dword [rsi], 0
jne 0x1401514b5
mov r8d, dword [rbx + 0x14]
mov r9, r13
mov rcx, qword [rbp - 0x40]
mov edx, eax
mov rdi, qword [rbx - 0x14]
mov qword [rsp + 0x28], r15
mov dword [rsp + 0x20], 0x83
call fcn.140152730
mov rdx, rax
test rax, rax
je 0x1401514b5
test byte [rax + 0x12], 4
jne 0x1401514b5
test byte [rax + 0x14], 1
je 0x14015146b
mov rax, qword [rax]
test dword [rax + 4], 0x800
je 0x14015146b
mov rax, qword [rax + 0x20]
mov rcx, qword [rax]
cmp dword [rcx], 1
jg 0x1401514b5
mov rax, qword [rdx]
mov r9d, 0x10
mov r8d, dword [rbp - 0x60]
lea rdx, [rbp]
mov rcx, r14
movups xmm0, xmmword [rax]
movaps xmmword [rbp], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x30], xmm1
movsd xmm0, qword [rax + 0x40]
movsd qword [rbp + 0x40], xmm0
mov rax, qword [rdi + 0x10]
mov qword [rbp + 0x10], rax
call fcn.140120540
dec r12d
add rbx, 0x40
test r12d, r12d
jg 0x1401513e0
mov rsi, qword [rbp + 0xa8]
mov rdi, qword [rbp + 0xc0]
mov r9d, dword [rdi]
test r9d, r9d
je 0x1401516a7
mov eax, dword [rsi + 0x90]
mov dword [rdi + 0x1c], eax
movsxd rcx, dword [rsi + 0x90]
cmp dword [rsi + 0x94], ecx
jg 0x140151628
mov edx, 0x46
mov dword [rsp + 0x20], r15d
mov rcx, rsi
lea r8d, [rdx - 0x45]
call fcn.1400fb2d0
jmp 0x14015165b
cmp edx, 3
jge 0x140151544
movzx ecx, word [rbx + 0x12]
mov eax, 0x1000
test ax, cx
je 0x140151544
mov r14, qword [rbp + 0xa0]
test r13d, r13d
jne 0x140151364
mov r13d, 3
jmp 0x140151364
mov eax, 0x200
test ax, cx
je 0x1401515be
mov eax, dword [r11 + 0x2c]
test eax, eax
je 0x1401515be
movsxd rdi, dword [rsi + 0x90]
mov r8d, eax
and eax, 1
shr r8d, 1
lea edx, [rax*2 + 0x12]
cmp dword [rsi + 0x94], edi
jg 0x140151589
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov rcx, rsi
call fcn.1400fb2d0
mov edi, eax
jmp 0x1401515be
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [rsi + 0x90], eax
mov rax, qword [rsi + 0x88]
mov byte [rax + rcx*8], dl
mov word [rax + rcx*8 + 2], r15w
mov dword [rax + rcx*8 + 4], r8d
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], r15
mov byte [rax + rcx*8 + 1], 0
mov r8d, dword [rbp - 0x60]
mov rdx, r14
mov r14, qword [rbp + 0xa0]
mov r9d, 0x10
mov rcx, r14
call fcn.140120540
test edi, edi
je 0x14015161e
mov rax, qword [rsi]
mov edx, dword [rsi + 0x90]
cmp byte [rax + 0x61], 0
je 0x140151601
lea rax, [0x1402a0c50]
mov dword [rax + 8], edx
or word [rbx + 0x12], 4
jmp 0x140151364
lea eax, [rdx - 1]
test edi, edi
cmovns eax, edi
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
or word [rbx + 0x12], 4
jmp 0x140151364
lea eax, [rcx + 1]
mov edx, 1
mov dword [rsi + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x88]
mov dword [rax + rcx*8], 0x46
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r15
mov rsi, qword [rbp - 0x40]
cmp dword [rsi + 0x14], 0
mov rbx, qword [rsi + 0x20]
jle 0x1401516a7
nop dword [rax]
test byte [rbx + 0x12], 6
jne 0x14015169a
mov rax, qword [rbx + 0x38]
test qword [rdi + 0x58], rax
jne 0x14015169a
mov r8d, dword [rbp - 0x60]
mov r9d, 0x10
mov rdx, qword [rbx]
mov rcx, r14
call fcn.140120540
or word [rbx + 0x12], 4
inc r15d
add rbx, 0x40
cmp r15d, dword [rsi + 0x14]
jl 0x140151670
mov rax, qword [rdi + 0x58]
add rsp, 0x158
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret