Function at 0x1407202f0
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 dword [rsp + 0x50], eax
mov r13, rcx
mov r12, r8
mov word [rsp + 0x68], ax
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x228], rdx
mov qword [rsp + 0x98], rax
mov rax, qword [rcx]
mov qword [rsp + 0x238], r9
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x130], 0
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], 0
test r9, r9
je 0x140720396
cmp dword [r9], 0x40
mov eax, 0
cmovl rax, r9
mov qword [rsp + 0x238], rax
mov rax, qword [rsp + 0x228]
mov eax, dword [rax]
mov dword [rsp + 0xe8], eax
cmp eax, 0x40
jg 0x140723785
test byte [rsp + 0x50], 0x20
je 0x140720730
mov dword [rsp + 0xe8], 1
mov edx, 0x440
mov ebx, 0x3d0
mov rdi, qword [rsp + 0x90]
mov rcx, rdi
call fcn.1406bbba0
mov r14, rax
movzx eax, byte [rdi + 0x67]
mov byte [rsp + 0x70], al
test al, al
jne 0x140721b84
mov edx, dword [rsp + 0xe8]
mov qword [r14], r13
add rbx, r14
xor r15d, r15d
mov rax, qword [rsp + 0x228]
mov qword [r14 + 0x28], 0xffffffffffffffff
lea rdi, [r14 + 0x49]
lea rsi, [r14 + 0x70]
mov byte [r14 + 0x40], dl
and rdi, 0xfffffffffffffff8
mov qword [r14 + 8], rax
mov rax, qword [rsp + 0x238]
mov qword [r14 + 0x10], rax
mov rax, qword [rsp + 0x240]
mov qword [r14 + 0x18], rax
mov eax, dword [r13 + 0x44]
sub eax, 1
mov dword [r13 + 0x44], eax
mov dword [r14 + 0x30], eax
mov dword [r14 + 0x34], eax
movzx eax, word [rsp + 0x50]
mov word [r14 + 0x3c], ax
movzx eax, word [rsp + 0x258]
mov word [r14 + 0x3e], ax
movsx eax, word [r13 + 0xe0]
mov dword [r14 + 0x38], eax
mov rax, qword [rsp + 0x248]
mov qword [r14 + 0x41], 0
mov qword [r14 + 0x20], rax
mov eax, r14d
sub eax, edi
mov qword [rsp + 0x60], rsi
lea ecx, [rax + 0x70]
xor eax, eax
mov qword [r14 + 0x68], 0
shr ecx, 3
rep stosq qword [rdi], rax
lea eax, [rdx + 1]
lea rcx, [r14 + 0x360]
mov edi, edx
cdqe
xor edx, edx
mov qword [rsp + 0xa0], rcx
lea r8, [rax*8]
mov qword [rsp + 0x88], rcx
sub r8, rax
shl r8, 4
call sub.msvcrt.dll_memset
mov r8d, 0x2c
mov rdx, r12
movabs rax, 0xffffff9d00000000
mov qword [r14 + 0x25c], rax
lea rax, [rbx + 0x58]
mov rcx, rsi
mov qword [rbx + 0x48], rax
mov eax, 3
mov word [rbx + 0x40], ax
lea rax, [r14 + 0x98]
mov word [rbx + 0x3c], r15w
mov dword [rbx + 0x38], 0
mov qword [r14 + 0x70], r14
mov byte [r14 + 0x81], 0
mov qword [r14 + 0x78], 0
mov dword [r14 + 0x84], 0
mov qword [r14 + 0x88], 8
mov qword [r14 + 0x90], rax
mov qword [rsp + 0x130], r14
mov qword [rsp + 0x138], rsi
mov qword [rsp + 0x140], rbx
call fcn.1406bce30
test edi, edi
jne 0x140721958
cmp qword [rsp + 0x238], 0
je 0x14072058a
mov rax, qword [rsp + 0x238]
mov eax, dword [rax]
mov byte [r14 + 0x41], al
test dword [rsp + 0x50], 0x100
jne 0x140721ba5
lea r8, str.SCAN_CONSTANT_ROW
xor edx, edx
mov rcx, r13
call fcn.1406decb0
mov ebx, dword [r14 + 0x84]
sub ebx, 1
js 0x1407205db
mov rsi, qword [rsp + 0x228]
mov rdi, qword [rsp + 0x60]
nop word [rax + rax]
mov r8d, ebx
mov rdx, rdi
mov rcx, rsi
call fcn.1407306b0
sub ebx, 1
jae 0x1407205c8
cmp qword [rsp + 0x248], 0
je 0x140720602
mov rax, qword [rsp + 0x248]
cmp qword [rax + 0x60], 0
je 0x140720602
mov rcx, qword [rsp + 0x60]
mov rdx, rax
call fcn.1406ceb70
mov eax, dword [r13 + 0x30]
mov dword [rsp + 0x7c], eax
test eax, eax
jne 0x140720757
mov rax, qword [rsp + 0x138]
xor edi, edi
xor esi, esi
lea rbp, [rsp + 0x160]
lea r12, [0x14069f470]
lea r15, [0x14069e520]
mov ebx, dword [rax + 0x1c]
test ebx, ebx
jle 0x140720790
mov rcx, rbp
mov rbp, r13
mov r13, rcx
jmp 0x14072068d
test byte [rdx + 4], 2
je 0x14072065e
mov rax, qword [rsp + 0x228]
test byte [rax + 0x44], 0x40
jne 0x140720675
mov r8d, dword [r14 + 0x34]
mov r9d, 0x10
mov rcx, rbp
call fcn.14072bae0
or word [rbx + 0x12], 4
mov rax, qword [rsp + 0x138]
add edi, 1
add rsi, 0x38
cmp dword [rax + 0x1c], edi
jle 0x14072078d
mov rbx, qword [rax + 0x20]
add rbx, rsi
test byte [rbx + 0x12], 2
jne 0x14072067d
cmp qword [rbx + 0x30], 0
jne 0x14072067d
mov r11d, dword [rsp + 0xe8]
mov rdx, qword [rbx]
test r11d, r11d
je 0x14072064a
mov r10d, 1
mov qword [r13], 0
mov qword [r13 + 8], 0
mov qword [r13 + 0x10], 0
mov qword [r13 + 0x18], 0
mov qword [r13 + 0x20], 0
mov qword [r13 + 0x28], 0
mov word [rsp + 0x184], r10w
mov qword [rsp + 0x168], r12
mov qword [rsp + 0x170], r15
test rdx, rdx
je 0x14072064a
mov rcx, r13
mov qword [rsp + 0x40], rdx
call fcn.1406b7fd0
mov rdx, qword [rsp + 0x40]
cmp word [rsp + 0x184], 0
je 0x140720675
jmp 0x14072064a
mov eax, dword [rsp + 0xe8]
lea ebx, [rax - 1]
imul ebx, ebx, 0x70
add ebx, 0x3d0
movsxd rbx, ebx
lea rdx, [rbx + 0x70]
jmp 0x1407203d0
mov r13, qword [rsp + 0x220]
mov eax, dword [r14 + 0x38]
mov rcx, qword [rsp + 0x90]
mov rdx, r14
xor r14d, r14d
mov word [r13 + 0xe0], ax
call fcn.1406b1350
mov rax, r14
add rsp, 0x1d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov r13, rbp
test dword [rsp + 0x50], 0x100
je 0x1407207c0
mov rax, qword [rsp + 0x90]
test byte [rax + 0x60], 0x10
je 0x140721bed
movzx eax, word [rsp + 0x50]
and word [r14 + 0x3c], 0xfeff
and ah, 0xfe
mov word [rsp + 0x68], ax
mov rbx, qword [rsp + 0x130]
cmp dword [rsp + 0xe8], 1
mov r15, qword [rbx + 8]
je 0x140723364
movzx eax, byte [rbx + 0x40]
mov rsi, qword [rsp + 0x140]
lea rdx, [rax + rax*2]
lea rax, [rax + rdx*4]
lea rdi, [r15 + rax*8 + 8]
mov rax, qword [rbx]
mov rax, qword [rax]
mov dword [rsp + 0x154], 0x4e20
mov qword [rsp + 0x50], rax
lea rax, [r15 + 8]
cmp rdi, rax
jbe 0x1407217f1
mov dword [rsp + 0x48], 0
xor edx, edx
xor ecx, ecx
lea r12, [r15 + 0x70]
mov dword [rsp + 0x40], 0
mov eax, 0x4e20
xor ebp, ebp
lea r15, [rsp + 0x130]
mov qword [rsp + 0x80], r14
mov r14, rcx
mov qword [rsp + 0x220], r13
mov r13d, edx
nop dword [rax + rax]
add eax, 0x3e8
mov byte [rsi + 0x10], r13b
mov r11d, dword [rbx + 0x260]
mov dword [rsp + 0x154], eax
mov r8d, dword [r12 - 0x24]
mov eax, 1
cmp r8d, r11d
je 0x1407208b1
movsxd rdx, dword [rbx + 0x25c]
cmp edx, 1
jg 0x14072089d
jmp 0x140721910
add rax, 1
cmp rdx, rax
je 0x140721910
mov ecx, eax
cmp r8d, dword [rbx + rax*4 + 0x260]
jne 0x140720890
mov eax, 1
shl rax, cl
mov edx, dword [rsp + 0x40]
mov qword [rsi + 8], rax
movzx eax, byte [r12 - 0x2c]
test edx, edx
jne 0x140721860
test al, 0x62
jne 0x140721860
mov eax, dword [rsp + 0x48]
test eax, eax
mov eax, 0
cmove rbp, rax
mov rax, qword [r12 - 0x48]
cmp byte [rax + 0x3f], 1
je 0x14072188c
mov rdx, rbp
mov rcx, r15
call fcn.1406ddb10
xor r8d, r8d
test eax, eax
jne 0x140721828
mov rax, qword [rsp + 0x138]
cmp byte [rax + 0x11], 0
jne 0x14072193c
or r14, qword [rsi + 8]
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x67], 0
je 0x140721846
mov rdx, qword [rsi + 0x48]
lea rbx, [rsi + 0x58]
mov dword [rsp + 0x7c], 0
mov r14, qword [rsp + 0x80]
mov r13, qword [rsp + 0x220]
cmp rbx, rdx
je 0x140721802
mov rdi, qword [rsp + 0x50]
mov rcx, rdi
call fcn.1406abfe0
mov qword [rsi + 0x48], rbx
mov rdx, rsi
mov rcx, rdi
mov r9d, 3
mov word [rsi + 0x40], r9w
call fcn.1406ac0f0
mov r11d, dword [rsp + 0x7c]
xor r10d, r10d
mov dword [rsi + 0x38], 0
mov word [rsi + 0x3c], r10w
test r11d, r11d
jne 0x140720757
xor edx, edx
mov rcx, r14
call fcn.1406dc290
mov rdi, qword [rsp + 0x90]
cmp byte [rdi + 0x67], 0
jne 0x140720757
cmp qword [r14 + 0x10], 0
je 0x140721bc1
movzx eax, word [r14 + 0x48]
mov rcx, r14
lea edx, [rax + 1]
movsx edx, dx
call fcn.1406dc290
cmp byte [rdi + 0x67], 0
jne 0x140720757
mov rax, qword [r14 + 0x10]
test byte [r14 + 0x3d], 1
je 0x1407209ea
sub word [r14 + 0x48], 0x1e
test rax, rax
je 0x140721bce
mov eax, dword [r13 + 0x30]
mov dword [rsp + 0x7c], eax
test eax, eax
jne 0x140720757
movzx eax, byte [r14 + 0x40]
cmp al, 1
jbe 0x1407234e5
cmp qword [rsp + 0x240], 0
je 0x1407234e5
mov rax, qword [rsp + 0x90]
test word [rsp + 0x68], 0x400
mov qword [rsp + 0x80], 0xffffffffffffffff
mov eax, dword [rax + 0x60]
jne 0x140720a48
test ah, 1
je 0x14072471c
test eax, 0x80000
je 0x14072445b
mov rax, qword [r14]
movzx edi, word [rsp + 0x68]
movzx edx, word [r14 + 0x48]
add word [rax + 0xe0], dx
mov eax, edi
mov dword [rsp + 0x104], edi
test al, 4
je 0x140720aa7
mov rcx, qword [r14 + 0x3c0]
mov eax, dword [rcx + 0x38]
test ah, 0x10
je 0x140723c15
mov rdi, qword [rsp + 0x228]
mov r8d, 1
mov rdx, qword [rdi + 0x28]
mov byte [r14 + 0x42], r8b
test byte [rdx + 0x30], 0x80
je 0x1407245fe
mov eax, dword [rsp + 0xe8]
test eax, eax
jle 0x140724c13
lea edx, [rax - 1]
mov rsi, qword [rsp + 0x88]
lea rax, [rdx*8]
sub rax, rdx
shl rax, 4
lea r15, [r14 + rax + 0x3d0]
movzx eax, word [rsp + 0x68]
mov qword [rsp + 0x40], r15
mov r15, qword [rsp + 0x228]
and eax, 0x20
mov word [rsp + 0x48], ax
nop word [rax + rax]
movzx ebx, byte [rsi + 0x40]
lea rax, [rbx + rbx*2]
mov r10, rbx
lea rax, [rbx + rax*4]
mov rdi, qword [r15 + rax*8 + 0x28]
mov rdx, qword [rdi + 0x60]
test rdx, rdx
je 0x140724f0f
mov rax, qword [rsp + 0x90]
mov rax, qword [rax + 0x20]
cmp rdx, qword [rax + 0x18]
je 0x1407231aa
add rax, 0x38
xor r12d, r12d
nop word cs:[rax + rax]
add rax, 0x20
add r12d, 1
cmp rdx, qword [rax - 0x20]
jne 0x140720b40
mov rbp, qword [rsi + 0x60]
mov edx, dword [rdi + 0x30]
mov eax, dword [rbp + 0x38]
test dh, 0x40
jne 0x140720c38
movzx ecx, byte [rdi + 0x3f]
cmp cl, 2
je 0x140720c38
test ah, 4
jne 0x1407231bf
cmp cl, 1
je 0x140720c38
test al, 0x40
jne 0x140720b8c
cmp word [rsp + 0x48], 0
je 0x140720ba0
lea rcx, [rbx + rbx*2]
lea rcx, [rbx + rcx*4]
test byte [r15 + rcx*8 + 0x44], 0x50
je 0x140723962
lea rax, [rbx + rbx*2]
cmp byte [r14 + 0x42], 0
lea rax, [rbx + rax*4]
mov edx, dword [r15 + rax*8 + 0x4c]
mov eax, 0x70
je 0x140720bc2
mov dword [r14 + 0x28], edx
mov eax, 0x71
mov dword [rsp + 0x20], eax
mov r9, rdi
mov r8d, r12d
mov rcx, r13
mov byte [rsp + 0x50], r10b
call fcn.1406d24f0
cmp byte [r14 + 0x42], 0
movzx r10d, byte [rsp + 0x50]
mov eax, dword [rbp + 0x38]
jne 0x140720c09
cmp word [rdi + 0x36], 0x3f
jg 0x140720c09
mov edx, dword [rdi + 0x30]
mov ecx, eax
and ecx, 0x404000
and edx, 0xe0
or edx, ecx
je 0x1407246a3
mov rcx, qword [rsp + 0x98]
movsxd rdx, dword [rcx + 0x90]
test edx, edx
jle 0x140720c38
mov r8, qword [rcx + 0x88]
lea rdx, [rdx + rdx*2]
movzx ecx, byte [rsp + 0x70]
lea rdx, [r8 + rdx*8]
mov word [rdx - 0x16], cx
nop dword [rax]
test ah, 2
je 0x140720cdc
mov edx, dword [rdi + 0x30]
and edx, 0x80
mov r11, qword [rbp + 0x20]
je 0x140720c60
movzx eax, byte [r11 + 0x64]
and eax, 3
cmp al, 2
je 0x14072334d
cmp byte [r14 + 0x42], 0
jne 0x140722fe0
mov eax, dword [rsp + 0x258]
test eax, eax
je 0x14072286d
cmp word [rsp + 0x48], 0
je 0x14072286d
mov eax, dword [rsp + 0x258]
mov edx, 0x65
mov dword [rsi + 8], eax
mov r9d, dword [r11 + 0x58]
mov dword [rsp + 0x20], r12d
mov r8d, eax
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x50], r11
call fcn.1406c9b90
mov r11, qword [rsp + 0x50]
mov rcx, r13
mov rdx, r11
call fcn.1406d2480
mov eax, dword [rbp + 0x38]
test al, 0xf
je 0x140720cdc
test eax, 0x188002
jne 0x140720cdc
test byte [r14 + 0x3c], 1
je 0x1407244ab
test r12d, r12d
js 0x140720d17
mov r8, qword [r13 + 0xb0]
mov edx, 1
mov ecx, r12d
test r8, r8
cmove r8, r13
shl edx, cl
mov eax, dword [r8 + 0x84]
test eax, edx
jne 0x140720d17
or eax, edx
mov dword [r8 + 0x84], eax
cmp r12d, 1
je 0x1407236e5
lea rax, [rbx + rbx*2]
lea rax, [rbx + rax*4]
test byte [r15 + rax*8 + 0x44], 0x10
jne 0x14072260a
add rsi, 0x70
cmp rsi, qword [rsp + 0x40]
jne 0x140720af8
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 0x90]
mov dword [r14 + 0x4c], eax
mov rax, qword [rsp + 0x90]
cmp byte [rax + 0x67], 0
jne 0x140720757
mov qword [rsp + 0x220], r13
mov rdi, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x98]
nop word cs:[rax + rax]
mov rax, qword [rsp + 0x220]
mov eax, dword [rax + 0x30]
mov dword [rsp + 0xa0], eax
test eax, eax
jne 0x14072074f
mov rax, qword [rdi + 0x60]
movzx ebx, byte [rdi + 0x40]
mov rcx, qword [rsp + 0x228]
mov esi, dword [rax + 0x38]
lea rax, [rbx + rbx*2]
lea rax, [rbx + rax*4]
lea rax, [rcx + rax*8]
movzx edx, byte [rax + 0x48]
test dl, 0x10
je 0x140720de8
and edx, 8
je 0x1407227c3
mov dword [rsp + 0x20], 0
mov r9d, dword [rax + 0x38]
mov edx, 0xa
mov rcx, rbp
mov r8d, dword [rax + 0x3c]
call fcn.1406c9b90
test esi, 0x404000
je 0x140720e2b
and esi, 0x4000
je 0x1407225ee
mov r8, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x60]
mov r9, rdi
mov rcx, qword [rsp + 0x220]
call fcn.1407375d0
mov rax, qword [rsp + 0x90]
cmp byte [rax + 0x67], 0
jne 0x14072074f
mov rax, qword [rsp + 0x220]
mov rax, qword [rax + 0xb0]
test rax, rax
cmove rax, qword [rsp + 0x220]
cmp byte [rax + 0x133], 2
jne 0x140720e78
mov eax, dword [rsp + 0x104]
mov r9, qword [rdi + 0x60]
movzx r8d, byte [rdi + 0x40]
mov rdx, qword [rsp + 0x228]
mov dword [rsp + 0x20], eax
mov rcx, qword [rsp + 0x220]
call fcn.1406cc250
mov eax, dword [rbp + 0x90]
movzx esi, byte [rdi + 0x40]
mov rcx, qword [r14 + 8]
mov r15, qword [rdi + 0x60]
mov dword [rdi + 0x20], eax
mov rax, qword [rsp + 0x220]
mov r12, rsi
mov qword [rsp + 0x48], rcx
mov r13, qword [rax]
lea rax, [rsi + rsi*2]
mov qword [rsp + 0x40], rsi
lea rax, [rsi + rax*4]
mov r8d, dword [rcx + rax*8 + 0x4c]
mov rax, qword [rsp + 0x80]
mov dword [rsp + 0x88], r8d
and rax, 0xfffffffffffffffe
cmp r8d, dword [r14 + 0x260]
je 0x140720f15
movsxd rdx, dword [r14 + 0x25c]
cmp edx, 1
jle 0x1407225e1
mov eax, 1
jmp 0x140720efd
add rax, 1
cmp rdx, rax
je 0x1407225e1
mov ecx, eax
cmp r8d, dword [r14 + rax*4 + 0x260]
jne 0x140720ef0
mov rax, qword [rsp + 0x80]
btr rax, rcx
mov qword [rdi + 0x68], rax
mov rax, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x220]
mov rbx, qword [r14 + 0x68]
mov eax, dword [rax + 0x44]
lea esi, [rax - 1]
sub eax, 2
mov dword [rdi + 0x10], esi
mov dword [rdi + 0xc], esi
mov dword [rsp + 0x58], eax
mov dword [rcx + 0x44], eax
mov dword [rdi + 0x18], eax
test r12b, r12b
je 0x140720f68
mov rcx, qword [rsp + 0x40]
lea rax, [rcx + rcx*2]
lea rax, [rcx + rax*4]
mov rcx, qword [rsp + 0x48]
test byte [rcx + rax*8 + 0x44], 8
jne 0x140722c4f
mov edx, dword [rsp + 0x7c]
test edx, edx
je 0x1407239b6
lea rax, [rdi - 0x360]
jmp 0x140720f93
cmp qword [rax + 0x398], 0
jne 0x140720f9d
sub rax, 0x70
sub edx, 1
je 0x140720f9d
mov ecx, dword [rax + 0x360]
test ecx, ecx
je 0x140720f80
mov rcx, qword [rsp + 0x40]
lea rax, [rcx + rcx*2]
lea rax, [rcx + rax*4]
mov rcx, qword [rsp + 0x48]
lea rax, [rcx + rax*8]
movzx r8d, byte [rax + 0x48]
mov ecx, r8d
and ecx, 0x20
mov byte [rsp + 0xa8], cl
jne 0x140722743
movzx ecx, byte [rsp + 0x7c]
shr rbx, cl
mov eax, ebx
and eax, 1
mov dword [rsp + 0x50], eax
mov eax, dword [r15 + 0x38]
test ah, 4
jne 0x140722949
test ah, 1
je 0x140720ff6
test al, 5
jne 0x14072356f
movsxd rdx, edx
lea rcx, [rdx*8]
sub rcx, rdx
mov edx, eax
shl rcx, 4
and edx, 0x102
mov r9d, dword [r14 + rcx + 0x36c]
cmp edx, 0x102
je 0x140722cf0
test ah, 2
je 0x140722e6c
movzx ecx, word [r15 + 0x1c]
movzx ebx, word [r15 + 0x18]
movzx r10d, word [r15 + 0x1a]
mov word [rsp + 0x100], cx
mov rcx, qword [r15 + 0x20]
mov word [rsp + 0xc0], bx
mov qword [rsp + 0x68], rcx
mov ecx, dword [rdi + 8]
mov word [rsp + 0xd0], r10w
mov dword [rsp + 0xb0], ecx
test al, 0x20
je 0x140723646
mov r8, qword [r15 + 0x48]
movzx ecx, bx
lea edx, [rbx + 1]
mov rsi, qword [r8 + rcx*8]
mov qword [rsp + 0xc8], rsi
movzx esi, r10w
test al, 0x10
je 0x140723632
mov rcx, qword [r15 + 0x48]
movsxd rdx, edx
mov rcx, qword [rcx + rdx*8]
movzx edx, word [rsp + 0x100]
cmp esi, edx
mov qword [rsp + 0xb8], rcx
cmovl esi, edx
test byte [rcx + 0x13], 1
jne 0x140724c8d
xor r10d, r10d
cmp qword [rsp + 0xc8], 0
je 0x140724bd5
and eax, 0x80030
xor r12d, r12d
cmp eax, 0x80000
je 0x1407238d4
mov rcx, qword [rsp + 0x68]
movzx eax, word [rsp + 0xc0]
cmp ax, word [rcx + 0x60]
jae 0x140721155
mov rdx, qword [rcx + 0x38]
cmp byte [rdx + rax], 0
sete al
movzx eax, al
cmp dword [rsp + 0x50], eax
jne 0x140721155
mov rcx, qword [rsp + 0xb8]
mov edx, r10d
movzx eax, byte [rsp + 0xd0]
xor r10d, r10d
mov byte [rsp + 0xa8], dl
mov rdx, qword [rsp + 0xc8]
mov qword [rsp + 0xc8], rcx
movzx ecx, word [rsp + 0x100]
mov qword [rsp + 0xb8], rdx
mov word [rsp + 0xd0], cx
mov word [rsp + 0x100], ax
mov r8d, dword [rsp + 0x7c]
test r8d, r8d
je 0x14072116a
test byte [r15 + 0x3a], 0x10
jne 0x140724b54
lea rax, [rsp + 0x160]
mov r8d, dword [rsp + 0x50]
mov r9d, esi
mov rdx, rdi
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0x220]
mov byte [rsp + 0xd8], r10b
call fcn.14071fcb0
cmp word [rsp + 0x100], 0
movzx r10d, byte [rsp + 0xd8]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x160]
je 0x1407211c0
test rax, rax
jne 0x140724468
mov qword [rsp + 0xf8], 0
test r12d, r12d
je 0x14072365b
mov esi, dword [rdi + 0x28]
mov rcx, qword [rsp + 0xc8]
test rcx, rcx
setne byte [rsp + 0xe0]
movzx edx, byte [rsp + 0xe0]
cmp word [rsp + 0xc0], 0
setne al
test rcx, rcx
je 0x14072382d
test byte [rcx + 0x14], 0x28
setne cl
movzx ecx, cl
mov dword [rsp + 0xf0], ecx
mov rcx, qword [rsp + 0xb8]
test rcx, rcx
je 0x140723dfc
test byte [rcx + 0x14], 0x28
setne cl
or eax, edx
movzx ecx, cl
movzx eax, al
mov dword [rsp + 0xec], ecx
mov dword [rsp + 0xd8], eax
mov rax, qword [rsp + 0xc8]
mov ecx, dword [rsp + 0x70]
movzx r9d, word [rsp + 0xd0]
mov rax, qword [rax]
lea r8d, [rbx + rcx]
mov rcx, qword [rsp + 0x220]
mov dword [rsp + 0x108], r8d
mov r10, qword [rax + 0x18]
mov dword [rsp + 0xd0], r9d
mov rdx, r10
mov qword [rsp + 0xe0], r10
call fcn.14072f550
mov rax, qword [rsp + 0xc8]
mov r10, qword [rsp + 0xe0]
mov r8d, dword [rsp + 0x108]
movzx edx, word [rax + 0x12]
test dh, 1
je 0x1407212da
mov rax, qword [rbp]
mov ecx, dword [rdi + 0x2c]
lea r9, [0x140c43220]
cmp byte [rax + 0x67], 0
je 0x140724628
mov eax, ecx
shr eax, 1
mov dword [r9 + 0xc], eax
mov eax, ecx
and eax, 1
mov word [r9 + 2], ax
and edx, 0x80
je 0x140724b07
mov r8, qword [rsp + 0x160]
test r8, r8
je 0x14072131d
movzx eax, word [rsp + 0xc0]
mov edx, dword [rsp + 0xd0]
mov rcx, r10
mov qword [rsp + 0xc0], r10
add r8, rax
call fcn.1406acbc0
mov r10, qword [rsp + 0xc0]
mov eax, dword [rsp + 0xd0]
add eax, ebx
mov dword [rsp + 0xc0], eax
movzx eax, byte [r10]
cmp al, 0xb0
jne 0x14072133a
movzx eax, byte [r10 + 2]
cmp al, 0xb1
je 0x140724c7a
cmp al, 0x8a
je 0x140724c3c
mov rdx, qword [rsp + 0xc8]
mov rcx, rdi
call fcn.14069f1d0
mov byte [rsp + 0xe0], 1
mov r8d, dword [rsp + 0xc0]
mov dword [rsp + 0xd0], 0
mov rax, qword [rsp + 0x220]
mov r9, qword [rsp + 0x160]
mov edx, dword [rsp + 0x70]
mov rcx, qword [rax + 0x10]
call fcn.1406cbec0
movzx eax, word [r15 + 0x3e]
test ax, ax
je 0x1407213a9
cmp dword [rsp + 0xc0], eax
je 0x1407238c4
mov r10d, dword [rsp + 0xd8]
shl r10d, 2
test r12d, r12d
jne 0x140723b1e
mov r8d, dword [rdi + 0x34]
test r8d, r8d
jne 0x140723a57
mov eax, dword [rsp + 0xf0]
lea rcx, [0x140bc5970]
lea eax, [r10 + rax*2]
add eax, dword [rsp + 0x50]
cdqe
movzx r10d, byte [rcx + rax]
test byte [r15 + 0x3a], 0x10
je 0x1407213f9
cmp r10d, 0x17
je 0x1407250f4
mov eax, dword [rsp + 0xc0]
mov r9d, esi
mov edx, r10d
mov rcx, rbp
mov r8d, dword [rsp + 0xb0]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x20], eax
call fcn.1406ca680
mov dword [rsp + 0xc8], 0
test r12d, r12d
jne 0x1407239e4
mov rax, qword [rsp + 0xb8]
test rax, rax
je 0x140723758
mov rax, qword [rax]
mov ecx, dword [rsp + 0x70]
movzx r9d, word [rsp + 0x100]
mov r10, qword [rax + 0x18]
add ecx, ebx
mov dword [rsp + 0xc0], ecx
mov r8d, ecx
mov rcx, qword [rsp + 0x220]
mov rdx, r10
mov qword [rsp + 0xd8], r10
mov dword [rsp + 0xa8], r9d
call fcn.14072f550
mov rax, qword [rsp + 0xb8]
mov r10, qword [rsp + 0xd8]
movzx ecx, word [rax + 0x12]
test ch, 1
je 0x1407214ca
mov rax, qword [rbp]
mov edx, dword [rdi + 0x2c]
lea r8, [0x140c43220]
cmp byte [rax + 0x67], 0
je 0x140724663
mov eax, edx
shr eax, 1
mov dword [r8 + 0xc], eax
mov eax, edx
and eax, 1
mov word [r8 + 2], ax
and ecx, 0x80
je 0x14072491e
mov rax, qword [rsp + 0xf8]
test rax, rax
je 0x14072152d
mov edx, dword [rsp + 0xa8]
mov rcx, r10
mov r8, rax
mov qword [rsp + 0xd8], r10
call fcn.1406acbc0
mov rax, qword [rsp + 0x220]
mov r9, qword [rsp + 0xf8]
mov r8d, dword [rsp + 0xa8]
mov edx, dword [rsp + 0xc0]
mov rcx, qword [rax + 0x10]
call fcn.1406cbec0
mov r10, qword [rsp + 0xd8]
mov eax, dword [rsp + 0xa8]
add eax, ebx
mov dword [rsp + 0xc0], eax
movzx eax, byte [r10]
cmp al, 0xb0
jne 0x14072154a
movzx eax, byte [r10 + 2]
cmp al, 0xb1
je 0x140724dfb
cmp al, 0x8a
je 0x140724dd8
mov rdx, qword [rsp + 0xb8]
mov rcx, rdi
call fcn.14069f1d0
mov rdx, qword [rsp + 0x160]
test rdx, rdx
je 0x14072157f
mov rcx, r13
call fcn.1406ac8c0
mov rax, qword [rsp + 0xf8]
test rax, rax
je 0x140721597
mov rdx, rax
mov rcx, r13
call fcn.1406ac8c0
mov eax, dword [rbp + 0x90]
mov r10d, dword [rsp + 0xc0]
mov dword [rdi + 0x48], eax
test r10d, r10d
je 0x140721e12
mov ecx, dword [rsp + 0x50]
mov r11d, dword [rsp + 0xec]
add ecx, ecx
mov dword [rsp + 0xa8], ecx
add r11d, ecx
test r12d, r12d
jne 0x140724d5d
mov eax, dword [rsp + 0xc0]
movsxd r11, r11d
mov r9d, esi
mov rcx, rbp
lea r13, [0x140bc5969]
mov r8d, dword [rsp + 0xb0]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x70]
movzx edx, byte [r13 + r11]
mov dword [rsp + 0x20], eax
call fcn.1406ca680
mov r9d, dword [rsp + 0xc8]
test r9d, r9d
jne 0x140721df4
mov eax, dword [r15 + 0x38]
test eax, 0x40000
jne 0x140723808
test al, 0x40
je 0x140723230
test word [r14 + 0x3c], 0x1020
jne 0x140723230
mov ebx, 1
mov ecx, dword [rdi]
test ecx, ecx
jne 0x140721667
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x48]
test rcx, rcx
je 0x140721667
mov r8, qword [rsp + 0x60]
mov edx, dword [rsp + 0x88]
call fcn.1406d9c00
mov eax, dword [r15 + 0x38]
test ah, 0x10
je 0x1407236d0
mov byte [rdi + 0x41], 0xb9
mov edx, eax
mov esi, dword [rsp + 0xb0]
shr edx, 0x10
and edx, 1
mov dword [rdi + 0x44], esi
mov byte [rdi + 0x42], dl
test al, 0xf
jne 0x140721695
mov byte [rdi + 0x43], 1
test ebx, ebx
mov eax, 0
cmove rax, qword [rsp + 0x68]
cmp ebx, 1
sbb r15d, r15d
mov qword [rsp + 0x68], rax
add r15d, 2
nop dword [rax]
mov rax, qword [rsp + 0x40]
lea rsi, [rax + rax*2]
lea rax, [rsi*4]
mov qword [rsp + 0x50], rax
mov eax, r15d
mov r15, rbp
mov ebp, eax
nop word cs:[rax + rax]
movsxd rax, dword [r14 + 0x84]
mov rbx, qword [r14 + 0x90]
test eax, eax
jle 0x1407220e8
lea rdx, [rax*8]
xor r13d, r13d
sub rdx, rax
mov eax, ebp
mov rbp, r15
lea rsi, [rbx + rdx*8]
mov r15d, eax
movzx edx, word [rbx + 0x12]
test dl, 6
jne 0x1407217c0
mov r8, qword [rdi + 0x68]
mov rax, r8
and rax, qword [rbx + 0x30]
jne 0x140721ed8
mov rcx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x50]
add rax, qword [rsp + 0x40]
mov r12, qword [rbx]
movzx eax, byte [rcx + rax*8 + 0x44]
test al, 0x58
je 0x140721e90
mov ecx, dword [r12 + 4]
test cl, 3
je 0x1407217c0
test al, 8
je 0x140721760
and ecx, 1
je 0x1407217c0
mov r11d, dword [r12 + 0x34]
cmp r11d, dword [r14 + 0x260]
je 0x1407220d8
movsxd r9, dword [r14 + 0x25c]
cmp r9d, 1
jle 0x140721f80
mov eax, 1
jmp 0x14072179d
add rax, 1
cmp r9, rax
je 0x140721f80
mov ecx, eax
cmp r11d, dword [r14 + rax*4 + 0x260]
jne 0x140721790
mov eax, 1
shl rax, cl
test r8, rax
je 0x140721f80
nop word [rax + rax]
add rbx, 0x38
cmp rbx, rsi
jne 0x140721710
mov r15, rbp
test r13d, r13d
je 0x1407228cc
mov ebp, r13d
jmp 0x1407216e0
mov r14, qword [rsp + 0x80]
mov r13, qword [rsp + 0x220]
mov rdx, qword [rsi + 0x48]
lea rbx, [rsi + 0x58]
cmp rdx, rbx
jne 0x140720951
mov rcx, qword [rsp + 0x50]
mov rdx, rsi
call fcn.1406ac0f0
xor eax, eax
mov dword [rsi + 0x38], 0
mov word [rsi + 0x3c], ax
jmp 0x140720995
or r14, qword [rsi + 8]
cmp eax, 0x65
jne 0x1407253a5
lea rdx, str.abbreviated_query_algorithm_search
mov ecx, 0x1c
call fcn.1406dfaa0
add r13d, 1
cmp rdi, r12
jbe 0x1407217e1
mov eax, dword [rsp + 0x154]
add r12, 0x68
jmp 0x140720858
test al, 0x40
mov edx, 1
cmove edx, dword [rsp + 0x48]
shr al, 4
and eax, 1
or rbp, r14
mov dword [rsp + 0x40], eax
mov rax, qword [r12 - 0x48]
mov dword [rsp + 0x48], edx
cmp byte [rax + 0x3f], 1
jne 0x1407208ed
cmp rdi, r12
jbe 0x1407236c8
mov r10, r12
xor r8d, r8d
nop dword [rax + rax]
test r8, r8
je 0x140721920
mov r9d, dword [r10 + 0x44]
cmp r11d, r9d
je 0x140721936
movsxd rdx, dword [rbx + 0x25c]
cmp edx, 1
jle 0x1407218e8
mov eax, 1
jmp 0x1407218d1
add rax, 1
cmp rdx, rax
je 0x1407218e8
mov ecx, eax
cmp r9d, dword [rbx + rax*4 + 0x260]
jne 0x1407218c8
mov eax, 1
shl rax, cl
or r8, rax
add r10, 0x68
cmp rdi, r10
ja 0x1407218a0
mov rdx, rbp
mov rcx, r15
mov qword [rsp + 0x58], r8
call fcn.14071d6e0
mov r8, qword [rsp + 0x58]
jmp 0x1407208fb
xor eax, eax
jmp 0x1407208b1
test byte [r10 + 0x3c], 0x22
jne 0x1407218a5
add r10, 0x68
cmp rdi, r10
ja 0x140721920
jmp 0x1407218f1
or r8, 1
jmp 0x1407218e8
mov rdx, rbp
mov rcx, r15
call fcn.14071e1a0
or r14, qword [rsi + 8]
test eax, eax
je 0x140720919
jmp 0x14072182c
mov rax, qword [rsp + 0x228]
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x48], r14
lea rbx, [rax + 0x28]
nop dword [rax]
mov rsi, qword [rsp + 0x48]
mov edx, dword [rbx + 0x24]
mov rdi, qword [rsp + 0x228]
movsxd rax, dword [rsi + 0x25c]
lea ecx, [rax + 1]
mov dword [rsi + 0x25c], ecx
mov dword [rsi + rax*4 + 0x260], edx
movsxd rax, dword [rsp + 0x40]
lea rdx, [rax + rax*2]
lea rax, [rax + rdx*4]
test byte [rdi + rax*8 + 0x48], 4
je 0x140721b40
mov r12, qword [rbx + 0x38]
test r12, r12
je 0x140721b40
mov r14d, dword [r12]
test r14d, r14d
jle 0x140721b40
mov rdi, qword [rbx]
xor esi, esi
xor ebp, ebp
nop dword [rax + rax]
movsx edx, word [rdi + 0x36]
mov r9d, esi
cmp ebp, edx
jge 0x140721b70
movsxd rax, ebp
mov r14d, ebp
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
lea rax, [rax + rcx*8 + 0x12]
jmp 0x140721a19
add r14d, 1
add rax, 0x18
cmp r14d, edx
je 0x140721b70
test byte [rax], 2
je 0x140721a08
mov rcx, qword [r13]
mov edx, 0x48
call fcn.1406bbba0
mov r15, rax
test rax, rax
je 0x140721b40
mov qword [r15 + 0x28], 0
mov ebp, 0xffffffff
mov rdx, rdi
mov ecx, r14d
mov qword [r15 + 0x30], 0
mov qword [r15], 0
mov qword [r15 + 0x40], 0
mov qword [r15 + 8], 0
mov qword [r15 + 0x10], 0
mov qword [r15 + 0x18], 0
mov qword [r15 + 0x20], 0
mov qword [r15 + 0x38], 0
mov byte [r15], 0xa7
mov eax, dword [rbx + 0x24]
mov word [r15 + 0x32], bp
lea ebp, [r14 + 1]
mov dword [r15 + 0x28], 1
mov dword [r15 + 0x2c], eax
mov word [r15 + 0x30], r14w
mov qword [r15 + 0x40], rdi
call fcn.1406a79d0
or qword [rbx + 0x30], rax
mov rax, rsi
shl rax, 5
mov rdx, qword [r12 + rax + 8]
test rdx, rdx
je 0x140721adb
mov rcx, qword [r13]
xor r9d, r9d
xor r8d, r8d
call fcn.1406beb90
mov rdx, rax
xor r9d, r9d
mov r8, rdx
mov rcx, r13
mov edx, 0xae
call fcn.1406ce540
mov r8, r15
mov edx, 0x35
mov rcx, r13
mov r9, rax
call fcn.1406ce540
mov edx, dword [rbx + 0x24]
mov r9, rax
xor eax, eax
test byte [rbx + 0x1c], 0x18
sete al
mov rcx, r9
add rsi, 1
lea r8d, [rax + 1]
call fcn.14069ef10
mov rcx, qword [rsp + 0x60]
mov r8d, 1
mov rdx, r9
call fcn.1406bcc60
cmp dword [r12], esi
jg 0x1407219e0
nop dword [rax]
mov rdi, qword [rsp + 0x228]
add dword [rsp + 0x40], 1
add rbx, 0x68
mov eax, dword [rsp + 0x40]
cmp dword [rdi], eax
jg 0x140721978
mov r14, qword [rsp + 0x48]
jmp 0x1407205a9
mov r8, qword [rdi]
lea rdx, str.too_many_arguments_on__s_____max__d
mov rcx, r13
call fcn.1406bb9a0
jmp 0x140721b40
test r14, r14
je 0x140720776
mov rcx, qword [rsp + 0x90]
mov rdx, r14
xor r14d, r14d
call fcn.1406abfe0
jmp 0x140720776
mov rax, qword [rsp + 0x90]
test byte [rax + 0x60], 0x10
jne 0x140720598
mov byte [r14 + 0x43], 1
jmp 0x140720598
test byte [r14 + 0x3d], 1
je 0x140721bce
sub word [r14 + 0x48], 0x1e
mov rax, qword [rsp + 0x90]
test byte [rax + 0x31], 0x10
je 0x1407209f3
mov rcx, r14
call fcn.14069f540
jmp 0x1407209f3
mov rax, qword [rsp + 0x228]
cmp dword [rax], 1
jne 0x140721dcd
mov rax, qword [rsp + 0x228]
mov ebp, dword [rax + 0x4c]
mov r9, qword [rax + 0x28]
mov rax, qword [rsp + 0x240]
mov eax, dword [rax]
test eax, eax
jle 0x140721c76
mov rdi, qword [rsp + 0x240]
sub eax, 1
shl rax, 5
lea rcx, [rdi + 8]
lea r8, [rdi + rax + 0x28]
mov rax, qword [rcx]
test rax, rax
jne 0x140721c4d
jmp 0x140721c6d
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
test rax, rax
je 0x140721c6d
mov edx, dword [rax + 4]
test edx, 0x82000
je 0x1407248b0
and edx, 0x80000
jne 0x140721c40
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140721c4d
add rcx, 0x20
cmp r8, rcx
jne 0x140721c33
mov r12, qword [r9 + 0x10]
test r12, r12
je 0x140721dcd
mov qword [rsp + 0x220], r13
mov rsi, qword [rsp + 0x240]
mov r13, r12
mov qword [rsp + 0x40], r14
mov r12, qword [rsp + 0x60]
jmp 0x140721cb5
mov r13, qword [r13 + 0x28]
test r13, r13
je 0x140721dc0
cmp byte [r13 + 0x62], 0
je 0x140721ca8
cmp qword [r13 + 0x48], 0
jne 0x140721ca8
cmp word [r13 + 0x5e], 0
je 0x140721da9
xor edi, edi
jmp 0x140721ced
movzx eax, word [r13 + 0x5e]
add rdi, 1
lea r14d, [r15 + 1]
cmp eax, edi
jle 0x140721da0
mov qword [rsp + 0x28], r13
mov r8d, edi
mov edx, ebp
mov rcx, r12
mov dword [rsp + 0x20], 2
mov r9, 0xffffffffffffffff
mov r15d, edi
mov r14d, edi
call fcn.1406db670
test rax, rax
jne 0x140721cd8
mov rax, qword [r13 + 0x40]
mov r9d, dword [rsi]
mov r8, qword [rax + rdi*8]
test r9d, r9d
jle 0x140721d9b
lea r9, [rdi + rdi]
mov rcx, rdi
mov rax, r12
mov rdi, r8
mov r12d, r15d
xor ebx, ebx
mov r15, r9
mov r8, rcx
mov r9, rax
nop dword [rax]
mov rax, rbx
shl rax, 5
mov r10, qword [rsi + rax + 8]
mov rax, r10
test r10, r10
jne 0x140721d6d
jmp 0x140721d90
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
test rax, rax
je 0x140721d90
mov edx, dword [rax + 4]
test edx, 0x82000
je 0x1407247f0
and edx, 0x80000
jne 0x140721d60
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140721d6d
nop dword [rax]
add rbx, 1
cmp dword [rsi], ebx
jg 0x140721d48
mov r12, r9
movzx eax, word [r13 + 0x5e]
cmp r14d, eax
jne 0x140721ca8
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x220]
mov byte [r14 + 0x43], 1
jmp 0x1407207c0
mov r14, qword [rsp + 0x40]
mov r13, qword [rsp + 0x220]
cmp qword [rsp + 0x238], 0
jne 0x1407207c0
mov rax, qword [rsp + 0x240]
or word [r14 + 0x3c], 0x80
mov qword [r14 + 0x10], rax
jmp 0x1407207c0
mov rcx, qword [rbp]
mov eax, dword [rbp + 0x90]
lea rdx, [0x140c43220]
cmp byte [rcx + 0x67], 0
je 0x140724647
mov dword [rdx + 8], eax
test r12d, r12d
je 0x140721619
mov ecx, dword [rsp + 0x50]
lea r13, [0x140bc5969]
add ecx, ecx
mov dword [rsp + 0xa8], ecx
mov r8d, r12d
mov rcx, rbp
lea r9d, [rax + 2]
mov edx, 0x10
mov dword [rsp + 0x20], 0
call fcn.1406c9b90
mov ecx, dword [rsp + 0xd0]
mov eax, dword [rsp + 0xa8]
mov r9d, esi
mov r8d, dword [rsp + 0xb0]
add eax, ecx
cdqe
movzx edx, byte [r13 + rax]
mov eax, dword [rsp + 0xc0]
add eax, ecx
mov rcx, rbp
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x20], eax
call fcn.1406ca680
jmp 0x140721619
cmp r15d, 1
je 0x140721ee8
cmp r15d, 3
jne 0x140721f63
and dh, 2
je 0x140721eb0
mov edx, dword [rdi + 0x2c]
test edx, edx
jne 0x140722020
mov r8d, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x220]
mov r9d, 0x10
mov rdx, r12
call fcn.14072bae0
or word [rbx + 0x12], 4
jmp 0x1407217c0
or byte [r14 + 0x44], 2
jmp 0x1407217c0
mov eax, dword [rdi + 4]
lea rcx, [rsp + 0x160]
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x170], 0
mov dword [rsp + 0x128], eax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x120], rax
lea rax, [0x1406a5850]
mov qword [rsp + 0x168], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], rax
test r12, r12
jne 0x140721ff8
movzx edx, word [rbx + 0x12]
test dh, 0x10
je 0x140721ea0
test r13d, r13d
mov eax, 3
cmove r13d, eax
jmp 0x1407217c0
cmp r15d, 1
jne 0x140721e96
mov eax, dword [rdi + 4]
lea rcx, [rsp + 0x160]
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x170], 0
mov dword [rsp + 0x128], eax
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x120], rax
lea rax, [0x1406a5850]
mov qword [rsp + 0x168], rax
lea rax, [rsp + 0x120]
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x188], rax
mov rdx, r12
call fcn.1406b7fd0
cmp word [rsp + 0x184], 0
je 0x140721f5f
mov r13d, 2
jmp 0x1407217c0
mov r8d, edx
and edx, 1
mov eax, dword [rbp + 0x90]
shr r8d, 1
add edx, 0x10
cmp eax, dword [rbp + 0x94]
jge 0x1407224b0
lea ecx, [rax + 1]
mov dword [rbp + 0x90], ecx
movsxd rcx, eax
lea r9, [rcx + rcx*2]
mov rcx, qword [rbp + 0x88]
lea rcx, [rcx + r9*8]
mov byte [rcx], dl
xor edx, edx
mov word [rcx + 2], dx
mov dword [rcx + 4], r8d
mov qword [rcx + 8], 0
mov qword [rcx + 0x10], 0
mov byte [rcx + 1], 0
mov r8d, dword [rsp + 0x58]
mov r9d, 0x10
mov rdx, r12
mov dword [rsp + 0x70], eax
mov rcx, qword [rsp + 0x220]
call fcn.14072bae0
movsxd rax, dword [rsp + 0x70]
test eax, eax
je 0x140721ecb
mov r8, qword [rbp]
mov ecx, dword [rbp + 0x90]
lea rdx, [0x140c43220]
cmp byte [r8 + 0x67], 0
jne 0x1407220cc
lea rdx, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea rdx, [rax + rdx*8]
mov dword [rdx + 8], ecx
jmp 0x140721ecb
mov eax, 1
jmp 0x1407217b1
mov rbp, r15
movsxd rax, dword [r14 + 0x8c]
test eax, eax
jle 0x140722245
lea rdx, [rax*8]
mov esi, dword [rsp + 0x88]
sub rdx, rax
mov rax, qword [rsp + 0x40]
lea r15, [rbx + rdx*8]
lea r12, [rax + rax*2]
shl r12, 2
nop dword [rax]
test byte [rbx + 0x12], 6
jne 0x140722238
movzx eax, word [rbx + 0x14]
test al, 0x82
je 0x140722238
test ah, 8
je 0x140722238
cmp esi, dword [rbx + 0x1c]
jne 0x140722238
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
add rax, r12
test byte [rcx + rax*8 + 0x44], 0x58
jne 0x140722238
mov r13, qword [rbx]
mov r8d, dword [rbx + 0x20]
mov dword [rsp + 0x20], 0x83
mov edx, esi
mov qword [rsp + 0x28], 0
mov r9, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
call fcn.1406db670
test rax, rax
je 0x140722238
test byte [rax + 0x12], 4
jne 0x140722238
mov rdx, qword [rax]
test byte [rax + 0x14], 1
je 0x1407221bb
test byte [rdx + 5], 0x10
je 0x1407221bb
mov rcx, qword [rdx + 0x20]
mov rcx, qword [rcx + 0x20]
cmp dword [rcx], 1
jg 0x140722238
movdqu xmm0, xmmword [rdx]
mov r8d, dword [rsp + 0x58]
mov qword [rsp + 0x50], rax
mov r9d, 0x10
mov rcx, qword [rsp + 0x220]
movaps xmmword [rsp + 0x160], xmm0
movdqu xmm1, xmmword [rdx + 0x10]
movaps xmmword [rsp + 0x170], xmm1
movdqu xmm2, xmmword [rdx + 0x20]
movaps xmmword [rsp + 0x180], xmm2
movdqu xmm3, xmmword [rdx + 0x30]
movaps xmmword [rsp + 0x190], xmm3
mov rdx, qword [rdx + 0x40]
mov qword [rsp + 0x1a0], rdx
mov rdx, qword [r13 + 0x10]
mov qword [rsp + 0x170], rdx
lea rdx, [rsp + 0x160]
call fcn.14072bae0
mov rax, qword [rsp + 0x50]
or word [rax + 0x12], 4
nop dword [rax]
add rbx, 0x38
cmp rbx, r15
jne 0x140722120
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0x50], rax
test rax, rax
je 0x1407224c8
movzx eax, byte [rdi + 0x40]
mov rsi, qword [r14 + 8]
lea rdx, [rax + rax*2]
lea rax, [rax + rdx*4]
lea rax, [rsi + rax*8]
mov r15, qword [rax + 0x28]
test byte [r15 + 0x30], 0x80
je 0x1407228d8
mov r13, qword [r15 + 0x10]
test r13, r13
jne 0x14072229d
jmp 0x14072549d
mov r13, qword [r13 + 0x28]
test r13, r13
je 0x140799cc3
movzx eax, byte [r13 + 0x64]
and eax, 3
cmp al, 2
jne 0x140722290
movzx ebx, word [r13 + 0x5e]
mov rcx, qword [rsp + 0x220]
lea eax, [rbx + 1]
mov edx, eax
mov dword [rsp + 0x70], eax
call fcn.1406a57e0
mov dword [rsp + 0x80], eax
test ebx, ebx
je 0x140723e17
lea esi, [rax + 1]
mov qword [rsp + 0xa8], rdi
mov rdi, r13
xor r12d, r12d
mov dword [rsp + 0x68], esi
mov r13d, esi
mov esi, dword [rsp + 0x88]
nop word [rax + rax]
mov rax, qword [rdi + 8]
mov r8d, esi
mov rdx, r15
mov rcx, rbp
movsx r9d, word [rax + r12*2]
lea eax, [r13 + r12]
add r12, 1
mov dword [rsp + 0x20], eax
call fcn.14072e5e0
cmp ebx, r12d
jg 0x1407222f8
mov rdi, qword [rsp + 0xa8]
mov rax, qword [rsp + 0x50]
movsxd rsi, dword [rbp + 0x90]
mov r8d, dword [rax]
cmp esi, dword [rbp + 0x94]
jge 0x140722ccc
lea eax, [rsi + 1]
mov ecx, dword [rsp + 0x68]
mov dword [rbp + 0x90], eax
movsxd rax, esi
lea rdx, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], r8d
mov dword [rax + 8], 0
mov dword [rax + 0xc], ecx
mov dword [rax + 0x10], ebx
mov dword [rax], 0xfd1d
mov r15d, dword [rsp + 0x68]
mov r9d, ebx
mov edx, 0x61
mov rcx, rbp
mov r13d, dword [rsp + 0x80]
mov r8d, r15d
mov dword [rsp + 0x20], r13d
call fcn.1406c9b90
mov r9d, r13d
mov r13, qword [rsp + 0x50]
mov rcx, rbp
mov dword [rsp + 0x28], ebx
mov edx, 0x8a
mov dword [rsp + 0x20], r15d
mov r8d, dword [r13]
call fcn.1406ca680
mov r8d, dword [r13 + 4]
mov dword [rsp + 0x28], ebx
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov edx, 0xb5
mov rcx, rbp
call fcn.1406ca680
mov eax, dword [rbp + 0x90]
test eax, eax
jle 0x140722403
mov r11, qword [rbp + 0x88]
movsxd rdx, eax
mov ebx, 0x10
lea rdx, [rdx + rdx*2]
lea rdx, [r11 + rdx*8]
mov word [rdx - 0x16], bx
mov rcx, qword [rbp]
lea rdx, [0x140c43220]
cmp byte [rcx + 0x67], 0
jne 0x140722423
mov rdx, qword [rbp + 0x88]
lea rcx, [rsi + rsi*2]
lea rdx, [rdx + rcx*8]
cmp dword [rsp + 0x70], 1
mov dword [rdx + 8], eax
je 0x140722c8e
mov rcx, qword [rsp + 0x220]
mov esi, dword [rsp + 0x70]
cmp dword [rcx + 0x28], esi
jge 0x140722452
mov dword [rcx + 0x28], esi
mov rsi, rcx
mov ecx, dword [rsp + 0x80]
mov dword [rsi + 0x2c], ecx
mov r9d, dword [rdi]
test r9d, r9d
jne 0x1407224d6
mov rbx, qword [rdi + 0x38]
test rbx, rbx
jne 0x1407224fd
mov rax, qword [rdi + 0x68]
mov qword [rsp + 0x80], rax
mov eax, dword [rdi + 0x18]
add dword [rsp + 0x7c], 1
add rdi, 0x70
mov dword [r14 + 0x30], eax
mov eax, dword [rsp + 0x7c]
cmp eax, dword [rsp + 0xe8]
jne 0x140720d80
mov rax, qword [rsp + 0x98]
mov eax, dword [rax + 0x90]
mov dword [r14 + 0x50], eax
jmp 0x140720776
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov rcx, rbp
call fcn.1406c9b00
jmp 0x140722079
mov r9d, dword [rdi]
test r9d, r9d
je 0x140722467
mov eax, dword [rbp + 0x90]
mov dword [rdi + 0x1c], eax
mov r8d, 1
mov edx, 0x47
mov rcx, rbp
mov dword [rsp + 0x20], 0
call fcn.1406c9b90
mov rbx, qword [rdi + 0x38]
test rbx, rbx
je 0x14072252e
mov r9d, dword [rbx + 8]
xor r8d, r8d
mov edx, 0x4a
mov rcx, rbp
mov dword [rsp + 0x20], 0
call fcn.1406c9b90
mov eax, dword [rbp + 0x90]
mov dword [rbx + 0xc], eax
mov rax, qword [rsp + 0x220]
add byte [rax + 0x26], 1
mov rdx, qword [rdi + 0x68]
mov r10d, dword [r14 + 0x8c]
mov rbx, qword [r14 + 0x90]
mov qword [rsp + 0x80], rdx
test r10d, r10d
jle 0x140722473
mov r15, qword [rsp + 0x40]
mov r13, qword [rsp + 0x48]
mov qword [rsp + 0x40], rbp
mov r12d, dword [rsp + 0xa0]
lea rsi, [r15 + r15*2]
shl rsi, 2
mov rbp, rsi
mov esi, dword [rsp + 0x58]
nop word [rax + rax]
test byte [rbx + 0x12], 6
jne 0x1407225be
mov rax, rdx
and rax, qword [rbx + 0x30]
jne 0x1407225be
lea rax, [rbp + r15]
test byte [r13 + rax*8 + 0x44], 0x40
jne 0x1407225be
mov rdx, qword [rbx]
mov rcx, qword [rsp + 0x220]
mov r9d, 0x10
mov r8d, esi
call fcn.14072bae0
or word [rbx + 0x12], 4
mov rdx, qword [rdi + 0x68]
add r12d, 1
add rbx, 0x38
cmp r12d, dword [r14 + 0x8c]
jl 0x140722580
mov qword [rsp + 0x80], rdx
mov rbp, qword [rsp + 0x40]
jmp 0x140722473
mov rax, qword [rsp + 0x80]
jmp 0x140720f15
mov r9, qword [rsp + 0x80]
mov edx, dword [rsp + 0x7c]
mov r8, rdi
mov rcx, r14
call fcn.140735cb0
jmp 0x140720e19
mov rax, qword [r14]
mov edx, 0x24
mov rcx, qword [rax]
call fcn.1406bbba0
mov rbx, rax
test rax, rax
je 0x1407231b2
mov rax, qword [r14 + 0x60]
mov qword [rbx + 8], 0x14
mov r8d, 0x10000
mov r12, qword [rsp + 0x98]
mov qword [rbx], rax
lea rax, [rbx + 0x10]
mov qword [r14 + 0x60], rbx
mov rcx, r12
mov qword [rsi + 0x38], rax
mov eax, dword [r13 + 0x34]
lea edx, [rax + 1]
mov dword [r13 + 0x34], edx
mov edx, 0x4d
mov dword [rbx + 0x10], eax
mov eax, dword [r13 + 0x38]
lea r9d, [rax + 1]
mov dword [r13 + 0x38], r9d
mov dword [rbx + 0x14], r9d
mov dword [rsp + 0x20], 0
call fcn.1406c9b90
mov eax, dword [r13 + 0x38]
xor r8d, r8d
mov rcx, r12
mov edx, 0x4b
lea r9d, [rax + 1]
mov dword [r13 + 0x38], r9d
mov dword [rbx + 0x18], r9d
mov dword [rsp + 0x20], 0
call fcn.1406c9b90
test byte [rdi + 0x30], 0x80
jne 0x140723509
mov r8d, dword [rbx + 0x10]
mov dword [rsp + 0x20], 0
mov r9d, 1
mov rcx, r12
mov edx, 0x76
call fcn.1406c9b90
mov rcx, qword [r13]
mov edx, 1
xor r8d, r8d
call fcn.1406bcb10
mov rdx, rax
test rax, rax
je 0x140722730
mov qword [rax + 0x20], 0
mov rax, qword [rax + 0x18]
mov byte [rax], 0
mov rax, qword [r12]
cmp byte [rax + 0x67], 0
jne 0x140724e03
mov rdi, qword [rsp + 0x98]
movsxd rax, dword [rdi + 0x90]
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rcx*8 - 0x18]
mov byte [rax + 1], 0xf8
mov qword [rax + 0x10], rdx
and dword [rbp + 0x38], 0xffffffbf
mov byte [r14 + 0x41], 0
mov byte [r14 + 0x43], 3
jmp 0x140720d2b
mov ebx, dword [rax + 0x3c]
mov eax, dword [rax + 0x38]
xor r9d, r9d
mov edx, 0xb
mov rcx, rbp
mov dword [rsp + 0x20], eax
mov r8d, ebx
call fcn.1406c9b90
mov eax, dword [rbp + 0x90]
cmp eax, dword [rbp + 0x94]
jge 0x140723612
lea edx, [rax + 1]
mov dword [rbp + 0x90], edx
movsxd rdx, eax
lea rcx, [rdx + rdx*2]
mov rdx, qword [rbp + 0x88]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 4], ebx
mov dword [rdx + 8], esi
mov dword [rdx + 0xc], 0
mov qword [rdx + 0x10], 0
mov dword [rdx], 0xc
mov dword [rdi + 0x48], eax
mov r15d, 2
mov byte [rdi + 0x41], 9
mov qword [rsp + 0x68], 0
jmp 0x1407216b8
mov r12d, dword [rbp + 0x90]
cmp r12d, dword [rbp + 0x94]
jge 0x1407237a2
lea eax, [r12 + 1]
mov dword [rbp + 0x90], eax
movsxd rax, r12d
lea rdx, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea rax, [rax + rdx*8]
mov qword [rax], 0xf
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x228]
lea rax, [rbx + rbx*2]
mov edx, 0xa
mov dword [rsp + 0x20], 0
lea rax, [rbx + rax*4]
lea rax, [rcx + rax*8]
mov rcx, rbp
mov r9d, dword [rax + 0x38]
mov r8d, dword [rax + 0x3c]
call fcn.1406c9b90
mov rcx, qword [rbp]
mov edx, dword [rbp + 0x90]
lea rax, [0x140c43220]
cmp byte [rcx + 0x67], 0
jne 0x140722865
movsxd rax, r12d
lea rcx, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
jmp 0x140720de8
movzx r10d, r10b
lea rax, [r10 + r10*2]
lea rax, [r10 + rax*4]
lea r9, [r15 + rax*8 + 8]
mov eax, dword [r13 + 0x34]
lea edx, [rax + 1]
mov dword [r13 + 0x34], edx
test byte [r11 + 0x65], 8
je 0x1407228a2
mov rcx, qword [rsp + 0x90]
test byte [rcx + 0x63], 1
je 0x140723933
mov r8, qword [r11 + 0x48]
test r8, r8
je 0x1407228bf
lea rdx, [rbx + rbx*2]
lea rdx, [rbx + rdx*4]
test byte [r15 + rdx*8 + 0x44], 0x10
je 0x140723722
mov dword [rsi + 8], eax
mov edx, 0x70
jmp 0x140720c95
mov rbx, qword [r14 + 0x90]
jmp 0x1407220eb
mov rax, qword [rsp + 0x220]
mov eax, dword [rax + 0x28]
cmp eax, 1
jle 0x14072302a
mov rsi, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x220]
sub eax, 2
mov esi, dword [rsi + 0x2c]
mov dword [rcx + 0x28], eax
lea edx, [rsi + 2]
lea eax, [rsi + 1]
mov dword [rsp + 0x80], esi
mov dword [rcx + 0x2c], edx
mov dword [rsp + 0x68], eax
mov r8d, dword [rdi + 4]
mov r9d, dword [rsp + 0x68]
mov edx, 0x87
mov rcx, rbp
mov dword [rsp + 0x20], 0
mov ebx, 1
call fcn.1406c9b90
mov dword [rsp + 0x70], 2
jmp 0x140722329
movzx esi, word [r15 + 0x3c]
mov rcx, qword [rsp + 0x220]
lea edx, [rsi + 2]
mov dword [rsp + 0xb8], esi
call fcn.1406a57e0
mov ecx, dword [rdi + 0xc]
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0xb0], ecx
mov ecx, esi
test esi, esi
je 0x140722a6f
lea ebx, [rax + 2]
mov qword [rsp + 0xd0], r13
xor esi, esi
mov r13, rbp
mov qword [rsp + 0xc8], r14
mov rbp, rdi
mov r14, qword [rsp + 0x220]
mov edi, ebx
mov ebx, ecx
jmp 0x1407229e6
cmp rsi, 0x1f
jbe 0x140722bdc
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x50]
mov r8, rbp
mov rdx, r12
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.14071f260
mov eax, dword [rbp + 0x10]
mov dword [rsp + 0xb0], eax
add rsi, 1
cmp ebx, esi
jle 0x140722a59
mov rdx, qword [r15 + 0x48]
mov r9d, esi
lea eax, [rdi + rsi]
mov r12, qword [rdx + rsi*8]
test r12, r12
je 0x1407229de
test byte [r12 + 0x14], 1
jne 0x1407229b0
mov rdx, qword [r12]
mov r9d, 1
mov r8d, eax
mov rcx, r14
mov rdx, qword [rdx + 0x18]
call fcn.14072f550
cmp byte [r12 + 0x17], 0x4a
jne 0x1407229de
test byte [r15 + 0x1c], 2
je 0x1407229de
xor r8d, r8d
mov edx, 0x47
mov rcx, r13
add rsi, 1
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax + 0x20]
mov r9d, dword [rax + 0xc]
mov dword [rsp + 0x20], 0
call fcn.1406c9b90
cmp ebx, esi
jg 0x1407229e6
mov rdi, rbp
mov r14, qword [rsp + 0xc8]
mov rbp, r13
mov r13, qword [rsp + 0xd0]
mov esi, dword [rsp + 0xc0]
mov r8d, dword [r15 + 0x18]
mov edx, 0x47
mov rcx, rbp
mov dword [rsp + 0x20], 0
mov r9d, esi
call fcn.1406c9b90
mov dword [rsp + 0x20], 0
lea r9d, [rsi + 1]
mov rcx, rbp
mov r8d, dword [rsp + 0xb8]
mov edx, 0x47
call fcn.1406c9b90
movzx eax, byte [r15 + 0x1c]
mov edx, 6
mov rcx, rbp
mov r9d, dword [rsp + 0xb0]
mov r8d, dword [rsp + 0x88]
and eax, 1
cmp al, 1
sbb eax, eax
or eax, 0xfffffffa
mov dword [rsp + 0x30], eax
mov rax, qword [r15 + 0x28]
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x28], rax
call fcn.1406ca4b0
and byte [r15 + 0x1c], 0xfe
cmp byte [r13 + 0x67], 0
je 0x140722b04
mov qword [r15 + 0x28], 0
mov eax, dword [rsp + 0x88]
mov esi, dword [rsp + 0xc0]
mov dword [rdi + 0x44], eax
cmp byte [r14 + 0x42], 1
sbb eax, eax
add esi, 2
xor ebx, ebx
and eax, 0xffffff86
sub eax, 0x47
mov byte [rdi + 0x41], al
mov eax, dword [rbp + 0x90]
mov dword [rdi + 0x48], eax
lea rax, [rsp + 0x160]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0xb8]
test eax, eax
je 0x140722bc8
mov qword [rsp + 0x50], r14
mov r14, r13
mov r13d, dword [rsp + 0xb8]
jmp 0x140722b84
test byte [r12 + 0x14], 1
je 0x140722b78
cmp ebx, 0x1f
jle 0x140722baa
cmp byte [r14 + 0x67], 0
je 0x140723056
add rbx, 1
add esi, 1
cmp r13d, ebx
jle 0x140722bc3
mov rax, qword [r15 + 0x48]
mov ecx, ebx
mov r12, qword [rax + rbx*8]
cmp rbx, 0xf
ja 0x140722b60
movzx eax, word [r15 + 0x22]
bt eax, ebx
jb 0x140722fd0
test byte [r12 + 0x14], 1
je 0x140722b78
mov eax, 1
shl eax, cl
and eax, dword [r15 + 0x30]
je 0x140722b6d
add rbx, 1
add esi, 1
cmp r13d, ebx
jg 0x140722b84
mov r14, qword [rsp + 0x50]
mov qword [rsp + 0x68], 0
mov r15d, 2
jmp 0x1407216b8
mov edx, 1
mov ecx, esi
shl edx, cl
and edx, dword [r15 + 0x30]
je 0x1407229ba
mov r8d, dword [r14 + 0x34]
mov dword [rsp + 0xa8], eax
mov rcx, r14
mov eax, dword [r14 + 0x38]
lea edx, [r8 + 1]
mov dword [rsp + 0x68], r8d
lea r9d, [rax + 1]
mov dword [r14 + 0x34], edx
mov rdx, qword [r12]
mov dword [r14 + 0x38], r9d
mov dword [rsp + 0x70], r9d
call fcn.1407383b0
mov r9d, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x68]
mov rcx, r13
mov eax, dword [rsp + 0xa8]
mov edx, 0xaf
mov dword [rsp + 0x20], r9d
mov r9d, eax
call fcn.1406c9b90
jmp 0x1407229de
mov rax, qword [rsp + 0x220]
xor r8d, r8d
mov edx, 0x47
mov rcx, rbp
mov eax, dword [rax + 0x38]
lea r9d, [rax + 1]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x220]
mov dword [rax + 0x38], r9d
mov dword [rdi], r9d
mov dword [rsp + 0x20], 0
call fcn.1406c9b90
jmp 0x140720f68
mov esi, dword [rsp + 0x80]
test esi, esi
je 0x140722452
mov rcx, qword [rsp + 0x220]
movzx edx, byte [rcx + 0x1f]
cmp dl, 7
ja 0x140722452
mov rbx, qword [rsp + 0x220]
lea ecx, [rdx + 1]
mov byte [rbx + 0x1f], cl
mov dword [rbx + rdx*4 + 0xe8], esi
jmp 0x140722452
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x28], ebx
xor r9d, r9d
mov edx, 0x1d
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.1406ca5d0
movsxd rsi, eax
jmp 0x14072237a
test al, 0x20
je 0x1407236be
mov rdx, qword [r15 + 0x48]
mov r12, qword [rdx]
mov edx, 1
test al, 0x10
jne 0x140723685
mov r15d, dword [rsp + 0x50]
test r15d, r15d
jne 0x1407239bd
mov qword [rsp + 0x68], 0
test r12, r12
je 0x140724f1a
mov dword [rsp + 0x160], 0x17151618
mov rbx, qword [r12]
mov rdx, qword [rbx + 0x18]
movzx eax, byte [rdx]
cmp al, 0xb0
jne 0x140722d4a
movzx eax, byte [rdx + 2]
cmp al, 0xb1
je 0x140724c82
cmp al, 0x8a
je 0x140724a90
mov rcx, qword [rsp + 0x220]
lea r8, [rsp + 0x120]
call fcn.14072f850
mov rdx, r12
mov rcx, rdi
mov r13d, eax
call fcn.14069f1d0
movzx eax, byte [rbx]
sub eax, 0x36
cdqe
movzx edx, byte [rsp + rax + 0x160]
mov dword [rsp + 0x20], r13d
mov r8d, dword [rsp + 0x88]
mov r9d, esi
mov rcx, rbp
call fcn.1406c9b90
mov edx, dword [rsp + 0x120]
test edx, edx
je 0x140722dc4
mov rax, qword [rsp + 0x220]
movzx eax, byte [rax + 0x1f]
cmp al, 7
jbe 0x140724491
mov eax, 0x27
sub eax, dword [rsp + 0x50]
cmp qword [rsp + 0x68], 0
mov r13d, eax
je 0x140723700
mov rax, qword [rsp + 0x68]
mov r9d, 1
mov r12, qword [rax]
mov rax, qword [rsp + 0x220]
mov eax, dword [rax + 0x38]
mov rdx, qword [r12 + 0x18]
lea ebx, [rax + 1]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x220]
mov r8d, ebx
mov dword [rax + 0x38], ebx
mov rcx, rax
call fcn.14072f550
mov rax, qword [r12 + 0x18]
movzx edx, byte [rax]
cmp dl, 0xb0
jne 0x140722e28
movzx edx, byte [rax + 2]
cmp dl, 0xb1
je 0x140723b55
cmp dl, 0x8a
je 0x140723b51
movzx eax, byte [r12]
sub eax, 0x36
cmp dword [rsp + 0x50], 1
sbb r12d, r12d
test al, 0xfd
je 0x140724682
and r12d, 0xfffffffe
add r12d, 0x38
mov rdx, qword [rsp + 0x68]
mov rcx, rdi
call fcn.14069f1d0
jmp 0x140723b74
test ah, 0x20
je 0x140723663
mov rax, qword [rsp + 0x220]
mov rsi, qword [rsp + 0x220]
mov rcx, qword [rsp + 0x220]
mov eax, dword [rax + 0x34]
mov dword [rsp + 0xe0], eax
add eax, 1
mov dword [rsi + 0x34], eax
mov eax, dword [rsi + 0x38]
lea esi, [rax + 1]
mov rax, qword [rsp + 0x220]
mov dword [rsp + 0xc8], esi
mov dword [rax + 0x38], esi
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x10c], eax
sub eax, 1
mov dword [rcx + 0x44], eax
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x100], eax
lea rax, [rcx + rcx*2]
lea rax, [rcx + rax*4]
mov rcx, qword [rsp + 0x48]
mov rax, qword [rcx + rax*8 + 0x28]
mov qword [rsp + 0xb0], rax
mov rax, qword [r15 + 0x48]
mov rax, qword [rax]
mov qword [rsp + 0xf8], rax
mov rax, qword [rax + 0x20]
mov byte [rdi + 0x41], 0x43
mov qword [rsp + 0x50], rax
mov dword [rdi + 0x44], esi
movzx eax, byte [r14 + 0x40]
cmp al, 1
ja 0x140723cca
mov rax, qword [r14 + 8]
mov qword [rsp + 0xb8], rax
test byte [r14 + 0x3c], 0x10
jne 0x140723e2a
mov rax, qword [rsp + 0xb0]
test byte [rax + 0x30], 0x80
je 0x14072473f
mov rax, qword [rsp + 0xb0]
mov r12, qword [rax + 0x10]
test r12, r12
jne 0x140722f6e
jmp 0x1407254a2
mov r12, qword [r12 + 0x28]
test r12, r12
je 0x140725490
movzx eax, byte [r12 + 0x64]
and eax, 3
cmp al, 2
jne 0x140722f60
mov rax, qword [rsp + 0x220]
mov rsi, qword [rsp + 0x220]
mov rcx, rbp
mov edx, 0x76
movzx r9d, word [r12 + 0x5e]
mov r8d, dword [rax + 0x34]
lea eax, [r8 + 1]
mov dword [rsp + 0x70], r8d
mov dword [rsi + 0x34], eax
mov dword [rsp + 0x20], 0
call fcn.1406c9b90
mov rcx, qword [rsp + 0x220]
mov rdx, r12
call fcn.1406d2480
jmp 0x14072477b
mov rdx, r12
mov rcx, rdi
call fcn.14069f1d0
jmp 0x140722b78
lea rax, [rbx + rbx*2]
lea rax, [rbx + rax*4]
mov rax, qword [r15 + rax*8 + 0x28]
mov rdx, qword [rax + 0x10]
mov eax, dword [rsp + 0x258]
cmp r11, rdx
je 0x140723019
test rdx, rdx
je 0x140723019
nop word [rax + rax]
mov rdx, qword [rdx + 0x28]
add eax, 1
test rdx, rdx
je 0x140723019
cmp r11, rdx
jne 0x140723008
mov dword [r14 + 0x2c], eax
mov edx, 0x71
mov dword [rsi + 8], eax
jmp 0x140720c95
mov rax, qword [rsp + 0x220]
mov eax, dword [rax + 0x38]
lea esi, [rax + 1]
add eax, 2
mov dword [rsp + 0x80], esi
mov rsi, qword [rsp + 0x220]
mov dword [rsp + 0x68], eax
mov dword [rsi + 0x38], eax
jmp 0x140722919
mov ecx, dword [rdi + 0x50]
test ecx, ecx
jle 0x1407230e5
mov rdx, qword [rdi + 0x58]
mov rax, qword [rbp]
sub ecx, 1
lea rcx, [rcx + rcx*4]
movzx r11d, byte [rax + 0x67]
lea r8, [rdx + rcx*4 + 0x18]
lea rax, [rdx + 4]
jmp 0x14072309b
cmp cl, 0x87
jne 0x140723092
mov r9d, dword [rdx + 8]
cmp r9d, esi
je 0x140724910
add rax, 0x14
cmp r8, rax
je 0x1407230e5
lea rdx, [0x140c43220]
test r11b, r11b
jne 0x1407230b9
movsxd rdx, dword [rax]
lea rcx, [rdx + rdx*2]
mov rdx, qword [rbp + 0x88]
lea rdx, [rdx + rcx*8]
movzx ecx, byte [rdx]
cmp cl, 0x5e
jne 0x140723080
mov ecx, dword [rdx + 0xc]
cmp ecx, esi
jne 0x140723092
mov r9d, dword [rdx + 8]
mov r11d, 0x5e
mov r8d, dword [rdx + 4]
mov dword [rsp + 0x20], ecx
mov edx, r11d
mov rcx, rbp
call fcn.1406c9b90
mov rcx, qword [rsp + 0x220]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x35
call fcn.1406ce540
cmp byte [r14 + 0x67], 0
mov r11, rax
jne 0x1407236f2
mov rdx, qword [r12]
mov eax, dword [r12 + 0x24]
mov rdx, qword [rdx + 0x10]
test eax, eax
jle 0x14072312d
sub eax, 1
cdqe
shl rax, 5
add rax, qword [rdx + 0x20]
mov rdx, qword [rax + 8]
mov qword [r11 + 0x10], rdx
mov r8, qword [rsp + 0x68]
xor r9d, r9d
mov rcx, r14
mov edx, 0xb0
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x160], 0
mov dword [rsp + 0x168], 0
call fcn.1406bc5e0
mov r11, qword [rsp + 0x70]
mov qword [r11 + 0x18], rax
test rax, rax
je 0x140723192
mov dword [rax + 0x2c], esi
mov r8d, dword [rdi + 0x18]
mov rdx, r11
mov r9d, 0x10
mov rcx, qword [rsp + 0x220]
call fcn.14072bae0
mov r11, qword [rsp + 0x70]
mov qword [r11 + 0x10], 0
mov rdx, r11
mov rcx, r14
call fcn.1406b0bb0
jmp 0x140722b78
xor r12d, r12d
jmp 0x140720b4e
mov qword [rsi + 0x38], 0
jmp 0x140720d2b
mov rax, qword [rdi + 0x50]
mov rdx, qword [rsp + 0x90]
test rax, rax
jne 0x1407231e1
jmp 0x1407231e6
mov rax, qword [rax + 0x28]
test rax, rax
je 0x1407231e6
cmp rdx, qword [rax]
jne 0x1407231d8
lea rdx, [rbx + rbx*2]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x98]
xor r9d, r9d
mov dword [rsp + 0x30], 0xfffffff5
lea rdx, [rbx + rdx*4]
mov dword [rsp + 0x20], 0
mov r8d, dword [r15 + rdx*8 + 0x4c]
mov edx, 0xad
mov byte [rsp + 0x50], r10b
call fcn.1406ca4b0
mov eax, dword [rbp + 0x38]
movzx r10d, byte [rsp + 0x50]
jmp 0x140720c38
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x18]
test byte [rax + 0x30], 0x80
je 0x1407237c5
mov ecx, dword [rsp + 0xb0]
cmp dword [rsp + 0x88], ecx
je 0x140723801
mov rbx, qword [rax + 0x10]
test rbx, rbx
jne 0x140723275
jmp 0x14072548b
mov rbx, qword [rbx + 0x28]
test rbx, rbx
je 0x140799caa
movzx eax, byte [rbx + 0x64]
and eax, 3
cmp al, 2
jne 0x140723268
movzx edx, word [rbx + 0x5e]
mov rcx, qword [rsp + 0x220]
call fcn.1406a57e0
cmp word [rbx + 0x5e], 0
mov r12d, eax
je 0x140725484
mov qword [rsp + 0x70], rdi
mov r13, qword [rsp + 0x68]
mov rdi, rbp
mov rbp, rbx
mov ebx, dword [rsp + 0xb0]
xor esi, esi
mov rax, qword [rbp + 8]
movzx edx, word [r13 + 0x60]
movzx r8d, word [rax + rsi*2]
test edx, edx
je 0x1407248e0
mov r9, qword [r13 + 8]
xor eax, eax
jmp 0x1407232ec
add rax, 1
cmp edx, eax
jle 0x1407248e0
cmp r8w, word [r9 + rax*2]
jne 0x1407232e0
movsx r9d, ax
lea eax, [r12 + rsi]
mov r8d, ebx
mov edx, 0x5e
mov rcx, rdi
mov dword [rsp + 0x20], eax
add rsi, 1
call fcn.1406c9b90
movzx eax, word [rbp + 0x5e]
cmp eax, esi
jg 0x1407232b8
mov rbp, rdi
mov rdi, qword [rsp + 0x70]
mov dword [rsp + 0x28], eax
mov r9d, dword [rsp + 0x58]
mov edx, 0x1c
xor ebx, ebx
mov dword [rsp + 0x20], r12d
mov r8d, dword [rsp + 0x88]
mov rcx, rbp
call fcn.1406ca680
jmp 0x140721642
cmp word [rsp + 0x48], 0
je 0x140720c60
mov eax, dword [rsi + 4]
mov dword [rsi + 8], eax
jmp 0x140720cdc
test byte [rbx + 0x3c], 0x20
jne 0x1407207da
mov rsi, qword [r15 + 0x28]
cmp byte [rsi + 0x3f], 1
je 0x1407207da
test byte [r15 + 0x48], 3
jne 0x1407207da
mov edi, dword [r15 + 0x4c]
xor r11d, r11d
lea rax, [rbx + 0x70]
mov ebp, 0xffffffff
mov r12, qword [rsp + 0x140]
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x48], edi
mov dword [r12 + 0x38], 0
mov word [r12 + 0x3e], r11w
mov dword [rsp + 0x18c], edi
mov edi, 0x100
mov word [rsp + 0x188], di
lea rdi, [rsp + 0x160]
mov qword [rsp + 0x160], rax
mov rcx, rdi
mov qword [rsp + 0x168], rax
movabs rax, 0x8200000000
mov qword [rsp + 0x170], 0
mov qword [rsp + 0x178], 0
mov qword [rsp + 0x180], rax
mov byte [rsp + 0x18a], 1
mov word [rsp + 0x1b8], bp
call fcn.1406db090
test rax, rax
jne 0x140723441
jmp 0x140724fa0
mov rcx, rdi
call fcn.1406db090
test rax, rax
je 0x140724fa0
cmp qword [rax + 0x28], 0
jne 0x140723430
mov rdx, qword [r12 + 0x48]
mov ecx, 1
mov dword [r12 + 0x38], 0x1101
mov r8d, 0x21
mov qword [rdx], rax
mov edx, 1
mov eax, 0x1101
mov word [r12 + 0x3c], dx
mov word [r12 + 0x18], cx
mov word [r12 + 0x14], r8w
mov edi, dword [rsp + 0x48]
mov rdx, qword [rbx + 0x10]
mov ecx, 1
mov r8d, 1
mov word [r12 + 0x16], cx
mov qword [rbx + 0x3c0], r12
mov qword [r12 + 8], 1
mov dword [rbx + 0x364], edi
mov word [rbx + 0x48], r8w
test rdx, rdx
je 0x1407234be
mov edx, dword [rdx]
mov byte [rbx + 0x41], dl
test byte [rbx + 0x3d], 1
je 0x1407234c8
mov byte [rbx + 0x43], 1
cmp byte [rsp + 0x189], 1
jbe 0x1407234dc
or eax, 0x200000
mov dword [r12 + 0x38], eax
mov rax, qword [r14 + 0x10]
jmp 0x1407209ea
mov qword [rsp + 0x80], 0xffffffffffffffff
cmp al, 1
jbe 0x140720a53
mov rax, qword [rsp + 0x90]
mov eax, dword [rax + 0x60]
jmp 0x140720a48
mov r12, qword [rdi + 0x10]
test r12, r12
jne 0x14072352e
jmp 0x1407254b4
mov r12, qword [r12 + 0x28]
test r12, r12
je 0x140799ccd
movzx eax, byte [r12 + 0x64]
and eax, 3
cmp al, 2
jne 0x140723520
movzx r9d, word [r12 + 0x5e]
mov r8d, dword [rbx + 0x10]
mov edx, 0x76
mov dword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x98]
call fcn.1406c9b90
mov rdx, r12
mov rcx, r13
call fcn.1406d2480
jmp 0x140722730
mov rax, qword [r15 + 0x48]
mov rcx, qword [rsp + 0x220]
xor r9d, r9d
mov r8, rdi
mov rdx, qword [rax]
mov rax, qword [rsp + 0x220]
mov eax, dword [rax + 0x38]
lea ebx, [rax + 1]
mov dword [rsp + 0x68], eax
mov rax, qword [rsp + 0x220]
mov dword [rax + 0x38], ebx
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
call fcn.14071f260
mov esi, eax
test ebx, ebx
je 0x1407235d0
cmp ebx, eax
je 0x1407235d0
mov rax, qword [rsp + 0x220]
movzx eax, byte [rax + 0x1f]
cmp al, 7
jbe 0x1407247cd
mov eax, dword [rdi + 0x34]
mov ebx, dword [rdi + 0x10]
test eax, eax
jne 0x140723c65
mov dword [rsp + 0x20], esi
mov r9d, ebx
mov edx, 0x1e
mov rcx, rbp
mov r8d, dword [rsp + 0x88]
mov r15d, 2
call fcn.1406c9b90
mov byte [rdi + 0x41], 0xb9
mov qword [rsp + 0x68], 0
jmp 0x1407216b8
mov r9d, esi
mov r8d, ebx
mov edx, 0xc
mov rcx, rbp
mov dword [rsp + 0x20], 0
call fcn.1406c9b00
jmp 0x1407227a8
mov qword [rsp + 0xb8], 0
xor r10d, r10d
jmp 0x1407210ce
mov qword [rsp + 0xc8], 0
xor esi, esi
mov edx, ebx
jmp 0x14072108a
mov esi, dword [rdi + 0x10]
jmp 0x1407211d8
and r8d, 0x40
je 0x140724e44
mov byte [rdi + 0x41], 0xb9
mov r15d, 2
mov qword [rsp + 0x68], 0
jmp 0x1407216b8
mov rax, qword [r15 + 0x48]
mov r13d, dword [rsp + 0x50]
mov rax, qword [rax + rdx*8]
mov qword [rsp + 0x68], rax
test r13d, r13d
je 0x140722d23
cmp qword [rsp + 0x68], 0
je 0x1407239bd
mov rax, r12
mov r12, qword [rsp + 0x68]
mov qword [rsp + 0x68], rax
jmp 0x140722d2c
xor edx, edx
xor r12d, r12d
jmp 0x140722d04
xor r8d, r8d
jmp 0x1407218f1
cmp dword [rsp + 0x50], 1
mov edx, 0x26
adc dl, 0
mov byte [rdi + 0x41], dl
jmp 0x140721678
mov rcx, r8
call fcn.14071ca30
jmp 0x140720d17
test rax, rax
je 0x140722b78
jmp 0x14072319a
mov eax, dword [rbp + 0x90]
mov r15d, 2
mov byte [rdi + 0x41], r13b
mov esi, dword [rsp + 0x88]
mov dword [rdi + 0x48], eax
mov dword [rdi + 0x44], esi
jmp 0x1407216b8
mov qword [rsp + 0x28], r9
mov rdx, r11
xor r9d, r9d
mov rcx, r13
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x50], r11
call fcn.1406d47d0
mov eax, dword [rsp + 0x58]
mov r11, qword [rsp + 0x50]
mov edx, 0x70
mov dword [rsi + 8], eax
jmp 0x140720c95
cmp byte [rsp + 0xa8], 0
mov dword [rsp + 0xc0], ebx
je 0x14072156a
test r12d, r12d
je 0x14072479d
lea eax, [rbx + 1]
mov dword [rsp + 0xc0], eax
jmp 0x14072156a
mov r8d, 0x40
lea rdx, str.at_most__d_tables_in_a_join
mov rcx, r13
xor r14d, r14d
call fcn.1406bb9a0
jmp 0x140720776
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf
mov rcx, rbp
mov dword [rsp + 0x20], 0
call fcn.1406c9b00
mov r12d, eax
jmp 0x14072280b
mov rbx, qword [r14]
mov eax, dword [rsp + 0x88]
xor r9d, r9d
mov edx, 0x8d
mov r8d, dword [rsp + 0xb0]
mov r12, qword [rbx + 0x10]
or byte [r14 + 0x44], 1
mov dword [rsp + 0x20], eax
mov rcx, r12
call fcn.1406c9b90
test word [r14 + 0x3c], 0x1020
jne 0x14072450f
xor ebx, ebx
jmp 0x140721642
mov dword [rsp + 0x20], ebx
mov r9d, ebx
mov edx, 0x7d
mov rcx, rbp
mov r8d, dword [rsp + 0xb0]
call fcn.1406c9b90
mov eax, dword [r15 + 0x38]
jmp 0x140721628
cmp qword [rsp + 0xb8], 0
je 0x140724eca
mov rcx, qword [rsp + 0xb8]
mov dword [rsp + 0xf0], 1
test byte [rcx + 0x14], 0x28
setne cl
or al, byte [rsp + 0xe0]
movzx ecx, cl
movzx eax, al
mov dword [rsp + 0xec], ecx
mov dword [rsp + 0xd8], eax
test r10b, r10b
jne 0x140724d0a
test r12d, r12d
jne 0x140723aad
mov rax, qword [rsp + 0x220]
mov r9, qword [rsp + 0x160]
mov r8d, ebx
mov edx, dword [rsp + 0x70]
mov rcx, qword [rax + 0x10]
call fcn.1406cbec0
movzx eax, word [r15 + 0x3e]
test ax, ax
je 0x1407244ec
cmp ebx, eax
jne 0x1407244ec
mov dword [rsp + 0xd0], 0
mov dword [rsp + 0xc8], 0
jmp 0x140721436
mov rax, qword [rsp + 0x220]
mov r9d, dword [rdi]
mov eax, dword [rax + 0x38]
lea r12d, [rax + 1]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x220]
mov dword [rax + 0x38], r12d
mov dword [rdi + 0x24], r12d
test r9d, r9d
jne 0x140724bb5
mov rax, qword [rsp + 0x220]
mov rsi, qword [rsp + 0x220]
mov r10d, 1
mov eax, dword [rax + 0x44]
mov dword [rsp + 0x70], eax
sub eax, 1
mov dword [rsi + 0x44], eax
mov esi, 1
mov dword [rdi + 0x28], eax
jmp 0x1407210e1
mov r8d, eax
mov rdx, r11
mov rcx, r13
mov qword [rsp + 0x68], r9
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x50], r11
call fcn.1406c0c40
mov r9, qword [rsp + 0x68]
mov eax, dword [rsp + 0x58]
mov r11, qword [rsp + 0x50]
jmp 0x1407228a2
cmp r12d, 1
je 0x1407250e6
mov rcx, qword [r13]
movsxd rdx, r12d
shl rdx, 5
add rdx, qword [rcx + 0x20]
mov rdx, qword [rdx + 8]
cmp byte [rdx + 0x11], 0
je 0x140720c38
mov rax, qword [rdi]
mov r8d, dword [rdi + 0x28]
xor r9d, r9d
mov edx, r12d
mov rcx, r13
mov byte [rsp + 0x50], r10b
mov qword [rsp + 0x20], rax
call fcn.1406ccf10
mov eax, dword [rbp + 0x38]
movzx r10d, byte [rsp + 0x50]
jmp 0x140720c38
xor edx, edx
jmp 0x140720f9d
mov edx, 0x20
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x88]
mov rcx, rbp
call fcn.1406c9b90
mov qword [rsp + 0x68], r12
jmp 0x140722dc4
mov eax, dword [rbp + 0x90]
xor r8d, r8d
mov rcx, rbp
mov edx, 9
mov dword [rsp + 0x20], 0
lea r9d, [rax + 2]
call fcn.1406c9b90
mov edx, dword [rsp + 0x50]
xor eax, eax
mov r9d, esi
mov ecx, dword [rsp + 0xc0]
mov r8d, dword [rsp + 0xb0]
cmp ecx, 1
setg al
lea eax, [rdx + rax*4 + 2]
lea rdx, [0x140bc5970]
cdqe
movzx edx, byte [rdx + rax]
mov eax, ecx
sub eax, dword [rsp + 0xf0]
mov rcx, rbp
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x20], eax
call fcn.1406ca680
jmp 0x140721436
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x28], ebx
mov r9d, esi
mov edx, 0x40
mov rcx, rbp
mov dword [rsp + 0xc8], r10d
mov dword [rsp + 0x20], eax
call fcn.1406ca680
mov r8d, dword [rsp + 0x7c]
mov r9d, esi
mov rdx, r14
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x220]
mov qword [rsp + 0x20], rax
call fcn.140720130
mov r10d, dword [rsp + 0xc8]
jmp 0x1407213cb
mov eax, dword [rsp + 0x70]
xor r8d, r8d
mov edx, 0x4b
mov rcx, rbp
mov dword [rsp + 0x20], 0
lea r9d, [rbx + rax]
call fcn.1406c9b90
mov edx, dword [rsp + 0x70]
lea r8d, [rbx + 1]
mov rcx, qword [rsp + 0x220]
mov r9, qword [rsp + 0x160]
mov dword [rsp + 0xc0], r8d
mov rcx, qword [rcx + 0x10]
call fcn.1406cbec0
movzx eax, word [r15 + 0x3e]
test ax, ax
je 0x140723b0d
cmp eax, dword [rsp + 0xc0]
je 0x1407238b9
mov dword [rsp + 0xd0], 0
mov r10d, 4
mov dword [rsp + 0x20], 0
mov r9d, r12d
mov edx, 0x47
mov rcx, rbp
mov r8d, 1
mov dword [rsp + 0xc8], r10d
call fcn.1406c9b90
mov r10d, dword [rsp + 0xc8]
jmp 0x1407213be
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x140722e3a
cmp dword [rsp + 0x50], 1
sbb r12d, r12d
and r12d, 0xfffffffe
add r12d, 0x38
mov eax, dword [rbp + 0x90]
mov byte [rdi + 0x41], r13b
mov edx, 0x87
mov rcx, rbp
mov r8d, dword [rsp + 0x88]
mov dword [rdi + 0x48], eax
mov rax, qword [rsp + 0x220]
mov dword [rdi + 0x44], r8d
mov eax, dword [rax + 0x38]
lea r13d, [rax + 1]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0x220]
mov r9d, r13d
mov dword [rax + 0x38], r13d
mov dword [rsp + 0x20], 0
call fcn.1406c9b90
mov dword [rsp + 0x20], r13d
mov r9d, esi
mov r8d, ebx
mov edx, r12d
mov rcx, rbp
call fcn.1406c9b90
movsxd rax, dword [rbp + 0x90]
test eax, eax
jle 0x140722bc8
mov r11, qword [rbp + 0x88]
lea rax, [rax + rax*2]
mov ebx, 0x53
mov qword [rsp + 0x68], 0
mov r15d, 2
lea rax, [r11 + rax*8]
mov word [rax - 0x16], bx
jmp 0x1407216b8
movzx edi, word [rsp + 0x68]
test dil, 8
je 0x140720aa7
mov rsi, qword [rsp + 0x228]
mov rdx, qword [rsi + 0x28]
cmp byte [rdx + 0x3f], 1
je 0x140720aa7
test ah, 0x20
je 0x140723c48
and edi, 0x10
je 0x140720aa7
mov rdi, qword [rsp + 0x90]
test byte [rdi + 0x63], 8
jne 0x140720aa7
mov r8d, 2
jmp 0x140720a99
mov r9d, ebx
mov r8d, esi
mov rcx, rbp
mov edx, 0xd
mov dword [rsp + 0x20], 0
call fcn.1406c9b90
mov r8d, dword [rdi + 0x34]
mov dword [rsp + 0x20], esi
mov r9d, ebx
mov dword [rsp + 0x28], 1
mov rcx, rbp
mov edx, 0x40
call fcn.1406ca680
mov r8d, dword [rsp + 0x7c]
mov r9d, ebx
mov rdx, r14
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x220]
mov qword [rsp + 0x20], rax
call fcn.140720130
jmp 0x1407235de
sub eax, dword [rsp + 0x7c]
mov rcx, r13
lea esi, [rax - 1]
mov ebx, eax
movsxd rax, esi
lea rdx, [rax + rax*2]
lea rax, [rax + rdx*4]
lea rdx, [rax*8 + 0x70]
call fcn.1406bbba0
mov qword [rsp + 0xb8], rax
mov r10, rax
test rax, rax
je 0x140722473
lea eax, [rsi + 1]
movzx ecx, r12b
movzx eax, al
mov dword [r10 + 4], eax
mov dword [r10], eax
lea rax, [rcx + rcx*2]
lea rax, [rcx + rax*4]
mov rcx, qword [rsp + 0x48]
lea rax, [rcx + rax*8 + 8]
movdqu xmm4, xmmword [rax]
movups xmmword [r10 + 8], xmm4
movdqu xmm5, xmmword [rax + 0x10]
movups xmmword [r10 + 0x18], xmm5
movdqu xmm4, xmmword [rax + 0x20]
movups xmmword [r10 + 0x28], xmm4
movdqu xmm5, xmmword [rax + 0x30]
movups xmmword [r10 + 0x38], xmm5
movdqu xmm4, xmmword [rax + 0x40]
movups xmmword [r10 + 0x48], xmm4
movdqu xmm5, xmmword [rax + 0x50]
movups xmmword [r10 + 0x58], xmm5
mov rax, qword [rax + 0x60]
mov qword [r10 + 0x68], rax
mov rax, qword [r14 + 8]
lea rcx, [rax + 8]
test esi, esi
jle 0x140722f23
lea r8d, [rbx - 2]
lea rax, [r10 + 0x70]
lea r9, [r8 + r8*2]
lea rdx, [rdi + 0xb0]
lea r8, [r8 + r9*4]
lea r10, [r10 + r8*8 + 0xd8]
movzx r8d, byte [rdx]
add rax, 0x68
add rdx, 0x70
lea r9, [r8 + r8*2]
lea r8, [r8 + r9*4]
lea r8, [rcx + r8*8]
movdqu xmm0, xmmword [r8]
movups xmmword [rax - 0x68], xmm0
movdqu xmm1, xmmword [r8 + 0x10]
movups xmmword [rax - 0x58], xmm1
movdqu xmm2, xmmword [r8 + 0x20]
movups xmmword [rax - 0x48], xmm2
movdqu xmm3, xmmword [r8 + 0x30]
movups xmmword [rax - 0x38], xmm3
movdqu xmm4, xmmword [r8 + 0x40]
movups xmmword [rax - 0x28], xmm4
movdqu xmm5, xmmword [r8 + 0x50]
movups xmmword [rax - 0x18], xmm5
mov r8, qword [r8 + 0x60]
mov qword [rax - 8], r8
cmp r10, rax
jne 0x140723d97
jmp 0x140722f23
mov dword [rsp + 0xec], 1
mov dword [rsp + 0xd8], 1
jmp 0x140721247
mov eax, dword [rsp + 0x80]
add eax, 1
mov dword [rsp + 0x68], eax
jmp 0x140722329
mov dword [rsp + 0x68], 0
mov dword [rsp + 0x70], 0
mov eax, dword [rbp + 0x90]
mov dword [rsp + 0xec], eax
cmp eax, dword [rbp + 0x94]
jge 0x140724f29
mov esi, dword [rsp + 0xec]
lea eax, [rsi + 1]
mov dword [rbp + 0x90], eax
movsxd rax, esi
mov esi, dword [rsp + 0xc8]
lea rdx, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 8], esi
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov qword [rax], 0x47
cmp dword [r14 + 0x84], 1
jle 0x140723f35
mov r15, qword [rsp + 0xf8]
xor ebx, ebx
xor esi, esi
xor r12d, r12d
mov rax, qword [r14 + 0x90]
add rax, rsi
cmp r15, rax
je 0x140723efe
test word [rax + 0x12], 0x8006
jne 0x140723efe
test word [rax + 0x14], 0x3fff
je 0x140723efe
mov rdx, qword [rax]
test byte [rdx + 6], 0x40
jne 0x140723efe
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
call fcn.1406beb90
mov rcx, qword [rsp + 0x220]
mov rdx, r12
mov r8, rax
call fcn.1406ce760
mov r12, rax
add ebx, 1
add rsi, 0x38
cmp ebx, dword [r14 + 0x84]
jl 0x140723eb2
test r12, r12
je 0x140723f35
mov rcx, qword [rsp + 0x220]
mov r9, r12
xor r8d, r8d
mov edx, 0x1002c
call fcn.1406ce540
mov qword [rsp + 0xd0], rax
jmp 0x140723f41
mov qword [rsp + 0xd0], 0
mov rcx, qword [rsp + 0x220]
mov edx, 1
lea r8, str.MULTI_INDEX_OR
call fcn.1406decb0
mov rax, qword [rsp + 0x50]
mov edx, dword [rax + 0x14]
test edx, edx
jle 0x140724f61
mov dword [rsp + 0xc0], 0
mov rbx, qword [rsp + 0x220]
xor r15d, r15d
mov qword [rsp + 0xa8], 0
mov qword [rsp + 0x110], rdi
mov qword [rsp + 0xf0], r14
mov r14, rax
mov rdx, qword [r14 + 0x20]
mov dword [rsp + 0x50], r15d
lea esi, [r15 + 1]
lea rax, [r15*8]
sub rax, r15
mov edi, dword [rsp + 0x88]
lea rax, [rdx + rax*8]
cmp edi, dword [rax + 0x1c]
je 0x140723fd1
test byte [rax + 0x15], 4
je 0x1407241b0
mov r12, qword [rax]
test r12, r12
je 0x140724347
xor r9d, r9d
xor r8d, r8d
mov rdx, r12
mov rcx, r13
call fcn.1406beb90
cmp byte [r13 + 0x67], 0
mov r12, rax
jne 0x1407241a0
mov rax, qword [rsp + 0xd0]
mov rdi, r12
test rax, rax
je 0x140724013
mov qword [rax + 0x10], r12
mov rdi, rax
mov r9d, esi
lea r8, str.INDEX__d
mov edx, 1
mov rcx, rbx
call fcn.1406decb0
xor r9d, r9d
mov r8, rdi
mov rcx, rbx
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x30], 0x20
mov qword [rsp + 0x28], 0
mov rdx, qword [rsp + 0xb8]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x20], 0
call fcn.1407202f0
mov qword [rsp + 0xd8], rax
test rax, rax
je 0x1407241a0
mov rax, qword [rbx + 0xb0]
test rax, rax
cmove rax, rbx
cmp byte [rax + 0x133], 2
jne 0x1407240bc
mov rax, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xb8]
mov rcx, rbx
mov r9, qword [rax + 0x3c0]
movzx r8d, byte [rax + 0x3a0]
mov dword [rsp + 0x20], 0
call fcn.1406cc250
mov rax, qword [rsp + 0xf0]
test byte [rax + 0x3c], 0x10
je 0x140724357
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x100]
mov edx, 0xa
mov rcx, rbp
mov r8d, dword [rsp + 0xc8]
call fcn.1406c9b90
mov rdi, qword [rsp + 0xd8]
mov eax, 1
movzx edx, byte [rdi + 0x44]
test dl, 2
cmove eax, dword [rsp + 0xc0]
mov dword [rsp + 0xc0], eax
mov rax, qword [rdi + 0x3c0]
test byte [rax + 0x39], 2
je 0x14072413e
mov rax, qword [rax + 0x20]
test r15, r15
je 0x14072430b
cmp qword [rsp + 0xa8], rax
je 0x14072430b
mov qword [rsp + 0xa8], 0
and edx, 1
je 0x14072415b
mov rax, qword [rsp + 0xf0]
or byte [rax + 0x44], 1
mov rcx, qword [rsp + 0xd8]
call fcn.1407259a0
movsxd rax, dword [rbx + 0x140]
test eax, eax
je 0x14072419a
mov rcx, qword [rbx + 0x10]
lea rdx, [0x140c43220]
mov r8, qword [rcx]
cmp byte [r8 + 0x67], 0
jne 0x140724197
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x88]
lea rdx, [rax + rdx*8]
mov eax, dword [rdx + 8]
mov dword [rbx + 0x140], eax
test r12, r12
je 0x1407241b0
mov rdx, r12
mov rcx, r13
call fcn.1406b0bb0
add r15, 1
cmp dword [r14 + 0x14], r15d
jg 0x140723f9f
mov rax, qword [rsp + 0x220]
mov rdi, qword [rsp + 0x110]
mov r14, qword [rsp + 0xf0]
movsxd rax, dword [rax + 0x140]
test eax, eax
je 0x140724205
mov rsi, qword [rsp + 0x220]
mov rdx, qword [rsi + 0x10]
mov r8, qword [rdx]
lea rcx, [0x140c43220]
cmp byte [r8 + 0x67], 0
je 0x14072468f
mov eax, dword [rcx + 8]
mov rsi, qword [rsp + 0x220]
mov dword [rsi + 0x140], eax
mov rax, qword [rsp + 0xa8]
mov qword [rdi + 0x50], rax
test rax, rax
je 0x14072422e
mov eax, dword [rsp + 0xe0]
mov dword [rdi + 8], eax
mov rax, qword [rsp + 0xd0]
test rax, rax
je 0x14072424e
mov qword [rax + 0x10], 0
mov rdx, rax
mov rcx, r13
call fcn.1406b0bb0
mov rcx, qword [rbp]
mov edx, dword [rbp + 0x90]
lea rax, [0x140c43220]
cmp byte [rcx + 0x67], 0
jne 0x14072427c
movsxd rax, dword [rsp + 0xec]
lea rcx, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 4], edx
mov edx, dword [rdi + 0xc]
mov rcx, rbp
call fcn.1406ca3c0
mov rcx, qword [rbp + 0x18]
mov r8d, dword [rsp + 0x10c]
mov eax, dword [rcx + 0x44]
neg r8d
add eax, dword [rcx + 0x48]
js 0x140724ba8
mov edx, dword [rbp + 0x90]
mov rax, qword [rcx + 0x50]
movsxd r8, r8d
mov dword [rax + r8*4], edx
mov eax, dword [rbp + 0x90]
mov dword [rdi + 0x48], eax
cmp byte [r14 + 0x40], 1
jbe 0x1407242d6
mov rdx, qword [rsp + 0xb8]
mov rcx, r13
call fcn.1406abfe0
mov r8d, dword [rsp + 0xc0]
test r8d, r8d
jne 0x140722bc8
mov rdx, qword [rsp + 0xf8]
mov rcx, rdi
mov r15d, 2
call fcn.14069f1d0
mov qword [rsp + 0x68], 0
jmp 0x1407216b8
mov rsi, qword [rsp + 0xb0]
mov qword [rsp + 0xa8], rax
mov rdi, rax
test byte [rsi + 0x30], 0x80
je 0x14072414a
movzx eax, byte [rax + 0x64]
and eax, 3
cmp al, 2
mov eax, 0
cmovne rax, rdi
mov qword [rsp + 0xa8], rax
jmp 0x14072414a
cmp byte [r13 + 0x67], 0
je 0x140723ffc
jmp 0x1407241b0
mov eax, dword [r14 + 0x14]
sub eax, 1
cmp eax, r15d
mov eax, 0xffffffff
cmovne eax, dword [rsp + 0x50]
mov dword [rsp + 0x50], eax
mov rax, qword [rsp + 0xb0]
test byte [rax + 0x30], 0x80
jne 0x140724963
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x68]
mov edx, 0x87
mov rcx, rbp
mov r8d, dword [rsp + 0x88]
call fcn.1406c9b90
mov r10d, dword [rbp + 0x90]
cmp r10d, dword [rbp + 0x94]
jge 0x1407246ef
lea eax, [r10 + 1]
mov edi, dword [rsp + 0x70]
mov dword [rbp + 0x90], eax
movsxd rax, r10d
lea rdx, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], edi
mov edi, dword [rsp + 0x68]
mov dword [rax + 8], 0
mov dword [rax + 0xc], edi
mov edi, dword [rsp + 0x50]
mov dword [rax], 0xfd2f
mov dword [rax + 0x10], edi
mov dword [rsp + 0x20], 0
mov r9d, dword [rsp + 0x100]
mov edx, 0xa
mov rcx, rbp
mov r8d, dword [rsp + 0xc8]
mov dword [rsp + 0x50], r10d
call fcn.1406c9b90
movsxd r10, dword [rsp + 0x50]
test r10d, r10d
je 0x1407240f3
mov rcx, qword [rbp]
mov edx, dword [rbp + 0x90]
lea rax, [0x140c43220]
cmp byte [rcx + 0x67], 0
jne 0x140724453
mov rax, qword [rbp + 0x88]
lea rcx, [r10 + r10*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
jmp 0x1407240f3
mov rcx, r14
call fcn.14069f4a0
jmp 0x140720a53
movzx edx, word [rsp + 0xc0]
mov rcx, r13
add rdx, rax
call fcn.1406bd5d0
movzx r10d, byte [rsp + 0xd8]
mov qword [rsp + 0xf8], rax
jmp 0x1407211cc
mov rbx, qword [rsp + 0x220]
lea ecx, [rax + 1]
mov byte [rbx + 0x1f], cl
mov dword [rbx + rax*4 + 0xe8], edx
jmp 0x140722dc4
cmp byte [r14 + 0x43], 2
je 0x140720cdc
mov rcx, qword [rsp + 0x98]
movsxd rax, dword [rcx + 0x90]
test eax, eax
jle 0x140720cdc
mov r8, qword [rcx + 0x88]
lea rax, [rax + rax*2]
mov r9d, 2
lea rax, [r8 + rax*8]
mov word [rax - 0x16], r9w
jmp 0x140720cdc
mov r10d, dword [rsp + 0xd8]
mov dword [rsp + 0xc0], ebx
mov dword [rsp + 0xd0], 0
shl r10d, 2
jmp 0x1407213be
mov rax, qword [rbx + 0xb0]
test rax, rax
cmove rax, rbx
mov r8d, dword [rax + 0x80]
test r8d, r8d
jne 0x140723801
mov rax, qword [rsp + 0x68]
mov rcx, qword [rbx]
mov rsi, qword [rax + 0x18]
movsx r8d, word [rsi + 0x36]
add r8d, 1
movsxd r8, r8d
lea r13, [r8*4]
test rcx, rcx
je 0x140725474
mov rdx, r13
call fcn.1406bbba0
mov rbx, rax
test rbx, rbx
je 0x140723801
mov r8, r13
xor edx, edx
mov rcx, rbx
call sub.msvcrt.dll_memset
movsx eax, word [rsi + 0x36]
mov dword [rbx], eax
mov rax, qword [rsp + 0x68]
movzx eax, word [rax + 0x60]
cmp ax, 1
jbe 0x1407253f3
mov rcx, qword [rsp + 0x68]
sub eax, 2
mov r13d, 1
add rax, 2
mov r9, qword [rcx + 8]
mov qword [rsp + 0x70], rax
mov rcx, rsi
mov rsi, rbx
mov rbx, r9
jmp 0x1407245eb
test ax, ax
js 0x1407245dc
movsx edx, ax
mov qword [rsp + 0xa8], rcx
call fcn.1406a58c0
mov rcx, qword [rsp + 0xa8]
movsx rax, ax
mov dword [rsi + rax*4 + 4], r13d
add r13, 1
cmp qword [rsp + 0x70], r13
je 0x1407253f0
movzx eax, word [rbx + r13*2 - 2]
test byte [rcx + 0x30], 0x20
jne 0x1407245b6
test ax, ax
js 0x1407245dc
jmp 0x1407245d3
test al, 0x40
je 0x140720aa7
movzx edi, byte [rsp + 0x70]
test byte [rsp + 0x68], 8
mov edx, 8
cmovne edi, edx
and eax, 0xffffffbf
mov dword [rcx + 0x38], eax
mov byte [rsp + 0x70], dil
jmp 0x140720aa7
mov eax, dword [rbp + 0x90]
sub eax, 1
cdqe
lea r9, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea r9, [rax + r9*8]
jmp 0x1407212c8
movsxd rdx, dword [rsp + 0xc8]
lea rcx, [rdx + rdx*2]
mov rdx, qword [rbp + 0x88]
lea rdx, [rdx + rcx*8]
jmp 0x140721e0f
mov eax, dword [rbp + 0x90]
sub eax, 1
cdqe
lea r8, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea r8, [rax + r8*8]
jmp 0x1407214b8
and r12d, 2
add r12d, 0x37
jmp 0x140722e5a
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea rcx, [rax + rcx*8]
jmp 0x140724202
lea rax, [rbx + rbx*2]
xor r8d, r8d
lea rax, [rbx + rax*4]
mov rax, qword [r15 + rax*8 + 0x58]
test rax, rax
je 0x1407246c1
add r8d, 1
shr rax, 1
jne 0x1407246b8
mov rcx, qword [rsp + 0x98]
mov r9d, 0xfffffffd
movsxd r8, r8d
mov edx, 0xffffffff
mov byte [rsp + 0x50], r10b
call fcn.1406bdc50
mov eax, dword [rbp + 0x38]
movzx r10d, byte [rsp + 0x50]
jmp 0x140720c09
mov eax, dword [rsp + 0x50]
mov r8d, dword [rsp + 0x70]
xor r9d, r9d
mov rcx, rbp
mov edx, 0x2f
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
call fcn.1406ca5d0
mov r10d, eax
jmp 0x1407243f5
mov rcx, r14
call fcn.1406b6720
movzx edi, byte [r14 + 0x40]
mov qword [rsp + 0x80], rax
mov dword [rsp + 0xe8], edi
mov eax, edi
jmp 0x1407234f1
mov rax, qword [rsp + 0x220]
xor r8d, r8d
mov edx, 0x4b
mov rcx, rbp
mov rsi, qword [rsp + 0x220]
mov eax, dword [rax + 0x38]
mov dword [rsp + 0x68], eax
add eax, 1
mov dword [rsi + 0x38], eax
mov r9d, eax
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x70], eax
call fcn.1406c9b90
mov rax, qword [rsp + 0x220]
mov rsi, qword [rsp + 0x220]
mov eax, dword [rax + 0x38]
add eax, 1
mov dword [rsp + 0x68], eax
mov dword [rsi + 0x38], eax
jmp 0x140723e3a
mov eax, dword [rsp + 0x70]
xor r8d, r8d
mov edx, 0x4b
mov rcx, rbp
mov dword [rsp + 0x20], 0
lea r9d, [rbx + rax]
call fcn.1406c9b90
mov dword [rsp + 0xec], 0
jmp 0x140723776
mov rcx, qword [rsp + 0x220]
lea edx, [rax + 1]
mov byte [rcx + 0x1f], dl
mov dword [rcx + rax*4 + 0xe8], ebx
jmp 0x1407235d0
movzx ecx, byte [rax]
lea edx, [rcx + 0x59]
and edx, 0xfd
jne 0x140721d90
mov rdx, qword [r13 + 8]
movzx ecx, word [rdx + r15]
cmp word [rax + 0x30], cx
jne 0x140721d90
cmp ebp, dword [rax + 0x2c]
jne 0x140721d90
mov rcx, qword [rsp + 0x220]
mov rdx, r10
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x48], r8
call fcn.1406d4080
mov r8, qword [rsp + 0x48]
mov r9, qword [rsp + 0x50]
test rax, rax
je 0x140724e30
mov r10, qword [rax]
xor edx, edx
jmp 0x140724872
lea r11, [0x140bcc700]
movzx ecx, byte [r11 + rcx]
cmp byte [r11 + rax], cl
jne 0x140721d90
add rdx, 1
movzx eax, byte [r10 + rdx]
movzx ecx, byte [rdi + rdx]
cmp eax, ecx
jne 0x140724858
test eax, eax
jne 0x14072486e
mov rax, r9
mov r9, r15
mov r15d, r12d
mov rdi, r8
mov r12, rax
mov rax, qword [r13 + 8]
movsx rax, word [rax + r9]
movsx edx, ax
test edx, edx
jns 0x1407248eb
cmp edx, 0xffffffff
jne 0x140721d9b
jmp 0x140721cd8
movzx edi, byte [rax]
lea edx, [rdi + 0x59]
and edx, 0xfd
jne 0x140721c6d
cmp ebp, dword [rax + 0x2c]
jne 0x140721c6d
cmp word [rax + 0x30], 0
jns 0x140721c6d
jmp 0x140721db6
mov r9d, 0xffffffff
jmp 0x1407232f7
mov rdx, qword [r13 + 0x18]
lea rax, [rax + rax*2]
mov rcx, qword [rdx + 8]
lea rax, [rcx + rax*8]
test byte [rax + 8], 0xf
jne 0x140721cd8
jmp 0x140721d9b
mov ecx, dword [rdx + 0xc]
mov r11d, 0x87
jmp 0x1407230d2
mov rcx, r10
call fcn.14069e5b0
test eax, eax
je 0x1407214d6
mov dword [rsp + 0x20], 0
mov r9d, esi
mov edx, 0x32
mov rcx, rbp
mov r8d, dword [rsp + 0xc0]
mov qword [rsp + 0xd8], r10
call fcn.1406c9b90
mov r10, qword [rsp + 0xd8]
jmp 0x1407214d6
mov rax, qword [rsp + 0xb0]
mov r10, qword [rax + 0x10]
test r10, r10
jne 0x14072498d
jmp 0x1407254af
mov r10, qword [r10 + 0x28]
test r10, r10
je 0x140799ca0
movzx eax, byte [r10 + 0x64]
and eax, 3
cmp al, 2
jne 0x140724980
movzx edi, word [r10 + 0x5e]
mov rcx, rbx
xor r11d, r11d
mov edx, edi
call fcn.1406a57e0
lea ecx, [rdi + rax]
mov esi, eax
mov dword [rsp + 0x108], ecx
test edi, edi
je 0x140724a2a
mov dword [rsp + 0x11c], eax
mov rsi, r10
mov dword [rsp + 0x118], edi
mov edi, eax
mov qword [rsp + 0x220], rbx
mov rbx, rbp
mov rbp, r11
mov rdx, qword [rsi + 8]
mov r8d, dword [rsp + 0x88]
mov rcx, rbx
movsx r9d, word [rdx + rbp]
mov dword [rsp + 0x20], edi
add rbp, 2
add edi, 1
mov rdx, qword [rsp + 0xb0]
call fcn.14072e5e0
cmp dword [rsp + 0x108], edi
jne 0x1407249dc
mov rbp, rbx
mov edi, dword [rsp + 0x118]
mov esi, dword [rsp + 0x11c]
mov rbx, qword [rsp + 0x220]
mov eax, dword [rsp + 0x50]
test eax, eax
jne 0x1407251fd
mov eax, dword [rsp + 0x68]
mov r9d, edi
mov r8d, esi
mov edx, 0x61
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.1406c9b90
mov dword [rsp + 0x28], edi
mov r9d, dword [rsp + 0x68]
mov rcx, rbp
mov dword [rsp + 0x20], esi
mov r8d, dword [rsp + 0x70]
mov edx, 0x8a
call fcn.1406ca680
xor r10d, r10d
cmp edi, 1
je 0x1407251d7
cmp edi, dword [rbx + 0x28]
jle 0x1407243f5
mov dword [rbx + 0x28], edi
mov dword [rbx + 0x2c], esi
jmp 0x1407243f5
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x140722d5a
mov rax, qword [rsp + 0x220]
movzx eax, byte [rax + 0x1f]
test al, al
je 0x140724b84
mov rcx, qword [rsp + 0x220]
sub eax, 1
mov byte [rcx + 0x1f], al
movzx eax, al
mov r13d, dword [rcx + rax*4 + 0xe8]
mov rcx, qword [rsp + 0x220]
mov r9d, 1
mov r8d, r13d
mov dword [rsp + 0x120], r13d
call fcn.14072f550
movzx eax, byte [rbx]
sub eax, 0x37
and eax, 2
or eax, 1
movzx edx, byte [rsp + rax + 0x160]
jmp 0x140722d8d
mov rcx, r10
mov dword [rsp + 0xe0], r8d
call fcn.14069e5b0
mov r8d, dword [rsp + 0xe0]
test eax, eax
je 0x1407212e6
mov dword [rsp + 0x20], 0
mov r9d, esi
mov edx, 0x32
mov rcx, rbp
mov qword [rsp + 0xe0], r10
call fcn.1406c9b90
mov r10, qword [rsp + 0xe0]
jmp 0x1407212e6
xor r9d, r9d
mov edx, 0x88
mov rcx, rbp
mov byte [rsp + 0x70], r10b
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0xb0]
call fcn.1406c9b90
movzx r10d, byte [rsp + 0x70]
jmp 0x14072116a
mov rax, qword [rsp + 0x220]
mov eax, dword [rax + 0x38]
lea r13d, [rax + 1]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x220]
mov dword [rax + 0x38], r13d
jmp 0x140724ad0
mov rdx, rbp
call fcn.1406cc8a0
jmp 0x1407242b6
mov r9d, r12d
xor r8d, r8d
mov edx, 0x47
mov rcx, rbp
mov dword [rsp + 0x20], 0
call fcn.1406c9b90
jmp 0x140723903
mov r10, qword [rsp + 0x68]
movzx edx, word [rsp + 0xc0]
mov rcx, qword [r10 + 8]
movsx rcx, word [rcx + rdx*2]
mov rdx, rcx
test ecx, ecx
js 0x140724f55
mov rcx, qword [r10 + 0x18]
lea rdx, [rdx + rdx*2]
mov r10, qword [rcx + 8]
lea rdx, [r10 + rdx*8]
test byte [rdx + 8], 0xf
sete r10b
jmp 0x1407210ce
mov rax, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x90]
mov eax, dword [rax + 0x90]
mov dword [r14 + 0x4c], eax
cmp byte [rdi + 0x67], 0
jne 0x140720757
jmp 0x1407224a2
mov rax, qword [r10 + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x14072134a
mov byte [rsp + 0xe0], 1
mov r8d, dword [rsp + 0xc0]
mov dword [rsp + 0xd0], 0
mov dword [rsp + 0xf0], 1
jmp 0x140721375
mov rax, qword [r10 + 0x20]
mov eax, dword [rax]
jmp 0x140724c46
mov rax, qword [rdx + 0x20]
mov eax, dword [rax]
jmp 0x140724a9a
mov rax, qword [rsp + 0x220]
mov edx, 0x47
mov rcx, rbp
mov r8d, 1
mov eax, dword [rax + 0x38]
lea r9d, [rax + 1]
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x220]
mov dword [rax + 0x38], r9d
mov dword [rdi + 0x2c], r9d
mov dword [rsp + 0x20], 0
call fcn.1406c9b90
mov eax, dword [rbp + 0x90]
mov rcx, qword [rsp + 0x68]
mov dword [rdi + 0x30], eax
mov eax, dword [rdi + 0x2c]
mov rcx, qword [rcx + 0x38]
lea edx, [rax + rax]
movzx eax, word [rsp + 0xc0]
mov dword [rdi + 0x2c], edx
cmp byte [rcx + rax], 1
sete al
movzx eax, al
xor eax, dword [rsp + 0x50]
or eax, edx
mov dword [rdi + 0x2c], eax
mov eax, dword [r15 + 0x38]
jmp 0x1407210bc
mov eax, dword [rsp + 0x70]
xor r8d, r8d
mov edx, 0x4b
mov rcx, rbp
mov dword [rsp + 0x20], 0
lea r9d, [rbx + rax]
call fcn.1406c9b90
lea eax, [rbx + 1]
mov r8d, ebx
mov dword [rsp + 0xf0], 0
mov dword [rsp + 0xc0], eax
mov dword [rsp + 0xd0], 1
mov dword [rsp + 0xd8], 1
jmp 0x140721375
lea r9d, [rax + 3]
mov r8d, r12d
mov edx, 0x11
mov rcx, rbp
mov dword [rsp + 0x20], 0
lea r13, [0x140bc5969]
mov dword [rsp + 0xb8], r11d
call fcn.1406c9b90
mov eax, dword [rsp + 0xc0]
mov r9d, esi
mov rcx, rbp
movsxd r11, dword [rsp + 0xb8]
mov r8d, dword [rsp + 0xb0]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x70]
movzx edx, byte [r13 + r11]
mov dword [rsp + 0x20], eax
call fcn.1406ca680
mov r9d, dword [rsp + 0xc8]
test r9d, r9d
jne 0x140721df4
mov eax, dword [rbp + 0x90]
jmp 0x140721e2f
mov rax, qword [r10 + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x14072155a
mov dword [rsp + 0xec], 1
jmp 0x14072156a
mov rax, qword [r10 + 0x20]
mov eax, dword [rax]
jmp 0x140724de2
cmp qword [rax + 0x2f8], 0
jne 0x140722730
sub dword [rdx], 1
jne 0x140722730
mov rcx, qword [rdx + 0x10]
call fcn.1406ac8c0
jmp 0x140722730
mov rax, qword [rsp + 0x220]
mov rax, qword [rax]
mov rax, qword [rax + 0x10]
jmp 0x14072484b
movsxd r13, dword [rsp + 0x50]
lea rax, [0x140bc5967]
movzx eax, byte [rax + r13]
mov byte [rdi + 0x41], al
mov eax, dword [rsp + 0x88]
mov dword [rdi + 0x44], eax
lea rax, str._____
movzx ecx, byte [rax + r13]
movsxd rax, dword [rbp + 0x90]
cmp eax, dword [rbp + 0x94]
jge 0x140724eef
lea edx, [rax + 1]
lea r8, [rax + rax*2]
mov rax, qword [rbp + 0x88]
mov esi, dword [rsp + 0x88]
mov dword [rbp + 0x90], edx
lea rax, [rax + r8*8]
mov byte [rax], cl
xor ecx, ecx
mov word [rax + 2], cx
mov dword [rax + 4], esi
mov dword [rax + 8], r9d
mov dword [rax + 0xc], 0
mov qword [rax + 0x10], 0
mov byte [rax + 1], 0
mov dword [rdi + 0x48], edx
mov byte [rdi + 0x43], 1
jmp 0x140722bc8
mov dword [rsp + 0xec], 1
movzx eax, al
mov dword [rsp + 0xd8], eax
mov dword [rsp + 0xf0], 1
jmp 0x140723871
mov dword [rsp + 0x20], 0
mov r8d, dword [rsp + 0x88]
movzx edx, cl
mov rcx, rbp
call fcn.1406c9b00
lea edx, [rax + 1]
jmp 0x140724ebe
mov r12d, 0xffff8000
jmp 0x140720b4e
mov r12, qword [rsp + 0x68]
mov edx, 0x24
jmp 0x1407239c2
mov dword [rsp + 0x20], 0
xor r8d, r8d
mov edx, 0x47
mov rcx, rbp
mov r9d, dword [rsp + 0xc8]
call fcn.1406c9b00
mov dword [rsp + 0xec], eax
jmp 0x140723e95
cmp ecx, 0xfffffffe
sete r10b
jmp 0x1407210ce
mov rax, qword [rsp + 0x220]
movsxd rax, dword [rax + 0x140]
test eax, eax
je 0x14072544a
mov rsi, qword [rsp + 0x220]
mov dword [rsp + 0xc0], 0
mov qword [rsp + 0xa8], 0
mov rdx, qword [rsi + 0x10]
jmp 0x1407241ed
mov rbp, qword [rsi + 0x10]
test rbp, rbp
je 0x14072542c
mov qword [rsp + 0x50], r15
mov r15, rbx
mov qword [rsp + 0x40], r14
jmp 0x140724fc9
mov rbp, qword [rbp + 0x28]
test rbp, rbp
je 0x140725424
cmp byte [rbp + 0x62], 0
je 0x140724fbc
cmp qword [rbp + 0x48], 0
jne 0x140724fbc
movzx edx, word [rbp + 0x5e]
cmp dx, 3
ja 0x140724fbc
movzx eax, byte [rbp + 0x64]
mov ecx, eax
and ecx, 8
cmp cl, 1
sbb r14d, r14d
and r14d, 0xffffff80
add r14d, 0x82
test dx, dx
je 0x140725410
xor ebx, ebx
mov qword [rsp + 0x28], rbp
mov r8d, dword [rsp + 0x48]
mov r9d, ebx
mov rcx, rdi
mov dword [rsp + 0x20], r14d
mov rdx, qword [rsp + 0x58]
mov esi, ebx
mov dword [rsp + 0x80], ebx
call fcn.1406db580
test rax, rax
jne 0x140725051
jmp 0x1407250e0
mov rcx, rdi
call fcn.1406db090
test rax, rax
je 0x1407250e0
cmp qword [rax + 0x28], 0
jne 0x140725040
mov rdx, qword [r12 + 0x48]
mov esi, dword [rsp + 0x80]
mov qword [rdx + rbx*8], rax
movzx eax, word [rbp + 0x5e]
add rbx, 1
add esi, 1
cmp eax, ebx
jg 0x140725005
cmp esi, eax
jne 0x140724fbc
mov rbx, r15
mov r14, qword [rsp + 0x40]
mov r15, qword [rsp + 0x50]
movzx eax, byte [rbp + 0x64]
mov dword [r12 + 0x38], 0x1201
test al, 0x20
jne 0x140725375
mov rax, qword [r15 + 0x58]
and rax, qword [rbp + 0x68]
je 0x140725375
mov r9d, 0x27
mov word [r12 + 0x3c], si
mov eax, 0x1201
mov word [r12 + 0x18], si
mov qword [r12 + 0x20], rbp
mov word [r12 + 0x14], r9w
jmp 0x140723480
movzx eax, word [rbp + 0x5e]
jmp 0x140725077
test ah, 2
jne 0x140720c44
jmp 0x140720ce1
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x10]
movsx eax, word [rax]
add eax, 9
movsxd r8, eax
sar eax, 0x1f
imul r8, r8, 0x66666667
sar r8, 0x22
sub r8d, eax
mov eax, dword [rbp + 0x90]
mov dword [rsp + 0xc8], eax
cmp eax, dword [rbp + 0x94]
jge 0x14072531c
mov ecx, dword [rsp + 0xc8]
lea eax, [rcx + 1]
mov dword [rbp + 0x90], eax
movsxd rax, ecx
lea rdx, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], r8d
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x7c
cmp qword [rsp + 0xb8], 0
jne 0x1407252c4
cmp byte [rsp + 0xe0], 0
jne 0x1407252c4
mov eax, dword [rsp + 0xc0]
mov r9d, esi
mov edx, 0x17
mov rcx, rbp
mov r8d, dword [rsp + 0xb0]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x20], eax
call fcn.1406ca680
test r12d, r12d
jne 0x1407239e4
cmp byte [rsp + 0xa8], 0
jne 0x14072479d
mov dword [rsp + 0xc0], ebx
jmp 0x14072156a
test esi, esi
je 0x1407243f5
movzx eax, byte [rbx + 0x1f]
cmp al, 7
ja 0x1407243f5
lea edx, [rax + 1]
mov byte [rbx + 0x1f], dl
mov dword [rbx + rax*4 + 0xe8], esi
jmp 0x1407243f5
mov r10d, dword [rbp + 0x90]
cmp r10d, dword [rbp + 0x94]
jge 0x140725350
lea eax, [r10 + 1]
mov ecx, dword [rsp + 0x70]
mov dword [rbp + 0x90], eax
movsxd rax, r10d
lea rdx, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], ecx
mov dword [rax + 8], 0
mov dword [rax + 0xc], esi
mov dword [rax + 0x10], edi
mov dword [rax], 0xfd1d
cmp dword [rsp + 0x50], 0xffffffff
je 0x140724a73
mov eax, dword [rsp + 0x68]
mov r9d, edi
mov r8d, esi
mov edx, 0x61
mov rcx, rbp
mov dword [rsp + 0x50], r10d
mov dword [rsp + 0x20], eax
call fcn.1406c9b90
mov dword [rsp + 0x28], edi
mov r9d, dword [rsp + 0x68]
mov rcx, rbp
mov dword [rsp + 0x20], esi
mov r8d, dword [rsp + 0x70]
mov edx, 0x8a
call fcn.1406ca680
movsxd rax, dword [rbp + 0x90]
mov r10d, dword [rsp + 0x50]
test eax, eax
jle 0x140724a73
mov r9, qword [rbp + 0x88]
lea rax, [rax + rax*2]
mov r11d, 0x10
lea rax, [r9 + rax*8]
mov word [rax - 0x16], r11w
jmp 0x140724a73
mov edx, dword [rbp + 0x90]
test edx, edx
jle 0x1407252e9
mov r11, qword [rbp + 0x88]
movsxd rax, edx
mov ecx, 1
lea rax, [rax + rax*2]
lea rax, [r11 + rax*8]
mov word [rax - 0x16], cx
mov rcx, qword [rbp]
add edx, 1
lea rax, [0x140c43220]
cmp byte [rcx + 0x67], 0
jne 0x140725314
movsxd rax, dword [rsp + 0xc8]
lea rcx, [rax + rax*2]
mov rax, qword [rbp + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
jmp 0x1407213f9
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov edx, 0x7c
mov rcx, rbp
mov dword [rsp + 0xd8], r10d
call fcn.1406c9b00
mov r10d, dword [rsp + 0xd8]
mov dword [rsp + 0xc8], eax
jmp 0x14072516c
mov dword [rsp + 0x28], edi
mov r8d, dword [rsp + 0x70]
xor r9d, r9d
mov rcx, rbp
mov dword [rsp + 0x20], esi
mov edx, 0x1d
call fcn.1406ca5d0
mov r10d, eax
jmp 0x140725247
mov r10d, 0x27
mov qword [r12 + 0x20], rbp
mov eax, 0x1241
mov dword [r12 + 0x38], 0x1241
mov word [r12 + 0x3c], si
mov word [r12 + 0x18], si
mov word [r12 + 0x14], r10w
jmp 0x140723480
mov rdx, qword [rsi + 0x48]
lea rbx, [rsi + 0x58]
mov dword [rsp + 0x7c], eax
mov r14, qword [rsp + 0x80]
mov r13, qword [rsp + 0x220]
cmp rdx, rbx
jne 0x140720951
mov rcx, qword [rsp + 0x50]
mov rdx, rsi
call fcn.1406ac0f0
mov word [rsi + 0x3c], 0
mov dword [rsi + 0x38], 0
jmp 0x140720757
mov rbx, rsi
mov r8, rbx
mov r9d, 0xfffffff2
mov edx, 0xffffffff
xor ebx, ebx
mov rcx, r12
call fcn.1406bdc50
jmp 0x140721642
mov rbx, r15
mov r14, qword [rsp + 0x40]
mov r15, qword [rsp + 0x50]
xor esi, esi
jmp 0x140725090
mov r14, qword [rsp + 0x40]
mov rbx, r15
mov eax, dword [r12 + 0x38]
test eax, eax
jne 0x140723480
mov rbx, qword [rsp + 0x130]
mov r15, qword [rbx + 8]
jmp 0x1407207da
mov rax, qword [rsp + 0x220]
mov dword [rsp + 0xc0], 0
mov dword [rax + 0x140], 0
mov qword [rdi + 0x50], 0
jmp 0x14072422e
mov rcx, r13
call fcn.1406a6690
mov rbx, rax
jmp 0x140724561
xor eax, eax
jmp 0x140723323
jmp 0x140799caa
mov r13, qword [rsp + 0x220]
jmp 0x140799cb4
jmp 0x140799cc3
mov r13, qword [rsp + 0x220]
jmp 0x140799cb4
jmp 0x140799ca0
jmp 0x140799ccd
movzx eax, word [0x5e]
ud2
movzx eax, word [0x5e]
ud2
add dword [r13 + 0x34], 1
movzx eax, word [0x5e]
ud2
movzx eax, word [0x5e]
ud2
movzx eax, word [0x5e]
ud2