Function at 0x1400697b1
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x158
movaps xmmword [rsp + 0x140], xmm6
mov esi, r9d
mov rbx, r8
mov r14, rdx
mov r15, rcx
mov r10, qword [rsp + 0x1c0]
mov rcx, qword [r8 + 8]
movzx eax, byte [r10 + 0x2c]
imul rax, rax, 0x70
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rax
mov ebp, dword [rcx + rax + 0x4c]
mov edx, dword [r8 + 0x294]
xor eax, eax
test edx, edx
jle 0x140069825
xor ecx, ecx
cmp dword [rbx + rcx*4 + 0x298], ebp
je 0x14006981d
inc rcx
cmp rdx, rcx
jne 0x14006980a
jmp 0x140069825
mov eax, 1
shl rax, cl
mov rcx, qword [r15]
mov qword [rsp + 0xb8], rcx
mov rcx, qword [r10 + 0x48]
mov qword [rsp + 0x48], rcx
not rax
and rax, qword [rsp + 0x1c8]
mov qword [r10 + 0x50], rax
mov rdi, qword [rbx + 0x58]
mov ecx, esi
shr rdi, cl
mov r12d, dword [r15 + 0x44]
dec r12d
mov dword [r15 + 0x44], r12d
mov dword [r10 + 0x10], r12d
mov dword [r10 + 0xc], r12d
mov eax, dword [r15 + 0x44]
dec eax
mov dword [r15 + 0x44], eax
mov dword [rsp + 0x8c], eax
mov dword [r10 + 0x18], eax
cmp byte [r10 + 0x2c], 0
je 0x1400698bf
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
test byte [rax + rcx + 0x44], 8
je 0x1400698bf
mov r9d, dword [r15 + 0x38]
inc r9d
mov dword [r15 + 0x38], r9d
mov dword [r10], r9d
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x46
xor r8d, r8d
call fcn.14004e997
mov r10, qword [rsp + 0x1c0]
test esi, esi
mov dword [rsp + 0x34], ebp
jle 0x1400698ef
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
mov eax, esi
imul rax, rax, 0x58
cmp dword [rbx + rax + 0x398], 0
jne 0x1400698f9
lea eax, [rsi - 1]
cmp esi, 1
mov esi, eax
jg 0x1400698d1
xor esi, esi
jmp 0x1400698f9
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
lea rax, [rbx + 0x68]
mov qword [rsp + 0xf0], rax
mov ecx, dword [r13 + rbp + 0x48]
test cl, 0x10
mov qword [rsp + 0xd8], r15
mov qword [rsp + 0xb0], r14
jne 0x1400699fa
mov ebp, edi
and ebp, 1
mov rdx, qword [rsp + 0x48]
mov eax, dword [rdx + 0x28]
bt eax, 0xa
jb 0x140069a4e
movsxd rdx, esi
imul rdx, rdx, 0x58
mov r9d, dword [rbx + rdx + 0x3a4]
bt eax, 8
jae 0x140069ff4
mov edx, eax
and edx, 5
je 0x140069ff4
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x38]
mov rsi, qword [rax]
mov edi, dword [r15 + 0x38]
lea eax, [rdi + 1]
mov dword [r15 + 0x38], eax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ebp
mov rcx, r15
mov rdx, rsi
mov r8, r10
xor r9d, r9d
call fcn.14006b047
inc edi
je 0x1400699b0
cmp eax, edi
je 0x1400699b0
movzx ecx, byte [r15 + 0x1f]
cmp rcx, 7
ja 0x1400699b0
lea edx, [rcx + 1]
mov byte [r15 + 0x1f], dl
mov dword [r15 + rcx*4 + 0xbc], edi
mov rdi, qword [rsp + 0x1c0]
mov r9d, dword [rdi + 0x10]
mov dword [rsp + 0x20], eax
mov rcx, r14
mov edx, 0x1e
mov r8d, dword [rsp + 0x34]
call fcn.14004e997
mov r10, rdi
mov byte [rdi + 0x2d], 0xaa
mov rax, qword [rdi + 0x50]
test qword [rsi + 0x38], rax
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
jne 0x140069d3f
or byte [rsi + 0x12], 4
jmp 0x140069d3f
mov eax, dword [r13 + rbp + 0x38]
mov edi, dword [r13 + rbp + 0x3c]
mov dword [rsp + 0x20], eax
mov rcx, r14
mov edx, 0xd
mov r8d, edi
xor r9d, r9d
call fcn.14004e997
mov dword [rsp + 0x20], 0
mov rcx, r14
xor esi, esi
mov edx, 0xe
mov r8d, edi
mov r9d, r12d
call fcn.14004e997
mov r10, qword [rsp + 0x1c0]
mov dword [r10 + 0x34], eax
mov byte [r10 + 0x2d], 0xb
jmp 0x140069d41
movzx edi, word [rdx + 0x2c]
lea edx, [rdi + 2]
mov rcx, r15
call fcn.1400599e5
mov r9, qword [rsp + 0x1c0]
mov ecx, eax
mov r13d, dword [r9 + 0xc]
test edi, edi
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x68], eax
mov r12, r14
je 0x140069ae7
lea r14d, [rax + 2]
xor esi, esi
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x38]
mov rdx, qword [rax + rsi*8]
test rdx, rdx
je 0x140069adf
lea r8, [r14 + rsi]
test byte [rdx + 0x14], 1
jne 0x140069abc
mov rax, qword [rdx]
mov rdx, qword [rax + 0x18]
mov rcx, r15
mov r9d, 1
call fcn.14006b93a
mov r9, qword [rsp + 0x1c0]
jmp 0x140069adf
mov dword [rsp + 0x28], r8d
mov dword [rsp + 0x20], ebp
mov rcx, r15
mov r8, r9
mov r9d, esi
call fcn.14006b047
mov r9, qword [rsp + 0x1c0]
mov r13d, dword [r9 + 0x10]
inc rsi
cmp rdi, rsi
jne 0x140069a81
mov r15, qword [rsp + 0x48]
mov r8d, dword [r15 + 0x18]
xor ebp, ebp
mov dword [rsp + 0x20], ebp
mov rsi, r12
mov rcx, r12
mov edx, 0x46
mov r14d, dword [rsp + 0x68]
mov r9d, r14d
call fcn.14004e997
mov r9, qword [rsp + 0x40]
inc r9d
mov dword [rsp + 0x20], ebp
mov rcx, r12
mov edx, 0x46
mov r8d, edi
mov qword [rsp + 0x40], r9
call fcn.14004e997
cmp byte [r15 + 0x1c], 1
mov r12d, 0
sbb r12d, r12d
or r12d, 0xfffffff9
mov rbp, qword [r15 + 0x20]
mov dword [rsp + 0x20], r14d
mov rcx, rsi
mov edx, 9
mov r14d, dword [rsp + 0x34]
mov r8d, r14d
mov r9d, r13d
call fcn.14004e997
mov rcx, rsi
mov edx, eax
mov r8, rbp
mov r9d, r12d
call fcn.14004ea51
mov r10, qword [rsp + 0x1c0]
mov byte [r15 + 0x1c], 0
mov dword [r10 + 0x30], r14d
cmp byte [rbx + 0x45], 0
mov eax, 0x3c
mov ecx, 0xaa
cmove ecx, eax
mov byte [r10 + 0x2d], cl
mov eax, dword [rsi + 0x90]
mov dword [r10 + 0x34], eax
test rdi, rdi
je 0x140069d35
mov ebp, dword [r10 + 0x38]
mov r12d, edi
xorps xmm6, xmm6
mov r14, qword [rsp + 0x48]
mov r15, qword [rsp + 0xd8]
mov rax, qword [r14 + 0x38]
mov rdi, qword [rax + r12*8 - 8]
cmp r12, 0x10
ja 0x140069bf3
movzx eax, word [r14 + 0x1e]
lea ecx, [r12 - 1]
movzx ecx, cl
bt eax, ecx
jae 0x140069bf3
mov rcx, r10
mov rdx, rdi
call fcn.14006b9fe
jmp 0x140069d1b
test byte [rdi + 0x14], 1
je 0x140069d23
mov rax, qword [rsp + 0xb8]
cmp byte [rax + 0x61], 0
jne 0x140069c63
mov rax, qword [r10 + 0x40]
dec ebp
movsxd rcx, ebp
lea rcx, [rcx + rcx*4]
mov eax, dword [rax + rcx*4 + 4]
test eax, eax
jns 0x140069c28
mov eax, dword [rsi + 0x90]
dec eax
mov rcx, qword [rsi]
cmp byte [rcx + 0x61], 0
lea rcx, [0x1402c6528]
jne 0x140069c49
cdqe
lea rcx, [rax + rax*2]
shl rcx, 3
add rcx, qword [rsi + 0x88]
mov eax, dword [rcx + 0xc]
mov r8d, dword [rcx + 4]
mov r9d, dword [rcx + 8]
movzx edx, byte [rcx]
mov dword [rsp + 0x20], eax
mov rcx, rsi
call fcn.14004e997
mov rcx, qword [r15]
mov edx, 0x48
call fcn.140027672
test rax, rax
je 0x140069d1b
mov r13, rax
movups xmmword [rax], xmm6
movups xmmword [rax + 0x20], xmm6
movups xmmword [rax + 0x30], xmm6
movups xmmword [rax + 0x10], xmm6
xor ecx, ecx
mov qword [rax + 0x40], rcx
mov byte [rax], 0x35
mov word [rax + 0x2e], 0xffff
mov rax, qword [rdi]
mov rax, qword [rax + 0x10]
mov qword [r13 + 0x10], rax
mov qword [rsp + 0xf8], rcx
mov dword [rsp + 0x100], 0
mov rcx, qword [rsp + 0xb8]
mov edx, 0xab
lea r8, [rsp + 0xf8]
xor r9d, r9d
call fcn.140041cb4
mov qword [r13 + 0x18], rax
test rax, rax
je 0x140069d03
mov rcx, qword [rsp + 0x40]
add ecx, r12d
mov dword [rax + 0x28], ecx
mov rax, qword [rsp + 0x1c0]
mov r8d, dword [rax + 0x18]
mov rcx, r15
mov rdx, r13
xor r9d, r9d
call fcn.14005c7a5
mov qword [r13 + 0x10], 0
mov rcx, qword [rsp + 0xb8]
mov rdx, r13
call fcn.1400204fd
mov r10, qword [rsp + 0x1c0]
dec r12
lea rax, [r12 + 1]
cmp rax, 1
ja 0x140069bc2
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
xor esi, esi
lea r12, [rbp + 0x44]
add r12, r13
xor ebp, ebp
mov r13, rsi
cmp rsi, 1
adc ebp, 1
mov r14d, dword [rbx + 0x7c]
test r14d, r14d
jle 0x140069f3c
mov rsi, qword [rbx + 0x88]
inc r14d
xor r15d, r15d
movzx eax, word [rsi + 0x12]
test al, 6
jne 0x140069d88
mov rcx, qword [r10 + 0x50]
test qword [rsi + 0x38], rcx
je 0x140069d9a
mov byte [rbx + 0x46], 1
add rsi, 0x40
dec r14d
cmp r14d, 1
jg 0x140069d72
jmp 0x140069e34
mov rdi, qword [rsi]
test byte [r12], 8
je 0x140069daa
test byte [rdi + 4], 1
je 0x140069d88
cmp ebp, 1
jne 0x140069dd0
mov edx, dword [r10 + 4]
mov rcx, rdi
mov r8, r13
call fcn.14006be29
test eax, eax
je 0x140069e21
movzx eax, word [rsi + 0x12]
mov r10, qword [rsp + 0x1c0]
jmp 0x140069dd5
cmp ebp, 2
ja 0x140069ddb
bt eax, 0xc
jb 0x140069e10
bt eax, 9
jb 0x140069d88
mov rcx, qword [rsp + 0xd8]
mov rdx, rdi
mov r8d, dword [rsp + 0x8c]
mov r9d, 0x10
call fcn.14005c7a5
mov r10, qword [rsp + 0x1c0]
or byte [rsi + 0x12], 4
jmp 0x140069d88
test r15d, r15d
mov eax, 3
cmove r15d, eax
jmp 0x140069d88
mov r15d, 2
mov r10, qword [rsp + 0x1c0]
jmp 0x140069d88
mov ebp, r15d
test r15d, r15d
jg 0x140069d58
mov ebp, dword [rbx + 0x7c]
test ebp, ebp
jle 0x140069f3c
mov r14, qword [rbx + 0x88]
inc ebp
add r14, 0x28
lea r12, [rsp + 0xf8]
test byte [r14 - 0x16], 6
je 0x140069e77
dec ebp
add r14, 0x40
cmp ebp, 1
jg 0x140069e60
jmp 0x140069f3c
movzx eax, word [r14 - 0x14]
test al, 0x82
je 0x140069e67
and eax, 0x800
je 0x140069e67
mov eax, dword [rsp + 0x34]
cmp dword [r14 - 0xc], eax
jne 0x140069e67
cmp dword [r10], 0
jne 0x140069e67
mov r15, qword [r14 - 0x28]
mov r8d, dword [r14]
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x83
mov rcx, qword [rsp + 0xf0]
mov edx, dword [rsp + 0x34]
mov r9, qword [rsp + 0x1c8]
call fcn.140066f77
mov r10, qword [rsp + 0x1c0]
test rax, rax
je 0x140069e67
test byte [rax + 0x12], 4
jne 0x140069e67
test byte [rax + 0x14], 1
mov rsi, qword [rax]
je 0x140069efa
test byte [rsi + 5], 8
je 0x140069efa
mov rax, qword [rsi + 0x20]
mov rax, qword [rax]
cmp dword [rax], 1
jg 0x140069e67
mov ecx, 9
mov rdi, r12
rep movsq qword [rdi], qword [rsi]
mov rax, qword [r15 + 0x10]
mov qword [rsp + 0x108], rax
mov rcx, qword [rsp + 0xd8]
mov rdx, r12
mov r8d, dword [rsp + 0x8c]
mov r9d, 0x10
call fcn.14005c7a5
mov r10, qword [rsp + 0x1c0]
jmp 0x140069e67
mov r9d, dword [r10]
test r9d, r9d
mov r14, qword [rsp + 0xd8]
je 0x140069fd4
mov rcx, qword [rsp + 0xb0]
mov eax, dword [rcx + 0x90]
mov dword [r10 + 0x1c], eax
mov dword [rsp + 0x20], 0
mov edx, 0x46
mov r8d, 1
call fcn.14004e997
mov r10, qword [rsp + 0x1c0]
mov eax, dword [rbx + 0x7c]
test eax, eax
jle 0x140069fd4
mov rsi, qword [rbx + 0x88]
xor edi, edi
test byte [rsi + 0x12], 6
jne 0x140069fca
mov rcx, qword [r10 + 0x50]
test qword [rsi + 0x38], rcx
jne 0x140069fca
mov rdx, qword [rsi]
mov rcx, r14
mov r8d, dword [rsp + 0x8c]
mov r9d, 0x10
call fcn.14005c7a5
mov r10, qword [rsp + 0x1c0]
or byte [rsi + 0x12], 4
mov eax, dword [rbx + 0x7c]
inc edi
add rsi, 0x40
cmp edi, eax
jl 0x140069f92
mov rax, qword [r10 + 0x50]
movaps xmm6, xmmword [rsp + 0x140]
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov edx, eax
not edx
test edx, 0x102
jne 0x14006a024
xor ecx, ecx
mov edx, 0
test al, 0x20
je 0x14006a01c
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx + 0x38]
mov rcx, qword [rcx]
mov edx, 1
test al, 0x10
jne 0x14006a084
xor edi, edi
jmp 0x14006a091
bt eax, 9
jb 0x14006a0d2
test cl, 0x20
jne 0x14006a121
and edi, 1
lea rax, [0x1402b2a40]
mov al, byte [rdi + rax]
mov byte [r10 + 0x2d], al
mov r8d, dword [rsp + 0x34]
mov dword [r10 + 0x30], r8d
lea rax, [0x1402b2a60]
movzx edx, byte [rdi + rax]
mov dword [rsp + 0x20], 0
mov rcx, r14
call fcn.14004e997
mov r10, qword [rsp + 0x1c0]
inc eax
mov dword [r10 + 0x34], eax
mov byte [r10 + 0x2f], 1
jmp 0x14006a8b6
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x38]
mov rdi, qword [rax + rdx*8]
test ebp, ebp
mov rsi, rcx
cmove rsi, rdi
cmove rdi, rcx
test rdi, rdi
je 0x14006a0f9
mov r14, qword [rdi]
mov rdx, qword [r14 + 0x18]
mov al, byte [rdx]
cmp al, 0xab
jne 0x14006a0b3
mov al, byte [rdx + 0x32]
cmp al, 0x86
je 0x14006a24c
movzx eax, al
cmp eax, 0xac
jne 0x14006a258
lea rax, [rdx + 0x20]
jmp 0x14006a250
mov r9, qword [rsp + 0x48]
movzx esi, word [r9 + 0x18]
movzx ecx, word [r9 + 0x1a]
test al, 0x20
mov dword [rsp + 0xc8], ecx
jne 0x14006a12b
xor ecx, ecx
mov qword [rsp + 0x78], rcx
xor edx, edx
mov ecx, esi
jmp 0x14006a13e
xor eax, eax
test ebp, ebp
sete al
lea edx, [rax*4 + 0x20]
mov dword [rsp + 0x20], 0
mov rcx, r14
mov r8d, dword [rsp + 0x34]
call fcn.14004e997
jmp 0x14006a83b
mov byte [r10 + 0x2d], 0xaa
jmp 0x14006a8b6
movzx edx, cx
mov r8, qword [r9 + 0x38]
lea ecx, [rsi + 1]
mov r8, qword [r8 + rsi*8]
mov qword [rsp + 0x78], r8
movzx r13d, word [r9 + 0x1c]
mov r8, qword [r9 + 0x20]
mov qword [rsp + 0x80], r8
xor r11d, r11d
test al, 0x10
jne 0x14006a15d
xor ecx, ecx
mov r12d, edx
jmp 0x14006a17e
movzx r12d, r13w
mov r8, qword [r9 + 0x38]
mov ecx, ecx
mov rcx, qword [r8 + rcx*8]
cmp edx, r12d
cmova r12d, edx
cmp qword [rsp + 0x78], 0
je 0x14006a791
xor r9d, r9d
mov edx, dword [r10 + 8]
mov dword [rsp + 0x38], edx
and eax, 0x80030
cmp eax, 0x80000
jne 0x14006a1bb
mov r11d, dword [r15 + 0x38]
inc r11d
mov dword [r15 + 0x38], r11d
mov dword [r10 + 0x24], r11d
mov eax, dword [r15 + 0x44]
dec eax
mov dword [r15 + 0x44], eax
mov dword [r10 + 0x28], eax
mov r9b, 1
mov r12d, 1
mov qword [rsp + 0xa0], r11
mov rax, qword [rsp + 0x80]
movzx eax, word [rax + 0x5e]
cmp si, ax
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0xe8], rbp
jae 0x14006a204
mov rdx, qword [rsp + 0x80]
mov rdx, qword [rdx + 0x38]
mov r8d, esi
cmp byte [rdx + r8], 0
setne dl
xor dil, dl
test dil, 1
jne 0x14006a215
test ebp, ebp
je 0x14006a2c1
cmp ax, si
jne 0x14006a2c1
mov qword [rsp + 0xe0], r9
movzx eax, byte [rsp + 0xc8]
mov dword [rsp + 0x9c], 0
mov edx, r13d
mov dword [rsp + 0xc8], edx
mov word [rsp + 0x3e], ax
mov qword [rsp + 0xc0], rcx
jmp 0x14006a2ed
mov rax, qword [rdx + 0x20]
mov rax, qword [rax]
cmp dword [rax], 2
jge 0x14006a29f
lea r8, [rsp + 0xf8]
mov rcx, r15
mov qword [rsp + 0x48], r14
mov r14, rsi
mov rsi, r10
call fcn.14005b7c5
mov r13d, eax
mov rcx, rsi
mov rsi, r14
mov rdx, rdi
call fcn.14006b9fe
mov rax, qword [rsp + 0x48]
movzx eax, byte [rax]
add rax, 0xffffffffffffffca
lea rcx, [rsp + 0xf8]
mov edi, dword [rcx]
jmp 0x14006a7f5
mov al, byte [r15 + 0x1f]
test al, al
je 0x14006a7c7
dec al
mov byte [r15 + 0x1f], al
movzx eax, al
mov edi, dword [r15 + rax*4 + 0xbc]
jmp 0x14006a7d1
mov word [rsp + 0x3e], r13w
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0x78], rcx
mov eax, r9d
mov dword [rsp + 0x9c], eax
xor eax, eax
mov qword [rsp + 0xe0], rax
mov rcx, qword [r15]
mov rbp, qword [r15 + 0x10]
mov rax, qword [r10 + 0x48]
movzx r8d, word [rax + 0x18]
movzx r13d, word [rax + 0x2e]
mov qword [rsp + 0x70], rax
mov rdx, qword [rax + 0x20]
mov eax, dword [r15 + 0x38]
lea esi, [rax + 1]
mov qword [rsp + 0x68], r8
add r12d, r8d
mov dword [rsp + 0xd0], r12d
add eax, r12d
mov dword [r15 + 0x38], eax
call fcn.140059c4c
mov rcx, qword [r15]
mov rdx, rax
call fcn.14002eeb9
mov qword [rsp + 0x40], rax
test r13d, r13d
mov qword [rsp + 0x90], rbp
je 0x14006a43d
mov r14, qword [rsp + 0x1c0]
mov edi, dword [r14 + 8]
mov r14, rsi
xor esi, esi
cmp dword [rsp + 0xe8], 0
sete sil
lea edx, [rsi*4 + 0x20]
xor r12d, r12d
mov dword [rsp + 0x20], r12d
mov rcx, rbp
mov r8d, edi
xor r9d, r9d
call fcn.14004e997
mov dword [rsp + 0x20], r12d
mov rcx, rbp
mov edx, 0xb
xor r8d, r8d
xor r9d, r9d
call fcn.14004e997
mov dword [rsp + 0x64], eax
lea edx, [rsi + rsi*2]
add edx, 0x16
mov rsi, r14
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], esi
mov rcx, rbp
mov r8d, edi
xor r9d, r9d
call fcn.14005b8ba
mov rcx, qword [rsp + 0x1c0]
mov dword [rcx + 0x14], eax
mov eax, dword [rbp + 0x90]
mov rcx, qword [rbp]
cmp byte [rcx + 0x61], 0
je 0x14006a3e9
lea rcx, [0x1402c6528]
jmp 0x14006a407
lea ecx, [rax - 1]
mov edx, dword [rsp + 0x64]
test edx, edx
cmovns ecx, edx
movsxd rcx, ecx
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [rbp + 0x88]
mov r14, qword [rsp + 0xb0]
mov dword [rcx + 8], eax
mov rbp, qword [rsp + 0x90]
lea eax, [rsi + r12]
mov dword [rsp + 0x20], eax
mov rcx, rbp
mov edx, 0x5a
mov r8d, edi
mov r9d, r12d
call fcn.14004e997
inc r12d
cmp r13d, r12d
jne 0x14006a41a
cmp r13w, word [rsp + 0x68]
jae 0x14006a5a9
mov r12d, r13d
mov r8, qword [rsp + 0x1c0]
mov rbp, qword [rsp + 0xe8]
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x38]
mov rdi, qword [rax + r12*8]
mov r13d, esi
add r13, r12
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], ebp
mov rcx, r15
mov rdx, rdi
mov r9d, r12d
call fcn.14006b047
cmp r13d, eax
je 0x14006a4d7
cmp dword [rsp + 0xd0], 1
jne 0x14006a4b7
test esi, esi
je 0x14006a4b3
movzx ecx, byte [r15 + 0x1f]
cmp rcx, 7
ja 0x14006a4b3
lea edx, [rcx + 1]
mov byte [r15 + 0x1f], dl
mov dword [r15 + rcx*4 + 0xbc], esi
mov esi, eax
jmp 0x14006a4d7
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x90]
mov edx, 0x4f
mov r8d, eax
mov r9d, r13d
call fcn.14004e997
mov r8, qword [rsp + 0x1c0]
movzx eax, word [rdi + 0x14]
test al, 1
jne 0x14006a564
bt eax, 8
jb 0x14006a599
mov rax, qword [rdi]
mov r13, qword [rax + 0x18]
test byte [rdi + 0x13], 8
jne 0x14006a53c
mov rcx, r13
call fcn.14005dd9b
mov r8, qword [rsp + 0x1c0]
test eax, eax
je 0x14006a53c
mov r9d, dword [r8 + 0xc]
lea r8d, [r12 + rsi]
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x90]
mov edx, 0x32
call fcn.14004e997
mov r8, qword [rsp + 0x1c0]
cmp qword [rsp + 0x40], 0
je 0x14006a599
mov rax, qword [rsp + 0x40]
lea rdi, [rax + r12]
mov dl, byte [rax + r12]
mov rcx, r13
call fcn.14005defa
cmp al, 0x41
jne 0x14006a580
mov byte [rdi], 0x41
mov dl, 0x41
jmp 0x14006a582
mov rax, qword [rdi]
test byte [rax + 5], 8
je 0x14006a599
cmp qword [rsp + 0x40], 0
je 0x14006a599
mov rax, qword [rsp + 0x40]
lea rdi, [rax + r12]
jmp 0x14006a596
mov dl, byte [rdi]
mov rcx, r13
call fcn.14006ba7d
test eax, eax
mov r8, qword [rsp + 0x1c0]
je 0x14006a599
mov byte [rdi], 0x41
inc r12
cmp qword [rsp + 0x68], r12
jne 0x14006a45c
jmp 0x14006a5b9
mov r8, qword [rsp + 0x1c0]
mov rbp, qword [rsp + 0xe8]
mov qword [rsp + 0x70], rsi
xor edx, edx
cmp qword [rsp + 0x40], 0
mov rdi, qword [rsp + 0x78]
je 0x14006a610
cmp word [rsp + 0x3e], 0
mov rsi, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xc0]
je 0x14006a628
mov rax, qword [rsp + 0x40]
lea rdx, [rax + r13]
mov rcx, qword [rsp + 0xb8]
call fcn.14002eeb9
mov r8, qword [rsp + 0x1c0]
mov rdx, rax
jmp 0x14006a628
mov rsi, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xa8]
mov r12, qword [rsp + 0xc0]
lea rax, [r8 + 0x28]
lea rcx, [r8 + 0x10]
test esi, esi
cmove rax, rcx
mov cl, 1
mov r8b, 1
test r12, r12
je 0x14006a64a
test byte [r12 + 0x14], 0x28
setne r8b
test rdi, rdi
je 0x14006a656
test byte [rdi + 0x14], 0x28
setne cl
mov eax, dword [rax]
mov dword [rsp + 0x68], eax
test r13, r13
setne dil
test r12, r12
mov qword [rsp + 0xd0], rdx
mov byte [rsp + 0x90], cl
je 0x14006a71f
mov dword [rsp + 0x64], r8d
mov rax, qword [r12]
mov rdi, qword [rax + 0x18]
movzx r12d, word [rsp + 0xc8]
mov rsi, qword [rsp + 0x70]
add r13d, esi
mov rcx, r15
mov rdx, rdi
mov r8d, r13d
mov r9d, r12d
call fcn.14006b93a
mov rcx, rdi
call fcn.14005dd9b
test eax, eax
je 0x14006a6d3
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x32
mov r8d, r13d
mov r9d, dword [rsp + 0x68]
call fcn.14004e997
cmp qword [rsp + 0x40], 0
mov r13, qword [rsp + 0xa8]
je 0x14006a6f7
mov rax, qword [rsp + 0x40]
lea r8, [rax + r13]
mov rcx, rdi
mov edx, r12d
call fcn.14006bb2a
mov al, byte [rdi]
cmp al, 0xab
jne 0x14006a700
mov al, byte [rdi + 0x32]
add r12d, r13d
cmp al, 0x86
mov rcx, qword [rsp + 0x1c0]
je 0x14006a764
movzx eax, al
cmp eax, 0xac
jne 0x14006a770
add rdi, 0x20
jmp 0x14006a768
cmp byte [rsp + 0x9c], 0
je 0x14006a9c0
mov rsi, qword [rsp + 0x70]
lea r9d, [rsi + r13]
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x64], 0
mov rcx, r14
mov edx, 0x49
xor r8d, r8d
call fcn.14004e997
lea r12d, [r13 + 1]
mov eax, 1
jmp 0x14006a9f4
mov rdi, qword [rdi + 0x20]
mov rax, qword [rdi]
cmp dword [rax], 1
jg 0x14006a784
mov rdx, qword [rsp + 0xc0]
call fcn.14006b9fe
xor eax, eax
jmp 0x14006a9f4
xor eax, eax
mov cl, 1
mov dword [rsp + 0x64], ecx
jmp 0x14006a9f4
mov r8, qword [rsp + 0x80]
mov rdx, qword [r8 + 8]
movzx edx, word [rdx + rsi*2]
test dx, dx
js 0x14006b024
mov r8, qword [r8 + 0x18]
mov r8, qword [r8 + 8]
shl rdx, 5
cmp byte [r8 + rdx + 0x18], 0
jne 0x14006a17e
jmp 0x14006b030
mov edi, dword [r15 + 0x38]
inc edi
mov dword [r15 + 0x38], edi
mov rdx, qword [r14 + 0x18]
mov rcx, r15
mov r8d, edi
mov r9d, 1
call fcn.14006b93a
mov al, byte [r14]
inc al
and al, 2
or al, 1
movzx eax, al
mov r13d, edi
mov r14, qword [rsp + 0xb0]
lea rcx, [0x1402b29e0]
movzx edx, byte [rax + rcx]
mov dword [rsp + 0x20], r13d
mov rcx, r14
mov r8d, dword [rsp + 0x34]
mov r9d, r12d
call fcn.14004e997
test edi, edi
je 0x14006a83b
movzx eax, byte [r15 + 0x1f]
cmp rax, 7
ja 0x14006a83b
lea ecx, [rax + 1]
mov byte [r15 + 0x1f], cl
mov dword [r15 + rax*4 + 0xbc], edi
mov r10, qword [rsp + 0x1c0]
test rsi, rsi
je 0x14006a89b
mov r14, qword [rsi]
mov edi, dword [r15 + 0x38]
inc edi
mov dword [r15 + 0x38], edi
mov rdx, qword [r14 + 0x18]
mov rcx, r15
mov r8d, edi
mov r9d, 1
call fcn.14006b93a
mov rax, qword [r14 + 0x18]
mov r8b, byte [rax]
mov edx, r8d
cmp r8b, 0xab
jne 0x14006a87d
mov dl, byte [rax + 0x32]
cmp dl, 0x86
mov rcx, qword [rsp + 0x1c0]
je 0x14006a8bd
movzx edx, dl
cmp edx, 0xac
jne 0x14006a8c9
lea rdx, [rax + 0x20]
jmp 0x14006a8c1
mov eax, dword [r14 + 0x90]
xor bpl, 5
mov byte [r10 + 0x2d], bpl
mov ecx, dword [rsp + 0x34]
mov dword [r10 + 0x30], ecx
mov dword [r10 + 0x34], eax
xor esi, esi
jmp 0x14006a9b1
mov rdx, qword [rax + 0x20]
mov rdx, qword [rdx]
cmp dword [rdx], 1
jg 0x14006a8e8
movzx edx, byte [r14]
cmp edx, 0x38
je 0x14006a8d7
cmp edx, 0x36
jne 0x14006a8e8
xor edx, edx
test ebp, ebp
sete dl
lea r13d, [rdx*2 + 0x37]
jmp 0x14006a8f0
lea r13d, [rbp*2 + 0x36]
cmp r8b, 0xab
mov r14, qword [rsp + 0xb0]
jne 0x14006a902
mov r8b, byte [rax + 0x32]
cmp r8b, 0x86
je 0x14006a91a
movzx edx, r8b
cmp edx, 0xac
jne 0x14006a926
add rax, 0x20
jmp 0x14006a91e
mov rax, qword [rax + 0x20]
mov rax, qword [rax]
cmp dword [rax], 1
jg 0x14006a936
mov rdx, rsi
call fcn.14006b9fe
mov rcx, qword [rsp + 0x1c0]
mov eax, dword [r14 + 0x90]
xor bpl, 5
mov byte [rcx + 0x2d], bpl
mov r8d, dword [rsp + 0x34]
mov dword [rcx + 0x30], r8d
mov dword [rcx + 0x34], eax
mov esi, dword [r15 + 0x38]
inc esi
mov dword [r15 + 0x38], esi
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x80
mov r9d, esi
call fcn.14004e997
mov dword [rsp + 0x20], esi
mov rcx, r14
mov edx, r13d
mov r8d, edi
mov r9d, r12d
call fcn.14004e997
mov eax, dword [r14 + 0x90]
test eax, eax
jle 0x14006a9a7
mov rcx, qword [r14 + 0x88]
dec eax
lea rax, [rax + rax*2]
mov word [rcx + rax*8 + 2], 0x53
xor esi, esi
mov r10, qword [rsp + 0x1c0]
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
jmp 0x140069d41
test esi, esi
mov dword [rsp + 0x64], r8d
je 0x14006b038
mov rsi, qword [rsp + 0x70]
lea r9d, [rsi + r13]
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x49
xor r8d, r8d
call fcn.14004e997
xor eax, eax
lea r12d, [r13 + 1]
mov dil, 1
mov r8d, r12d
mov qword [rsp + 0xc8], rax
sub r8d, eax
mov rcx, qword [r15 + 0x10]
mov edx, esi
mov r9, qword [rsp + 0x40]
call fcn.14006bb87
mov rax, qword [rsp + 0x48]
movzx eax, word [rax + 0x2e]
test eax, eax
je 0x14006aa2b
cmp r12d, eax
je 0x14006ab50
movzx esi, byte [rsp + 0x64]
mov rax, qword [rsp + 0x48]
test byte [rax + 0x2a], 4
je 0x14006aa58
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x77
mov r8d, dword [rsp + 0x38]
xor r9d, r9d
call fcn.14004e997
mov r13, r14
neg esi
movzx r14d, dil
mov r9, qword [rsp + 0xa0]
test r9d, r9d
je 0x14006ab0d
xor eax, eax
mov dword [rsp + 0x20], eax
mov rcx, r13
mov edx, 0x46
mov r8d, 1
call fcn.14004e997
shl r14d, 2
mov eax, esi
and eax, 1
lea eax, [r14 + rax*2]
or eax, ebp
lea r14, [0x1402b2a00]
movzx edx, byte [rax + r14]
mov dword [rsp + 0x28], r12d
mov rdi, qword [rsp + 0x70]
mov dword [rsp + 0x20], edi
mov rcx, r13
mov r8d, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x68]
call fcn.14005b8ba
mov r9d, dword [r13 + 0x90]
add r9d, 2
xor eax, eax
mov dword [rsp + 0x20], eax
mov rcx, r13
mov edx, 0xb
xor r8d, r8d
call fcn.14004e997
xor eax, eax
cmp r12d, 2
setge al
lea eax, [rbp + rax*4 + 2]
movzx edx, byte [rax + r14]
mov r14, r13
add r12d, esi
mov rsi, rdi
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], esi
jmp 0x14006ab36
shl r14d, 2
and esi, 1
lea eax, [r14 + rsi*2]
or eax, ebp
lea rcx, [0x1402b2a00]
movzx edx, byte [rax + rcx]
mov dword [rsp + 0x28], r12d
mov rsi, qword [rsp + 0x70]
mov dword [rsp + 0x20], esi
mov r14, r13
mov rcx, r13
mov r8d, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x68]
call fcn.14005b8ba
mov r13, qword [rsp + 0xa8]
movzx edi, byte [rsp + 0x90]
mov rax, qword [rsp + 0x78]
test rax, rax
mov rcx, qword [rsp + 0xe0]
je 0x14006ac21
mov dword [rsp + 0x90], edi
movzx r12d, word [rsp + 0x3e]
mov rax, qword [rax]
mov rdi, qword [rax + 0x18]
add r13d, esi
mov rcx, r15
mov rdx, rdi
mov r8d, r13d
mov r9d, r12d
call fcn.14006b93a
mov rcx, rdi
call fcn.14005dd9b
test eax, eax
je 0x14006abbf
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x32
mov r8d, r13d
mov r9d, dword [rsp + 0x68]
call fcn.14004e997
mov rsi, qword [rsp + 0xd0]
test rsi, rsi
je 0x14006abec
mov rcx, rdi
mov edx, r12d
mov r8, rsi
call fcn.14006bb2a
mov rcx, qword [r15 + 0x10]
mov edx, r13d
mov r8d, r12d
mov r9, rsi
call fcn.14006bb87
mov al, byte [rdi]
cmp al, 0xab
jne 0x14006abf5
mov al, byte [rdi + 0x32]
add r12d, dword [rsp + 0xa8]
cmp al, 0x86
mov rcx, qword [rsp + 0x1c0]
mov rsi, qword [rsp + 0xa0]
je 0x14006ac5c
movzx eax, al
cmp eax, 0xac
jne 0x14006ac68
add rdi, 0x20
jmp 0x14006ac60
test cl, cl
je 0x14006ac87
mov rsi, qword [rsp + 0xa0]
test esi, esi
jne 0x14006ac54
mov rax, qword [rsp + 0x70]
lea r9d, [rax + r13]
mov dword [rsp + 0x20], 0
xor edi, edi
mov rcx, r14
mov edx, 0x49
xor r8d, r8d
call fcn.14004e997
inc r13d
mov r12d, r13d
jmp 0x14006ac92
mov rdi, qword [rdi + 0x20]
mov rax, qword [rdi]
cmp dword [rax], 1
jg 0x14006ac80
mov rdx, qword [rsp + 0x78]
call fcn.14006b9fe
mov rdx, qword [rsp + 0x40]
mov edi, dword [rsp + 0x90]
jmp 0x14006ac97
mov edi, 1
jmp 0x14006ac92
mov r12d, r13d
mov rsi, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x40]
test rdx, rdx
je 0x14006aca9
mov rcx, qword [rsp + 0xb8]
call fcn.14001fb53
mov rdx, qword [rsp + 0xd0]
test rdx, rdx
je 0x14006acc3
mov rcx, qword [rsp + 0xb8]
call fcn.14001fb53
mov eax, dword [r14 + 0x90]
mov r10, qword [rsp + 0x1c0]
mov dword [r10 + 0x34], eax
test r12d, r12d
je 0x14006ad3d
test esi, esi
je 0x14006ad02
mov r9d, dword [r14 + 0x90]
add r9d, 3
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x14
mov r8d, esi
call fcn.14004e997
mov eax, ebp
mov ecx, edi
lea rax, [rcx + rax*2]
lea rcx, [0x1402b2a20]
movzx edx, byte [rcx + rax]
mov dword [rsp + 0x28], r12d
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x20], eax
mov rcx, r14
mov r8d, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x68]
call fcn.14005b8ba
mov r10, qword [rsp + 0x1c0]
test esi, esi
je 0x14006ada6
mov r9d, dword [r14 + 0x90]
add r9d, 2
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x12
mov r8d, esi
call fcn.14004e997
mov r8, qword [rsp + 0xc8]
lea eax, [r8 + rbp*2]
lea rcx, [0x1402b2a20]
movzx edx, byte [rax + rcx]
add r12d, r8d
mov dword [rsp + 0x28], r12d
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x20], eax
mov rcx, r14
mov r8d, dword [rsp + 0x38]
mov r9d, dword [rsp + 0x68]
call fcn.14005b8ba
mov r10, qword [rsp + 0x1c0]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x28]
bt eax, 0x12
jae 0x14006ade4
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x77
mov r8d, dword [rsp + 0x38]
mov r9d, 1
call fcn.14004e997
mov r10, qword [rsp + 0x1c0]
mov rax, qword [rsp + 0x48]
mov eax, dword [rax + 0x28]
test al, 0x40
je 0x14006adf5
mov sil, 1
test byte [rbx + 0x40], 0x20
je 0x14006af6a
mov rax, qword [rsp + 0x80]
mov rax, qword [rax + 0x18]
test byte [rax + 0x40], 0x20
jne 0x14006ae64
movzx eax, word [rbx + 0x40]
bt eax, 0xa
jb 0x14006ae1d
bt eax, 0xc
jae 0x14006ae8e
cmp byte [rbx + 0x45], 1
jne 0x14006ae8e
mov edi, dword [r15 + 0x38]
inc edi
mov dword [r15 + 0x38], edi
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x87
mov r8d, dword [rsp + 0x38]
mov r9d, edi
call fcn.14004e997
mov dword [rsp + 0x20], edi
xor esi, esi
mov rcx, r14
mov edx, 0x1f
mov r8d, dword [rsp + 0x34]
xor r9d, r9d
call fcn.14004e997
jmp 0x14006af62
mov ecx, dword [rsp + 0x38]
cmp dword [rsp + 0x34], ecx
je 0x14006aeb0
mov r12, r15
mov rsi, qword [rax + 0x10]
xor r15d, r15d
test rsi, rsi
je 0x14006aeb7
mov eax, dword [rsi + 0x64]
and eax, 3
cmp eax, 2
je 0x14006aeb9
mov rsi, qword [rsi + 0x28]
jmp 0x14006ae78
mov rcx, rbx
mov rdx, qword [rsp + 0x80]
mov r8d, dword [rsp + 0x34]
mov r9d, dword [rsp + 0x38]
call fcn.14006bc21
mov r10, qword [rsp + 0x1c0]
xor esi, esi
jmp 0x14006af6a
xor esi, esi
movzx edx, word [rsi + 0x5e]
mov rcx, r12
call fcn.1400599e5
mov edi, eax
cmp word [rsi + 0x5e], 0
je 0x14006af3d
mov r13, r14
xor r14d, r14d
mov r8, qword [rsp + 0x80]
movzx ecx, word [r8 + 0x60]
mov eax, 0xffffffff
test rcx, rcx
je 0x14006af0f
mov rdx, qword [rsi + 8]
movzx edx, word [rdx + r14*2]
mov r9, qword [r8 + 8]
xor r8d, r8d
cmp word [r9 + r8*2], dx
je 0x14006af0c
inc r8
cmp rcx, r8
jne 0x14006aefb
jmp 0x14006af0f
mov eax, r8d
movsx r9d, ax
lea eax, [rdi + r14]
mov dword [rsp + 0x20], eax
mov rcx, r13
mov edx, 0x5a
mov r8d, dword [rsp + 0x38]
call fcn.14004e997
inc r14
movzx r15d, word [rsi + 0x5e]
cmp r14, r15
jb 0x14006aed4
mov r14, r13
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], edi
mov rcx, r14
mov edx, 0x1c
mov r8d, dword [rsp + 0x34]
mov r9d, dword [rsp + 0x8c]
call fcn.14005b8ba
xor esi, esi
mov r10, qword [rsp + 0x1c0]
cmp dword [r10], 0
jne 0x14006af97
test byte [rbx + 0x40], 0x20
jne 0x14006af97
mov rcx, qword [rsp + 0x80]
mov edx, dword [rsp + 0x34]
mov r8d, dword [rsp + 0x38]
mov r9, rbx
call fcn.14006bce9
mov r10, qword [rsp + 0x1c0]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rax + 0x48]
test rcx, rcx
je 0x14006afc1
mov edx, dword [rsp + 0x34]
mov r8, qword [rsp + 0xf0]
call fcn.14006bdb1
mov r10, qword [rsp + 0x1c0]
mov rax, qword [rsp + 0x48]
test byte [rax + 0x29], 0x10
jne 0x14006afd7
test ebp, ebp
jne 0x14006afde
mov byte [r10 + 0x2d], 5
jmp 0x14006afe3
mov byte [r10 + 0x2d], 0xaa
jmp 0x14006afe3
mov byte [r10 + 0x2d], 4
mov r13, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x50]
mov eax, dword [rsp + 0x38]
mov dword [r10 + 0x30], eax
mov rcx, qword [rsp + 0x48]
mov al, byte [rcx + 0x2a]
and al, 1
mov byte [r10 + 0x2e], al
test byte [rcx + 0x28], 0xf
jne 0x14006b00e
mov byte [r10 + 0x2f], 1
xor eax, eax
test sil, sil
mov rsi, qword [rsp + 0x80]
cmovne rsi, rax
jmp 0x140069d41
cmp edx, 0xfffe
jne 0x14006a17e
mov r9b, 1
jmp 0x14006a181
xor eax, eax
mov r12d, r13d
mov rsi, qword [rsp + 0x70]
jmp 0x14006a9f7