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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1d8
mov eax, dword [rsp + 0x250]
mov rbx, qword [rcx + 0x10]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
mov r12, rcx
mov r13, r8
mov qword [rsp + 0x228], rdx
lea rdx, [rsp + 0x128]
mov r14, r9
mov word [rsp + 0x68], ax
mov rax, qword [rcx]
mov rdi, rdx
mov ecx, 0xe
mov qword [rsp + 0x48], rax
xor eax, eax
rep stosd dword [rdi], eax
test r9, r9
je 0x1401f19f6
cmp dword [r9], 0x3f
jle 0x1401f19f6
xor r14d, r14d
mov rax, qword [rsp + 0x228]
mov eax, dword [rax]
mov dword [rsp + 0x6c], eax
cmp eax, 0x40
jle 0x1401f1a23
mov r8d, 0x40
lea rdx, str.at_most__d_tables_in_a_join
mov rcx, r12
call fcn.1401bbc30
jmp 0x1401f4695
test byte [rsp + 0x60], 0x20
mov eax, 1
cmove eax, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x48]
mov dword [rsp + 0x6c], eax
dec eax
imul eax, eax, 0x70
add eax, 0x3d0
movsxd rsi, eax
lea rdx, [rsi + 0x70]
call fcn.1401b9580
mov r15, rax
mov rax, qword [rsp + 0x48]
mov al, byte [rax + 0x67]
mov byte [rsp + 0x58], al
test al, al
je 0x1401f1a76
mov rcx, qword [rsp + 0x48]
mov rdx, r15
call fcn.1401b9490
jmp 0x1401f4695
mov rax, qword [rsp + 0x228]
mov qword [r15], r12
lea rdx, [r15 + 0x41]
mov ecx, 0x2f
mov qword [r15 + 0x10], r14
mov rdi, rdx
mov r8d, 0x2c
mov qword [r15 + 8], rax
mov rax, qword [rsp + 0x240]
mov qword [r15 + 0x28], 0xffffffffffffffff
mov qword [r15 + 0x18], rax
mov al, byte [rsp + 0x6c]
mov byte [r15 + 0x40], al
mov eax, dword [r12 + 0x44]
dec eax
mov dword [r12 + 0x44], eax
mov dword [r15 + 0x30], eax
mov dword [r15 + 0x34], eax
mov eax, dword [rsp + 0x60]
mov word [r15 + 0x3c], ax
mov eax, dword [rsp + 0x258]
mov word [r15 + 0x3e], ax
mov eax, dword [r12 + 0xd0]
mov dword [r15 + 0x38], eax
mov rax, qword [rsp + 0x248]
mov qword [r15 + 0x20], rax
mov al, byte [rsp + 0x58]
rep stosb byte [rdi], al
lea rax, [r15 + 0x360]
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x6c]
mov rdi, qword [rsp + 0x50]
lea ecx, [rax + 1]
mov al, byte [rsp + 0x58]
movsxd rcx, ecx
imul rcx, rcx, 0x70
rep stosb byte [rdi], al
mov eax, 0xffffff9d
mov qword [rsp + 0x128], r15
shl rax, 0x20
mov qword [r15 + 0x25c], rax
lea rax, [r15 + 0x70]
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0x130], rax
lea rax, [r15 + rsi]
lea rdx, [rax + 0x58]
mov qword [rsp + 0x138], rax
mov rcx, qword [rsp + 0xb0]
mov qword [rax + 0x48], rdx
mov rdx, r13
mov word [rax + 0x3c], 0
mov word [rax + 0x40], 3
mov dword [rax + 0x38], 0
lea rax, [r15 + 0x98]
mov qword [r15 + 0x70], r15
mov byte [r15 + 0x81], 0
mov qword [r15 + 0x78], 0
mov dword [r15 + 0x84], 0
mov qword [r15 + 0x88], 8
mov qword [r15 + 0x90], rax
call fcn.1401f5ab0
cmp dword [rsp + 0x6c], 0
jne 0x1401f1bff
test r14, r14
je 0x1401f1bd1
mov eax, dword [r14]
mov byte [r15 + 0x41], al
bt dword [rsp + 0x60], 8
jae 0x1401f1be9
mov rax, qword [rsp + 0x48]
test byte [rax + 0x60], 0x10
jne 0x1401f1be9
mov byte [r15 + 0x43], 1
lea r8, str.SCAN_CONSTANT_ROW
xor edx, edx
mov rcx, r12
call fcn.1401ed440
jmp 0x1401f1cbb
mov rax, qword [rsp + 0x228]
mov dword [rsp + 0x70], 0
lea rsi, [rax + 0x28]
movsxd rax, dword [r15 + 0x25c]
mov edx, dword [rsi + 0x24]
mov rdi, qword [rsp + 0x228]
lea ecx, [rax + 1]
mov dword [r15 + 0x25c], ecx
mov dword [r15 + rax*4 + 0x260], edx
movsxd rax, dword [rsp + 0x70]
imul rax, rax, 0x68
test byte [rdi + rax + 0x48], 4
je 0x1401f1c9f
mov r13, qword [rsi + 0x38]
test r13, r13
je 0x1401f1c9f
mov r10, qword [rsi]
xor ebp, ebp
xor r11d, r11d
mov r9d, ebp
cmp dword [r13], ebp
jle 0x1401f1c9f
movsxd rax, r11d
movsx edx, word [r10 + 0x36]
imul rax, rax, 0x18
cmp r11d, edx
jge 0x1401f1c8d
mov rcx, qword [r10 + 8]
mov cx, word [rcx + rax + 0x12]
add rax, 0x18
and cl, 2
jne 0x1401f4976
inc r11d
jmp 0x1401f1c6d
mov r8, qword [r10]
lea rdx, str.too_many_arguments_on__s_____max__d
mov rcx, r12
call fcn.1401bbc30
mov rax, qword [rsp + 0x228]
inc dword [rsp + 0x70]
add rsi, 0x68
mov edi, dword [rsp + 0x70]
cmp dword [rax], edi
jg 0x1401f1c13
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x228]
call fcn.1401f5530
cmp qword [rsp + 0x248], 0
je 0x1401f1cfa
mov rax, qword [rsp + 0x248]
cmp qword [rax + 0x60], 0
je 0x1401f1cfa
mov rcx, qword [rsp + 0xb0]
mov rdx, rax
call fcn.1401f1890
cmp dword [r12 + 0x30], 0
jne 0x1401f467c
lea rax, [rsp + 0x160]
xor esi, esi
lea r13, [0x1401728e0]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x130]
cmp dword [rax + 0x1c], esi
jle 0x1401f1db8
imul rdx, rsi, 0x38
add rdx, qword [rax + 0x20]
mov rbp, rdx
test byte [rdx + 0x12], 2
jne 0x1401f1db0
cmp qword [rdx + 0x30], 0
jne 0x1401f1db0
cmp dword [rsp + 0x6c], 0
jne 0x1401f1d69
mov r8d, dword [r15 + 0x34]
mov rdx, qword [rbp]
mov r9d, 0x10
mov rcx, r12
call fcn.1401bebd0
or word [rbp + 0x12], 4
jmp 0x1401f1db0
mov rdi, qword [rsp + 0x70]
xor eax, eax
mov ecx, 0xc
mov rdx, qword [rdx]
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x70]
lea rax, [0x1401e1020]
mov word [rsp + 0x184], 1
mov qword [rsp + 0x168], r13
mov qword [rsp + 0x170], rax
call fcn.1401f1680
cmp word [rsp + 0x184], 0
jne 0x1401f1d4c
inc rsi
jmp 0x1401f1d1c
bt dword [rsp + 0x60], 8
jae 0x1401f1fa6
mov rax, qword [rsp + 0x48]
test byte [rax + 0x60], 0x10
je 0x1401f1de7
mov eax, dword [rsp + 0x60]
and word [r15 + 0x3c], 0xfeff
and ah, 0xfe
mov word [rsp + 0x68], ax
jmp 0x1401f1fa6
mov rax, qword [rsp + 0x228]
cmp dword [rax], 1
je 0x1401f1e15
test r14, r14
jne 0x1401f1fa6
mov rax, qword [rsp + 0x240]
or word [r15 + 0x3c], 0x80
mov qword [r15 + 0x10], rax
jmp 0x1401f1fa6
mov rax, qword [rsp + 0x228]
xor r8d, r8d
mov edi, dword [rax + 0x4c]
mov r10, qword [rax + 0x28]
mov rax, qword [rsp + 0x240]
mov r9d, dword [rax]
cmp r9d, r8d
jle 0x1401f1e75
mov rsi, qword [rsp + 0x240]
mov rax, r8
shl rax, 5
mov rcx, qword [rsi + rax + 8]
call fcn.1401bfba0
test rax, rax
je 0x1401f1e70
mov sil, byte [rax]
lea edx, [rsi + 0x59]
and dl, 0xfd
jne 0x1401f1e70
cmp edi, dword [rax + 0x2c]
jne 0x1401f1e70
cmp word [rax + 0x30], 0
js 0x1401f1fa1
inc r8
jmp 0x1401f1e32
mov r13, qword [r10 + 0x10]
test r13, r13
je 0x1401f1df4
cmp byte [r13 + 0x62], 0
jne 0x1401f1e8f
mov r13, qword [r13 + 0x28]
jmp 0x1401f1e79
xor ebp, ebp
cmp qword [r13 + 0x48], 0
jne 0x1401f1e89
movzx eax, word [r13 + 0x5e]
mov dword [rsp + 0x70], ebp
cmp eax, ebp
jle 0x1401f1f92
mov qword [rsp + 0x28], r13
or r9, 0xffffffffffffffff
mov r8d, ebp
mov edx, edi
mov dword [rsp + 0x20], 2
mov rcx, qword [rsp + 0xb0]
call fcn.1401f56e0
test rax, rax
je 0x1401f1ed6
inc rbp
jmp 0x1401f1e98
mov rax, qword [r13 + 0x40]
xor esi, esi
mov rax, qword [rax + rbp*8]
mov qword [rsp + 0x78], rax
lea rax, [rbp + rbp]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x240]
cmp dword [rax], esi
jle 0x1401f1f92
mov rcx, qword [rsp + 0x240]
mov rax, rsi
shl rax, 5
mov r8, qword [rcx + rax + 8]
mov rcx, r8
call fcn.1401bfba0
test rax, rax
jne 0x1401f1f25
inc rsi
jmp 0x1401f1eef
mov cl, byte [rax]
lea edx, [rcx + 0x59]
and dl, 0xfd
jne 0x1401f1f20
mov rdx, qword [r13 + 8]
mov rcx, qword [rsp + 0x60]
mov cx, word [rdx + rcx]
cmp word [rax + 0x30], cx
jne 0x1401f1f20
cmp edi, dword [rax + 0x2c]
jne 0x1401f1f20
mov rdx, r8
mov rcx, r12
call fcn.1401bf920
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rax]
call fcn.1401e2200
test eax, eax
jne 0x1401f1f20
mov rax, qword [r13 + 8]
mov rsi, qword [rsp + 0x60]
movsx rax, word [rax + rsi]
movsx edx, ax
test edx, edx
js 0x1401f4969
mov rdx, qword [r13 + 0x18]
imul rax, rax, 0x18
add rax, qword [rdx + 8]
test byte [rax + 8], 0xf
jne 0x1401f1ed1
movzx eax, word [r13 + 0x5e]
cmp dword [rsp + 0x70], eax
jne 0x1401f1e89
mov byte [r15 + 0x43], 1
cmp dword [rsp + 0x6c], 1
jne 0x1401f2128
mov rdi, qword [rsp + 0x128]
test byte [rdi + 0x3c], 0x20
jne 0x1401f2128
mov r13, qword [rdi + 8]
mov rsi, qword [r13 + 0x28]
cmp byte [rsi + 0x3f], 1
je 0x1401f2128
test byte [r13 + 0x48], 3
jne 0x1401f2128
mov rbp, qword [rsp + 0x138]
mov eax, dword [r13 + 0x4c]
lea r14, [rsp + 0x160]
or r9d, 0xffffffff
mov rcx, r14
mov dword [rbp + 0x38], 0
mov word [rbp + 0x3e], 0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x82
mov dword [rsp + 0x60], eax
lea rax, [rdi + 0x70]
mov r8d, dword [rsp + 0x60]
mov rdx, rax
mov qword [rsp + 0x70], rax
call fcn.14020d4c0
test rax, rax
je 0x1401f489c
cmp qword [rax + 0x28], 0
je 0x1401f4944
mov rcx, r14
call fcn.14020d5c0
jmp 0x1401f2033
mov rsi, qword [rsi + 0x28]
test rsi, rsi
je 0x1401f211d
cmp byte [rsi + 0x62], 0
je 0x1401f2051
cmp qword [rsi + 0x48], 0
jne 0x1401f2051
cmp word [rsi + 0x5e], 3
ja 0x1401f2051
mov al, byte [rsi + 0x64]
and eax, 8
cmp al, 1
sbb r11d, r11d
xor r14d, r14d
and r11d, 0xffffff80
add r11d, 0x82
movzx eax, word [rsi + 0x5e]
mov dword [rsp + 0x80], r14d
cmp eax, r14d
jle 0x1401f20d6
mov qword [rsp + 0x28], rsi
mov r8d, dword [rsp + 0x60]
mov r9d, r14d
mov rdx, qword [rsp + 0x70]
mov dword [rsp + 0x20], r11d
mov rcx, qword [rsp + 0x78]
mov dword [rsp + 0x88], r11d
call fcn.14020d4c0
mov r11d, dword [rsp + 0x88]
test rax, rax
jne 0x1401f48b2
movzx eax, word [rsi + 0x5e]
cmp dword [rsp + 0x80], eax
jne 0x1401f2051
mov dword [rbp + 0x38], 0x1201
test byte [rsi + 0x64], 0x20
jne 0x1401f48d0
mov rax, qword [r13 + 0x58]
and rax, qword [rsi + 0x90]
je 0x1401f48d0
mov word [rbp + 0x3c], r14w
mov word [rbp + 0x18], r14w
mov qword [rbp + 0x20], rsi
mov word [rbp + 0x14], 0x27
mov eax, dword [rbp + 0x38]
test eax, eax
jne 0x1401f48dc
lea r13, [rsp + 0x128]
mov rcx, r13
call fcn.1402092f0
test eax, eax
jne 0x1401f467c
test byte [rsp + 0x155], 4
jne 0x1401f2164
xor edx, edx
mov rcx, r15
call fcn.14020ccb0
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x67], 0
je 0x1401f21a2
jmp 0x1401f467c
mov r14, qword [r15 + 0x58]
test r14, r14
je 0x1401f2191
mov rax, qword [r14 + 0x50]
mov rcx, qword [rsp + 0x48]
mov rdx, r14
mov qword [r15 + 0x58], rax
call fcn.14020bd10
mov rcx, qword [rsp + 0x48]
mov rdx, r14
call fcn.1401b96a0
jmp 0x1401f2164
mov rcx, r13
call fcn.1402092f0
test eax, eax
je 0x1401f214a
jmp 0x1401f467c
cmp qword [r15 + 0x10], 0
jne 0x1401f21be
mov rax, qword [rsp + 0x48]
test byte [rax + 0x31], 0x10
je 0x1401f21e6
mov qword [r15 + 0x68], 0xffffffffffffffff
jmp 0x1401f21e6
mov eax, dword [r15 + 0x48]
mov rcx, r15
lea edx, [rax + 1]
movsx edx, dx
call fcn.14020ccb0
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x67], 0
jne 0x1401f467c
cmp qword [r15 + 0x10], 0
je 0x1401f21a9
mov eax, dword [r12 + 0x30]
mov dword [rsp + 0xa0], eax
test eax, eax
jne 0x1401f467c
cmp byte [r15 + 0x40], 1
jbe 0x1401f2247
cmp qword [rsp + 0x240], 0
je 0x1401f2247
mov qword [rsp + 0x98], 0xffffffffffffffff
test word [rsp + 0x68], 0x400
jne 0x1401f2253
mov rax, qword [rsp + 0x48]
test byte [rax + 0x61], 1
jne 0x1401f2253
mov rcx, r15
call fcn.14020c310
mov qword [rsp + 0x98], rax
movzx eax, byte [r15 + 0x40]
mov dword [rsp + 0x6c], eax
jmp 0x1401f2253
mov qword [rsp + 0x98], 0xffffffffffffffff
cmp byte [r15 + 0x40], 1
jbe 0x1401f226d
mov rax, qword [rsp + 0x48]
test byte [rax + 0x62], 8
jne 0x1401f226d
mov rcx, r15
call fcn.140208cc0
mov rax, qword [r15]
movsx edx, word [r15 + 0x48]
add dword [rax + 0xd0], edx
movzx eax, word [rsp + 0x68]
mov dword [rsp + 0x100], eax
test byte [rsp + 0x68], 4
je 0x1401f2300
mov rcx, qword [r15 + 0x3c0]
mov eax, dword [rcx + 0x38]
bt eax, 0xc
jb 0x1401f22c6
test byte [rsp + 0x68], 8
je 0x1401f2300
mov rdi, qword [rsp + 0x228]
mov rdx, qword [rdi + 0x28]
cmp byte [rdx + 0x3f], 1
je 0x1401f2300
bt eax, 0xd
jae 0x1401f22ca
test byte [rsp + 0x68], 0x10
je 0x1401f2300
jmp 0x1401f22ca
mov dl, 1
jmp 0x1401f22cc
mov dl, 2
mov rdi, qword [rsp + 0x228]
mov byte [r15 + 0x42], dl
mov rdx, qword [rdi + 0x28]
test byte [rdx + 0x30], 0x80
jne 0x1401f2300
test al, 0x40
je 0x1401f2300
mov dil, byte [rsp + 0x58]
test byte [rsp + 0x68], 8
mov dl, 8
cmovne edi, edx
and eax, 0xffffffbf
mov dword [rcx + 0x38], eax
mov byte [rsp + 0x58], dil
movzx eax, byte [rsp + 0x58]
mov dword [rsp + 0x60], 0
mov dword [rsp + 0x58], eax
mov edi, dword [rsp + 0x60]
cmp dword [rsp + 0x6c], edi
jle 0x1401f273e
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x48]
movzx edi, byte [rax + 0x40]
movzx r10d, dil
mov r14, rdi
imul r10, r10, 0x68
add r10, qword [rsp + 0x228]
mov rsi, qword [r10 + 0x28]
mov rdx, qword [rsi + 0x60]
call fcn.1401dd640
mov r13d, eax
mov rax, qword [rsp + 0x50]
mov rbp, qword [rax + 0x60]
test byte [rsi + 0x31], 0x40
jne 0x1401f2498
mov dl, byte [rsi + 0x3f]
cmp dl, 2
je 0x1401f2498
mov eax, dword [rbp + 0x38]
bt eax, 0xa
jae 0x1401f23b4
mov rdx, qword [rsi + 0x50]
mov rcx, qword [rsp + 0x48]
xor r9d, r9d
call fcn.1401cbef0
mov dword [rsp + 0x30], 0xfffffff5
mov edx, 0xad
mov rcx, rbx
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
mov r8d, dword [r10 + 0x4c]
call fcn.1401e5780
jmp 0x1401f2498
dec dl
je 0x1401f2498
test al, 0x40
jne 0x1401f23c7
test byte [rsp + 0x68], 0x20
je 0x1401f23e1
movsxd rax, edi
mov rcx, qword [rsp + 0x228]
imul rax, rax, 0x68
test byte [rcx + rax + 0x44], 0x50
je 0x1401f247e
movsxd rax, edi
mov rcx, qword [rsp + 0x228]
imul rax, rax, 0x68
cmp byte [r15 + 0x42], 0
mov edx, dword [rcx + rax + 0x4c]
mov eax, 0x70
je 0x1401f2409
mov dword [r15 + 0x28], edx
mov eax, 0x71
mov dword [rsp + 0x20], eax
mov r9, rsi
mov r8d, r13d
mov rcx, r12
call fcn.1401d07c0
cmp byte [r15 + 0x42], 0
jne 0x1401f2470
cmp word [rsi + 0x36], 0x3f
jg 0x1401f2470
test byte [rsi + 0x30], 0xe0
jne 0x1401f2470
test dword [rbp + 0x38], 0x404000
jne 0x1401f2470
movsxd rax, edi
mov rcx, qword [rsp + 0x228]
xor r8d, r8d
imul rax, rax, 0x68
mov rax, qword [rcx + rax + 0x58]
test rax, rax
je 0x1401f245c
shr rax, 1
inc r8d
jmp 0x1401f244f
mov r9d, 0xfffffffd
movsxd r8, r8d
or edx, 0xffffffff
mov rcx, rbx
call fcn.1401e5a90
mov edx, dword [rsp + 0x58]
mov rcx, rbx
call fcn.1401e5b00
jmp 0x1401f2498
mov rax, qword [rsi]
mov r8d, dword [rsi + 0x28]
xor r9d, r9d
mov edx, r13d
mov rcx, r12
mov qword [rsp + 0x20], rax
call fcn.1401e2750
test byte [rbp + 0x39], 2
je 0x1401f25ff
mov r10, qword [rbp + 0x20]
test byte [rsi + 0x30], 0x80
je 0x1401f24cf
mov al, byte [r10 + 0x64]
and eax, 3
cmp al, 2
jne 0x1401f24cf
test byte [rsp + 0x68], 0x20
je 0x1401f24cf
mov rax, qword [rsp + 0x50]
xor r11d, r11d
mov r8d, dword [rax + 4]
jmp 0x1401f259f
cmp byte [r15 + 0x42], 0
je 0x1401f2518
movsxd rax, edi
mov rcx, qword [rsp + 0x228]
mov r8d, dword [rsp + 0x258]
imul rax, rax, 0x68
mov rax, qword [rcx + rax + 0x28]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x1401f2509
cmp rax, r10
je 0x1401f2509
mov rax, qword [rax + 0x28]
inc r8d
jmp 0x1401f24f6
mov dword [r15 + 0x2c], r8d
mov r11d, 0x71
jmp 0x1401f259f
cmp dword [rsp + 0x258], 0
je 0x1401f2529
test byte [rsp + 0x68], 0x20
jne 0x1401f2591
mov r8d, dword [r12 + 0x34]
mov r11d, 0x70
lea eax, [r8 + 1]
mov dword [r12 + 0x34], eax
test byte [r10 + 0x65], 8
je 0x1401f259f
mov rax, qword [rsp + 0x48]
test byte [rax + 0x63], 1
jne 0x1401f259f
imul r14, r14, 0x68
mov rdx, r10
mov rcx, r12
mov dword [rsp + 0x78], r8d
mov rax, qword [rsp + 0x228]
mov dword [rsp + 0x80], r11d
mov qword [rsp + 0x70], r10
lea r9, [rax + r14 + 8]
call fcn.140208a40
mov r10, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x78]
mov r11d, dword [rsp + 0x80]
jmp 0x1401f259f
mov r8d, dword [rsp + 0x258]
mov r11d, 0x65
mov rax, qword [rsp + 0x50]
mov dword [rax + 8], r8d
test r11d, r11d
je 0x1401f25ff
mov r9d, dword [r10 + 0x58]
mov dword [rsp + 0x20], r13d
mov edx, r11d
mov rcx, rbx
mov qword [rsp + 0x70], r10
call fcn.1401e5720
mov r10, qword [rsp + 0x70]
mov rcx, r12
mov rdx, r10
call fcn.1401efee0
mov eax, dword [rbp + 0x38]
test al, 0xf
je 0x1401f25ff
test eax, 0x188002
jne 0x1401f25ff
test byte [r15 + 0x3c], 1
jne 0x1401f25ff
cmp byte [r15 + 0x43], 2
je 0x1401f25ff
mov edx, 2
mov rcx, rbx
call fcn.1401e5b00
test r13d, r13d
js 0x1401f260f
mov edx, r13d
mov rcx, r12
call fcn.1401b72c0
movsxd rdi, edi
mov rax, qword [rsp + 0x228]
imul rdi, rdi, 0x68
test byte [rax + rdi + 0x44], 0x10
je 0x1401f272f
mov edx, 0x14
mov rcx, r15
call fcn.1401f5790
mov rdi, rax
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x38], rdi
test rdi, rdi
je 0x1401f272f
mov eax, dword [r12 + 0x34]
mov r8d, 0x10000
mov rcx, rbx
lea edx, [rax + 1]
mov dword [r12 + 0x34], edx
mov edx, 0x4d
mov dword [rdi], eax
mov eax, dword [r12 + 0x38]
lea r9d, [rax + 1]
mov dword [r12 + 0x38], r9d
mov dword [rdi + 4], r9d
call fcn.1401e5700
mov eax, dword [r12 + 0x38]
xor r8d, r8d
mov rcx, rbx
mov edx, 0x4b
lea r9d, [rax + 1]
mov dword [r12 + 0x38], r9d
mov dword [rdi + 8], r9d
call fcn.1401e5700
test byte [rsi + 0x30], 0x80
jne 0x1401f26f5
mov r8d, dword [rdi]
mov r9d, 1
mov edx, 0x76
mov rcx, rbx
call fcn.1401e5700
mov rcx, qword [r12]
mov edx, 1
xor r8d, r8d
call fcn.1401cf3b0
mov rdx, rax
test rax, rax
je 0x1401f2721
mov qword [rax + 0x20], 0
mov rax, qword [rax + 0x18]
mov r8d, 0xfffffff8
mov rcx, rbx
mov byte [rax], 0
call fcn.1401e59f0
jmp 0x1401f2721
mov rcx, qword [rsi + 0x10]
call fcn.1401db8d0
mov r8d, dword [rdi]
mov edx, 0x76
mov rcx, rbx
movzx r9d, word [rax + 0x5e]
mov r13, rax
call fcn.1401e5700
mov rdx, r13
mov rcx, r12
call fcn.1401efee0
and dword [rbp + 0x38], 0xffffffbf
mov byte [r15 + 0x41], 0
mov byte [r15 + 0x43], 3
inc dword [rsp + 0x60]
add qword [rsp + 0x50], 0x70
jmp 0x1401f2311
mov eax, dword [rbx + 0x90]
mov dword [r15 + 0x4c], eax
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x67], 0
jne 0x1401f467c
lea rax, [r15 + 0x258]
lea rbp, [r15 + 0x360]
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0xe8], rax
mov edi, dword [rsp + 0xa0]
cmp dword [rsp + 0x6c], edi
jle 0x1401f466d
cmp dword [r12 + 0x30], 0
jne 0x1401f467c
movzx esi, byte [rbp + 0x40]
mov rax, qword [rbp + 0x60]
imul rsi, rsi, 0x68
add rsi, qword [rsp + 0x228]
mov edi, dword [rax + 0x38]
mov al, byte [rsi + 0x48]
test al, 0x10
je 0x1401f27ff
test al, 8
je 0x1401f27cf
mov r9d, dword [rsi + 0x38]
mov r8d, dword [rsi + 0x3c]
mov edx, 0xa
mov rcx, rbx
call fcn.1401e5700
jmp 0x1401f27ff
mov edx, 0xf
mov rcx, rbx
call fcn.1401e56c0
mov r9d, dword [rsi + 0x38]
mov r8d, dword [rsi + 0x3c]
mov rcx, rbx
mov r13d, eax
mov edx, 0xa
call fcn.1401e5700
mov edx, r13d
mov rcx, rbx
call fcn.1401ee1f0
test edi, 0x404000
jne 0x1401f2840
mov rax, qword [r12 + 0xa8]
test rax, rax
cmove rax, r12
cmp byte [rax + 0x133], 2
jne 0x1401f28a8
mov r9d, dword [rsp + 0x100]
mov rdx, qword [rsp + 0x228]
mov r8, rbp
mov rcx, r12
call fcn.1401f51c0
jmp 0x1401f28a8
bt edi, 0xe
jae 0x1401f287a
movzx eax, byte [rbp + 0x40]
mov qword [rsp + 0x20], rbp
mov rcx, r12
mov rdi, qword [rsp + 0x228]
mov r9, qword [rsp + 0x98]
imul rax, rax, 0x68
mov rdx, qword [rsp + 0xb0]
lea r8, [rdi + rax + 8]
call fcn.14016e010
jmp 0x1401f2894
mov r9, qword [rsp + 0x98]
mov edx, dword [rsp + 0xa0]
mov r8, rbp
mov rcx, r15
call fcn.1401b7c90
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x67], 0
je 0x1401f2807
jmp 0x1401f467c
mov eax, dword [rbx + 0x90]
mov rcx, qword [rsp + 0xe8]
mov r14, qword [rbp + 0x60]
mov dword [rbp + 0x20], eax
mov rax, qword [r12]
mov qword [rsp + 0x50], rax
mov rax, qword [r15 + 8]
mov qword [rsp + 0xb8], rax
movzx eax, byte [rbp + 0x40]
movzx r10d, al
mov dword [rsp + 0xcc], eax
mov rsi, rax
imul r10, r10, 0x68
add r10, qword [rsp + 0xb8]
mov eax, dword [r10 + 0x4c]
mov edx, eax
mov dword [rsp + 0x68], eax
call fcn.1401f5760
not rax
and rax, qword [rsp + 0x98]
mov qword [rbp + 0x68], rax
mov eax, dword [r12 + 0x44]
mov r13, qword [r15 + 0x68]
lea edi, [rax - 1]
sub eax, 2
mov dword [rbp + 0x10], edi
mov dword [rbp + 0xc], edi
mov dword [rsp + 0xc8], eax
mov dword [r12 + 0x44], eax
mov dword [rbp + 0x18], eax
test sil, sil
je 0x1401f2960
test byte [r10 + 0x44], 8
je 0x1401f2960
mov eax, dword [r12 + 0x38]
xor r8d, r8d
mov edx, 0x47
mov rcx, rbx
lea r9d, [rax + 1]
mov dword [r12 + 0x38], r9d
mov dword [rbp], r9d
call fcn.1401e5700
mov rax, qword [rsp + 0xf8]
movsxd rdx, eax
test eax, eax
je 0x1401f298e
imul rcx, rax, 0x70
cmp dword [r15 + rcx + 0x360], 0
jne 0x1401f298e
cmp qword [r15 + rcx + 0x398], 0
jne 0x1401f298e
dec rax
jmp 0x1401f2968
movsxd rax, dword [rsp + 0xcc]
imul rax, rax, 0x68
add rax, qword [rsp + 0xb8]
mov r8b, byte [rax + 0x48]
test r8b, 0x20
je 0x1401f29ed
mov r8d, dword [rax + 0x3c]
mov eax, dword [rax + 0x38]
xor r9d, r9d
mov edx, 0xb
mov rcx, rbx
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x50], r8d
call fcn.1401e5720
mov r8d, dword [rsp + 0x50]
mov r9d, edi
mov rcx, rbx
mov edx, 0xc
call fcn.1401e5700
mov byte [rbp + 0x41], 9
mov dword [rbp + 0x48], eax
jmp 0x1401f4151
mov cl, byte [rsp + 0xa0]
shr r13, cl
mov eax, r13d
and eax, 1
mov dword [rsp + 0x58], eax
mov eax, dword [r14 + 0x38]
bt eax, 0xa
jae 0x1401f2d46
movzx eax, word [r14 + 0x3c]
mov rcx, r12
xor edi, edi
lea edx, [rax + 2]
mov dword [rsp + 0x60], eax
call fcn.1401cb8e0
mov r13d, dword [rbp + 0xc]
mov esi, eax
lea eax, [rax + 2]
mov dword [rsp + 0x70], eax
mov ecx, edi
mov r9d, edi
cmp dword [rsp + 0x60], edi
jle 0x1401f2b4b
mov eax, dword [rsp + 0x70]
lea r11d, [rax + rdi]
mov rax, qword [r14 + 0x48]
mov r10, qword [rax + rdi*8]
test r10, r10
je 0x1401f2b43
test byte [r10 + 0x14], 1
je 0x1401f2afb
cmp ecx, 0x1f
jg 0x1401f2ada
mov eax, 1
shl eax, cl
and eax, dword [r14 + 0x30]
je 0x1401f2ada
mov r8d, dword [r12 + 0x34]
mov rdx, qword [r10]
mov rcx, r12
mov dword [rsp + 0x88], r11d
lea eax, [r8 + 1]
mov dword [rsp + 0x78], r8d
mov dword [r12 + 0x34], eax
mov eax, dword [r12 + 0x38]
inc eax
mov dword [r12 + 0x38], eax
mov dword [rsp + 0x80], eax
call fcn.1401b6a00
mov eax, dword [rsp + 0x80]
mov r8d, dword [rsp + 0x78]
mov rcx, rbx
mov r11d, dword [rsp + 0x88]
mov edx, 0xae
mov dword [rsp + 0x20], eax
mov r9d, r11d
call fcn.1401e5720
jmp 0x1401f2b43
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x28], r11d
mov r8, rbp
mov rdx, r10
mov rcx, r12
mov dword [rsp + 0x20], eax
call fcn.14016c340
mov r13d, dword [rbp + 0x10]
jmp 0x1401f2b43
mov rax, qword [r10]
mov r9d, 1
mov r8d, r11d
mov rcx, r12
mov qword [rsp + 0x78], r10
mov rdx, qword [rax + 0x18]
call fcn.14016c9a0
mov r10, qword [rsp + 0x78]
cmp byte [r10 + 0x17], 0x4a
jne 0x1401f2b43
test byte [r14 + 0x1c], 2
je 0x1401f2b43
mov rax, qword [r15 + 0x20]
xor r8d, r8d
mov edx, 0x47
mov rcx, rbx
mov r9d, dword [rax + 0xc]
call fcn.1401e5700
inc rdi
jmp 0x1401f2a32
mov r8d, dword [r14 + 0x18]
mov r9d, esi
mov edx, 0x47
mov rcx, rbx
call fcn.1401e5700
mov r8d, dword [rsp + 0x60]
lea r9d, [rsi + 1]
mov rcx, rbx
mov edx, 0x47
call fcn.1401e5700
mov al, byte [r14 + 0x1c]
mov r9d, r13d
mov rcx, rbx
mov r8d, dword [rsp + 0x68]
mov edx, 6
and eax, 1
cmp al, 1
sbb eax, eax
or eax, 0xfffffffa
mov dword [rsp + 0x30], eax
mov rax, qword [r14 + 0x28]
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x28], rax
call fcn.1401e5780
mov rax, qword [rsp + 0x50]
and byte [r14 + 0x1c], 0xfe
cmp byte [rax + 0x67], 0
je 0x1401f2bc1
mov qword [r14 + 0x28], 0
mov eax, dword [rsp + 0x68]
mov dword [rbp + 0x44], eax
cmp byte [r15 + 0x42], 1
sbb eax, eax
add esi, 2
xor edi, edi
and eax, 0xffffff87
sub eax, 0x48
mov byte [rbp + 0x41], al
mov eax, dword [rbx + 0x90]
mov dword [rbp + 0x48], eax
mov ecx, edi
mov edx, edi
cmp dword [rsp + 0x60], edi
jle 0x1401f4151
mov rax, qword [r14 + 0x48]
mov r13, qword [rax + rdi*8]
cmp edi, 0xf
jg 0x1401f2c1c
movzx eax, word [r14 + 0x22]
sar eax, cl
test al, 1
je 0x1401f2c1c
mov rdx, r13
mov rcx, rbp
call fcn.14016fe60
jmp 0x1401f2d3c
test byte [r13 + 0x14], 1
je 0x1401f2d3c
cmp edx, 0x1f
jg 0x1401f2c3d
mov eax, 1
shl eax, cl
and eax, dword [r14 + 0x30]
jne 0x1401f2d3c
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x67], 0
jne 0x1401f2d3c
mov r9d, dword [rbp + 0x50]
xor r10d, r10d
cmp r9d, r10d
jle 0x1401f2ca0
imul rax, r10, 0x14
add rax, qword [rbp + 0x58]
mov rcx, rbx
mov edx, dword [rax + 4]
call fcn.1401ed7c0
movzx edx, byte [rax]
cmp dl, 0x5e
jne 0x1401f2c78
cmp dword [rax + 0xc], esi
jmp 0x1401f2c80
cmp dl, 0x87
jne 0x1401f2c9b
cmp dword [rax + 8], esi
jne 0x1401f2c9b
mov r9d, dword [rax + 8]
mov r8d, dword [rax + 4]
mov rcx, rbx
mov eax, dword [rax + 0xc]
mov dword [rsp + 0x20], eax
call fcn.1401e5720
jmp 0x1401f2ca0
inc r10
jmp 0x1401f2c53
xor r9d, r9d
xor r8d, r8d
mov edx, 0x35
mov rcx, r12
call fcn.1401d0c60
mov r10, rax
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x67], 0
jne 0x1401f2d2f
mov rdx, qword [r13]
mov eax, dword [r13 + 0x24]
mov rdx, qword [rdx + 0x10]
test eax, eax
jle 0x1401f2ce1
dec eax
cdqe
shl rax, 5
add rax, qword [rdx + 0x20]
mov rdx, qword [rax + 8]
mov qword [r10 + 0x10], rdx
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov edx, 0xb0
mov qword [rsp + 0x58], r10
call fcn.1401bbdb0
mov r10, qword [rsp + 0x58]
mov qword [r10 + 0x18], rax
test rax, rax
je 0x1401f2d27
mov dword [rax + 0x2c], esi
mov r8d, dword [rbp + 0x18]
mov rdx, r10
mov r9d, 0x10
mov rcx, r12
call fcn.1401bebd0
mov r10, qword [rsp + 0x58]
mov qword [r10 + 0x10], 0
mov rcx, qword [rsp + 0x50]
mov rdx, r10
call fcn.1401be960
inc rdi
inc esi
jmp 0x1401f2be6
bt eax, 8
jae 0x1401f2e17
test al, 5
je 0x1401f2e17
mov rax, qword [r14 + 0x48]
xor r9d, r9d
mov r8, rbp
mov rcx, r12
mov rdx, qword [rax]
mov eax, dword [r12 + 0x38]
lea r13d, [rax + 1]
mov eax, dword [rsp + 0x58]
mov dword [r12 + 0x38], r13d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], eax
call fcn.14016c340
mov esi, eax
cmp r13d, eax
je 0x1401f2d9a
mov edx, r13d
mov rcx, r12
call fcn.1401dbfb0
cmp dword [rbp + 0x34], 0
mov edi, dword [rbp + 0x10]
je 0x1401f2df9
mov r9d, edi
mov r8d, esi
mov edx, 0xd
mov rcx, rbx
call fcn.1401e5700
mov r8d, dword [rbp + 0x34]
mov dword [rsp + 0x20], esi
mov r9d, edi
mov dword [rsp + 0x28], 1
mov edx, 0x40
mov rcx, rbx
call fcn.1401e5830
mov r9d, edi
mov rdx, r15
mov rcx, r12
mov rax, qword [rsp + 0x98]
mov r8d, dword [rsp + 0xa0]
mov qword [rsp + 0x20], rax
call fcn.140173300
mov dword [rsp + 0x20], esi
mov r8d, dword [rsp + 0x68]
mov r9d, edi
mov rcx, rbx
mov edx, 0x1e
call fcn.1401e5720
jmp 0x1401f4113
imul rdx, rdx, 0x70
mov r9d, dword [r15 + rdx + 0x36c]
mov edx, eax
and edx, 0x102
cmp edx, 0x102
jne 0x1401f2e6d
test al, 0x20
je 0x1401f2e45
mov rdx, qword [r14 + 0x48]
mov r11, qword [rdx]
mov edx, 1
jmp 0x1401f2e4a
xor edx, edx
xor r11d, r11d
test al, 0x10
je 0x1401f469d
mov rax, qword [r14 + 0x48]
cmp dword [rsp + 0x58], 0
mov r10, qword [rax + rdx*8]
mov rsi, r10
jne 0x1401f476b
jmp 0x1401f46aa
bt eax, 9
jae 0x1401f3a03
mov edi, dword [r14 + 0x18]
mov r13, qword [r14 + 0x20]
mov word [rsp + 0xa4], di
mov di, word [r14 + 0x1a]
mov word [rsp + 0xd8], di
mov edi, dword [r14 + 0x1c]
mov word [rsp + 0xd0], di
mov edi, dword [rbp + 8]
mov dword [rsp + 0x80], edi
movzx edi, word [rsp + 0xa4]
test al, 0x20
je 0x1401f2ed8
movzx ecx, word [rsp + 0xa4]
mov r8, qword [r14 + 0x48]
lea edx, [rdi + 1]
mov rsi, qword [r8 + rcx*8]
mov qword [rsp + 0x70], rsi
movzx esi, word [rsp + 0xd8]
jmp 0x1401f2ee5
mov qword [rsp + 0x70], 0
xor esi, esi
mov edx, edi
test al, 0x10
je 0x1401f2fb8
mov rax, qword [r14 + 0x48]
movsxd rdx, edx
mov rax, qword [rax + rdx*8]
mov qword [rsp + 0x88], rax
movzx eax, word [rsp + 0xd0]
cmp esi, eax
cmovl esi, eax
mov rax, qword [rsp + 0x88]
test byte [rax + 0x13], 1
je 0x1401f2f71
mov eax, dword [r12 + 0x38]
mov edx, 0x47
mov rcx, rbx
mov r8d, 1
lea r9d, [rax + 1]
mov dword [r12 + 0x38], r9d
mov dword [rbp + 0x2c], r9d
call fcn.1401e5700
mov eax, dword [rbx + 0x90]
mov rcx, qword [r13 + 0x38]
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x2c]
lea edx, [rax + rax]
movzx eax, word [rsp + 0xa4]
mov dword [rbp + 0x2c], edx
cmp byte [rcx + rax], 1
sete al
movzx eax, al
xor eax, dword [rsp + 0x58]
or eax, edx
mov dword [rbp + 0x2c], eax
cmp qword [rsp + 0x70], 0
mov byte [rsp + 0x90], 0
jne 0x1401f2fcc
movzx eax, word [rsp + 0xa4]
mov rdx, qword [r13 + 8]
movsx rdx, word [rdx + rax*2]
mov rax, rdx
test edx, edx
js 0x1401f2fab
mov rdx, qword [r13 + 0x18]
imul rax, rax, 0x18
add rax, qword [rdx + 8]
test byte [rax + 8], 0xf
jmp 0x1401f2fae
cmp edx, 0xfffffffe
sete byte [rsp + 0x90]
jmp 0x1401f2fcc
mov byte [rsp + 0x90], 0
mov qword [rsp + 0x88], 0
mov eax, dword [r14 + 0x38]
mov dword [rsp + 0x60], 0
and eax, 0x80030
cmp eax, 0x80000
jne 0x1401f302c
mov eax, dword [r12 + 0x38]
inc eax
cmp dword [rbp], 0
mov dword [r12 + 0x38], eax
mov dword [rsp + 0x60], eax
mov dword [rbp + 0x24], eax
je 0x1401f3010
mov r9d, eax
xor r8d, r8d
mov edx, 0x47
mov rcx, rbx
call fcn.1401e5700
mov eax, dword [r12 + 0x44]
mov byte [rsp + 0x90], 1
mov esi, 1
dec eax
mov dword [r12 + 0x44], eax
mov dword [rbp + 0x28], eax
mov byte [rsp + 0xf4], 0
movzx eax, word [rsp + 0xa4]
cmp ax, word [r13 + 0x60]
jae 0x1401f30a6
mov rdx, qword [r13 + 0x38]
cmp byte [rdx + rax], 0
sete al
movzx eax, al
cmp dword [rsp + 0x58], eax
jne 0x1401f30a6
mov cl, byte [rsp + 0x90]
movzx eax, byte [rsp + 0xd8]
mov byte [rsp + 0x90], 0
mov rdx, qword [rsp + 0x70]
mov byte [rsp + 0xf4], cl
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x70], rcx
mov ecx, dword [rsp + 0xd0]
mov word [rsp + 0xd0], ax
mov word [rsp + 0xd8], cx
cmp dword [rsp + 0xa0], 0
je 0x1401f30cc
test byte [r14 + 0x3a], 0x10
je 0x1401f30cc
mov r8d, dword [rsp + 0x80]
mov edx, 0x88
mov rcx, rbx
call fcn.1401e56e0
mov r8d, dword [rsp + 0x58]
mov rdx, rbp
mov r9d, esi
mov rcx, r12
lea rax, [rsp + 0x160]
mov qword [rsp + 0x20], rax
call fcn.14016bc30
mov rdx, qword [rsp + 0x160]
mov dword [rsp + 0x78], eax
test rdx, rdx
je 0x1401f3127
cmp word [rsp + 0xd0], 0
je 0x1401f3127
movzx eax, word [rsp + 0xa4]
mov rcx, qword [rsp + 0x50]
add rdx, rax
call fcn.1401b9810
mov qword [rsp + 0xc0], rax
jmp 0x1401f3133
mov qword [rsp + 0xc0], 0
cmp dword [rsp + 0x60], 0
je 0x1401f313f
mov eax, dword [rbp + 0x28]
jmp 0x1401f3142
mov eax, dword [rbp + 0x10]
cmp qword [rsp + 0x70], 0
mov dword [rsp + 0xa8], eax
mov dword [rsp + 0xd4], 1
je 0x1401f3172
mov rax, qword [rsp + 0x70]
test byte [rax + 0x14], 0x28
setne al
movzx eax, al
mov dword [rsp + 0xd4], eax
cmp qword [rsp + 0x88], 0
mov dword [rsp + 0xe0], 1
je 0x1401f31a1
mov rax, qword [rsp + 0x88]
test byte [rax + 0x14], 0x28
setne al
movzx eax, al
mov dword [rsp + 0xe0], eax
cmp qword [rsp + 0x70], 0
setne dl
cmp word [rsp + 0xa4], 0
setne al
or eax, edx
cmp qword [rsp + 0x70], 0
movzx eax, al
mov dword [rsp + 0xf0], eax
je 0x1401f32da
mov rax, qword [rsp + 0x70]
movzx esi, word [rsp + 0xd8]
mov rcx, r12
mov rax, qword [rax]
mov r9d, esi
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x78]
mov rdx, qword [rsp + 0x90]
lea r8d, [rdi + rax]
mov dword [rsp + 0xd8], r8d
call fcn.14016c9a0
mov rax, qword [rsp + 0x70]
mov r8d, dword [rsp + 0xd8]
mov r10w, word [rax + 0x12]
test r10w, 0x100
je 0x1401f324c
mov r9d, dword [rbp + 0x2c]
mov rcx, rbx
call fcn.1401ed7b0
mov r8d, dword [rsp + 0xd8]
mov edx, r9d
and r9d, 1
shr edx, 1
mov word [rax + 2], r9w
mov dword [rax + 0xc], edx
and r10b, 0x80
jne 0x1401f3288
mov rcx, qword [rsp + 0x90]
mov dword [rsp + 0xd8], r8d
call fcn.1401bc170
mov r8d, dword [rsp + 0xd8]
test eax, eax
je 0x1401f3288
mov r9d, dword [rsp + 0xa8]
mov edx, 0x32
mov rcx, rbx
call fcn.1401e5700
mov rax, qword [rsp + 0x160]
test rax, rax
je 0x1401f32b0
movzx r8d, word [rsp + 0xa4]
mov rcx, qword [rsp + 0x90]
mov edx, esi
add r8, rax
call fcn.140204400
mov rcx, qword [rsp + 0x90]
add esi, edi
call fcn.1401bf400
test eax, eax
jne 0x1401f333d
mov rdx, qword [rsp + 0x70]
mov rcx, rbp
call fcn.14016fe60
mov byte [rsp + 0x90], 0
jmp 0x1401f3350
cmp byte [rsp + 0x90], 0
je 0x1401f330c
mov eax, dword [rsp + 0x78]
xor r8d, r8d
mov edx, 0x4b
mov rcx, rbx
lea esi, [rdi + 1]
lea r9d, [rdi + rax]
call fcn.1401e5700
mov dword [rsp + 0xd4], 0
jmp 0x1401f3330
cmp dword [rsp + 0x60], 0
mov esi, edi
je 0x1401f3350
mov eax, dword [rsp + 0x78]
xor r8d, r8d
mov edx, 0x4b
mov rcx, rbx
lea esi, [rdi + 1]
lea r9d, [rdi + rax]
call fcn.1401e5700
mov dword [rsp + 0xf0], 1
jmp 0x1401f3350
mov byte [rsp + 0x90], 0
mov dword [rsp + 0xd4], 1
movzx eax, byte [rsp + 0x90]
mov rcx, qword [r12 + 0x10]
mov r8d, esi
mov r9, qword [rsp + 0x160]
mov edx, dword [rsp + 0x78]
sub r8d, eax
mov dword [rsp + 0xa4], eax
call fcn.14016bed0
movzx eax, word [r14 + 0x3e]
test ax, ax
je 0x1401f3398
mov dword [rsp + 0x90], 0
cmp esi, eax
je 0x1401f353c
cmp dword [rsp + 0x60], 0
je 0x1401f33b7
mov r9d, dword [rsp + 0x60]
mov r8d, 1
mov edx, 0x47
mov rcx, rbx
call fcn.1401e5700
mov r8d, dword [rbp + 0x34]
test r8d, r8d
je 0x1401f3409
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x28], edi
mov edx, 0x40
mov rcx, rbx
mov r9d, dword [rsp + 0xa8]
mov dword [rsp + 0x20], eax
call fcn.1401e5830
mov rax, qword [rsp + 0x98]
mov rdx, r15
mov rcx, r12
mov r9d, dword [rsp + 0xa8]
mov r8d, dword [rsp + 0xa0]
mov qword [rsp + 0x20], rax
call fcn.140173300
mov eax, dword [rsp + 0xd4]
mov ecx, dword [rsp + 0xf0]
lea rdx, [0x14029e490]
add eax, eax
lea eax, [rax + rcx*4]
add eax, dword [rsp + 0x58]
cdqe
movzx eax, byte [rdx + rax]
mov dword [rsp + 0xd8], eax
test byte [r14 + 0x3a], 0x10
je 0x1401f3499
cmp eax, 0x17
jne 0x1401f3499
mov rax, qword [r13 + 0x10]
mov ecx, 0xa
movsx eax, word [rax]
add eax, 9
cdq
idiv ecx
mov edx, 0x7c
mov rcx, rbx
mov r8d, eax
call fcn.1401e56e0
cmp qword [rsp + 0x70], 0
mov dword [rsp + 0x90], eax
je 0x1401f34a4
mov edx, 1
mov rcx, rbx
call fcn.1401e5b00
mov edx, dword [rsp + 0x90]
call fcn.1401ed7c0
mov r8, rax
mov eax, dword [rbx + 0x90]
inc eax
mov dword [r8 + 8], eax
mov dword [rsp + 0x90], 0
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x28], esi
mov rcx, rbx
mov r9d, dword [rsp + 0xa8]
mov r8d, dword [rsp + 0x80]
mov dword [rsp + 0x20], eax
mov edx, dword [rsp + 0xd8]
call fcn.1401e5830
cmp dword [rsp + 0x60], 0
je 0x1401f353c
mov r9d, dword [rbx + 0x90]
xor r8d, r8d
mov edx, 9
mov rcx, rbx
add r9d, 2
call fcn.1401e5700
xor eax, eax
cmp esi, 1
lea rdx, [0x14029e490]
setg al
sub esi, dword [rsp + 0xd4]
mov r9d, dword [rsp + 0xa8]
mov rcx, rbx
lea eax, [rax*4 + 2]
add eax, dword [rsp + 0x58]
mov dword [rsp + 0x28], esi
cdqe
mov r8d, dword [rsp + 0x80]
movzx edx, byte [rdx + rax]
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x20], eax
call fcn.1401e5830
cmp qword [rsp + 0x88], 0
je 0x1401f365a
mov rax, qword [rsp + 0x88]
cmp dword [rsp + 0x90], 0
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x70], rax
je 0x1401f3572
mov eax, dword [rbx + 0x90]
mov dword [rbp + 0x48], eax
mov eax, dword [rsp + 0x78]
movzx esi, word [rsp + 0xd0]
mov rcx, r12
mov rdx, qword [rsp + 0x70]
add eax, edi
mov r9d, esi
mov r8d, eax
mov dword [rsp + 0xd0], eax
call fcn.14016c9a0
mov rax, qword [rsp + 0x88]
mov r10w, word [rax + 0x12]
test r10w, 0x100
je 0x1401f35cc
mov r9d, dword [rbp + 0x2c]
mov rcx, rbx
call fcn.1401ed7b0
mov edx, r9d
and r9d, 1
shr edx, 1
mov word [rax + 2], r9w
mov dword [rax + 0xc], edx
and r10b, 0x80
jne 0x1401f35fd
mov rcx, qword [rsp + 0x70]
call fcn.1401bc170
test eax, eax
je 0x1401f35fd
mov r9d, dword [rsp + 0xa8]
mov r8d, dword [rsp + 0xd0]
mov edx, 0x32
mov rcx, rbx
call fcn.1401e5700
cmp qword [rsp + 0xc0], 0
je 0x1401f3638
mov r8, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x70]
mov edx, esi
call fcn.140204400
mov rcx, qword [r12 + 0x10]
mov r9, qword [rsp + 0xc0]
mov r8d, esi
mov edx, dword [rsp + 0xd0]
call fcn.14016bed0
mov rcx, qword [rsp + 0x70]
add esi, edi
call fcn.1401bf400
test eax, eax
jne 0x1401f3695
mov rdx, qword [rsp + 0x88]
mov rcx, rbp
call fcn.14016fe60
jmp 0x1401f36a0
cmp byte [rsp + 0xf4], 0
mov esi, edi
je 0x1401f36a0
cmp dword [rsp + 0x60], 0
jne 0x1401f3690
mov eax, dword [rsp + 0x78]
xor r8d, r8d
mov edx, 0x4b
mov rcx, rbx
lea r9d, [rdi + rax]
call fcn.1401e5700
mov dword [rsp + 0xe0], 0
lea esi, [rdi + 1]
jmp 0x1401f36a0
mov dword [rsp + 0xe0], 1
mov rdx, qword [rsp + 0x160]
test rdx, rdx
je 0x1401f36b7
mov rcx, qword [rsp + 0x50]
call fcn.1401b96a0
cmp qword [rsp + 0xc0], 0
je 0x1401f36d4
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
call fcn.1401b96a0
cmp dword [rbp + 0x48], 0
jne 0x1401f36e3
mov eax, dword [rbx + 0x90]
mov dword [rbp + 0x48], eax
test esi, esi
je 0x1401f3763
cmp dword [rsp + 0x60], 0
je 0x1401f370b
mov r9d, dword [rbx + 0x90]
mov r8d, dword [rsp + 0x60]
mov edx, 0x11
mov rcx, rbx
add r9d, 3
call fcn.1401e5700
mov ecx, dword [rsp + 0x58]
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x28], esi
lea rdx, [0x14029af70]
mov r9d, dword [rsp + 0xa8]
mov r8d, dword [rsp + 0x80]
lea eax, [rax + rcx*2]
mov rcx, rbx
cdqe
movzx edx, byte [rdx + rax]
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x20], eax
call fcn.1401e5830
cmp dword [rsp + 0x90], 0
je 0x1401f3763
mov edx, dword [rsp + 0x90]
mov rcx, rbx
call fcn.1401ee1f0
cmp dword [rsp + 0x60], 0
je 0x1401f37cd
mov r9d, dword [rbx + 0x90]
mov r8d, dword [rsp + 0x60]
mov edx, 0x10
mov rcx, rbx
add r9d, 2
call fcn.1401e5700
mov ecx, dword [rsp + 0x58]
mov eax, dword [rsp + 0xa4]
lea rdx, [0x14029af70]
add esi, dword [rsp + 0xa4]
mov r9d, dword [rsp + 0xa8]
lea eax, [rax + rcx*2]
mov dword [rsp + 0x28], esi
mov r8d, dword [rsp + 0x80]
mov rcx, rbx
cdqe
movzx edx, byte [rdx + rax]
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x20], eax
call fcn.1401e5830
test byte [r14 + 0x3a], 4
je 0x1401f37f0
mov dword [rsp + 0x20], edi
mov r9d, edi
mov edx, 0x7d
mov rcx, rbx
mov r8d, dword [rsp + 0x80]
call fcn.1401e5720
test byte [r14 + 0x38], 0x40
je 0x1401f3809
mov esi, 1
test word [r15 + 0x3c], 0x1020
je 0x1401f398f
mov rax, qword [r13 + 0x18]
test byte [rax + 0x30], 0x80
jne 0x1401f38f7
mov rsi, qword [r15]
mov r8d, dword [rsp + 0x80]
xor r9d, r9d
mov edx, 0x8d
mov rax, qword [rsi + 0x10]
or byte [r15 + 0x44], 1
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x20], eax
call fcn.1401e5720
test word [r15 + 0x3c], 0x1020
je 0x1401f398d
mov rax, qword [rsi + 0xa8]
test rax, rax
cmove rax, rsi
cmp dword [rax + 0x78], 0
jne 0x1401f398d
mov rdi, qword [r13 + 0x18]
mov rcx, qword [rsi]
movsx edx, word [rdi + 0x36]
inc edx
movsxd rdx, edx
shl rdx, 2
call fcn.1401b9670
mov r8, rax
test rax, rax
je 0x1401f398d
movsx eax, word [rdi + 0x36]
movzx esi, word [r13 + 0x60]
mov dword [r8], eax
lea eax, [rsi - 1]
xor esi, esi
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], esi
jle 0x1401f38df
mov rax, qword [r13 + 8]
movsx edx, word [rax + rsi*2]
test dx, dx
js 0x1401f38da
mov rcx, rdi
mov qword [rsp + 0x70], r8
call fcn.1401e2700
mov r8, qword [rsp + 0x70]
lea edx, [rsi + 1]
movsx rax, ax
mov dword [r8 + rax*4 + 4], edx
inc rsi
jmp 0x1401f38a9
mov rcx, qword [rsp + 0x50]
mov r9d, 0xfffffff2
or edx, 0xffffffff
call fcn.1401e5a90
jmp 0x1401f398d
mov esi, dword [rsp + 0x80]
cmp dword [rsp + 0x68], esi
je 0x1401f398d
mov rcx, qword [rax + 0x10]
xor edi, edi
call fcn.1401db8d0
mov rcx, r12
movzx edx, word [rax + 0x5e]
mov rsi, rax
call fcn.1401cb8e0
mov dword [rsp + 0x50], eax
movzx eax, word [rsi + 0x5e]
cmp eax, edi
jle 0x1401f3967
mov rax, qword [rsi + 8]
mov rcx, r13
movsx edx, word [rax + rdi*2]
call fcn.1401e26d0
mov ecx, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x80]
movsx r9d, ax
lea edx, [rcx + rdi]
mov rcx, rbx
inc rdi
mov dword [rsp + 0x20], edx
mov edx, 0x5e
call fcn.1401e5720
jmp 0x1401f3926
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x50]
mov edx, 0x1c
mov rcx, rbx
mov r9d, dword [rsp + 0xc8]
mov r8d, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
call fcn.1401e5830
xor esi, esi
cmp dword [rbp], 0
jne 0x1401f39af
mov rcx, qword [r13 + 0x48]
test rcx, rcx
je 0x1401f39af
mov r8, qword [rsp + 0xb0]
mov edx, dword [rsp + 0x68]
call fcn.140208c50
mov eax, dword [r14 + 0x38]
bt eax, 0xc
jae 0x1401f39bf
mov byte [rbp + 0x41], 0xb8
jmp 0x1401f39cc
cmp dword [rsp + 0x58], 1
mov dl, 0x26
adc dl, 0
mov byte [rbp + 0x41], dl
mov edx, eax
mov edi, dword [rsp + 0x80]
shr edx, 0x10
and edx, 1
mov dword [rbp + 0x44], edi
mov byte [rbp + 0x42], dl
test al, 0xf
jne 0x1401f39e9
mov byte [rbp + 0x43], 1
test esi, esi
mov eax, 0
cmovne r13, rax
cmp esi, 1
sbb r14d, r14d
add r14d, 2
jmp 0x1401f415a
bt eax, 0xd
jae 0x1401f410d
mov eax, dword [r12 + 0x34]
mov rdi, qword [rsp + 0xb8]
mov dword [rsp + 0xd0], eax
inc eax
mov dword [r12 + 0x34], eax
mov eax, dword [r12 + 0x38]
inc eax
mov dword [r12 + 0x38], eax
mov dword [rsp + 0xa4], eax
mov eax, dword [r12 + 0x44]
dec eax
mov dword [r12 + 0x44], eax
mov dword [rsp + 0xd4], eax
movsxd rax, dword [rsp + 0xcc]
imul rax, rax, 0x68
mov rax, qword [rdi + rax + 0x28]
mov qword [rsp + 0x60], rax
mov rax, qword [r14 + 0x48]
mov rax, qword [rax]
mov qword [rsp + 0xd8], rax
mov rax, qword [rax + 0x20]
mov byte [rbp + 0x41], 0x43
mov qword [rsp + 0xe0], rax
mov eax, dword [rsp + 0xa4]
mov dword [rbp + 0x44], eax
movzx r13d, byte [r15 + 0x40]
cmp r13b, 1
jbe 0x1401f3b2b
sub r13d, dword [rsp + 0xa0]
mov rcx, qword [rsp + 0x50]
dec r13d
movsxd rdx, r13d
imul rdx, rdx, 0x68
add rdx, 0x70
call fcn.1401b9580
mov r14, rax
test rax, rax
je 0x1401f464e
imul rsi, rsi, 0x68
lea eax, [r13 + 1]
mov ecx, 0x1a
mov rdi, qword [rsp + 0xb8]
movzx eax, al
lea rdx, [r14 + 0x70]
mov dword [r14 + 4], eax
mov dword [r14], eax
lea rax, [r14 + 8]
lea rsi, [rdi + rsi + 8]
mov rdi, rax
rep movsd dword [rdi], dword [rsi]
mov rax, qword [r15 + 8]
lea r8, [rax + 8]
xor eax, eax
inc rax
cmp r13d, eax
jl 0x1401f3b2f
imul rcx, rax, 0x70
mov rdi, rdx
add rdx, 0x68
movzx esi, byte [rbp + rcx + 0x40]
mov ecx, 0x1a
imul rsi, rsi, 0x68
add rsi, r8
rep movsd dword [rdi], dword [rsi]
jmp 0x1401f3b03
mov r14, qword [r15 + 8]
test byte [r15 + 0x3c], 0x10
jne 0x1401f3bb3
mov rax, qword [rsp + 0x60]
test byte [rax + 0x30], 0x80
jne 0x1401f3b63
mov eax, dword [r12 + 0x38]
xor r8d, r8d
mov edx, 0x4b
mov rcx, rbx
lea edi, [rax + 1]
mov dword [r12 + 0x38], edi
mov r9d, edi
call fcn.1401e5700
jmp 0x1401f3ba1
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0x10]
call fcn.1401db8d0
mov edi, dword [r12 + 0x34]
mov edx, 0x76
mov rcx, rbx
mov r13, rax
lea eax, [rdi + 1]
movzx r9d, word [r13 + 0x5e]
mov r8d, edi
mov dword [r12 + 0x34], eax
call fcn.1401e5700
mov rdx, r13
mov rcx, r12
call fcn.1401efee0
mov eax, dword [r12 + 0x38]
inc eax
mov dword [rsp + 0x70], eax
mov dword [r12 + 0x38], eax
jmp 0x1401f3bbd
mov dword [rsp + 0x70], 0
xor edi, edi
mov r9d, dword [rsp + 0xa4]
xor r8d, r8d
mov edx, 0x47
mov rcx, rbx
call fcn.1401e5700
cmp dword [r15 + 0x84], 1
mov dword [rsp + 0x104], eax
jg 0x1401f3bf4
mov qword [rsp + 0x58], 0
jmp 0x1401f3c75
xor esi, esi
xor r9d, r9d
imul rax, rsi, 0x38
add rax, qword [r15 + 0x90]
cmp qword [rsp + 0xd8], rax
je 0x1401f3c4f
test word [rax + 0x12], 0x8006
jne 0x1401f3c4f
test word [rax + 0x14], 0x3fff
je 0x1401f3c4f
mov rdx, qword [rax]
test byte [rdx + 6], 0x40
jne 0x1401f3c4f
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x58], r9
call fcn.1401bea10
mov r9, qword [rsp + 0x58]
mov rcx, r12
mov r8, rax
mov rdx, r9
call fcn.1401bc0b0
mov r9, rax
inc rsi
cmp dword [r15 + 0x84], esi
jg 0x1401f3bf9
test r9, r9
je 0x1401f3be6
xor r8d, r8d
mov edx, 0x1002c
mov rcx, r12
call fcn.1401d0c60
mov qword [rsp + 0x58], rax
lea r8, str.MULTI_INDEX_OR
mov edx, 1
mov rcx, r12
call fcn.1401ed440
mov dword [rsp + 0xf0], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0xc0], 0
mov r9d, dword [rsp + 0x88]
mov rax, qword [rsp + 0xe0]
mov dword [rsp + 0xf4], r9d
mov esi, r9d
cmp dword [rax + 0x14], r9d
jle 0x1401f4060
mov rcx, qword [rsp + 0xe0]
imul rax, qword [rsp + 0x88], 0x38
add rax, qword [rcx + 0x20]
mov ecx, dword [rsp + 0x68]
cmp ecx, dword [rax + 0x1c]
je 0x1401f3cf9
test byte [rax + 0x15], 4
je 0x1401f4053
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov dword [rsp + 0x78], r9d
call fcn.1401bea10
mov r9d, dword [rsp + 0x78]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x67], 0
je 0x1401f3d36
mov rdx, qword [rsp + 0xa8]
mov rcx, rax
jmp 0x1401f404e
cmp qword [rsp + 0x58], 0
mov r13, qword [rsp + 0xa8]
je 0x1401f3d52
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x10], r13
mov r13, rax
inc r9d
lea r8, str.INDEX__d
mov edx, 1
mov rcx, r12
call fcn.1401ed440
xor r9d, r9d
mov r8, r13
mov rdx, r14
mov eax, dword [rsp + 0xd0]
mov rcx, r12
mov dword [rsp + 0x30], 0x20
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x20], 0
call fcn.1401f1990
mov qword [rsp + 0x78], rax
test rax, rax
je 0x1401f4041
mov rax, qword [r12 + 0xa8]
test rax, rax
cmove rax, r12
cmp byte [rax + 0x133], 2
jne 0x1401f3ddf
mov rax, qword [rsp + 0x78]
xor r9d, r9d
mov rdx, r14
mov rcx, r12
lea r8, [rax + 0x360]
call fcn.1401f51c0
xor r13d, r13d
test byte [r15 + 0x3c], 0x10
jne 0x1401f3f81
mov rax, qword [rsp + 0xe0]
mov eax, dword [rax + 0x14]
mov dword [rsp + 0x80], eax
dec eax
cmp eax, dword [rsp + 0xf4]
mov eax, 0xffffffff
cmove esi, eax
mov rax, qword [rsp + 0x60]
test byte [rax + 0x30], 0x80
jne 0x1401f3e59
mov r9d, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x68]
mov edx, 0x87
mov rcx, rbx
call fcn.1401e5700
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x28], esi
xor r9d, r9d
mov r8d, edi
mov edx, 0x2f
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401e5830
mov r13d, eax
jmp 0x1401f3f81
mov rax, qword [rsp + 0x60]
xor r13d, r13d
mov rcx, qword [rax + 0x10]
call fcn.1401db8d0
mov rcx, r12
mov r10, rax
movzx eax, word [rax + 0x5e]
mov edx, eax
mov dword [rsp + 0x80], eax
call fcn.1401cb8e0
mov dword [rsp + 0x90], eax
cmp dword [rsp + 0x80], r13d
jle 0x1401f3ed1
mov rax, qword [r10 + 8]
mov r8d, dword [rsp + 0x68]
mov rcx, rbx
mov qword [rsp + 0x108], r10
mov rdx, qword [rsp + 0x60]
movsx r9d, word [rax + r13*2]
mov eax, dword [rsp + 0x90]
add eax, r13d
inc r13
mov dword [rsp + 0x20], eax
call fcn.1401bc5c0
mov r10, qword [rsp + 0x108]
jmp 0x1401f3e89
xor r13d, r13d
test esi, esi
je 0x1401f3f09
mov eax, dword [rsp + 0x80]
xor r9d, r9d
mov r8d, edi
mov rcx, rbx
mov edx, 0x1d
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x20], eax
call fcn.1401e5830
mov r13d, eax
cmp esi, 0xffffffff
je 0x1401f3f6a
mov eax, dword [rsp + 0x70]
mov r9d, dword [rsp + 0x80]
mov edx, 0x61
mov rcx, rbx
mov r8d, dword [rsp + 0x90]
mov dword [rsp + 0x20], eax
call fcn.1401e5720
mov r9d, dword [rsp + 0x70]
mov r8d, edi
mov rcx, rbx
mov eax, dword [rsp + 0x80]
mov edx, 0x8a
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x90]
mov dword [rsp + 0x20], eax
call fcn.1401e5830
test esi, esi
je 0x1401f3f6a
mov edx, 0x10
mov rcx, rbx
call fcn.1401e5b00
mov r8d, dword [rsp + 0x80]
mov edx, dword [rsp + 0x90]
mov rcx, r12
call fcn.1401dbf90
mov r9d, dword [rsp + 0xd4]
mov r8d, dword [rsp + 0xa4]
mov edx, 0xa
mov rcx, rbx
call fcn.1401e5700
test r13d, r13d
je 0x1401f3fae
mov edx, r13d
mov rcx, rbx
call fcn.1401ee1f0
mov rax, qword [rsp + 0x78]
test byte [rax + 0x44], 2
mov eax, 1
cmove eax, dword [rsp + 0xf0]
xor esi, esi
mov dword [rsp + 0xf0], eax
mov rax, qword [rsp + 0x78]
mov rax, qword [rax + 0x3c0]
test byte [rax + 0x39], 2
je 0x1401f4017
cmp dword [rsp + 0xf4], 0
mov rsi, qword [rax + 0x20]
je 0x1401f3ff7
cmp qword [rsp + 0xc0], rsi
jne 0x1401f4015
mov rax, qword [rsp + 0x60]
test byte [rax + 0x30], 0x80
je 0x1401f4017
mov al, byte [rsi + 0x64]
and eax, 3
cmp al, 2
mov eax, 0
cmove rsi, rax
jmp 0x1401f4017
xor esi, esi
mov rax, qword [rsp + 0x78]
test byte [rax + 0x44], 1
je 0x1401f4027
or byte [r15 + 0x44], 1
mov rcx, qword [rsp + 0x78]
call fcn.1401f4af0
mov rcx, r12
call fcn.1401ed4c0
mov qword [rsp + 0xc0], rsi
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0x50]
call fcn.1401be960
inc qword [rsp + 0x88]
jmp 0x1401f3cac
mov rcx, r12
call fcn.1401ed4c0
mov rax, qword [rsp + 0xc0]
mov qword [rbp + 0x50], rax
test rax, rax
je 0x1401f4083
mov eax, dword [rsp + 0xd0]
mov dword [rbp + 8], eax
cmp qword [rsp + 0x58], 0
je 0x1401f40a5
mov rax, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x10], 0
mov rdx, rax
call fcn.1401be960
mov edx, dword [rsp + 0x104]
mov rcx, rbx
call fcn.1401ed7c0
mov edx, dword [rbx + 0x90]
mov dword [rax + 4], edx
mov edx, dword [rbp + 0xc]
call fcn.1401ed7e0
mov edx, dword [rsp + 0xd4]
mov rcx, rbx
call fcn.1401efca0
mov eax, dword [rbx + 0x90]
mov dword [rbp + 0x48], eax
cmp byte [r15 + 0x40], 1
jbe 0x1401f40f1
mov rcx, qword [rsp + 0x50]
mov rdx, r14
call fcn.1401b94a0
cmp dword [rsp + 0xf0], 0
jne 0x1401f4151
mov rdx, qword [rsp + 0xd8]
mov rcx, rbp
call fcn.14016fe60
jmp 0x1401f4151
and r8b, 0x40
je 0x1401f4119
mov byte [rbp + 0x41], 0xb8
jmp 0x1401f4151
movsxd rax, dword [rsp + 0x58]
lea rdx, [0x14029e4b0]
mov edi, dword [rsp + 0x68]
mov rcx, rbx
mov dl, byte [rdx + rax]
mov dword [rbp + 0x44], edi
mov r8d, edi
mov byte [rbp + 0x41], dl
lea rdx, [0x14029e480]
movzx edx, byte [rdx + rax]
call fcn.1401e5700
mov byte [rbp + 0x43], 1
inc eax
mov dword [rbp + 0x48], eax
xor r13d, r13d
mov r14d, 2
movsxd rax, dword [rsp + 0xcc]
imul rax, rax, 0x68
add rax, qword [rsp + 0xb8]
mov qword [rsp + 0x60], rax
mov eax, dword [r15 + 0x84]
mov dword [rsp + 0x50], 0
mov rsi, qword [r15 + 0x90]
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x58], 0
jle 0x1401f4300
test byte [rsi + 0x12], 6
jne 0x1401f42f3
mov rdi, qword [rbp + 0x68]
mov rax, rdi
and rax, qword [rsi + 0x30]
je 0x1401f41b9
or byte [r15 + 0x44], 2
jmp 0x1401f42f3
mov rax, qword [rsp + 0x60]
mov r11, qword [rsi]
mov dl, byte [rax + 0x44]
test dl, 0x58
je 0x1401f41fc
mov eax, dword [r11 + 4]
test al, 3
je 0x1401f42f3
and dl, 8
je 0x1401f41e2
test al, 1
je 0x1401f42f3
mov edx, dword [r11 + 0x34]
mov rcx, qword [rsp + 0xe8]
call fcn.1401f5760
test rdi, rax
jne 0x1401f42f3
cmp r14d, 1
jne 0x1401f4273
xor eax, eax
mov ecx, 0xa
mov edx, dword [rbp + 4]
mov qword [rsp + 0x70], r11
lea r8, [rsp + 0x160]
mov qword [rsp + 0x118], r13
mov rdi, r8
mov dword [rsp + 0x120], edx
mov rdx, r11
rep stosd dword [rdi], eax
lea rax, [0x1401722d0]
mov rcx, r8
mov qword [rsp + 0x168], rax
lea rax, [rsp + 0x118]
mov qword [rsp + 0x188], rax
call fcn.1401f1680
mov r11, qword [rsp + 0x70]
cmp word [rsp + 0x184], 0
jne 0x1401f42eb
test byte [rsi + 0x13], 0x10
je 0x1401f428c
jmp 0x1401f427b
cmp r14d, 3
je 0x1401f428c
jmp 0x1401f426b
cmp dword [rsp + 0x50], 0
jne 0x1401f42f3
mov dword [rsp + 0x50], 3
jmp 0x1401f42f3
xor edi, edi
test byte [rsi + 0x13], 2
je 0x1401f42bd
mov r8d, dword [rbp + 0x2c]
test r8d, r8d
je 0x1401f42bd
mov edx, r8d
mov rcx, rbx
shr r8d, 1
mov qword [rsp + 0x70], r11
and edx, 1
add edx, 0x10
call fcn.1401e56e0
mov r11, qword [rsp + 0x70]
mov edi, eax
mov r8d, dword [rsp + 0xc8]
mov r9d, 0x10
mov rdx, r11
mov rcx, r12
call fcn.1401bebd0
test edi, edi
je 0x1401f42e4
mov edx, edi
mov rcx, rbx
call fcn.1401ee1f0
or word [rsi + 0x12], 4
jmp 0x1401f42f3
mov dword [rsp + 0x50], 2
dec dword [rsp + 0x58]
add rsi, 0x38
jmp 0x1401f418d
cmp dword [rsp + 0x50], 0
je 0x1401f4311
mov r14d, dword [rsp + 0x50]
jmp 0x1401f4173
movsxd r13, dword [rsp + 0xcc]
mov eax, dword [r15 + 0x8c]
mov r14, qword [r15 + 0x90]
imul r13, r13, 0x68
add r13, qword [rsp + 0xb8]
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x60], r13
cmp dword [rsp + 0x58], 0
jle 0x1401f4431
test byte [r14 + 0x12], 6
jne 0x1401f4424
mov eax, dword [r14 + 0x14]
test al, 0x82
je 0x1401f4424
test ah, 8
je 0x1401f4424
mov eax, dword [rsp + 0x68]
cmp eax, dword [r14 + 0x1c]
jne 0x1401f4424
mov rax, qword [rsp + 0x60]
test byte [rax + 0x44], 0x58
jne 0x1401f4424
mov r13, qword [r14]
mov r8d, dword [r14 + 0x20]
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x83
mov r9, qword [rsp + 0x98]
mov edx, dword [rsp + 0x68]
mov rcx, qword [rsp + 0xb0]
call fcn.1401f56e0
test rax, rax
je 0x1401f4424
test byte [rax + 0x12], 4
jne 0x1401f4424
mov rsi, qword [rax]
test byte [rax + 0x14], 1
je 0x1401f43dc
test byte [rsi + 5], 0x10
je 0x1401f43dc
mov rdx, qword [rsi + 0x20]
mov rdx, qword [rdx + 0x20]
cmp dword [rdx], 1
jg 0x1401f4424
mov ecx, 0x12
lea rdi, [rsp + 0x160]
mov qword [rsp + 0x70], rax
mov r8d, dword [rsp + 0xc8]
rep movsd dword [rdi], dword [rsi]
mov r9d, 0x10
mov rcx, r12
mov rdx, qword [r13 + 0x10]
mov qword [rsp + 0x170], rdx
lea rdx, [rsp + 0x160]
call fcn.1401bebd0
mov rax, qword [rsp + 0x70]
or word [rax + 0x12], 4
dec dword [rsp + 0x58]
add r14, 0x38
jmp 0x1401f433c
mov r14, qword [rbp + 0x38]
test r14, r14
je 0x1401f457f
movzx eax, byte [rbp + 0x40]
imul rax, rax, 0x68
add rax, qword [r15 + 8]
mov r10, qword [rax + 0x28]
test byte [r10 + 0x30], 0x80
jne 0x1401f4481
mov edx, 2
mov rcx, r12
mov esi, 1
call fcn.1401cb8e0
mov r8d, dword [rbp + 4]
mov edx, 0x87
mov rcx, rbx
lea r9d, [rax + 1]
mov r13d, eax
call fcn.1401e5700
jmp 0x1401f44e4
mov rcx, qword [r10 + 0x10]
call fcn.1401db8d0
mov rcx, r12
movzx esi, word [rax + 0x5e]
mov rdi, rax
lea edx, [rsi + 1]
call fcn.1401cb8e0
mov r13d, eax
xor eax, eax
inc rax
lea edx, [rax - 1]
cmp esi, edx
jle 0x1401f44e4
mov rdx, qword [rdi + 8]
mov r8d, dword [rsp + 0x68]
mov rcx, rbx
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], r10
movsx r9d, word [rdx + rax*2 - 2]
lea edx, [r13 + rax]
mov dword [rsp + 0x20], edx
mov rdx, r10
call fcn.1401bc5c0
mov rax, qword [rsp + 0x60]
mov r10, qword [rsp + 0x58]
jmp 0x1401f44a1
lea edi, [r13 + 1]
mov dword [rsp + 0x28], esi
xor r9d, r9d
mov edx, 0x1d
mov dword [rsp + 0x20], edi
mov r8d, dword [r14]
mov rcx, rbx
call fcn.1401e5830
mov dword [rsp + 0x20], r13d
mov r9d, esi
mov r8d, edi
mov edx, 0x61
mov rcx, rbx
mov dword [rsp + 0x68], eax
call fcn.1401e5720
mov dword [rsp + 0x28], esi
mov r9d, r13d
mov rcx, rbx
mov dword [rsp + 0x20], edi
mov r8d, dword [r14]
mov edx, 0x8a
call fcn.1401e5830
mov r8d, dword [r14 + 4]
mov dword [rsp + 0x28], esi
mov rcx, rbx
mov dword [rsp + 0x20], edi
mov edx, 0xb4
xor r9d, r9d
call fcn.1401e5830
mov rcx, rbx
mov edx, 0x10
call fcn.1401e5b00
mov r10d, dword [rsp + 0x68]
mov edx, r10d
call fcn.1401ee1f0
lea r8d, [rsi + 1]
mov edx, r13d
mov rcx, r12
call fcn.1401dbf90
mov r9d, dword [rbp]
test r9d, r9d
jne 0x1401f4593
mov rsi, qword [rbp + 0x38]
test rsi, rsi
jne 0x1401f45b8
jmp 0x1401f4602
mov eax, dword [rbx + 0x90]
mov r8d, 1
mov edx, 0x47
mov rcx, rbx
mov dword [rbp + 0x1c], eax
call fcn.1401e5700
cmp qword [rbp + 0x38], 0
jne 0x1401f4588
jmp 0x1401f45da
mov r9d, dword [rsi + 8]
xor r8d, r8d
mov edx, 0x4a
mov rcx, rbx
call fcn.1401e5700
mov eax, dword [rbx + 0x90]
mov dword [rsi + 0xc], eax
inc byte [r12 + 0x26]
movsxd rdi, dword [rsp + 0xcc]
mov rsi, qword [r15 + 0x90]
imul rdi, rdi, 0x68
add rdi, qword [rsp + 0xb8]
mov eax, dword [rsp + 0x50]
cmp eax, dword [r15 + 0x8c]
jl 0x1401f4610
mov rax, qword [rbp + 0x68]
mov qword [rsp + 0x98], rax
jmp 0x1401f464e
test byte [rsi + 0x12], 6
jne 0x1401f4644
mov rax, qword [rsi + 0x30]
and rax, qword [rbp + 0x68]
jne 0x1401f4644
test byte [rdi + 0x44], 0x40
jne 0x1401f4644
mov r8d, dword [rsp + 0xc8]
mov rdx, qword [rsi]
mov r9d, 0x10
mov rcx, r12
call fcn.1401bebd0
or word [rsi + 0x12], 4
inc dword [rsp + 0x50]
add rsi, 0x38
jmp 0x1401f45f5
mov eax, dword [rbp + 0x18]
inc dword [rsp + 0xa0]
add rbp, 0x70
inc qword [rsp + 0xf8]
mov dword [r15 + 0x30], eax
jmp 0x1401f2779
mov eax, dword [rbx + 0x90]
mov dword [r15 + 0x50], eax
jmp 0x1401f4a64
mov eax, dword [r15 + 0x38]
mov rcx, qword [rsp + 0x48]
mov rdx, r15
mov dword [r12 + 0xd0], eax
call fcn.140208f20
xor r15d, r15d
jmp 0x1401f4a64
xor esi, esi
cmp dword [rsp + 0x58], 0
jne 0x1401f4777
mov r10, r11
test r11, r11
je 0x1401f488f
mov dword [rsp + 0x160], 0x17151618
mov r13, qword [r10]
mov rdx, qword [r13 + 0x18]
mov rcx, rdx
call fcn.1401bf400
test eax, eax
je 0x1401f4708
mov rcx, r12
mov r9d, 1
call fcn.1401cb920
mov rdx, qword [r13 + 0x18]
mov r8d, eax
mov dword [rsp + 0x118], eax
mov r14d, eax
call fcn.14016c9a0
movzx eax, byte [r13]
sub eax, 0x37
and eax, 2
or eax, 1
jmp 0x1401f473a
lea r8, [rsp + 0x118]
mov rcx, r12
mov qword [rsp + 0x50], r10
call fcn.1401be2b0
mov r10, qword [rsp + 0x50]
mov rcx, rbp
mov r14d, eax
mov rdx, r10
call fcn.14016fe60
movzx eax, byte [r13]
sub eax, 0x36
cdqe
movzx edx, byte [rsp + rax + 0x160]
mov dword [rsp + 0x20], r14d
mov rcx, rbx
mov r9d, edi
mov r8d, dword [rsp + 0x68]
call fcn.1401e5720
mov edx, dword [rsp + 0x118]
mov rcx, r12
mov r11, rsi
call fcn.1401dbfb0
jmp 0x1401f4793
mov rsi, r11
test r10, r10
jne 0x1401f46b6
mov edx, 0x20
mov r8d, dword [rsp + 0x68]
mov rcx, rbx
mov qword [rsp + 0x50], r11
call fcn.1401e5700
mov r11, qword [rsp + 0x50]
test r11, r11
je 0x1401f4813
mov eax, dword [r12 + 0x38]
mov r13, qword [r11]
mov rcx, r12
mov qword [rsp + 0x50], r11
mov r9d, 1
lea esi, [rax + 1]
mov rdx, qword [r13 + 0x18]
mov dword [r12 + 0x38], esi
mov r8d, esi
call fcn.14016c9a0
mov rcx, qword [r13 + 0x18]
call fcn.1401bf400
mov r11, qword [rsp + 0x50]
test eax, eax
jne 0x1401f47f2
mov dl, byte [r13]
sub edx, 0x36
and dl, 0xfd
jne 0x1401f47f2
cmp dword [rsp + 0x58], 1
sbb r13d, r13d
and r13d, 2
add r13d, 0x37
jmp 0x1401f4806
cmp dword [rsp + 0x58], 1
sbb r13d, r13d
and r13d, 0xfffffffe
add r13d, 0x38
test eax, eax
jne 0x1401f481b
mov rdx, r11
mov rcx, rbp
call fcn.14016fe60
jmp 0x1401f481b
xor esi, esi
mov r13d, 0xb8
mov eax, 0x27
sub eax, dword [rsp + 0x58]
mov edx, dword [rbx + 0x90]
mov byte [rbp + 0x41], al
mov eax, dword [rsp + 0x68]
mov dword [rbp + 0x48], edx
mov dword [rbp + 0x44], eax
cmp r13d, 0xb8
je 0x1401f4151
mov eax, dword [r12 + 0x38]
mov r8d, dword [rsp + 0x68]
mov rcx, rbx
mov edx, 0x87
lea r14d, [rax + 1]
mov dword [r12 + 0x38], r14d
mov r9d, r14d
call fcn.1401e5700
mov dword [rsp + 0x20], r14d
mov edx, r13d
mov rcx, rbx
mov r9d, edi
mov r8d, esi
call fcn.1401e5720
mov edx, 0x53
mov rcx, rbx
call fcn.1401e5b00
jmp 0x1401f4151
mov r11, rsi
mov edx, 0x24
jmp 0x1401f477c
lea rax, [rsp + 0x160]
mov rsi, qword [rsi + 0x10]
mov qword [rsp + 0x78], rax
jmp 0x1401f2055
cmp qword [rax + 0x28], 0
je 0x1401f4934
mov rcx, qword [rsp + 0x78]
mov dword [rsp + 0x88], r11d
call fcn.14020d5c0
jmp 0x1401f20c5
mov dword [rbp + 0x38], 0x1241
jmp 0x1401f2109
mov esi, dword [rsp + 0x60]
mov rdx, qword [rdi + 0x10]
mov word [rbp + 0x16], 1
mov qword [rdi + 0x3c0], rbp
mov qword [rbp + 8], 1
mov dword [rdi + 0x364], esi
mov word [rdi + 0x48], 1
test rdx, rdx
je 0x1401f490f
mov edx, dword [rdx]
mov byte [rdi + 0x41], dl
test byte [rdi + 0x3d], 1
je 0x1401f4919
mov byte [rdi + 0x43], 1
cmp byte [rsp + 0x189], 1
jbe 0x1401f21df
or eax, 0x200000
mov dword [rbp + 0x38], eax
jmp 0x1401f21df
mov rdx, qword [rbp + 0x48]
mov qword [rdx + r14*8], rax
inc r14
jmp 0x1401f208b
mov rdx, qword [rbp + 0x48]
mov dword [rbp + 0x38], 0x1101
mov qword [rdx], rax
mov word [rbp + 0x3c], 1
mov word [rbp + 0x18], 1
mov word [rbp + 0x14], 0x21
jmp 0x1401f211d
inc edx
jne 0x1401f1f92
jmp 0x1401f1ed1
mov rcx, qword [r12]
xor r9d, r9d
xor r8d, r8d
mov edx, 0xa7
mov dword [rsp + 0x80], r11d
mov qword [rsp + 0x78], r10
call fcn.1401bbf00
mov r10, qword [rsp + 0x78]
mov r11d, dword [rsp + 0x80]
test rax, rax
mov rdi, rax
je 0x1401f1c9f
mov eax, dword [rsi + 0x24]
mov word [rdi + 0x30], r11w
mov rcx, rdi
xor r8d, r8d
mov qword [rdi + 0x40], r10
mov dword [rdi + 0x2c], eax
lea eax, [r11 + 1]
mov qword [rsp + 0x80], r10
mov dword [rsp + 0x78], eax
call fcn.1401be360
or qword [rsi + 0x30], rax
mov rax, rbp
mov rcx, qword [r12]
shl rax, 5
mov rdx, qword [r13 + rax + 8]
call fcn.1401bea10
xor r9d, r9d
mov edx, 0xae
mov rcx, r12
mov r8, rax
call fcn.1401d0c60
mov r8, rdi
mov edx, 0x35
mov rcx, r12
mov r9, rax
call fcn.1401d0c60
mov edx, dword [rsi + 0x24]
mov r8d, 2
mov r9, rax
mov al, byte [rsi + 0x1c]
mov rcx, r9
and eax, 0x58
cmp al, 1
adc r8d, 0xffffffff
inc rbp
call fcn.1401e10b0
mov rcx, qword [rsp + 0xb0]
mov r8d, 1
mov rdx, r9
call fcn.140208d40
mov r11d, dword [rsp + 0x78]
mov r10, qword [rsp + 0x80]
jmp 0x1401f1c58
mov rax, r15
add rsp, 0x1d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret