Function at 0x140069eec
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 - 0x48]
sub rsp, 0x148
mov r15, qword [rbp + 0xb0]
lea rax, [r8 + 0x68]
mov qword [rbp - 0x38], rax
mov r14, rcx
mov rax, qword [rcx]
mov r12, rdx
mov rcx, qword [r8 + 8]
xor esi, esi
mov r11, qword [r15 + 0x50]
mov edi, r9d
mov qword [rbp - 0x58], rax
movzx eax, byte [r15 + 0x34]
imul rax, rax, 0x70
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x80], rsi
mov qword [rsp + 0x78], r11
mov qword [rsp + 0x68], rax
mov ebx, dword [rax + rcx + 0x4c]
lea rcx, [r8 + 0x290]
mov edx, ebx
mov dword [rsp + 0x40], ebx
call fcn.14006dadc
mov r8, qword [rbp + 0xa0]
lea r9d, [rsi + 1]
not rax
mov ecx, edi
and rax, qword [rbp + 0xb8]
mov qword [r15 + 0x58], rax
mov r13d, dword [r14 + 0x44]
mov r10, qword [r8 + 0x58]
dec r13d
mov dword [r14 + 0x44], r13d
shr r10, cl
and r10d, r9d
mov dword [r15 + 0x10], r13d
mov dword [r15 + 0xc], r13d
mov eax, dword [r14 + 0x44]
dec eax
mov qword [rsp + 0x70], r10
mov dword [r14 + 0x44], eax
mov dword [rsp + 0x50], r13d
mov dword [rbp - 0x5c], eax
mov dword [r15 + 0x18], eax
cmp byte [r15 + 0x34], sil
jbe 0x14006a00b
mov rcx, qword [rsp + 0x68]
mov rax, qword [rbp - 0x40]
test byte [rcx + rax + 0x44], 8
je 0x14006a00b
mov r9d, dword [r14 + 0x38]
lea edx, [rsi + 0x46]
inc r9d
mov dword [rsp + 0x20], esi
mov dword [r14 + 0x38], r9d
xor r8d, r8d
mov rcx, r12
mov dword [r15], r9d
call fcn.14002a410
mov r11, qword [rsp + 0x78]
lea r9d, [rsi + 1]
mov r10, qword [rsp + 0x70]
mov r8, qword [rbp + 0xa0]
mov edx, edi
test edi, edi
jle 0x14006a02c
mov eax, edx
lea rcx, [rax + rax*2]
shl rcx, 5
cmp dword [rcx + r8 + 0x398], esi
jne 0x14006a02c
sub edx, r9d
test edx, edx
jg 0x14006a011
movsxd rax, edx
mov edx, 0x10
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x68]
shl rcx, 5
mov r9d, dword [rcx + r8 + 0x3a4]
mov rcx, qword [rbp - 0x40]
test byte [rax + rcx + 0x48], dl
je 0x14006a101
mov ebx, dword [rax + rcx + 0x3c]
xor r9d, r9d
mov eax, dword [rax + rcx + 0x38]
mov r8d, ebx
mov rcx, r12
mov dword [rsp + 0x20], eax
lea edx, [r9 + 0xd]
call fcn.14002a410
mov r9d, r13d
mov dword [rsp + 0x20], esi
mov r8d, ebx
mov edx, 0xe
mov rcx, r12
call fcn.14002a410
mov dword [r15 + 0x3c], eax
mov eax, 0xb
mov byte [r15 + 0x35], al
mov r8, qword [rbp + 0xa0]
mov r11, qword [rsp + 0x68]
mov r9d, 1
mov rdx, qword [rbp - 0x80]
lea r10, [r8 + 0x68]
mov rax, rdx
neg rax
sbb r13d, r13d
add r13d, 2
mov edi, dword [r10 + 0x14]
mov r12d, esi
mov rbx, qword [r10 + 0x20]
test edi, edi
jle 0x14006b966
movzx ecx, word [rbx + 0x12]
mov eax, 6
mov dword [rbp + 0xa8], esi
test al, cl
jne 0x14006b93b
mov rax, qword [rbx + 0x38]
test qword [r15 + 0x58], rax
je 0x14006b84e
mov byte [r8 + 0x46], r9b
jmp 0x14006b93b
mov edx, dword [r11 + 0x28]
bt edx, 0xa
jae 0x14006a3e6
movzx r13d, word [r11 + 0x2c]
mov rcx, r14
lea edx, [r13 + 2]
call fcn.1400421cc
mov r8d, dword [r15 + 0xc]
mov ebx, esi
mov dword [rbp + 0x90], r8d
mov dword [rbp + 0xa8], eax
test r13d, r13d
je 0x14006a1be
mov r12, qword [rsp + 0x70]
add eax, 2
mov dword [rbp + 0xb0], eax
mov rdi, rsi
mov rcx, qword [r11 + 0x38]
mov rdx, qword [rdi + rcx]
test rdx, rdx
je 0x14006a1a6
lea r8d, [rax + rbx]
mov rcx, r14
mov eax, 1
test byte [rdx + 0x14], al
je 0x14006a18c
mov dword [rsp + 0x28], r8d
mov r9d, ebx
mov r8, r15
mov dword [rsp + 0x20], r12d
call fcn.140069490
mov eax, dword [r15 + 0x10]
mov dword [rbp + 0x90], eax
jmp 0x14006a19b
mov rdx, qword [rdx]
mov r9d, eax
mov rdx, qword [rdx + 0x18]
call fcn.140069c80
mov r11, qword [rsp + 0x78]
mov eax, dword [rbp + 0xb0]
inc ebx
add rdi, 8
cmp ebx, r13d
jl 0x14006a14d
mov r12, qword [rbp + 0x98]
mov eax, dword [rbp + 0xa8]
mov r8d, dword [r11 + 0x18]
mov ebx, 0x46
mov edx, ebx
mov dword [rsp + 0x20], esi
mov r9d, eax
mov rcx, r12
call fcn.14002a410
mov r9d, dword [rbp + 0xa8]
mov r8d, r13d
inc r9d
mov dword [rsp + 0x20], esi
mov edx, ebx
mov rcx, r12
call fcn.14002a410
mov rbx, qword [rsp + 0x78]
mov edx, 9
mov r9d, dword [rbp + 0x90]
mov rcx, r12
mov r8d, dword [rsp + 0x40]
mov al, byte [rbx + 0x1c]
mov rbx, qword [rbx + 0x20]
neg al
mov eax, dword [rbp + 0xa8]
sbb edi, edi
mov dword [rsp + 0x20], eax
and edi, 0xfffffffa
call fcn.14002a410
lea r9d, [rdi - 1]
mov r8, rbx
mov edx, eax
mov rcx, r12
call fcn.14002ad30
mov eax, dword [rsp + 0x40]
lea edi, [r13 - 1]
mov rdx, qword [rsp + 0x78]
mov r8, qword [rbp + 0xa0]
mov byte [rdx + 0x1c], sil
mov dword [r15 + 0x38], eax
mov al, byte [r8 + 0x45]
neg al
sbb cl, cl
and cl, 0x6e
add cl, 0x3c
mov byte [r15 + 0x35], cl
mov eax, dword [r12 + 0x90]
mov dword [r15 + 0x3c], eax
test edi, edi
js 0x14006a0a0
movsxd rax, dword [r15 + 0x40]
lea r13, [r13*8 - 8]
mov qword [rbp + 0x90], r13
mov r10d, 1
lea rcx, [rax + rax*4]
mov eax, dword [rbp + 0xa8]
shl rcx, 2
add eax, 2
add eax, edi
mov qword [rbp + 0xb0], rcx
mov dword [rbp + 0xa8], eax
mov rax, qword [rdx + 0x38]
mov r13, qword [rax + r13]
mov eax, 0x10
cmp edi, eax
jae 0x14006a2ec
movzx eax, word [rdx + 0x1e]
movzx ecx, di
shr ax, cl
test r10b, al
je 0x14006a2e5
mov rdx, r13
mov rcx, r15
call fcn.14006914c
jmp 0x14006a3b3
mov rcx, qword [rbp + 0xb0]
test byte [r13 + 0x14], r10b
je 0x14006a3b8
mov rax, qword [rbp - 0x58]
cmp byte [rax + 0x61], sil
jne 0x14006a335
mov rax, qword [r15 + 0x48]
sub rcx, 0x14
mov qword [rbp + 0xb0], rcx
mov edx, dword [rax + rcx + 4]
mov rcx, r12
call fcn.14002ae1c
mov ecx, dword [rax + 0xc]
movzx edx, byte [rax]
mov r9d, dword [rax + 8]
mov r8d, dword [rax + 4]
mov dword [rsp + 0x20], ecx
mov rcx, r12
call fcn.14002a410
xor r9d, r9d
xor r8d, r8d
mov rcx, r14
lea edx, [r9 + 0x35]
call fcn.14003c6f8
mov rbx, rax
test rax, rax
je 0x14006a3ad
mov rcx, qword [r13]
lea r8, [rbp - 0x20]
mov r13, qword [rbp - 0x58]
xor r9d, r9d
mov qword [rbp - 0x20], rsi
mov dword [rbp - 0x18], esi
mov rdx, qword [rcx + 0x10]
mov rcx, r13
mov qword [rax + 0x10], rdx
mov edx, 0xab
call fcn.14003c524
mov qword [rbx + 0x18], rax
test rax, rax
je 0x14006a39e
mov ecx, dword [rbp + 0xa8]
xor r9d, r9d
mov dword [rax + 0x2c], ecx
mov rdx, rbx
mov r8d, dword [r15 + 0x18]
mov rcx, r14
call fcn.140041184
mov rdx, rbx
mov qword [rbx + 0x10], rsi
mov rcx, r13
call fcn.14003caf8
mov r10d, 1
mov rdx, qword [rsp + 0x78]
mov r13, qword [rbp + 0x90]
sub dword [rbp + 0xa8], r10d
sub r13, 8
sub edi, r10d
mov rcx, qword [rbp + 0xb0]
mov qword [rbp + 0x90], r13
jns 0x14006a2b5
jmp 0x14006a099
test dl, 5
setne cl
bt edx, 8
setb al
test al, cl
je 0x14006a490
mov rax, qword [r11 + 0x38]
mov r13d, 1
xor r9d, r9d
mov r8, r15
mov rcx, r14
mov rbx, qword [rax]
add dword [r14 + 0x38], r13d
mov rdx, rbx
mov edi, dword [r14 + 0x38]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r10d
call fcn.140069490
cmp eax, edi
je 0x14006a44a
test edi, edi
je 0x14006a44a
cmp byte [r14 + 0x1f], 8
jae 0x14006a44a
movzx ecx, byte [r14 + 0x1f]
mov dword [r14 + rcx*4 + 0xcc], edi
add byte [r14 + 0x1f], r13b
mov r9d, dword [r15 + 0x10]
mov edx, 0x1e
mov r8d, dword [rsp + 0x40]
mov rcx, r12
mov dword [rsp + 0x20], eax
call fcn.14002a410
mov r8, qword [rbp + 0xa0]
mov r9, r13
mov r11, qword [rsp + 0x68]
mov byte [r15 + 0x35], 0xaa
mov rax, qword [rbx + 0x38]
test qword [r15 + 0x58], rax
jne 0x14006a0ab
or word [rbx + 0x12], 4
jmp 0x14006a0ab
mov ecx, 0x102
mov eax, edx
and eax, ecx
cmp eax, ecx
jne 0x14006a729
mov dword [rbp + 0xb0], 0xaa
mov rbx, rsi
mov dword [rbp + 0x90], esi
mov rcx, rsi
test dl, 0x20
je 0x14006a4cb
mov rax, qword [r11 + 0x38]
mov r8d, 8
mov rcx, qword [rax]
jmp 0x14006a4ce
mov r8, rsi
mov eax, 0x10
test al, dl
je 0x14006a4df
mov rax, qword [r11 + 0x38]
mov rbx, qword [r8 + rax]
test r10d, r10d
mov rdi, rcx
cmove rdi, rbx
cmove rbx, rcx
test rbx, rbx
je 0x14006a5d6
mov r13, qword [rbx]
mov dword [rbp + 0xa8], 0x18161719
mov rdx, qword [r13 + 0x18]
mov rcx, rdx
call fcn.14003bf84
mov ecx, 1
cmp eax, ecx
jle 0x14006a56c
mov al, byte [r14 + 0x1f]
test al, al
jne 0x14006a52a
add dword [r14 + 0x38], ecx
mov ebx, dword [r14 + 0x38]
jmp 0x14006a53b
sub al, cl
movzx eax, al
mov byte [r14 + 0x1f], al
mov ebx, dword [r14 + rax*4 + 0xcc]
mov rdx, qword [r13 + 0x18]
mov r9d, ecx
mov rcx, r14
mov r8d, ebx
call fcn.140069c80
movzx eax, byte [r13]
mov ecx, 1
add rax, rcx
mov r11d, ebx
and eax, 2
or rax, rcx
mov cl, byte [rbp + rax + 0xa8]
jmp 0x14006a595
lea r8, [rsp + 0x60]
mov rcx, r14
call fcn.140040954
mov rdx, rbx
mov rcx, r15
mov r11d, eax
call fcn.14006914c
movzx r10d, byte [r13]
mov ebx, dword [rsp + 0x60]
mov cl, byte [rbp + r10 + 0x72]
mov r13d, dword [rsp + 0x50]
mov r9d, r13d
mov r8d, dword [rsp + 0x40]
movzx edx, cl
mov rcx, r12
mov dword [rsp + 0x20], r11d
call fcn.14002a410
test ebx, ebx
je 0x14006a5f4
cmp byte [r14 + 0x1f], 8
mov r10d, 1
jae 0x14006a5fa
movzx eax, byte [r14 + 0x1f]
mov dword [r14 + rax*4 + 0xcc], ebx
add byte [r14 + 0x1f], r10b
jmp 0x14006a5fa
mov r8d, dword [rsp + 0x40]
mov edx, r10d
xor edx, 1
mov dword [rsp + 0x20], esi
mov rcx, r12
lea edx, [rdx*4 + 0x20]
call fcn.14002a410
mov r10d, 1
test rdi, rdi
je 0x14006a684
mov rbx, qword [rdi]
mov r9d, r10d
add dword [r14 + 0x38], r10d
mov rcx, r14
mov eax, dword [r14 + 0x38]
mov r8d, eax
mov dword [rbp + 0x90], eax
mov rdx, qword [rbx + 0x18]
call fcn.140069c80
mov rcx, qword [rbx + 0x18]
call fcn.14003bf84
mov r10d, 1
cmp eax, r10d
jg 0x14006a659
mov al, byte [rbx]
sub al, 0x36
test al, 0xfd
jne 0x14006a659
mov rax, qword [rsp + 0x70]
xor eax, r10d
lea edx, [rax*2 + 0x37]
mov dword [rbp + 0xb0], edx
jmp 0x14006a66b
mov rax, qword [rsp + 0x70]
lea eax, [rax*2 + 0x36]
mov dword [rbp + 0xb0], eax
mov rcx, qword [rbx + 0x18]
call fcn.14003bf84
cmp eax, r10d
jg 0x14006a684
mov rdx, rdi
mov rcx, r15
call fcn.14006914c
mov ecx, dword [r12 + 0x90]
neg dword [rsp + 0x70]
mov edi, dword [rbp + 0xb0]
sbb al, al
mov dword [r15 + 0x3c], ecx
add al, 5
mov byte [r15 + 0x35], al
mov eax, dword [rsp + 0x40]
mov dword [r15 + 0x38], eax
cmp edi, 0xaa
je 0x14006a099
add dword [r14 + 0x38], r10d
mov r8d, eax
mov ebx, dword [r14 + 0x38]
mov edx, 0x80
mov r9d, ebx
mov dword [rsp + 0x20], esi
mov rcx, r12
call fcn.14002a410
mov r8d, dword [rbp + 0x90]
mov r9d, r13d
mov edx, edi
mov dword [rsp + 0x20], ebx
mov rcx, r12
call fcn.14002a410
movsxd rax, dword [r12 + 0x90]
mov r9d, 1
mov r8, qword [rbp + 0xa0]
mov r11, qword [rsp + 0x68]
test eax, eax
jle 0x14006a0ab
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea edx, [r9 + 0x52]
mov word [rax + rcx*8 - 0x16], dx
jmp 0x14006a0ab
bt edx, 9
jae 0x14006b073
movzx eax, word [r11 + 0x1a]
mov r13, rsi
movzx edi, word [r11 + 0x18]
mov r9d, esi
mov word [rbp - 0x74], ax
mov ebx, edi
movzx eax, word [r11 + 0x1c]
mov r10b, sil
mov word [rbp - 0x78], ax
mov r8d, edi
mov rax, qword [r11 + 0x20]
mov qword [rbp - 0x80], rax
mov eax, dword [r15 + 8]
mov dword [rsp + 0x4c], eax
mov word [rbp - 0x60], di
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x70], rsi
mov qword [rbp - 0x50], rsi
mov byte [rbp + 0xa8], sil
mov byte [rsp + 0x58], sil
mov dword [rsp + 0x54], esi
mov dword [rsp + 0x44], ebx
test dl, 0x20
je 0x14006a7a5
mov rax, qword [r11 + 0x38]
inc r8d
movzx r9d, word [rbp - 0x74]
mov r13, qword [rax + rdi*8]
mov qword [rbp - 0x68], r13
mov eax, 0x10
test al, dl
je 0x14006a87f
movzx ebx, word [rbp - 0x78]
mov rax, qword [r11 + 0x38]
cmp r9d, ebx
mov ecx, r8d
cmova ebx, r9d
mov rax, qword [rax + rcx*8]
mov ecx, pe_nt_image_headers64
mov qword [rbp - 0x70], rax
test word [rax + 0x12], cx
je 0x14006a82f
mov r9d, dword [r14 + 0x38]
mov edx, 0x46
inc r9d
mov dword [rsp + 0x20], esi
mov dword [r14 + 0x38], r9d
mov rcx, r12
mov dword [r15 + 0x2c], r9d
lea r8d, [rdx - 0x45]
call fcn.14002a410
mov eax, dword [r12 + 0x90]
mov r10b, sil
shl dword [r15 + 0x2c], 1
mov rcx, qword [rbp - 0x80]
mov r11, qword [rsp + 0x78]
mov dword [r15 + 0x30], eax
mov rax, qword [rcx + 0x38]
mov ecx, esi
cmp byte [rdi + rax], 1
mov rax, qword [rsp + 0x70]
sete cl
xor ecx, eax
or dword [r15 + 0x2c], ecx
mov rdx, rdi
mov r9d, ebx
test r13, r13
jne 0x14006a87d
mov rcx, qword [rbp - 0x80]
mov rax, qword [rcx + 8]
movsx r8, word [rax + rdx*2]
test r8d, r8d
js 0x14006a862
mov rax, qword [rcx + 0x18]
mov rdx, r8
shl rdx, 5
mov rcx, qword [rax + 8]
cmp byte [rdx + rcx + 0x18], sil
je 0x14006a868
cmp r8d, 0xfffffffe
jne 0x14006a87d
mov ecx, 1
mov r9d, ebx
mov r10b, cl
mov byte [rbp + 0xa8], cl
mov ebx, edi
jmp 0x14006a884
mov ebx, edi
mov ecx, 1
mov eax, dword [r11 + 0x28]
and eax, 0x80030
cmp eax, 0x80000
jne 0x14006a8bc
add dword [r14 + 0x38], ecx
mov r9d, ecx
mov eax, dword [r14 + 0x38]
mov r10b, cl
mov dword [r15 + 0x24], eax
dec dword [r14 + 0x44]
mov dword [rsp + 0x54], eax
mov eax, dword [r14 + 0x44]
mov dword [r15 + 0x28], eax
mov byte [rbp + 0xa8], cl
mov rax, qword [rbp - 0x80]
mov rcx, qword [rsp + 0x70]
cmp di, word [rax + 0x5e]
jae 0x14006a8e0
mov rax, qword [rax + 0x38]
mov edx, esi
cmp byte [rdi + rax], sil
sete dl
cmp ecx, edx
je 0x14006a8ea
mov rax, qword [rbp - 0x80]
test ecx, ecx
je 0x14006a915
cmp word [rax + 0x5e], di
jne 0x14006a915
mov rax, qword [rbp - 0x70]
movzx edx, word [rbp - 0x78]
mov qword [rbp - 0x70], r13
mov r13, rax
mov qword [rbp - 0x68], rax
movzx eax, byte [rbp - 0x74]
mov word [rbp - 0x78], ax
mov byte [rsp + 0x58], r10b
mov byte [rbp + 0xa8], sil
mov word [rbp - 0x74], dx
lea rax, [rbp - 0x48]
mov r8d, ecx
mov rcx, r14
mov qword [rsp + 0x20], rax
mov rdx, r15
call fcn.1400698e8
mov edx, eax
mov dword [rsp + 0x48], eax
mov rax, qword [rbp - 0x48]
test rax, rax
je 0x14006a956
cmp word [rbp - 0x78], si
je 0x14006a956
mov rcx, qword [rbp - 0x58]
lea rdx, [rax + rdi]
call fcn.14000ef70
mov edx, dword [rsp + 0x48]
mov qword [rbp - 0x50], rax
mov ecx, dword [rsp + 0x54]
test ecx, ecx
je 0x14006a964
mov eax, dword [r15 + 0x28]
jmp 0x14006a968
mov eax, dword [r15 + 0x10]
mov dword [rsp + 0x5c], eax
test r13, r13
je 0x14006a984
test byte [r13 + 0x14], 0x28
jne 0x14006a984
mov dword [rsp + 0x50], esi
mov r8d, 1
jmp 0x14006a98f
mov r8d, 1
mov dword [rsp + 0x50], r8d
mov rax, qword [rbp - 0x70]
test rax, rax
je 0x14006a9a2
test byte [rax + 0x14], 0x28
mov dword [rsp + 0x60], esi
je 0x14006a9a7
mov dword [rsp + 0x60], r8d
mov eax, 0x49
test r13, r13
jne 0x14006a9d1
test di, di
jne 0x14006a9d1
mov edi, esi
mov r13b, byte [rbp + 0xa8]
test r13b, r13b
je 0x14006aaa6
mov dword [rsp + 0x50], esi
jmp 0x14006aaaa
mov edi, r8d
test r13, r13
je 0x14006a9b8
mov rax, qword [r13]
mov rcx, r14
mov r8d, dword [rsp + 0x44]
movzx r13d, word [rbp - 0x74]
add r8d, edx
mov r9d, r13d
mov rdi, qword [rax + 0x18]
mov rdx, rdi
call fcn.140069c80
mov rax, qword [rbp - 0x68]
mov ecx, pe_nt_image_headers64
test word [rax + 0x12], cx
je 0x14006aa2d
or edx, 0xffffffff
mov rcx, r12
call fcn.14002ae1c
mov ecx, dword [r15 + 0x2c]
shr ecx, 1
mov dword [rax + 0xc], ecx
mov cl, byte [r15 + 0x2c]
and cl, 1
movzx ecx, cl
mov word [rax + 2], cx
mov rcx, rdi
call fcn.14003dc28
test eax, eax
je 0x14006aa59
mov r8d, dword [rsp + 0x44]
mov edx, 0x32
add r8d, dword [rsp + 0x48]
mov rcx, r12
mov r9d, dword [rsp + 0x5c]
mov dword [rsp + 0x20], esi
call fcn.14002a410
mov rcx, qword [rbp - 0x48]
test rcx, rcx
je 0x14006aa75
movzx r8d, word [rbp - 0x60]
mov edx, r13d
add r8, rcx
mov rcx, rdi
call fcn.140069240
mov rcx, rdi
add ebx, r13d
call fcn.14003bf84
mov r10d, 1
cmp eax, r10d
jg 0x14006aa99
mov rdx, qword [rbp - 0x68]
mov rcx, r15
call fcn.14006914c
jmp 0x14006aa9e
mov dword [rsp + 0x50], r10d
mov r13b, sil
mov edi, r10d
jmp 0x14006aacc
test ecx, ecx
je 0x14006aacc
mov r9d, dword [rsp + 0x44]
xor r8d, r8d
add r9d, edx
mov dword [rsp + 0x20], esi
mov edx, eax
mov rcx, r12
call fcn.14002a410
mov eax, 1
add ebx, eax
mov edi, eax
mov r9, qword [rbp - 0x48]
mov r8d, ebx
mov edx, dword [rsp + 0x48]
mov rcx, r14
movzx eax, r13b
sub r8d, eax
mov dword [rbp + 0xa8], eax
call fcn.1400691bc
mov rcx, qword [rsp + 0x78]
lea r13, [0x140000000]
cmp word [rcx + 0x2e], si
jbe 0x14006ab0a
movzx eax, word [rcx + 0x2e]
cmp ebx, eax
je 0x14006abeb
test dword [rcx + 0x28], 0x40000
je 0x14006ab2b
mov r8d, dword [rsp + 0x4c]
xor r9d, r9d
mov rcx, r12
mov dword [rsp + 0x20], esi
lea edx, [r9 + 0x77]
call fcn.14002a410
mov eax, dword [rsp + 0x54]
test eax, eax
je 0x14006ab4b
mov edx, 0x46
mov dword [rsp + 0x20], esi
mov r9d, eax
mov rcx, r12
lea r8d, [rdx - 0x45]
call fcn.14002a410
mov eax, dword [rsp + 0x50]
mov r9d, dword [rsp + 0x5c]
mov r8d, dword [rsp + 0x4c]
mov dword [rsp + 0x28], ebx
lea eax, [rax + rdi*2]
mov rdi, qword [rsp + 0x70]
lea ecx, [rdi + rax*2]
mov eax, dword [rsp + 0x48]
movzx edx, byte [rcx + r13 + 0x14e990]
mov rcx, r12
mov dword [rsp + 0x20], eax
call fcn.14002a748
mov eax, dword [rsp + 0x54]
test eax, eax
je 0x14006abef
mov r9d, dword [r12 + 0x90]
xor r8d, r8d
add r9d, 2
mov dword [rsp + 0x20], esi
mov rcx, r12
lea edx, [r8 + 0xb]
call fcn.14002a410
mov r9d, dword [rsp + 0x5c]
mov eax, 2
mov r8d, dword [rsp + 0x4c]
mov ecx, ebx
sub ecx, dword [rsp + 0x50]
mov dword [rsp + 0x28], ecx
cmp ebx, 1
lea edx, [rax + 4]
mov rcx, r12
cmova eax, edx
add eax, edi
mov edi, dword [rsp + 0x48]
mov dword [rsp + 0x20], edi
movzx edx, byte [rax + r13 + 0x14e990]
call fcn.14002a748
mov eax, dword [rsp + 0x54]
jmp 0x14006abf3
mov eax, dword [rsp + 0x54]
mov edi, dword [rsp + 0x48]
mov rcx, qword [rbp - 0x70]
test rcx, rcx
je 0x14006ad7a
mov rax, qword [rcx]
mov rcx, r14
mov r13d, dword [rsp + 0x44]
movzx edi, word [rbp - 0x78]
add r13d, dword [rsp + 0x48]
mov r9d, edi
mov rbx, qword [rax + 0x18]
mov r8d, r13d
mov rdx, rbx
call fcn.140069c80
mov rax, qword [rbp - 0x70]
mov ecx, pe_nt_image_headers64
test word [rax + 0x12], cx
je 0x14006ac57
or edx, 0xffffffff
mov rcx, r12
call fcn.14002ae1c
mov ecx, dword [r15 + 0x2c]
shr ecx, 1
mov dword [rax + 0xc], ecx
mov cl, byte [r15 + 0x2c]
and cl, 1
movzx ecx, cl
mov word [rax + 2], cx
mov rcx, rbx
call fcn.14003dc28
test eax, eax
je 0x14006ac7c
mov r9d, dword [rsp + 0x5c]
mov r8d, r13d
mov edx, 0x32
mov dword [rsp + 0x20], esi
mov rcx, r12
call fcn.14002a410
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x14006aca4
mov r8, rax
mov edx, edi
mov rcx, rbx
call fcn.140069240
mov r9, qword [rbp - 0x50]
mov r8d, edi
mov edx, r13d
mov rcx, r14
call fcn.1400691bc
add dword [rsp + 0x44], edi
mov rcx, rbx
call fcn.14003bf84
mov ecx, 1
cmp eax, ecx
jg 0x14006ad71
mov rdx, qword [rbp - 0x70]
mov rcx, r15
call fcn.14006914c
lea r13, [0x140000000]
mov ebx, dword [rsp + 0x44]
mov rax, qword [rbp - 0x48]
mov rdi, qword [rbp - 0x58]
test rax, rax
je 0x14006acec
mov rdx, rax
mov rcx, rdi
call fcn.14000eb28
mov rax, qword [rbp - 0x50]
test rax, rax
je 0x14006ad00
mov rdx, rax
mov rcx, rdi
call fcn.14000eb28
mov eax, dword [r12 + 0x90]
mov dword [r15 + 0x3c], eax
test ebx, ebx
je 0x14006adae
mov eax, dword [rsp + 0x54]
test eax, eax
je 0x14006ad3c
mov r9d, dword [r12 + 0x90]
mov r8d, eax
add r9d, 3
mov dword [rsp + 0x20], esi
mov edx, 0x14
mov rcx, r12
call fcn.14002a410
mov eax, dword [rsp + 0x60]
mov rcx, r12
mov rdi, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x5c]
mov r8d, dword [rsp + 0x4c]
mov dword [rsp + 0x28], ebx
lea eax, [rax + rdi*2]
movzx edx, byte [rax + r13 + 0x153808]
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x20], eax
call fcn.14002a748
jmp 0x14006adb3
mov dword [rsp + 0x60], ecx
jmp 0x14006acc9
cmp byte [rsp + 0x58], sil
je 0x14006acd0
mov ebx, dword [rsp + 0x44]
test eax, eax
jne 0x14006ada7
lea r9d, [rbx + rdi]
mov dword [rsp + 0x20], esi
xor r8d, r8d
lea edx, [rax + 0x49]
mov rcx, r12
call fcn.14002a410
mov dword [rsp + 0x60], esi
inc ebx
jmp 0x14006acd4
mov rdi, qword [rsp + 0x70]
mov eax, dword [rsp + 0x54]
test eax, eax
je 0x14006ae15
mov r9d, dword [r12 + 0x90]
mov r8d, eax
add r9d, 2
mov dword [rsp + 0x20], esi
mov edx, 0x12
mov rcx, r12
call fcn.14002a410
mov eax, dword [rbp + 0xa8]
mov rcx, r12
mov r9d, dword [rsp + 0x5c]
lea r8d, [rbx + rax]
lea eax, [rax + rdi*2]
mov dword [rsp + 0x28], r8d
movzx edx, byte [rax + r13 + 0x153808]
mov eax, dword [rsp + 0x48]
mov r13d, dword [rsp + 0x4c]
mov r8d, r13d
mov dword [rsp + 0x20], eax
call fcn.14002a748
jmp 0x14006ae1a
mov r13d, dword [rsp + 0x4c]
mov rbx, qword [rsp + 0x78]
mov edi, 1
mov eax, dword [rbx + 0x28]
bt eax, 0x12
jae 0x14006ae45
mov r9d, edi
mov dword [rsp + 0x20], esi
mov r8d, r13d
lea edx, [rdi + 0x76]
mov rcx, r12
call fcn.14002a410
mov eax, dword [rbx + 0x28]
test al, 0x40
mov rax, qword [rbp + 0xa0]
je 0x14006ae5f
test byte [rax + 0x40], 0x20
jne 0x14006ae5f
mov r10, qword [rbp - 0x80]
jmp 0x14006afd2
mov r10, qword [rbp - 0x80]
mov edi, esi
mov rbx, qword [r10 + 0x18]
test byte [rbx + 0x40], 0x20
jne 0x14006aef4
mov ecx, 0x400
test word [rax + 0x40], cx
jne 0x14006aea7
mov ecx, 0x1000
test word [rax + 0x40], cx
je 0x14006ae8f
cmp byte [rax + 0x45], 1
je 0x14006aea7
mov r9d, r13d
mov rdx, r10
mov r13d, dword [rsp + 0x40]
mov rcx, rax
mov r8d, r13d
call fcn.140069b90
jmp 0x14006aee6
mov eax, 1
mov dword [rsp + 0x20], esi
add dword [r14 + 0x38], eax
mov r8d, r13d
mov ebx, dword [r14 + 0x38]
mov edx, 0x87
mov r9d, ebx
mov rcx, r12
call fcn.14002a410
mov r13d, dword [rsp + 0x40]
xor r9d, r9d
mov r8d, r13d
mov dword [rsp + 0x20], ebx
mov rcx, r12
lea edx, [r9 + 0x1f]
call fcn.14002a410
mov rbx, qword [rsp + 0x78]
mov r10, qword [rbp - 0x80]
jmp 0x14006afd7
cmp dword [rsp + 0x40], r13d
je 0x14006afcd
mov rbx, qword [rbx + 0x10]
jmp 0x14006af12
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14006af17
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14006af05
movzx edx, word [rbx + 0x5e]
mov rcx, r14
call fcn.1400421cc
movzx ecx, word [rbx + 0x5e]
mov r13d, eax
cmp si, cx
jae 0x14006afa1
mov r15d, dword [rsp + 0x4c]
or r14d, 0xffffffff
movzx r8d, word [r10 + 0x60]
mov edx, esi
test r8d, r8d
je 0x14006af65
mov rax, qword [rbx + 8]
mov r9, qword [r10 + 8]
movsxd rcx, edi
movzx r10d, word [rax + rcx*2]
movsxd rax, edx
cmp r10w, word [r9 + rax*2]
je 0x14006af69
inc edx
cmp edx, r8d
jl 0x14006af54
movzx edx, r14w
lea eax, [rdi + r13]
movsx r9d, dx
mov edx, 0x5a
mov dword [rsp + 0x20], eax
mov r8d, r15d
mov rcx, r12
call fcn.14002a410
movzx ecx, word [rbx + 0x5e]
inc edi
mov r10, qword [rbp - 0x80]
cmp edi, ecx
jl 0x14006af38
mov r14, qword [rbp + 0x90]
mov r15, qword [rbp + 0xb0]
mov r9d, dword [rbp - 0x5c]
mov edx, 0x1c
movzx eax, cx
mov rcx, r12
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], r13d
mov r13d, dword [rsp + 0x40]
mov r8d, r13d
call fcn.14002a748
mov edi, esi
jmp 0x14006aee6
mov rbx, qword [rsp + 0x78]
mov r13d, dword [rsp + 0x40]
mov r12d, dword [rsp + 0x4c]
cmp dword [r15], esi
jne 0x14006afff
mov rax, qword [rbp + 0xa0]
test byte [rax + 0x40], 0x20
jne 0x14006afff
mov r9, rax
mov r8d, r12d
mov edx, r13d
mov rcx, r10
call fcn.140069d80
mov rcx, qword [rbp - 0x80]
mov rcx, qword [rcx + 0x48]
test rcx, rcx
je 0x14006b018
mov r8, qword [rbp - 0x38]
mov edx, r13d
call fcn.140069e5c
mov eax, 0x1000
test dword [rbx + 0x28], eax
je 0x14006b029
mov byte [r15 + 0x35], 0xaa
jmp 0x14006b035
neg dword [rsp + 0x70]
sbb al, al
add al, 5
mov byte [r15 + 0x35], al
mov dword [r15 + 0x38], r12d
mov r10d, 1
mov al, byte [rbx + 0x2a]
and al, r10b
mov byte [r15 + 0x36], al
test byte [rbx + 0x28], 0xf
jne 0x14006b053
mov byte [r15 + 0x37], r10b
mov r8, qword [rbp + 0xa0]
mov r9, r10
mov r11, qword [rsp + 0x68]
test edi, edi
je 0x14006a0ab
mov qword [rbp - 0x80], rsi
jmp 0x14006a0ab
bt edx, 0xd
jae 0x14006b7e1
dec dword [r14 + 0x44]
mov r9d, 1
add dword [r14 + 0x38], r9d
mov eax, dword [r14 + 0x34]
mov edx, dword [r14 + 0x38]
mov rcx, qword [rsp + 0x68]
mov dword [rsp + 0x44], eax
inc eax
mov dword [r14 + 0x34], eax
mov eax, dword [r14 + 0x44]
mov dword [rbp - 0x60], eax
mov rax, qword [rbp - 0x40]
mov qword [rbp - 0x50], rsi
mov dword [rsp + 0x4c], edx
mov dword [rsp + 0x50], esi
mov rcx, qword [rcx + rax + 0x28]
mov rax, qword [r11 + 0x38]
mov dword [rsp + 0x60], esi
mov dword [rsp + 0x54], esi
mov qword [rbp - 0x68], rsi
mov rax, qword [rax]
mov qword [rbp - 0x28], rax
mov qword [rsp + 0x70], rcx
mov rax, qword [rax + 0x28]
mov byte [r15 + 0x35], 0x42
mov dword [r15 + 0x38], edx
mov qword [rbp - 0x30], rax
cmp byte [r8 + 0x42], r9b
jbe 0x14006b26f
movzx ebx, byte [r8 + 0x42]
sub ebx, edi
sub ebx, r9d
movsxd rax, ebx
imul rcx, rax, 0x70
mov rax, qword [rbp - 0x58]
add rcx, 0x78
test rax, rax
je 0x14006b120
mov rdx, rcx
mov rcx, rax
call fcn.14000edf4
jmp 0x14006b125
call fcn.14000e988
mov qword [rbp - 0x70], rax
mov r13, rax
test rax, rax
jne 0x14006b13d
mov rax, qword [rbp + 0xb8]
jmp 0x14006bb00
mov r9d, 1
lea eax, [r9 + rbx]
movzx ecx, al
mov rax, qword [rsp + 0x68]
mov dword [r13 + 4], ecx
mov dword [r13], ecx
mov rcx, qword [rbp - 0x40]
movups xmm0, xmmword [rax + rcx + 8]
movups xmmword [r13 + 8], xmm0
movups xmm1, xmmword [rax + rcx + 0x18]
movups xmmword [r13 + 0x18], xmm1
movups xmm0, xmmword [rax + rcx + 0x28]
movups xmmword [r13 + 0x28], xmm0
movups xmm1, xmmword [rax + rcx + 0x38]
movups xmmword [r13 + 0x38], xmm1
movups xmm0, xmmword [rax + rcx + 0x48]
movups xmmword [r13 + 0x48], xmm0
movups xmm1, xmmword [rax + rcx + 0x58]
movups xmmword [r13 + 0x58], xmm1
movups xmm0, xmmword [rax + rcx + 0x68]
mov rax, qword [rbp + 0xa0]
movups xmmword [r13 + 0x68], xmm0
mov r8, qword [rax + 8]
cmp ebx, r9d
jl 0x14006b22a
lea r9, [r15 + 0x94]
mov r10d, ebx
mov r15d, 1
lea rdx, [r13 + 0x78]
movzx eax, byte [r9]
lea r9, [r9 + 0x60]
imul rcx, rax, 0x70
movups xmm0, xmmword [rcx + r8 + 8]
movups xmmword [rdx], xmm0
lea rdx, [rdx + 0x70]
movups xmm1, xmmword [rcx + r8 + 0x18]
movups xmmword [rdx - 0x60], xmm1
movups xmm0, xmmword [rcx + r8 + 0x28]
movups xmmword [rdx - 0x50], xmm0
movups xmm1, xmmword [rcx + r8 + 0x38]
movups xmmword [rdx - 0x40], xmm1
movups xmm0, xmmword [rcx + r8 + 0x48]
movups xmmword [rdx - 0x30], xmm0
movups xmm1, xmmword [rcx + r8 + 0x58]
movups xmmword [rdx - 0x20], xmm1
movups xmm0, xmmword [rcx + r8 + 0x68]
movups xmmword [rdx - 0x10], xmm0
sub r10, r15
jne 0x14006b1c5
mov r15, qword [rbp + 0xb0]
lea r9d, [r10 + 1]
mov r8, qword [rbp + 0xa0]
mov rcx, qword [rsp + 0x70]
mov eax, 0x10
test byte [r8 + 0x40], al
jne 0x14006b2d5
test byte [rcx + 0x40], 0x20
jne 0x14006b279
add dword [r14 + 0x38], r9d
xor r8d, r8d
mov eax, dword [r14 + 0x38]
mov rcx, r12
mov r9d, eax
mov dword [rsp + 0x50], eax
mov dword [rsp + 0x20], esi
lea edx, [r8 + 0x49]
call fcn.14002a410
jmp 0x14006b2c4
mov r13, qword [r8 + 8]
mov qword [rbp - 0x70], r13
jmp 0x14006b236
mov rbx, qword [rcx + 0x10]
jmp 0x14006b28c
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14006b291
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14006b27f
mov edi, dword [r14 + 0x34]
mov edx, 0x70
mov r8d, edi
mov dword [rsp + 0x50], edi
mov rcx, r12
mov dword [rsp + 0x20], esi
lea eax, [rdi + 1]
mov dword [r14 + 0x34], eax
movzx r9d, word [rbx + 0x5e]
call fcn.14002a410
mov rdx, rbx
mov rcx, r14
call fcn.14002adf0
mov eax, 1
add dword [r14 + 0x38], eax
mov eax, dword [r14 + 0x38]
mov dword [rsp + 0x60], eax
mov r9d, dword [rsp + 0x4c]
xor r8d, r8d
mov rcx, r12
mov dword [rsp + 0x20], esi
lea edx, [r8 + 0x46]
call fcn.14002a410
mov dword [rsp + 0x78], eax
mov rax, qword [rbp - 0x38]
cmp dword [rax + 0x14], 1
jle 0x14006b3b1
mov rax, qword [rbp - 0x28]
mov edi, esi
mov r15, qword [rbp - 0x58]
mov rbx, rsi
mov r12, qword [rbp - 0x38]
mov r13, rsi
mov r8, qword [r12 + 0x20]
movsxd rcx, edi
shl rcx, 6
add rcx, r8
mov rdx, qword [r8 + rbx]
cmp rcx, rax
je 0x14006b371
mov ecx, 6
test byte [r8 + rbx + 0x12], cl
jne 0x14006b371
mov ecx, 0x1fff
test word [r8 + rbx + 0x14], cx
je 0x14006b371
test rdx, rdx
je 0x14006b359
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
call fcn.14003ccc8
jmp 0x14006b35c
mov rax, rsi
mov r8, rax
mov rdx, r13
mov rcx, r14
call fcn.14003c7f8
mov r13, rax
mov rax, qword [rbp - 0x28]
inc edi
add rbx, 0x40
cmp edi, dword [r12 + 0x14]
jl 0x14006b313
mov r15, qword [rbp + 0xb0]
test r13, r13
mov r12, qword [rbp + 0x98]
mov qword [rbp - 0x68], r13
mov r13, qword [rbp - 0x70]
je 0x14006b3b1
mov r9, qword [rbp - 0x68]
xor r8d, r8d
mov edx, 0x1002c
mov rcx, r14
call fcn.14003c6f8
mov qword [rbp - 0x68], rax
mov rax, qword [rbp + 0xa0]
lea r8, str.MULTI_INDEX_OR
mov ebx, 0x400
mov edx, 1
mov rcx, r14
movzx eax, word [rax + 0x40]
and ax, bx
or ax, 0x20
mov word [rbp + 0xa8], ax
call fcn.14002a62c
mov rax, qword [rbp - 0x30]
mov edi, esi
mov dword [rsp + 0x48], esi
cmp dword [rax + 0x14], esi
jle 0x14006b72b
mov edx, dword [rsp + 0x40]
mov rcx, rsi
mov qword [rbp - 0x48], rcx
mov rax, qword [rax + 0x20]
cmp dword [rcx + rax + 0x1c], edx
je 0x14006b416
test word [rcx + rax + 0x14], bx
je 0x14006b709
mov rbx, qword [rcx + rax]
mov r15d, esi
mov rax, qword [rbp - 0x68]
mov dword [rbp - 0x78], esi
test rax, rax
je 0x14006b430
mov qword [rax + 0x10], rbx
mov rbx, rax
lea r9d, [rdi + 1]
mov edx, 1
lea r8, str.INDEX__d
mov rcx, r14
call fcn.14002a62c
mov eax, dword [rsp + 0x44]
xor r9d, r9d
mov dword [rsp + 0x30], eax
mov r8, rbx
movzx eax, word [rbp + 0xa8]
mov rdx, r13
mov word [rsp + 0x28], ax
mov rcx, r14
mov qword [rsp + 0x20], rsi
call fcn.14007220c
mov qword [rbp - 0x20], rax
mov rbx, rax
test rax, rax
je 0x14006b6fc
xor r9d, r9d
lea r8, [rax + 0x398]
mov rdx, r13
mov rcx, r14
call fcn.140068d30
mov rax, qword [rbp + 0xa0]
mov ecx, 0x10
test byte [rax + 0x40], cl
jne 0x14006b5db
mov rax, qword [rbp - 0x30]
mov r13d, edi
mov ecx, dword [rax + 0x14]
mov rax, qword [rsp + 0x70]
dec ecx
cmp edi, ecx
mov ecx, 0xffffffff
cmove r13d, ecx
test byte [rax + 0x40], 0x20
mov dword [rbp - 0x74], r13d
jne 0x14006b515
mov r15d, dword [rsp + 0x60]
mov r9d, ecx
mov r8d, dword [rsp + 0x40]
mov rcx, r12
mov rdx, rax
mov dword [rsp + 0x20], r15d
call fcn.14003f61c
mov r8d, dword [rsp + 0x50]
xor r9d, r9d
mov dword [rsp + 0x28], r13d
mov rcx, r12
mov dword [rsp + 0x20], r15d
lea edx, [r9 + 0x2a]
call fcn.14002a748
mov r15d, eax
jmp 0x14006b5d7
mov rbx, qword [rax + 0x10]
jmp 0x14006b528
mov eax, dword [rbx + 0x64]
and al, 3
cmp al, 2
je 0x14006b52d
mov rbx, qword [rbx + 0x28]
test rbx, rbx
jne 0x14006b51b
movzx edi, word [rbx + 0x5e]
mov rcx, r14
mov edx, edi
call fcn.1400421cc
mov dword [rsp + 0x5c], eax
mov r15, rsi
test edi, edi
je 0x14006b58d
mov r13, qword [rsp + 0x70]
mov r14d, eax
mov rcx, qword [rbx + 8]
mov rdx, r13
mov r8d, dword [rsp + 0x40]
mov dword [rsp + 0x20], r14d
movsx r9d, word [rcx + r15*2]
mov rcx, r12
call fcn.14003f61c
mov eax, 1
add r14d, eax
add r15, rax
cmp r15, rdi
jl 0x14006b54e
mov r14, qword [rbp + 0x90]
xor esi, esi
mov r13d, dword [rbp - 0x74]
mov eax, dword [rsp + 0x5c]
test r13d, r13d
je 0x14006b672
mov r8d, dword [rsp + 0x50]
xor r9d, r9d
mov dword [rsp + 0x28], edi
mov rcx, r12
mov dword [rsp + 0x20], eax
lea edx, [r9 + 0x1d]
call fcn.14002a748
mov r15d, eax
test r13d, r13d
jns 0x14006b676
mov ebx, dword [rsp + 0x5c]
mov r8d, edi
mov edx, ebx
mov rcx, r14
call fcn.140042220
mov edi, dword [rsp + 0x48]
mov rbx, qword [rbp - 0x20]
mov r13, qword [rbp - 0x70]
mov r9d, dword [rbp - 0x60]
mov edx, 0xc
mov r8d, dword [rsp + 0x4c]
mov rcx, r12
mov dword [rsp + 0x20], esi
call fcn.14002a410
test r15d, r15d
je 0x14006b610
mov edx, r15d
mov rcx, r12
call fcn.14002ae1c
mov ecx, dword [r12 + 0x90]
mov dword [rax + 8], ecx
cmp byte [rbx + 0x46], sil
mov ecx, 1
mov eax, dword [rsp + 0x54]
mov rdx, qword [rbx + 0x3e8]
cmovne eax, ecx
mov dword [rsp + 0x54], eax
test dword [rdx + 0x28], 0x200
je 0x14006b6e8
test edi, edi
je 0x14006b64a
mov rax, qword [rbp - 0x50]
cmp qword [rdx + 0x20], rax
jne 0x14006b6e8
mov rax, qword [rsp + 0x70]
test byte [rax + 0x40], 0x20
je 0x14006b668
mov rax, qword [rdx + 0x20]
mov ecx, dword [rax + 0x64]
and cl, 3
cmp cl, 2
je 0x14006b6e8
mov r15, qword [rdx + 0x20]
mov qword [rbp - 0x50], r15
jmp 0x14006b6ec
mov r15d, dword [rbp - 0x78]
mov eax, dword [rsp + 0x60]
mov r9d, edi
mov ebx, dword [rsp + 0x5c]
mov edx, 0x5c
mov r8d, ebx
mov dword [rsp + 0x20], eax
mov rcx, r12
call fcn.14002a410
mov r9d, dword [rsp + 0x60]
mov edx, 0x84
mov r8d, dword [rsp + 0x50]
mov rcx, r12
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], ebx
call fcn.14002a748
test r13d, r13d
je 0x14006b5c2
movsxd rax, dword [r12 + 0x90]
test eax, eax
jle 0x14006b5c2
lea rcx, [rax + rax*2]
mov edx, 0x10
mov rax, qword [r12 + 0x88]
mov word [rax + rcx*8 - 0x16], dx
jmp 0x14006b5c2
mov qword [rbp - 0x50], rsi
mov rcx, rbx
call fcn.140072de4
mov rcx, r14
call fcn.14002a6b4
mov edx, dword [rsp + 0x40]
mov ebx, 0x400
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x30]
inc edi
add rcx, 0x40
mov dword [rsp + 0x48], edi
mov qword [rbp - 0x48], rcx
cmp edi, dword [rax + 0x14]
jl 0x14006b401
mov r15, qword [rbp + 0xb0]
mov rcx, r14
call fcn.14002a6b4
mov rax, qword [rbp - 0x50]
mov qword [r15 + 0x40], rax
test rax, rax
je 0x14006b748
mov eax, dword [rsp + 0x44]
mov dword [r15 + 8], eax
mov rax, qword [rbp - 0x68]
mov rbx, qword [rbp - 0x58]
test rax, rax
je 0x14006b764
mov rdx, rax
mov qword [rax + 0x10], rsi
mov rcx, rbx
call fcn.14003caf8
mov edx, dword [rsp + 0x78]
mov rcx, r12
call fcn.14002ae1c
mov ecx, dword [r12 + 0x90]
xor r8d, r8d
mov dword [rsp + 0x20], esi
mov dword [rax + 4], ecx
mov rcx, r12
mov r9d, dword [r15 + 0xc]
lea edx, [r8 + 0xb]
call fcn.14002a410
mov edx, dword [rbp - 0x60]
mov rcx, r12
call fcn.14002a82c
mov r8, qword [rbp + 0xa0]
mov eax, 1
cmp byte [r8 + 0x42], al
jbe 0x14006b7c6
test r13, r13
je 0x14006b7c6
mov rdx, r13
mov rcx, rbx
call fcn.14000eb28
mov r8, qword [rbp + 0xa0]
cmp dword [rsp + 0x54], esi
jne 0x14006a0a0
mov rdx, qword [rbp - 0x28]
mov rcx, r15
call fcn.14006914c
jmp 0x14006a099
mov r11, qword [rsp + 0x68]
mov rax, qword [rbp - 0x40]
test byte [r11 + rax + 0x48], 0x20
je 0x14006b7fc
mov byte [r15 + 0x35], 0xaa
jmp 0x14006a0a5
mov ecx, r10d
lea rdx, [0x140000000]
mov r8d, ebx
mov dword [r15 + 0x38], ebx
mov dword [rsp + 0x20], esi
mov al, byte [rcx + rdx + 0x14feec]
movzx edx, byte [rcx + rdx + 0x153a30]
mov rcx, r12
mov byte [r15 + 0x35], al
call fcn.14002a410
mov r8, qword [rbp + 0xa0]
mov r9d, 1
mov r11, qword [rsp + 0x68]
add eax, r9d
mov dword [r15 + 0x3c], eax
mov byte [r15 + 0x37], r9b
jmp 0x14006a0ab
mov r8, qword [rbp - 0x40]
mov rax, qword [rbx]
mov qword [rbp + 0xb0], rax
test byte [r11 + r8 + 0x44], 8
je 0x14006b86e
test byte [rax + 4], r9b
je 0x14006b93b
cmp r13d, r9d
jne 0x14006b895
mov r8, rdx
mov rcx, rax
mov edx, dword [r15 + 4]
call fcn.140041de0
mov r9d, 1
test eax, eax
jne 0x14006b89b
lea r12d, [r9 + 1]
jmp 0x14006b93b
cmp r13d, 3
jge 0x14006b8ba
movzx ecx, word [rbx + 0x12]
bt cx, 0xc
jae 0x14006b8ba
test r12d, r12d
jne 0x14006b93b
mov r12d, 3
jmp 0x14006b93b
bt cx, 9
jae 0x14006b8f2
mov edx, dword [r15 + 0x2c]
test edx, edx
je 0x14006b8f2
mov rcx, qword [rbp + 0x98]
mov r8d, edx
and edx, r9d
shr r8d, 1
xor r9d, r9d
mov dword [rsp + 0x20], esi
lea edx, [rdx*2 + 0x12]
call fcn.14002a410
mov dword [rbp + 0xa8], eax
mov r8d, dword [rbp - 0x5c]
mov r9d, 0x10
mov rdx, qword [rbp + 0xb0]
mov rcx, r14
call fcn.140041184
mov eax, dword [rbp + 0xa8]
test eax, eax
je 0x14006b930
mov r9, qword [rbp + 0x98]
mov edx, eax
mov rcx, r9
call fcn.14002ae1c
mov ecx, dword [r9 + 0x90]
mov dword [rax + 8], ecx
or word [rbx + 0x12], 4
mov r9d, 1
mov r8, qword [rbp + 0xa0]
sub edi, r9d
mov rdx, qword [rbp - 0x80]
add rbx, 0x40
mov r11, qword [rsp + 0x68]
test edi, edi
jg 0x14006a0d3
mov r10, qword [rbp - 0x38]
mov rbx, qword [r10 + 0x20]
mov edi, dword [r10 + 0x14]
mov r8, qword [rbp + 0xa0]
mov r13d, r12d
mov r11, qword [rsp + 0x68]
test r12d, r12d
jg 0x14006a0c0
mov r13d, 1
lea r12d, [r13 + 5]
test edi, edi
jle 0x14006ba8f
add rbx, 0x14
test byte [rbx - 2], r12b
jne 0x14006ba7c
movzx eax, word [rbx]
mov edx, 0xb
test al, 0x82
setne cl
bt ax, dx
setb al
test al, cl
je 0x14006ba7c
mov eax, dword [rsp + 0x40]
cmp dword [rbx + 8], eax
jne 0x14006ba7c
cmp dword [r15], esi
jne 0x14006ba7c
mov r9, qword [rbp + 0xb8]
mov edx, eax
mov r8d, dword [rbx + 0x14]
mov rcx, r10
mov r13, qword [rbx - 0x14]
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x83
call fcn.14006ddfc
mov rdx, rax
test rax, rax
je 0x14006ba76
test byte [rax + 0x12], 4
jne 0x14006ba76
mov r8d, 1
test byte [rax + 0x14], r8b
je 0x14006ba2c
mov rax, qword [rax]
test dword [rax + 4], 0x800
je 0x14006ba2c
mov rax, qword [rax + 0x20]
mov rcx, qword [rax]
cmp dword [rcx], r8d
jg 0x14006bb14
mov rax, qword [rdx]
mov r9d, 0x10
mov r8d, dword [rbp - 0x5c]
lea rdx, [rbp - 0x10]
mov rcx, r14
movups xmm0, xmmword [rax]
movaps xmmword [rbp - 0x10], xmm0
movups xmm1, xmmword [rax + 0x10]
movaps xmmword [rbp], xmm1
movups xmm0, xmmword [rax + 0x20]
movaps xmmword [rbp + 0x10], xmm0
movups xmm1, xmmword [rax + 0x30]
movaps xmmword [rbp + 0x20], xmm1
movsd xmm0, qword [rax + 0x40]
movsd qword [rbp + 0x30], xmm0
mov rax, qword [r13 + 0x10]
mov qword [rbp], rax
call fcn.140041184
mov r13d, 1
mov r10, qword [rbp - 0x38]
sub edi, r13d
add rbx, 0x40
test edi, edi
jg 0x14006b994
cmp dword [r15], esi
je 0x14006bafc
mov rcx, qword [rbp + 0x98]
mov r8d, r13d
mov r9d, dword [r15]
mov edx, 0x46
mov dword [rsp + 0x20], esi
mov eax, dword [rcx + 0x90]
mov dword [r15 + 0x1c], eax
call fcn.14002a410
mov rdi, qword [rbp - 0x38]
mov rbx, qword [rdi + 0x20]
cmp dword [rdi + 0x14], esi
jle 0x14006bafc
test byte [rbx + 0x12], r12b
jne 0x14006baf0
mov rax, qword [rbx + 0x38]
test qword [r15 + 0x58], rax
jne 0x14006baf0
mov r8d, dword [rbp - 0x5c]
mov r9d, 0x10
mov rdx, qword [rbx]
mov rcx, r14
call fcn.140041184
or word [rbx + 0x12], 4
add esi, r13d
add rbx, 0x40
cmp esi, dword [rdi + 0x14]
jl 0x14006bac6
mov rax, qword [r15 + 0x58]
add rsp, 0x148
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r13, r8
jmp 0x14006ba7c