Function at 0x1402bbed0
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 rax, qword [rcx + 0x10]
mov ebp, dword [rsp + 0x250]
mov qword [rsp + 0x40], rax
mov rax, qword [rcx]
mov r15, rcx
mov ecx, 0xe
mov qword [rsp + 0x228], rdx
lea rdx, [rsp + 0x128]
mov rsi, r8
mov r13, r9
mov rdi, rdx
mov word [rsp + 0x68], bp
mov qword [rsp + 0x48], rax
xor eax, eax
test r9, r9
rep stosd dword [rdi], eax
je 0x1402bbf33
cmp dword [r9], 0x3f
jle 0x1402bbf33
xor r13d, r13d
mov rax, qword [rsp + 0x228]
mov eax, dword [rax]
cmp eax, 0x40
mov dword [rsp + 0x6c], eax
jle 0x1402bbf60
lea rdx, str.at_most__d_tables_in_a_join
mov r8d, 0x40
mov rcx, r15
call fcn.140287890
jmp 0x1402bed1c
test ebp, 0x20
jne 0x1402bbf84
cmp dword [rsp + 0x6c], 1
mov eax, 0x3d0
jle 0x1402bbf91
mov eax, dword [rsp + 0x6c]
dec eax
imul eax, eax, 0x70
add eax, 0x3d0
jmp 0x1402bbf91
mov dword [rsp + 0x6c], 1
mov eax, 0x3d0
mov rcx, qword [rsp + 0x48]
movsxd r12, eax
lea rdx, [r12 + 0x70]
call fcn.140284fb0
mov rbx, rax
mov rax, qword [rsp + 0x48]
mov al, byte [rax + 0x67]
test al, al
mov byte [rsp + 0x50], al
je 0x1402bbfc8
mov rcx, qword [rsp + 0x48]
mov rdx, rbx
call fcn.140284ed0
jmp 0x1402bed1c
mov qword [rbx], r15
lea rdx, [rbx + 0x41]
mov ecx, 0x2f
xor r9d, r9d
mov qword [rbx + 0x10], r13
mov rdi, rdx
xor r10d, r10d
xor r11d, r11d
mov rax, qword [rsp + 0x228]
mov qword [rbx + 0x28], 0xffffffffffffffff
mov r8d, 0x2c
mov qword [rbx + 8], rax
mov rax, qword [rsp + 0x240]
mov qword [rbx + 0x18], rax
mov al, byte [rsp + 0x6c]
mov byte [rbx + 0x40], al
mov eax, dword [r15 + 0x44]
dec eax
mov dword [r15 + 0x44], eax
mov dword [rbx + 0x30], eax
mov dword [rbx + 0x34], eax
mov eax, dword [rsp + 0x258]
mov word [rbx + 0x3c], bp
mov word [rbx + 0x3e], ax
movsx eax, word [r15 + 0xe0]
mov dword [rbx + 0x38], eax
mov rax, qword [rsp + 0x248]
mov qword [rbx + 0x20], rax
mov al, byte [rsp + 0x50]
rep stosb byte [rdi], al
lea rax, [rbx + 0x360]
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x6c]
mov rdi, qword [rsp + 0x60]
lea ecx, [rax + 1]
mov al, byte [rsp + 0x50]
movsxd rcx, ecx
imul rcx, rcx, 0x70
rep stosb byte [rdi], al
mov eax, 0xffffff9d
mov qword [rsp + 0x128], rbx
shl rax, 0x20
mov qword [rbx + 0x25c], rax
lea rax, [rbx + 0x70]
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x130], rax
lea rax, [rbx + r12]
lea rdx, [rax + 0x58]
mov qword [rsp + 0x138], rax
mov qword [rax + 0x48], rdx
mov rcx, qword [rsp + 0xa0]
mov rdx, rsi
mov word [rax + 0x3c], 0
mov word [rax + 0x40], 3
mov dword [rax + 0x38], r9d
lea rax, [rbx + 0x98]
mov qword [rbx + 0x70], rbx
mov byte [rbx + 0x81], 0
mov qword [rbx + 0x78], r10
mov dword [rbx + 0x84], r11d
mov qword [rbx + 0x88], 8
mov qword [rbx + 0x90], rax
call fcn.1402c0110
cmp dword [rsp + 0x6c], 0
jne 0x1402bc13f
test r13, r13
je 0x1402bc114
mov eax, dword [r13]
mov byte [rbx + 0x41], al
bt ebp, 8
jae 0x1402bc129
mov rax, qword [rsp + 0x48]
test byte [rax + 0x60], 0x10
jne 0x1402bc129
mov byte [rbx + 0x43], 1
lea r8, str.SCAN_CONSTANT_ROW
xor edx, edx
mov rcx, r15
call fcn.1402b7740
jmp 0x1402bc2e1
mov rax, qword [rsp + 0x228]
xor r8d, r8d
mov dword [rsp + 0x58], r8d
lea rsi, [rax + 0x28]
movsxd rax, dword [rbx + 0x25c]
mov edx, dword [rsi + 0x24]
mov rdi, qword [rsp + 0x228]
lea ecx, [rax + 1]
mov dword [rbx + 0x25c], ecx
mov dword [rbx + rax*4 + 0x260], edx
movsxd rax, dword [rsp + 0x58]
imul rax, rax, 0x68
test byte [rdi + rax + 0x48], 4
je 0x1402bc2c5
mov r14, qword [rsi + 0x38]
mov r11, qword [rsi]
test r14, r14
je 0x1402bc2c5
xor r12d, r12d
xor r10d, r10d
cmp dword [r14], r12d
jle 0x1402bc2c5
movsxd rax, r10d
movsx edx, word [r11 + 0x36]
imul rax, rax, 0x18
cmp r10d, edx
jge 0x1402bc2b0
mov rcx, qword [r11 + 8]
mov cx, word [rcx + rax + 0x12]
add rax, 0x18
and cl, 2
jne 0x1402bc1d4
inc r10d
jmp 0x1402bc1b4
mov rcx, qword [r15]
xor r9d, r9d
xor r8d, r8d
mov edx, 0xa7
mov dword [rsp + 0x78], r10d
mov qword [rsp + 0x70], r11
call fcn.140287c20
mov r11, qword [rsp + 0x70]
test rax, rax
mov r10d, dword [rsp + 0x78]
mov rdi, rax
je 0x1402bc2c5
mov eax, dword [rsi + 0x24]
mov rcx, rdi
mov word [rdi + 0x30], r10w
xor r8d, r8d
mov qword [rdi + 0x40], r11
mov qword [rsp + 0x78], r11
mov dword [rdi + 0x2c], eax
lea eax, [r10 + 1]
mov dword [rsp + 0x70], eax
call fcn.14028a340
mov rcx, qword [r15]
or qword [rsi + 0x30], rax
mov rax, r12
shl rax, 5
mov rdx, qword [r14 + rax + 8]
call fcn.14028aa40
xor r9d, r9d
mov edx, 0xae
mov rcx, r15
mov r8, rax
call fcn.14029daa0
mov r8, rdi
mov edx, 0x35
mov rcx, r15
mov r9, rax
call fcn.14029daa0
mov edx, dword [rsi + 0x24]
mov r9, rax
mov al, byte [rsi + 0x1c]
mov rcx, r9
and eax, 0x18
neg al
sbb eax, eax
inc r12
lea r8d, [rax + 2]
call fcn.1402ac330
mov rcx, qword [rsp + 0xa0]
mov r8d, 1
mov rdx, r9
call fcn.1402d43a0
mov r10d, dword [rsp + 0x70]
mov r11, qword [rsp + 0x78]
jmp 0x1402bc19f
mov r8, qword [r11]
lea rdx, str.too_many_arguments_on__s_____max__d
mov r9d, r12d
mov rcx, r15
call fcn.140287890
mov rax, qword [rsp + 0x228]
add rsi, 0x68
inc dword [rsp + 0x58]
mov edi, dword [rsp + 0x58]
cmp dword [rax], edi
jg 0x1402bc153
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x228]
call fcn.1402bfb80
cmp qword [rsp + 0x248], 0
je 0x1402bc320
mov rax, qword [rsp + 0x248]
cmp qword [rax + 0x60], 0
je 0x1402bc320
mov rcx, qword [rsp + 0xa0]
mov rdx, rax
call fcn.1402bbde0
xor esi, esi
cmp dword [r15 + 0x30], 0
jne 0x1402bed04
mov rax, qword [rsp + 0x130]
cmp dword [rax + 0x1c], esi
jle 0x1402bc3f8
imul r12, rsi, 0x38
add r12, qword [rax + 0x20]
test byte [r12 + 0x12], 2
jne 0x1402bc3f0
cmp qword [r12 + 0x30], 0
mov r14, qword [r12]
jne 0x1402bc3f0
cmp dword [rsp + 0x6c], 0
jne 0x1402bc372
test byte [r14 + 4], 2
jne 0x1402bc3c6
jmp 0x1402bc3d4
lea r8, [rsp + 0x160]
xor eax, eax
mov ecx, 0xc
mov rdi, r8
mov rdx, r14
rep stosd dword [rdi], eax
lea rax, [0x1402381f0]
mov rcx, r8
mov word [rsp + 0x184], 1
mov qword [rsp + 0x168], rax
lea rax, [0x1402ac2a0]
mov qword [rsp + 0x170], rax
call fcn.1402bbb20
cmp word [rsp + 0x184], 0
jne 0x1402bc369
jmp 0x1402bc3f0
mov rax, qword [rsp + 0x228]
test byte [rax + 0x44], 0x40
jne 0x1402bc3f0
mov r8d, dword [rbx + 0x34]
mov r9d, 0x10
mov rdx, r14
mov rcx, r15
call fcn.14028ac00
or word [r12 + 0x12], 4
inc rsi
jmp 0x1402bc32d
bt ebp, 8
jae 0x1402bc5cd
mov rax, qword [rsp + 0x48]
test byte [rax + 0x60], 0x10
je 0x1402bc422
and word [rbx + 0x3c], 0xfeff
mov eax, ebp
and ah, 0xfe
mov word [rsp + 0x68], ax
jmp 0x1402bc5cd
mov rax, qword [rsp + 0x228]
cmp dword [rax], 1
jne 0x1402bc5b6
mov edi, dword [rax + 0x4c]
xor r8d, r8d
mov r10, qword [rax + 0x28]
mov rax, qword [rsp + 0x240]
mov r9d, dword [rax]
cmp r9d, r8d
jle 0x1402bc490
mov rsi, qword [rsp + 0x240]
mov rax, r8
shl rax, 5
mov rcx, qword [rsi + rax + 8]
call fcn.14028bbc0
test rax, rax
je 0x1402bc48b
mov sil, byte [rax]
lea edx, [rsi + 0x59]
and dl, 0xfd
jne 0x1402bc48b
cmp edi, dword [rax + 0x2c]
jne 0x1402bc48b
cmp word [rax + 0x30], 0
jns 0x1402bc48b
mov byte [rbx + 0x43], 1
jmp 0x1402bc5cd
inc r8
jmp 0x1402bc448
mov r14, qword [r10 + 0x10]
test r14, r14
je 0x1402bc5b6
cmp byte [r14 + 0x62], 0
jne 0x1402bc4aa
mov r14, qword [r14 + 0x28]
jmp 0x1402bc494
xor r12d, r12d
cmp qword [r14 + 0x48], 0
jne 0x1402bc4a4
movzx eax, word [r14 + 0x5e]
mov dword [rsp + 0x58], r12d
cmp eax, r12d
jle 0x1402bc599
or r9, 0xffffffffffffffff
mov qword [rsp + 0x28], r14
mov r8d, r12d
mov edx, edi
mov rcx, qword [rsp + 0xa0]
mov dword [rsp + 0x20], 2
call fcn.1402bfd20
test rax, rax
je 0x1402bc4f4
inc r12
jmp 0x1402bc4b4
mov rax, qword [r14 + 0x40]
lea rbp, [r12 + r12]
xor esi, esi
mov rax, qword [rax + r12*8]
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x240]
cmp dword [rax], esi
jle 0x1402bc599
mov rcx, qword [rsp + 0x240]
mov rax, rsi
shl rax, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14028bbc0
test rax, rax
jne 0x1402bc53a
inc rsi
jmp 0x1402bc507
mov dl, byte [rax]
add edx, 0x59
and dl, 0xfd
jne 0x1402bc535
mov rdx, qword [r14 + 8]
mov dx, word [rdx + rbp]
cmp word [rax + 0x30], dx
jne 0x1402bc535
cmp edi, dword [rax + 0x2c]
jne 0x1402bc535
mov rdx, rcx
mov rcx, r15
call fcn.14028b920
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rax]
call fcn.1402ad440
test eax, eax
jne 0x1402bc535
mov rax, qword [r14 + 8]
movsx rdx, word [rax + rbp]
test edx, edx
mov rax, rdx
js 0x1402bc5ad
mov rdx, qword [r14 + 0x18]
imul rax, rax, 0x18
add rax, qword [rdx + 8]
test byte [rax + 8], 0xf
jne 0x1402bc4ef
movzx eax, word [r14 + 0x5e]
cmp dword [rsp + 0x58], eax
jne 0x1402bc4a4
jmp 0x1402bc482
inc edx
jne 0x1402bc599
jmp 0x1402bc4ef
test r13, r13
jne 0x1402bc5cd
mov rax, qword [rsp + 0x240]
or word [rbx + 0x3c], 0x80
mov qword [rbx + 0x10], rax
cmp dword [rsp + 0x6c], 1
jne 0x1402bc7e0
mov rbp, qword [rsp + 0x128]
test byte [rbp + 0x3c], 0x20
jne 0x1402bc7e0
mov r12, qword [rbp + 8]
mov rdi, qword [r12 + 0x28]
cmp byte [rdi + 0x3f], 1
je 0x1402bc7e0
test byte [r12 + 0x48], 3
jne 0x1402bc7e0
mov eax, dword [r12 + 0x4c]
xor edx, edx
xor ecx, ecx
or r9d, 0xffffffff
mov rsi, qword [rsp + 0x138]
lea r13, [rsp + 0x160]
mov dword [rsp + 0x58], eax
mov r8d, dword [rsp + 0x58]
lea rax, [rbp + 0x70]
mov dword [rsi + 0x38], edx
mov rdx, rax
mov word [rsi + 0x3e], 0
mov qword [rsp + 0x28], rcx
mov rcx, r13
mov dword [rsp + 0x20], 0x82
mov qword [rsp + 0x70], rax
call fcn.1402d8ce0
test rax, rax
jne 0x1402bc664
mov rdi, qword [rdi + 0x10]
jmp 0x1402bc6a4
cmp qword [rax + 0x28], 0
je 0x1402bc675
mov rcx, r13
call fcn.1402d8dd0
jmp 0x1402bc659
mov rdx, qword [rsi + 0x48]
mov dword [rsi + 0x38], 0x1101
mov qword [rdx], rax
mov word [rsi + 0x3c], 1
mov word [rsi + 0x18], 1
mov word [rsi + 0x14], 0x21
jmp 0x1402bc781
cmp byte [rdi + 0x62], 0
jne 0x1402bc6ae
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x1402bc69a
jmp 0x1402bc781
cmp qword [rdi + 0x48], 0
jne 0x1402bc6a0
cmp word [rdi + 0x5e], 3
ja 0x1402bc6a0
mov al, byte [rdi + 0x64]
and eax, 8
cmp al, 1
lea rax, [rsp + 0x160]
sbb r14d, r14d
xor r13d, r13d
and r14d, 0xffffff80
mov qword [rsp + 0x78], rax
add r14d, 0x82
movzx eax, word [rdi + 0x5e]
mov dword [rsp + 0x80], r13d
cmp eax, r13d
jle 0x1402bc719
mov r8d, dword [rsp + 0x58]
mov qword [rsp + 0x28], rdi
mov r9d, r13d
mov rdx, qword [rsp + 0x70]
mov dword [rsp + 0x20], r14d
mov rcx, qword [rsp + 0x78]
call fcn.1402d8ce0
test rax, rax
jne 0x1402bc72b
movzx eax, word [rdi + 0x5e]
cmp dword [rsp + 0x80], eax
je 0x1402bc74b
jmp 0x1402bc6a0
cmp qword [rax + 0x28], 0
je 0x1402bc73e
mov rcx, qword [rsp + 0x78]
call fcn.1402d8dd0
jmp 0x1402bc714
mov rdx, qword [rsi + 0x48]
mov qword [rdx + r13*8], rax
inc r13
jmp 0x1402bc6e2
test byte [rdi + 0x64], 0x20
mov dword [rsi + 0x38], 0x1201
jne 0x1402bc766
mov rax, qword [r12 + 0x58]
and rax, qword [rdi + 0x98]
jne 0x1402bc76d
mov dword [rsi + 0x38], 0x1241
mov word [rsi + 0x3c], r13w
mov word [rsi + 0x18], r13w
mov qword [rsi + 0x20], rdi
mov word [rsi + 0x14], 0x27
mov eax, dword [rsi + 0x38]
test eax, eax
je 0x1402bc7e0
mov rdx, qword [rbp + 0x10]
mov word [rsi + 0x16], 1
mov edi, dword [rsp + 0x58]
mov qword [rbp + 0x3c0], rsi
mov qword [rsi + 8], 1
mov word [rbp + 0x48], 1
test rdx, rdx
mov dword [rbp + 0x364], edi
je 0x1402bc7bb
mov edx, dword [rdx]
mov byte [rbp + 0x41], dl
test byte [rbp + 0x3d], 1
je 0x1402bc7c5
mov byte [rbp + 0x43], 1
cmp byte [rsp + 0x189], 1
jbe 0x1402bc88f
or eax, 0x200000
mov dword [rsi + 0x38], eax
jmp 0x1402bc88f
lea rsi, [rsp + 0x128]
mov rcx, rsi
call fcn.1402d4940
test eax, eax
jne 0x1402bed04
test byte [rsp + 0x155], 4
jne 0x1402bc81c
xor edx, edx
mov rcx, rbx
call fcn.1402d84a0
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x67], 0
je 0x1402bc85a
jmp 0x1402bed04
mov rdi, qword [rbx + 0x58]
test rdi, rdi
je 0x1402bc849
mov rax, qword [rdi + 0x50]
mov rdx, rdi
mov rcx, qword [rsp + 0x48]
mov qword [rbx + 0x58], rax
call fcn.1402d7460
mov rcx, qword [rsp + 0x48]
mov rdx, rdi
call fcn.1402850d0
jmp 0x1402bc81c
mov rcx, rsi
call fcn.1402d4940
test eax, eax
je 0x1402bc802
jmp 0x1402bed04
cmp qword [rbx + 0x10], 0
jne 0x1402bc86e
test byte [rbx + 0x3d], 1
je 0x1402bc88f
sub word [rbx + 0x48], 0x1e
jmp 0x1402bc88f
mov eax, dword [rbx + 0x48]
mov rcx, rbx
lea edx, [rax + 1]
movsx edx, dx
call fcn.1402d84a0
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x67], 0
je 0x1402bc861
jmp 0x1402bed04
cmp qword [rbx + 0x10], 0
jne 0x1402bc8a9
mov rax, qword [rsp + 0x48]
test byte [rax + 0x31], 0x10
je 0x1402bc8a9
mov rcx, rbx
call fcn.1402d8c80
mov eax, dword [r15 + 0x30]
test eax, eax
mov dword [rsp + 0xb8], eax
jne 0x1402bed04
cmp byte [rbx + 0x40], 1
jbe 0x1402bc907
cmp qword [rsp + 0x240], 0
je 0x1402bc907
test word [rsp + 0x68], 0x400
mov qword [rsp + 0x80], 0xffffffffffffffff
jne 0x1402bc919
mov rax, qword [rsp + 0x48]
test byte [rax + 0x61], 1
jne 0x1402bc919
mov rcx, rbx
call fcn.1402d7a30
mov qword [rsp + 0x80], rax
movzx eax, byte [rbx + 0x40]
mov dword [rsp + 0x6c], eax
jmp 0x1402bc913
mov qword [rsp + 0x80], 0xffffffffffffffff
cmp byte [rbx + 0x40], 1
jbe 0x1402bc92c
mov rax, qword [rsp + 0x48]
test byte [rax + 0x62], 8
jne 0x1402bc92c
mov rcx, rbx
call fcn.1402d4320
mov rax, qword [rbx]
mov edx, dword [rbx + 0x48]
add word [rax + 0xe0], dx
test byte [rsp + 0x68], 4
je 0x1402bc9bd
mov rcx, qword [rbx + 0x3c0]
mov eax, dword [rcx + 0x38]
bt eax, 0xc
jb 0x1402bc985
test byte [rsp + 0x68], 8
je 0x1402bc9bd
mov rsi, qword [rsp + 0x228]
mov rdx, qword [rsi + 0x28]
cmp byte [rdx + 0x3f], 1
je 0x1402bc9bd
bt eax, 0xd
jae 0x1402bc976
test byte [rsp + 0x68], 0x10
je 0x1402bc9bd
mov rsi, qword [rsp + 0x48]
mov dl, 2
test byte [rsi + 0x63], 8
je 0x1402bc987
jmp 0x1402bc9bd
mov dl, 1
mov rsi, qword [rsp + 0x228]
mov byte [rbx + 0x42], dl
mov rdx, qword [rsi + 0x28]
test byte [rdx + 0x30], 0x80
jne 0x1402bc9bd
test al, 0x40
je 0x1402bc9bd
mov edx, dword [rsp + 0x68]
and eax, 0xffffffbf
mov dword [rcx + 0x38], eax
shr dx, 3
and edx, 1
lea esi, [rdx*8]
mov byte [rsp + 0x50], sil
xor eax, eax
mov rbp, qword [rsp + 0x60]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x68]
and eax, 0x20
mov word [rsp + 0x78], ax
mov esi, dword [rsp + 0x70]
cmp dword [rsp + 0x6c], esi
jle 0x1402bce1a
movzx edi, byte [rbp + 0x40]
mov rcx, qword [rsp + 0x48]
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.1402a8640
test byte [rsi + 0x31], 0x40
mov r12, qword [rbp + 0x60]
mov dword [rsp + 0x58], eax
jne 0x1402bcb5b
mov dl, byte [rsi + 0x3f]
cmp dl, 2
je 0x1402bcb5b
mov eax, dword [r12 + 0x38]
bt eax, 0xa
jae 0x1402bca70
mov rdx, qword [rsi + 0x50]
xor r9d, r9d
mov rcx, qword [rsp + 0x48]
call fcn.140298de0
mov rcx, qword [rsp + 0x40]
mov edx, 0xad
mov dword [rsp + 0x30], 0xfffffff5
mov qword [rsp + 0x28], rax
xor eax, eax
mov dword [rsp + 0x20], eax
mov r8d, dword [r10 + 0x4c]
call fcn.1402b0a60
jmp 0x1402bcb5b
dec dl
je 0x1402bcb5b
test al, 0x40
jne 0x1402bca83
test byte [rsp + 0x68], 0x20
je 0x1402bca9d
movsxd rax, edi
mov rcx, qword [rsp + 0x228]
imul rax, rax, 0x68
test byte [rcx + rax + 0x44], 0x50
je 0x1402bcb40
movsxd rax, edi
mov rcx, qword [rsp + 0x228]
imul rax, rax, 0x68
cmp byte [rbx + 0x42], 0
mov edx, dword [rcx + rax + 0x4c]
mov eax, 0x70
je 0x1402bcac3
mov dword [rbx + 0x28], edx
mov eax, 0x71
mov r8d, dword [rsp + 0x58]
mov dword [rsp + 0x20], eax
mov r9, rsi
mov rcx, r15
call fcn.14029d620
cmp byte [rbx + 0x42], 0
jne 0x1402bcb2f
cmp word [rsi + 0x36], 0x3f
jg 0x1402bcb2f
test byte [rsi + 0x30], 0xe0
jne 0x1402bcb2f
mov eax, dword [r12 + 0x38]
and eax, 0x404000
jne 0x1402bcb2f
movsxd rdx, edi
mov rcx, qword [rsp + 0x228]
mov r9d, 0xfffffffd
imul rdx, rdx, 0x68
mov rdx, qword [rcx + rdx + 0x58]
bsr rcx, rdx
test rdx, rdx
lea r8d, [rcx + 1]
mov rcx, qword [rsp + 0x40]
cmove r8d, eax
or edx, 0xffffffff
movsxd r8, r8d
call fcn.1402b0d80
movzx edx, byte [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
call fcn.1402b0df0
jmp 0x1402bcb5b
mov rax, qword [rsi]
xor r9d, r9d
mov rcx, r15
mov r8d, dword [rsi + 0x28]
mov edx, dword [rsp + 0x58]
mov qword [rsp + 0x20], rax
call fcn.1402ad9a0
test byte [r12 + 0x39], 2
je 0x1402bccdd
test byte [rsi + 0x30], 0x80
mov r13, qword [r12 + 0x20]
je 0x1402bcb8f
mov al, byte [r13 + 0x64]
and eax, 3
cmp al, 2
jne 0x1402bcb8f
test byte [rsp + 0x68], 0x20
je 0x1402bcb8f
mov r14d, dword [rbp + 4]
xor edx, edx
jmp 0x1402bcc86
cmp byte [rbx + 0x42], 0
je 0x1402bcbd6
movsxd rax, edi
mov rcx, qword [rsp + 0x228]
imul rax, rax, 0x68
mov r14d, dword [rsp + 0x258]
mov rax, qword [rcx + rax + 0x28]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x1402bcbc8
cmp rax, r13
je 0x1402bcbc8
mov rax, qword [rax + 0x28]
inc r14d
jmp 0x1402bcbb5
mov dword [rbx + 0x2c], r14d
mov edx, 0x71
jmp 0x1402bcc86
cmp dword [rsp + 0x258], 0
je 0x1402bcbec
cmp word [rsp + 0x78], 0
jne 0x1402bcc79
imul r14, r14, 0x68
mov rax, qword [rsp + 0x228]
test byte [r13 + 0x65], 0x10
lea r9, [rax + r14 + 8]
mov r14d, dword [r15 + 0x34]
lea eax, [r14 + 1]
mov dword [r15 + 0x34], eax
je 0x1402bcc39
mov rax, qword [rsp + 0x48]
test byte [rax + 0x63], 1
jne 0x1402bcc39
mov r8d, r14d
mov rdx, r13
mov rcx, r15
mov qword [rsp + 0x88], r9
call fcn.1402d4050
mov r9, qword [rsp + 0x88]
mov r8, qword [r13 + 0x48]
test r8, r8
je 0x1402bcc58
movsxd rax, edi
mov rcx, qword [rsp + 0x228]
imul rax, rax, 0x68
test byte [rcx + rax + 0x44], 0x10
je 0x1402bcc5f
mov edx, 0x70
jmp 0x1402bcc86
mov qword [rsp + 0x28], r9
mov rdx, r13
xor r9d, r9d
mov rcx, r15
mov dword [rsp + 0x20], r14d
call fcn.1402d7c70
jmp 0x1402bcc58
mov r14d, dword [rsp + 0x258]
mov edx, 0x65
test edx, edx
mov dword [rbp + 8], r14d
je 0x1402bccdd
mov eax, dword [rsp + 0x58]
mov r8d, r14d
mov r9d, dword [r13 + 0x58]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x20], eax
call fcn.1402b0a00
mov rdx, r13
mov rcx, r15
call fcn.1402ba210
mov eax, dword [r12 + 0x38]
test al, 0xf
je 0x1402bccdd
test eax, 0x188002
jne 0x1402bccdd
test byte [rbx + 0x3c], 1
jne 0x1402bccdd
cmp byte [rbx + 0x43], 2
je 0x1402bccdd
mov rcx, qword [rsp + 0x40]
mov edx, 2
call fcn.1402b0df0
cmp dword [rsp + 0x58], 0
js 0x1402bccf0
mov edx, dword [rsp + 0x58]
mov rcx, r15
call fcn.140282c80
movsxd rdi, edi
mov rax, qword [rsp + 0x228]
imul rdi, rdi, 0x68
test byte [rax + rdi + 0x44], 0x10
je 0x1402bce0d
mov edx, 0x14
mov rcx, rbx
call fcn.1402bfde0
test rax, rax
mov rdi, rax
mov qword [rbp + 0x38], rax
je 0x1402bce0d
mov eax, dword [r15 + 0x34]
mov r8d, 0x10000
mov rcx, qword [rsp + 0x40]
lea edx, [rax + 1]
mov dword [r15 + 0x34], edx
mov edx, 0x4d
mov dword [rdi], eax
mov eax, dword [r15 + 0x38]
lea r9d, [rax + 1]
mov dword [r15 + 0x38], r9d
mov dword [rdi + 4], r9d
call fcn.1402b09e0
mov eax, dword [r15 + 0x38]
xor r8d, r8d
mov edx, 0x4b
mov rcx, qword [rsp + 0x40]
lea r9d, [rax + 1]
mov dword [r15 + 0x38], r9d
mov dword [rdi + 8], r9d
call fcn.1402b09e0
test byte [rsi + 0x30], 0x80
jne 0x1402bcdd1
mov r8d, dword [rdi]
mov r9d, 1
mov edx, 0x76
mov rcx, qword [rsp + 0x40]
call fcn.1402b09e0
mov rcx, qword [r15]
xor r8d, r8d
mov edx, 1
call fcn.14029c280
test rax, rax
mov rdx, rax
je 0x1402bcdff
xor r14d, r14d
mov rcx, qword [rsp + 0x40]
mov r8d, 0xfffffff8
mov qword [rax + 0x20], r14
mov rax, qword [rax + 0x18]
mov byte [rax], 0
call fcn.1402b0ce0
jmp 0x1402bcdff
mov rcx, qword [rsi + 0x10]
call fcn.1402a66e0
mov rcx, qword [rsp + 0x40]
mov edx, 0x76
movzx r9d, word [rax + 0x5e]
mov rsi, rax
mov r8d, dword [rdi]
call fcn.1402b09e0
mov rdx, rsi
mov rcx, r15
call fcn.1402ba210
and dword [r12 + 0x38], 0xffffffbf
mov byte [rbx + 0x41], 0
mov byte [rbx + 0x43], 3
inc dword [rsp + 0x70]
add rbp, 0x70
jmp 0x1402bc9d4
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x90]
mov dword [rbx + 0x4c], eax
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x67], 0
jne 0x1402bed04
movzx eax, word [rsp + 0x68]
xor r13d, r13d
mov rbp, qword [rsp + 0x60]
mov qword [rsp + 0xf0], r13
mov dword [rsp + 0x104], eax
lea rax, [rbx + 0x258]
mov qword [rsp + 0xf8], rax
mov esi, dword [rsp + 0xb8]
cmp dword [rsp + 0x6c], esi
jle 0x1402becf1
mov eax, dword [r15 + 0x30]
test eax, eax
mov dword [rsp + 0xe8], eax
jne 0x1402bed04
movzx r12d, byte [rbp + 0x40]
mov rax, qword [rbp + 0x60]
imul r12, r12, 0x68
add r12, qword [rsp + 0x228]
mov edi, dword [rax + 0x38]
mov al, byte [r12 + 0x48]
test al, 0x10
je 0x1402bcefc
test al, 8
je 0x1402bcec6
mov r9d, dword [r12 + 0x38]
mov edx, 0xa
mov r8d, dword [r12 + 0x3c]
mov rcx, qword [rsp + 0x40]
call fcn.1402b09e0
jmp 0x1402bcefc
mov rcx, qword [rsp + 0x40]
mov edx, 0xf
call fcn.1402b09a0
mov rcx, qword [rsp + 0x40]
mov edx, 0xa
mov r9d, dword [r12 + 0x38]
mov esi, eax
mov r8d, dword [r12 + 0x3c]
call fcn.1402b09e0
mov rcx, qword [rsp + 0x40]
mov edx, esi
call fcn.1402b8500
test edi, 0x404000
jne 0x1402bcfbc
mov r9d, dword [rsp + 0x104]
mov r8, rbp
mov rcx, r15
mov rdx, qword [rsp + 0x228]
call fcn.1402bf7f0
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0xf8]
mov rsi, qword [rbp + 0x60]
mov eax, dword [rax + 0x90]
mov dword [rbp + 0x20], eax
mov rax, qword [r15]
mov qword [rsp + 0x50], rax
mov rax, qword [rbx + 8]
mov qword [rsp + 0xa8], rax
movzx eax, byte [rbp + 0x40]
movzx r10d, al
mov rdi, rax
mov dword [rsp + 0xc8], eax
mov rax, qword [rsp + 0xa8]
imul r10, r10, 0x68
add r10, rax
mov eax, dword [r10 + 0x4c]
mov edx, eax
mov dword [rsp + 0x68], eax
call fcn.1402bfda0
not rax
and rax, qword [rsp + 0x80]
mov qword [rbp + 0x68], rax
mov eax, dword [r15 + 0x44]
mov r13, qword [rbx + 0x68]
lea r12d, [rax - 1]
sub eax, 2
test dil, dil
mov dword [rbp + 0x10], r12d
mov dword [rbp + 0xc], r12d
mov dword [rsp + 0xbc], eax
mov dword [r15 + 0x44], eax
mov dword [rbp + 0x18], eax
jne 0x1402bd00d
jmp 0x1402bd036
bt edi, 0xe
jae 0x1402bcfdf
mov r8, qword [rsp + 0x80]
mov r9, rbp
mov rcx, r15
mov rdx, qword [rsp + 0xa0]
call fcn.140233760
jmp 0x1402bcff9
mov r9, qword [rsp + 0x80]
mov r8, rbp
mov rcx, rbx
mov edx, dword [rsp + 0xb8]
call fcn.140283640
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x67], 0
je 0x1402bcf08
jmp 0x1402bed04
test byte [r10 + 0x44], 8
je 0x1402bd036
mov eax, dword [r15 + 0x38]
xor r8d, r8d
mov edx, 0x47
mov rcx, qword [rsp + 0x40]
lea r9d, [rax + 1]
mov dword [r15 + 0x38], r9d
mov dword [rbp], r9d
call fcn.1402b09e0
mov rax, qword [rsp + 0xf0]
test eax, eax
je 0x1402bd064
imul rdx, rax, 0x70
cmp dword [rbx + rdx + 0x360], 0
jne 0x1402bd064
cmp qword [rbx + rdx + 0x398], 0
lea rcx, [rax - 1]
jne 0x1402bd064
mov rax, rcx
jmp 0x1402bd03e
cdqe
mov rcx, qword [rsp + 0xa8]
imul rax, rax, 0x70
mov r9d, dword [rbx + rax + 0x36c]
movsxd rax, dword [rsp + 0xc8]
imul rax, rax, 0x68
add rax, rcx
mov dl, byte [rax + 0x48]
test dl, 0x20
je 0x1402bd0d4
mov r8d, dword [rax + 0x3c]
xor r9d, r9d
mov edx, 0xb
mov eax, dword [rax + 0x38]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x50], r8d
mov dword [rsp + 0x20], eax
call fcn.1402b0a00
mov r8d, dword [rsp + 0x50]
mov r9d, r12d
mov edx, 0xc
mov rcx, qword [rsp + 0x40]
call fcn.1402b09e0
mov dword [rbp + 0x48], eax
mov al, 9
jmp 0x1402bd4e9
mov cl, byte [rsp + 0xb8]
shr r13, cl
mov eax, r13d
and eax, 1
mov dword [rsp + 0x58], eax
mov eax, dword [rsi + 0x38]
bt eax, 0xa
jae 0x1402bd41b
movzx eax, word [rsi + 0x3c]
mov rcx, r15
xor r12d, r12d
lea edx, [rax + 2]
mov dword [rsp + 0x60], eax
call fcn.1402987b0
mov r13d, dword [rbp + 0xc]
lea r14d, [rax + 2]
mov edi, eax
cmp dword [rsp + 0x60], r12d
mov ecx, r12d
jle 0x1402bd225
mov rax, qword [rsi + 0x48]
lea r10d, [r14 + r12]
mov rax, qword [rax + r12*8]
test rax, rax
je 0x1402bd21d
test byte [rax + 0x14], 1
je 0x1402bd1d5
cmp r12, 0x1f
mov r9d, r12d
ja 0x1402bd1b4
mov edx, 1
shl edx, cl
and edx, dword [rsi + 0x30]
je 0x1402bd1b4
mov r8d, dword [r15 + 0x34]
mov dword [rsp + 0x88], r10d
mov ecx, dword [r15 + 0x38]
lea edx, [r8 + 1]
mov dword [rsp + 0x70], r8d
mov dword [r15 + 0x34], edx
mov rdx, qword [rax]
lea r9d, [rcx + 1]
mov rcx, r15
mov dword [r15 + 0x38], r9d
mov dword [rsp + 0x78], r9d
call fcn.140282400
mov r9d, dword [rsp + 0x78]
mov edx, 0xaf
mov r8d, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x20], r9d
mov r9d, dword [rsp + 0x88]
call fcn.1402b0a00
jmp 0x1402bd21d
mov ecx, dword [rsp + 0x58]
mov dword [rsp + 0x28], r10d
mov r8, rbp
mov rdx, rax
mov dword [rsp + 0x20], ecx
mov rcx, r15
call fcn.1402318a0
mov r13d, dword [rbp + 0x10]
jmp 0x1402bd21d
mov rdx, qword [rax]
mov r9d, 1
mov r8d, r10d
mov rcx, r15
mov qword [rsp + 0x70], rax
mov rdx, qword [rdx + 0x18]
call fcn.140231f00
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x17], 0x4a
jne 0x1402bd21d
test byte [rsi + 0x1c], 2
je 0x1402bd21d
mov rax, qword [rbx + 0x20]
xor r8d, r8d
mov edx, 0x47
mov rcx, qword [rsp + 0x40]
mov r9d, dword [rax + 0xc]
call fcn.1402b09e0
inc r12
jmp 0x1402bd115
mov r8d, dword [rsi + 0x18]
mov r9d, edi
mov edx, 0x47
mov rcx, qword [rsp + 0x40]
call fcn.1402b09e0
mov r8d, dword [rsp + 0x60]
lea r9d, [rdi + 1]
mov edx, 0x47
mov rcx, qword [rsp + 0x40]
call fcn.1402b09e0
mov al, byte [rsi + 0x1c]
mov r9d, r13d
mov edx, 6
mov r8d, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
and eax, 1
cmp al, 1
sbb eax, eax
or eax, 0xfffffffa
mov dword [rsp + 0x30], eax
mov rax, qword [rsi + 0x28]
mov dword [rsp + 0x20], edi
mov qword [rsp + 0x28], rax
call fcn.1402b0a60
mov rax, qword [rsp + 0x50]
and byte [rsi + 0x1c], 0xfe
cmp byte [rax + 0x67], 0
je 0x1402bd29e
xor r12d, r12d
mov qword [rsi + 0x28], r12
mov eax, dword [rsp + 0x68]
mov dword [rbp + 0x44], eax
cmp byte [rbx + 0x42], 1
sbb eax, eax
add edi, 2
xor r12d, r12d
and eax, 0xffffff84
sub eax, 0x45
mov byte [rbp + 0x41], al
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x90]
mov dword [rbp + 0x48], eax
cmp dword [rsp + 0x60], r12d
mov ecx, r12d
jle 0x1402bd4ec
mov rax, qword [rsi + 0x48]
cmp r12, 0xf
mov r13, qword [rax + r12*8]
ja 0x1402bd2fd
movzx eax, word [rsi + 0x22]
bt eax, ecx
jae 0x1402bd2fd
mov rdx, r13
mov rcx, rbp
call fcn.140235820
jmp 0x1402bd411
test byte [r13 + 0x14], 1
je 0x1402bd411
cmp r12, 0x1f
ja 0x1402bd31e
mov eax, 1
shl eax, cl
and eax, dword [rsi + 0x30]
jne 0x1402bd411
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x67], 0
jne 0x1402bd411
mov r9d, dword [rbp + 0x50]
xor r10d, r10d
cmp r9d, r10d
jle 0x1402bd385
imul rax, r10, 0x14
mov rcx, qword [rsp + 0x40]
add rax, qword [rbp + 0x58]
mov edx, dword [rax + 4]
call fcn.1402b7ac0
movzx edx, byte [rax]
cmp dl, 0x5e
jne 0x1402bd35b
cmp dword [rax + 0xc], edi
jmp 0x1402bd363
cmp dl, 0x87
jne 0x1402bd380
cmp dword [rax + 8], edi
jne 0x1402bd380
mov r9d, dword [rax + 8]
mov r8d, dword [rax + 4]
mov eax, dword [rax + 0xc]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x20], eax
call fcn.1402b0a00
jmp 0x1402bd385
inc r10
jmp 0x1402bd334
xor r9d, r9d
xor r8d, r8d
mov edx, 0x35
mov rcx, r15
call fcn.14029daa0
mov r14, rax
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x67], 0
jne 0x1402bd404
mov eax, dword [r13 + 0x24]
mov rdx, qword [r13]
test eax, eax
mov rdx, qword [rdx + 0x10]
jle 0x1402bd3c6
dec eax
cdqe
shl rax, 5
add rax, qword [rdx + 0x20]
mov rdx, qword [rax + 8]
mov rcx, qword [rsp + 0x50]
mov qword [r14 + 0x10], rdx
xor r8d, r8d
mov edx, 0xb0
call fcn.140287a00
test rax, rax
mov qword [r14 + 0x18], rax
je 0x1402bd3fd
mov r8d, dword [rbp + 0x18]
mov dword [rax + 0x2c], edi
mov r9d, 0x10
mov rdx, r14
mov rcx, r15
call fcn.14028ac00
xor r11d, r11d
mov qword [r14 + 0x10], r11
mov rcx, qword [rsp + 0x50]
mov rdx, r14
call fcn.14028a9a0
inc r12
inc edi
jmp 0x1402bd2c8
bt eax, 8
jae 0x1402bd545
test al, 5
je 0x1402bd4ff
mov rax, qword [rsi + 0x48]
xor r9d, r9d
mov r8, rbp
mov rcx, r15
mov rdx, qword [rax]
mov eax, dword [r15 + 0x38]
lea edi, [rax + 1]
mov eax, dword [rsp + 0x58]
mov dword [r15 + 0x38], edi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], eax
call fcn.1402318a0
cmp edi, eax
mov esi, eax
je 0x1402bd469
mov edx, edi
mov rcx, r15
call fcn.1402a6fa0
cmp dword [rbp + 0x34], 0
mov edi, dword [rbp + 0x10]
je 0x1402bd4cc
mov rcx, qword [rsp + 0x40]
mov r9d, edi
mov r8d, esi
mov edx, 0xd
call fcn.1402b09e0
mov r8d, dword [rbp + 0x34]
mov r9d, edi
mov edx, 0x40
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], esi
call fcn.1402b0b00
mov r9d, edi
mov rdx, rbx
mov rcx, r15
mov rax, qword [rsp + 0x80]
mov r8d, dword [rsp + 0xb8]
mov qword [rsp + 0x20], rax
call fcn.140238be0
mov r8d, dword [rsp + 0x68]
mov dword [rsp + 0x20], esi
mov r9d, edi
mov edx, 0x1e
mov rcx, qword [rsp + 0x40]
call fcn.1402b0a00
mov al, 0xbb
mov byte [rbp + 0x41], al
xor r10d, r10d
mov r13d, 2
mov qword [rsp + 0x60], r10
jmp 0x1402be7e0
mov ecx, eax
not ecx
and ecx, 0x102
jne 0x1402bd545
test al, 0x20
je 0x1402bd51d
mov rdx, qword [rsi + 0x48]
mov r13, qword [rdx]
mov edx, 1
jmp 0x1402bd522
xor edx, edx
xor r13d, r13d
test al, 0x10
je 0x1402bed23
mov rax, qword [rsi + 0x48]
cmp dword [rsp + 0x58], 0
mov r14, qword [rax + rdx*8]
mov rsi, r14
jne 0x1402bede7
jmp 0x1402bed30
bt eax, 9
jae 0x1402be0e4
mov cx, word [rsi + 0x1a]
test al, 0x20
movzx r12d, word [rsi + 0x18]
mov word [rsp + 0xd8], cx
mov ecx, dword [rsi + 0x1c]
mov edi, r12d
mov word [rsp + 0xcc], cx
mov rcx, qword [rsi + 0x20]
mov qword [rsp + 0x60], rcx
mov ecx, dword [rbp + 8]
mov dword [rsp + 0x88], ecx
je 0x1402bd5a1
mov r8, qword [rsi + 0x48]
lea edx, [r12 + 1]
movzx ecx, r12w
movzx r10d, word [rsp + 0xd8]
mov r14, qword [r8 + rcx*8]
jmp 0x1402bd5aa
xor r10d, r10d
mov edx, r12d
xor r14d, r14d
test al, 0x10
je 0x1402bd687
mov rax, qword [rsi + 0x48]
movsxd rdx, edx
mov rax, qword [rax + rdx*8]
mov qword [rsp + 0x70], rax
movzx eax, word [rsp + 0xcc]
cmp r10d, eax
cmovl r10d, eax
mov rax, qword [rsp + 0x70]
test byte [rax + 0x13], 1
je 0x1402bd643
mov eax, dword [r15 + 0x38]
mov edx, 0x47
mov dword [rsp + 0x78], r10d
mov r8d, 1
mov rcx, qword [rsp + 0x40]
lea r9d, [rax + 1]
mov dword [r15 + 0x38], r9d
mov dword [rbp + 0x2c], r9d
call fcn.1402b09e0
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x78]
mov eax, dword [rax + 0x90]
mov rcx, qword [rcx + 0x38]
mov dword [rbp + 0x30], eax
mov eax, dword [rbp + 0x2c]
lea edx, [rax + rax]
movzx eax, di
mov dword [rbp + 0x2c], edx
cmp byte [rcx + rax], 1
mov ecx, dword [rsp + 0x58]
sete al
movzx eax, al
xor eax, ecx
or eax, edx
mov dword [rbp + 0x2c], eax
test r14, r14
mov byte [rsp + 0x90], 0
jne 0x1402bd697
mov rcx, qword [rsp + 0x60]
movzx eax, di
mov rdx, qword [rcx + 8]
movsx rdx, word [rdx + rax*2]
test edx, edx
mov rax, rdx
js 0x1402bd67a
mov rdx, qword [rcx + 0x18]
imul rax, rax, 0x18
add rax, qword [rdx + 8]
test byte [rax + 8], 0xf
jmp 0x1402bd67d
cmp edx, 0xfffffffe
sete byte [rsp + 0x90]
jmp 0x1402bd697
xor r9d, r9d
mov byte [rsp + 0x90], 0
mov qword [rsp + 0x70], r9
mov eax, dword [rsi + 0x38]
xor r13d, r13d
and eax, 0x80030
cmp eax, 0x80000
jne 0x1402bd6ef
mov eax, dword [r15 + 0x38]
cmp dword [rbp], 0
lea r13d, [rax + 1]
mov dword [r15 + 0x38], r13d
mov dword [rbp + 0x24], r13d
je 0x1402bd6d4
mov rcx, qword [rsp + 0x40]
mov r9d, r13d
xor r8d, r8d
mov edx, 0x47
call fcn.1402b09e0
mov eax, dword [r15 + 0x44]
mov byte [rsp + 0x90], 1
mov r10d, 1
dec eax
mov dword [r15 + 0x44], eax
mov dword [rbp + 0x28], eax
mov rax, qword [rsp + 0x60]
mov byte [rsp + 0x100], 0
cmp di, word [rax + 0x60]
jae 0x1402bd760
mov rcx, qword [rsp + 0x60]
movzx eax, di
mov rdx, qword [rcx + 0x38]
cmp byte [rdx + rax], 0
sete al
movzx eax, al
cmp dword [rsp + 0x58], eax
jne 0x1402bd760
mov cl, byte [rsp + 0x90]
mov rdx, r14
mov byte [rsp + 0x90], 0
movzx eax, byte [rsp + 0xd8]
mov r14, qword [rsp + 0x70]
mov qword [rsp + 0x70], rdx
mov byte [rsp + 0x100], cl
mov ecx, dword [rsp + 0xcc]
mov word [rsp + 0xcc], ax
mov word [rsp + 0xd8], cx
cmp dword [rsp + 0xb8], 0
je 0x1402bd791
test byte [rsi + 0x3a], 0x10
je 0x1402bd791
mov rcx, qword [rsp + 0x40]
mov edx, 0x88
mov dword [rsp + 0x78], r10d
mov r8d, dword [rsp + 0x88]
call fcn.1402b09c0
mov r10d, dword [rsp + 0x78]
mov r8d, dword [rsp + 0x58]
mov r9d, r10d
mov rdx, rbp
mov rcx, r15
lea rax, [rsp + 0x160]
mov qword [rsp + 0x20], rax
call fcn.1402311d0
cmp word [rsp + 0xcc], 0
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0xb0], rax
je 0x1402bd7ef
test rax, rax
je 0x1402bd7ef
mov rcx, qword [rsp + 0x50]
movzx edx, di
add rdx, rax
call fcn.140285240
mov qword [rsp + 0xc0], rax
jmp 0x1402bd7fa
xor r8d, r8d
mov qword [rsp + 0xc0], r8
test r13d, r13d
je 0x1402bd804
mov eax, dword [rbp + 0x28]
jmp 0x1402bd807
mov eax, dword [rbp + 0x10]
test r14, r14
mov dword [rsp + 0x98], eax
mov dword [rsp + 0xd0], 1
je 0x1402bd82f
xor eax, eax
test byte [r14 + 0x14], 0x28
setne al
mov dword [rsp + 0xd0], eax
cmp qword [rsp + 0x70], 0
mov dword [rsp + 0xe0], 1
je 0x1402bd858
mov rax, qword [rsp + 0x70]
test byte [rax + 0x14], 0x28
setne al
movzx eax, al
mov dword [rsp + 0xe0], eax
test r14, r14
je 0x1402bd96c
mov rax, qword [r14]
mov rcx, r15
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x90], rax
movzx eax, word [rsp + 0xd8]
mov rdx, qword [rsp + 0x90]
mov dword [rsp + 0xd8], eax
mov eax, dword [rsp + 0x78]
mov r9d, dword [rsp + 0xd8]
add eax, r12d
mov r8d, eax
mov dword [rsp + 0xec], eax
call fcn.140231f00
mov r10w, word [r14 + 0x12]
test r10w, 0x100
je 0x1402bd8d4
mov r9d, dword [rbp + 0x2c]
mov rcx, qword [rsp + 0x40]
call fcn.1402b7ab0
mov edx, r9d
and r9d, 1
shr edx, 1
mov word [rax + 2], r9w
mov dword [rax + 0xc], edx
and r10b, 0x80
jne 0x1402bd90a
mov rcx, qword [rsp + 0x90]
call fcn.1402880f0
test eax, eax
je 0x1402bd90a
mov r9d, dword [rsp + 0x98]
mov edx, 0x32
mov r8d, dword [rsp + 0xec]
mov rcx, qword [rsp + 0x40]
call fcn.1402b09e0
cmp qword [rsp + 0xb0], 0
je 0x1402bd938
mov rax, qword [rsp + 0xb0]
movzx r8d, di
mov edx, dword [rsp + 0xd8]
mov rcx, qword [rsp + 0x90]
add r8, rax
call fcn.1402cf3c0
mov rcx, qword [rsp + 0x90]
mov edi, dword [rsp + 0xd8]
call fcn.14028b410
add edi, r12d
test eax, eax
jne 0x1402bd9db
mov rdx, r14
mov rcx, rbp
call fcn.140235820
mov byte [rsp + 0x90], 0
jmp 0x1402bd99e
cmp byte [rsp + 0x90], 0
je 0x1402bd9a6
mov eax, dword [rsp + 0x78]
xor r8d, r8d
mov edx, 0x4b
mov rcx, qword [rsp + 0x40]
lea edi, [r12 + 1]
lea r9d, [r12 + rax]
call fcn.1402b09e0
xor ecx, ecx
mov dword [rsp + 0xd0], ecx
mov r10d, 1
jmp 0x1402bd9f4
test r13d, r13d
jne 0x1402bd9ba
xor r10d, r10d
test di, di
mov edi, r12d
setne r10b
jmp 0x1402bd9f4
mov eax, dword [rsp + 0x78]
xor r8d, r8d
mov edx, 0x4b
mov rcx, qword [rsp + 0x40]
lea edi, [r12 + 1]
lea r9d, [r12 + rax]
call fcn.1402b09e0
jmp 0x1402bd99e
mov byte [rsp + 0x90], 0
mov r10d, 1
mov dword [rsp + 0xd0], 1
mov rcx, qword [r15 + 0x10]
mov r8d, edi
mov dword [rsp + 0xec], r10d
movzx eax, byte [rsp + 0x90]
mov r9, qword [rsp + 0xb0]
mov edx, dword [rsp + 0x78]
sub r8d, eax
mov dword [rsp + 0xd8], eax
call fcn.140231440
movzx eax, word [rsi + 0x3e]
mov r10d, dword [rsp + 0xec]
test ax, ax
je 0x1402bda48
xor edx, edx
cmp edi, eax
mov dword [rsp + 0x90], edx
je 0x1402bdc2a
test r13d, r13d
je 0x1402bda75
mov rcx, qword [rsp + 0x40]
mov r9d, r13d
mov r8d, 1
mov edx, 0x47
mov dword [rsp + 0x90], r10d
call fcn.1402b09e0
mov r10d, dword [rsp + 0x90]
mov r8d, dword [rbp + 0x34]
test r8d, r8d
je 0x1402bdada
mov eax, dword [rsp + 0x78]
mov edx, 0x40
mov dword [rsp + 0x28], r12d
mov r9d, dword [rsp + 0x98]
mov dword [rsp + 0x90], r10d
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x20], eax
call fcn.1402b0b00
mov rax, qword [rsp + 0x80]
mov rdx, rbx
mov rcx, r15
mov r9d, dword [rsp + 0x98]
mov r8d, dword [rsp + 0xb8]
mov qword [rsp + 0x20], rax
call fcn.140238be0
mov r10d, dword [rsp + 0x90]
mov eax, dword [rsp + 0xd0]
lea rdx, [0x1403fa3b0]
mov ecx, dword [rsp + 0x58]
add eax, eax
lea eax, [rax + r10*4]
add eax, ecx
test byte [rsi + 0x3a], 0x10
cdqe
movzx eax, byte [rdx + rax]
mov dword [rsp + 0xec], eax
je 0x1402bdb0c
cmp eax, 0x17
je 0x1402bdb19
xor r14d, r14d
mov dword [rsp + 0x90], r14d
jmp 0x1402bdb87
mov rax, qword [rsp + 0x60]
mov ecx, 0xa
mov rax, qword [rax + 0x10]
movsx eax, word [rax]
add eax, 9
cdq
idiv ecx
mov rcx, qword [rsp + 0x40]
mov edx, 0x7c
mov r8d, eax
call fcn.1402b09c0
or r14, qword [rsp + 0x70]
mov dword [rsp + 0x90], eax
je 0x1402bdb87
mov rcx, qword [rsp + 0x40]
mov edx, 1
call fcn.1402b0df0
mov edx, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x40]
call fcn.1402b7ac0
mov rdx, rax
mov eax, dword [rcx + 0x90]
mov dword [rsp + 0x90], eax
inc eax
mov dword [rdx + 8], eax
jmp 0x1402bdb0c
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x28], edi
mov r9d, dword [rsp + 0x98]
mov r8d, dword [rsp + 0x88]
mov edx, dword [rsp + 0xec]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x20], eax
call fcn.1402b0b00
test r13d, r13d
je 0x1402bdc2a
mov rax, qword [rsp + 0x40]
xor r8d, r8d
mov edx, 9
mov r9d, dword [rax + 0x90]
mov rcx, rax
add r9d, 2
call fcn.1402b09e0
mov ecx, dword [rsp + 0x58]
xor eax, eax
cmp edi, 2
setge al
mov r9d, dword [rsp + 0x98]
lea eax, [rax*4 + 2]
mov r8d, dword [rsp + 0x88]
lea rdx, [0x1403fa3b0]
add eax, ecx
mov rcx, qword [rsp + 0x40]
cdqe
movzx edx, byte [rdx + rax]
mov eax, dword [rsp + 0xd0]
sub edi, eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], eax
call fcn.1402b0b00
cmp qword [rsp + 0x70], 0
je 0x1402bdd2e
mov rax, qword [rsp + 0x70]
mov rcx, r15
movzx edi, word [rsp + 0xcc]
mov rax, qword [rax]
mov r9d, edi
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xd0], rax
mov eax, dword [rsp + 0x78]
mov rdx, qword [rsp + 0xd0]
lea r14d, [r12 + rax]
mov r8d, r14d
call fcn.140231f00
mov rax, qword [rsp + 0x70]
mov r10w, word [rax + 0x12]
test r10w, 0x100
je 0x1402bdca1
mov r9d, dword [rbp + 0x2c]
mov rcx, qword [rsp + 0x40]
call fcn.1402b7ab0
mov edx, r9d
and r9d, 1
shr edx, 1
mov word [rax + 2], r9w
mov dword [rax + 0xc], edx
and r10b, 0x80
jne 0x1402bdcd2
mov rcx, qword [rsp + 0xd0]
call fcn.1402880f0
test eax, eax
je 0x1402bdcd2
mov r9d, dword [rsp + 0x98]
mov r8d, r14d
mov edx, 0x32
mov rcx, qword [rsp + 0x40]
call fcn.1402b09e0
cmp qword [rsp + 0xc0], 0
je 0x1402bdd0b
mov r8, qword [rsp + 0xc0]
mov edx, edi
mov rcx, qword [rsp + 0xd0]
call fcn.1402cf3c0
mov rcx, qword [r15 + 0x10]
mov r8d, edi
mov edx, r14d
mov r9, qword [rsp + 0xc0]
call fcn.140231440
mov rcx, qword [rsp + 0xd0]
add edi, r12d
call fcn.14028b410
test eax, eax
jne 0x1402bdd6c
mov rdx, qword [rsp + 0x70]
mov rcx, rbp
call fcn.140235820
jmp 0x1402bdd77
cmp byte [rsp + 0x100], 0
mov edi, r12d
je 0x1402bdd77
test r13d, r13d
jne 0x1402bdd65
mov eax, dword [rsp + 0x78]
xor r8d, r8d
mov edx, 0x4b
mov rcx, qword [rsp + 0x40]
lea r9d, [r12 + rax]
call fcn.1402b09e0
xor r11d, r11d
mov dword [rsp + 0xe0], r11d
lea edi, [r12 + 1]
jmp 0x1402bdd77
mov dword [rsp + 0xe0], 1
cmp qword [rsp + 0xb0], 0
je 0x1402bdd94
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x50]
call fcn.1402850d0
cmp qword [rsp + 0xc0], 0
je 0x1402bddb1
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
call fcn.1402850d0
mov rax, qword [rsp + 0x40]
test edi, edi
mov r9d, dword [rax + 0x90]
mov dword [rbp + 0x48], r9d
je 0x1402bde3a
test r13d, r13d
je 0x1402bddde
add r9d, 3
mov r8d, r13d
mov edx, 0x11
mov rcx, rax
call fcn.1402b09e0
mov ecx, dword [rsp + 0x58]
lea rdx, [0x1403f6df0]
mov dword [rsp + 0x28], edi
mov eax, dword [rsp + 0xe0]
mov r9d, dword [rsp + 0x98]
mov r8d, dword [rsp + 0x88]
lea eax, [rax + rcx*2]
mov rcx, qword [rsp + 0x40]
cdqe
movzx edx, byte [rdx + rax]
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x20], eax
call fcn.1402b0b00
cmp dword [rsp + 0x90], 0
je 0x1402bde3a
mov edx, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x40]
call fcn.1402b8500
test r13d, r13d
je 0x1402bdea9
mov rax, qword [rsp + 0x40]
mov r8d, r13d
mov edx, 0x10
mov r9d, dword [rax + 0x90]
mov rcx, rax
add r9d, 2
call fcn.1402b09e0
mov ecx, dword [rsp + 0x58]
lea rdx, [0x1403f6df0]
mov eax, dword [rsp + 0xd8]
mov r9d, dword [rsp + 0x98]
mov r8d, dword [rsp + 0x88]
lea eax, [rax + rcx*2]
mov rcx, qword [rsp + 0x40]
cdqe
movzx edx, byte [rdx + rax]
mov eax, dword [rsp + 0xd8]
add eax, edi
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x20], eax
call fcn.1402b0b00
test byte [rsi + 0x3a], 4
je 0x1402bdece
mov r8d, dword [rsp + 0x88]
mov dword [rsp + 0x20], r12d
mov r9d, r12d
mov edx, 0x7d
mov rcx, qword [rsp + 0x40]
call fcn.1402b0a00
test byte [rsi + 0x38], 0x40
je 0x1402bdee5
test word [rbx + 0x3c], 0x1020
mov edi, 1
je 0x1402be076
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x18]
test byte [rax + 0x30], 0x80
jne 0x1402bdfda
mov rdi, qword [rbx]
xor r9d, r9d
mov edx, 0x8d
mov eax, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x88]
mov r13, qword [rdi + 0x10]
or byte [rbx + 0x44], 1
mov dword [rsp + 0x20], eax
mov rcx, r13
call fcn.1402b0a00
test word [rbx + 0x3c], 0x1020
jne 0x1402bdf32
xor edi, edi
jmp 0x1402be076
mov rax, qword [rdi + 0xb0]
test rax, rax
cmove rax, rdi
cmp dword [rax + 0x80], 0
jne 0x1402bdf2b
mov rax, qword [rsp + 0x60]
mov rcx, qword [rdi]
mov r12, qword [rax + 0x18]
movsx edx, word [r12 + 0x36]
inc edx
movsxd rdx, edx
shl rdx, 2
call fcn.1402850a0
test rax, rax
mov r8, rax
je 0x1402bdf2b
movsx eax, word [r12 + 0x36]
xor r14d, r14d
mov dword [r8], eax
mov rax, qword [rsp + 0x60]
movzx edi, word [rax + 0x60]
dec edi
cmp edi, r14d
jle 0x1402bdfc4
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 8]
movsx edx, word [rax + r14*2]
test dx, dx
js 0x1402bdfbf
mov rcx, r12
mov qword [rsp + 0x50], r8
call fcn.1402ad950
mov r8, qword [rsp + 0x50]
lea edx, [r14 + 1]
movsx rax, ax
mov dword [r8 + rax*4 + 4], edx
inc r14
jmp 0x1402bdf88
mov r9d, 0xfffffff2
or edx, 0xffffffff
mov rcx, r13
call fcn.1402b0d80
jmp 0x1402bdf2b
mov ecx, dword [rsp + 0x88]
cmp dword [rsp + 0x68], ecx
je 0x1402bdf2b
mov rcx, qword [rax + 0x10]
xor r12d, r12d
call fcn.1402a66e0
mov rcx, r15
movzx edx, word [rax + 0x5e]
mov r13, rax
call fcn.1402987b0
mov edi, eax
movzx eax, word [r13 + 0x5e]
cmp eax, r12d
jle 0x1402be04d
mov rax, qword [r13 + 8]
mov rcx, qword [rsp + 0x60]
movsx edx, word [rax + r12*2]
call fcn.1402ad920
mov rcx, qword [rsp + 0x40]
lea edx, [rdi + r12]
inc r12
mov r8d, dword [rsp + 0x88]
mov dword [rsp + 0x20], edx
movsx r9d, ax
mov edx, 0x5e
call fcn.1402b0a00
jmp 0x1402be008
mov r8d, dword [rsp + 0x68]
mov dword [rsp + 0x28], eax
mov edx, 0x1c
mov r9d, dword [rsp + 0xbc]
mov dword [rsp + 0x20], edi
mov rcx, qword [rsp + 0x40]
call fcn.1402b0b00
jmp 0x1402bdf2b
cmp dword [rbp], 0
jne 0x1402be09b
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0x48]
test rcx, rcx
je 0x1402be09b
mov r8, qword [rsp + 0xa0]
mov edx, dword [rsp + 0x68]
call fcn.1402d42b0
mov eax, dword [rsi + 0x38]
mov ecx, 0x27
mov dl, 0xbb
mov esi, dword [rsp + 0x58]
sub ecx, esi
test ah, 0x10
mov esi, dword [rsp + 0x88]
cmove edx, ecx
mov byte [rbp + 0x41], dl
mov edx, eax
shr edx, 0x10
mov dword [rbp + 0x44], esi
and edx, 1
test al, 0xf
mov byte [rbp + 0x42], dl
jne 0x1402be0d1
mov byte [rbp + 0x43], 1
test edi, edi
mov r13d, 1
je 0x1402be7e0
jmp 0x1402bd4ec
bt eax, 0xd
jae 0x1402be793
mov eax, dword [r15 + 0x34]
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0xcc], eax
inc eax
mov dword [r15 + 0x34], eax
mov eax, dword [r15 + 0x38]
inc eax
mov dword [r15 + 0x38], eax
mov dword [rsp + 0x90], eax
mov eax, dword [r15 + 0x44]
dec eax
mov dword [r15 + 0x44], eax
mov dword [rsp + 0xd0], eax
movsxd rax, dword [rsp + 0xc8]
imul rax, rax, 0x68
mov r13, qword [rcx + rax + 0x28]
mov rax, qword [rsi + 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 + 0x90]
mov dword [rbp + 0x44], eax
movzx r12d, byte [rbx + 0x40]
cmp r12b, 1
jbe 0x1402be204
mov eax, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0x50]
sub r12d, eax
dec r12d
movsxd rdx, r12d
imul rdx, rdx, 0x68
add rdx, 0x70
call fcn.140284fb0
test rax, rax
mov r14, rax
je 0x1402becd3
imul rdi, rdi, 0x68
mov rsi, qword [rsp + 0xa8]
mov ecx, 0x1a
lea eax, [r12 + 1]
lea rdx, [r14 + 0x70]
movzx eax, al
mov dword [r14 + 4], eax
mov dword [r14], eax
lea rax, [r14 + 8]
lea rsi, [rsi + rdi + 8]
mov rdi, rax
rep movsd dword [rdi], dword [rsi]
mov rax, qword [rbx + 8]
lea r8, [rax + 8]
xor eax, eax
inc rax
cmp r12d, eax
jl 0x1402be208
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 0x1402be1dc
mov r14, qword [rbx + 8]
test byte [rbx + 0x3c], 0x10
jne 0x1402be288
test byte [r13 + 0x30], 0x80
jne 0x1402be23a
mov eax, dword [r15 + 0x38]
xor r8d, r8d
mov edx, 0x4b
mov rcx, qword [rsp + 0x40]
inc eax
mov dword [r15 + 0x38], eax
mov r9d, eax
mov dword [rsp + 0x58], eax
call fcn.1402b09e0
jmp 0x1402be278
mov rcx, qword [r13 + 0x10]
call fcn.1402a66e0
mov rcx, qword [rsp + 0x40]
mov edx, 0x76
mov rsi, rax
mov eax, dword [r15 + 0x34]
movzx r9d, word [rsi + 0x5e]
mov dword [rsp + 0x58], eax
mov r8d, dword [rsp + 0x58]
inc eax
mov dword [r15 + 0x34], eax
call fcn.1402b09e0
mov rdx, rsi
mov rcx, r15
call fcn.1402ba210
mov eax, dword [r15 + 0x38]
inc eax
mov dword [rsp + 0x60], eax
mov dword [r15 + 0x38], eax
jmp 0x1402be295
xor r10d, r10d
mov dword [rsp + 0x60], r10d
mov dword [rsp + 0x58], r10d
mov r9d, dword [rsp + 0x90]
xor r8d, r8d
mov edx, 0x47
mov rcx, qword [rsp + 0x40]
call fcn.1402b09e0
cmp dword [rbx + 0x84], 1
mov dword [rsp + 0x100], eax
jg 0x1402be2c4
xor r12d, r12d
jmp 0x1402be341
xor esi, esi
xor r9d, r9d
cmp dword [rbx + 0x84], esi
jle 0x1402be329
imul rax, rsi, 0x38
add rax, qword [rbx + 0x90]
cmp qword [rsp + 0xd8], rax
je 0x1402be324
test word [rax + 0x12], 0x8006
jne 0x1402be324
test word [rax + 0x14], 0x3fff
je 0x1402be324
mov rdx, qword [rax]
test byte [rdx + 6], 0x40
jne 0x1402be324
mov rcx, qword [rsp + 0x50]
xor r8d, r8d
mov qword [rsp + 0x70], r9
call fcn.14028aa40
mov rdx, qword [rsp + 0x70]
mov rcx, r15
mov r8, rax
call fcn.140287dc0
mov r9, rax
inc rsi
jmp 0x1402be2c9
test r9, r9
je 0x1402be2bf
xor r8d, r8d
mov edx, 0x1002c
mov rcx, r15
call fcn.14029daa0
mov r12, rax
lea r8, str.MULTI_INDEX_OR
mov edx, 1
mov rcx, r15
call fcn.1402b7740
xor r8d, r8d
xor r9d, r9d
xor edi, edi
mov dword [rsp + 0xec], r8d
mov qword [rsp + 0xc0], r9
mov rax, qword [rsp + 0xe0]
mov dword [rsp + 0x78], edi
cmp dword [rax + 0x14], edi
jle 0x1402be6db
mov rsi, qword [rsp + 0xe0]
imul rax, rdi, 0x38
add rax, qword [rsi + 0x20]
mov esi, dword [rsp + 0x68]
cmp esi, dword [rax + 0x1c]
je 0x1402be3a5
test byte [rax + 0x15], 4
je 0x1402be6d3
mov rdx, qword [rax]
xor r8d, r8d
mov rcx, qword [rsp + 0x50]
call fcn.14028aa40
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x67], 0
je 0x1402be3d8
mov rdx, qword [rsp + 0x98]
mov rcx, rax
jmp 0x1402be6ce
test r12, r12
mov rsi, qword [rsp + 0x98]
je 0x1402be3ed
mov qword [r12 + 0x10], rsi
mov rsi, r12
lea r9d, [rdi + 1]
mov edx, 1
mov rcx, r15
lea r8, str.INDEX__d
call fcn.1402b7740
xor ecx, ecx
xor r9d, r9d
mov r8, rsi
mov eax, dword [rsp + 0xcc]
mov qword [rsp + 0x28], rcx
mov rdx, r14
mov qword [rsp + 0x20], rcx
mov rcx, r15
mov dword [rsp + 0x30], 0x20
mov dword [rsp + 0x38], eax
call fcn.1402bbed0
test rax, rax
mov qword [rsp + 0x70], rax
je 0x1402be6c1
xor r9d, r9d
mov rdx, r14
mov rcx, r15
lea r8, [rax + 0x360]
xor esi, esi
call fcn.1402bf7f0
test byte [rbx + 0x3c], 0x10
jne 0x1402be609
mov rax, qword [rsp + 0xe0]
mov esi, dword [rsp + 0x78]
mov eax, dword [rax + 0x14]
mov dword [rsp + 0x88], eax
dec eax
cmp eax, esi
mov eax, 0xffffffff
cmovne eax, edi
test byte [r13 + 0x30], 0x80
mov dword [rsp + 0xb0], eax
jne 0x1402be4de
mov r9d, dword [rsp + 0x60]
mov edx, 0x87
mov r8d, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
call fcn.1402b09e0
mov eax, dword [rsp + 0xb0]
xor r9d, r9d
mov edx, 0x2f
mov r8d, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x60]
mov dword [rsp + 0x20], eax
call fcn.1402b0b00
mov esi, eax
jmp 0x1402be609
mov rcx, qword [r13 + 0x10]
xor esi, esi
call fcn.1402a66e0
mov rcx, r15
mov r10, rax
movzx eax, word [rax + 0x5e]
mov edx, eax
mov dword [rsp + 0x78], eax
call fcn.1402987b0
mov dword [rsp + 0x88], eax
cmp dword [rsp + 0x78], esi
jle 0x1402be548
mov rax, qword [r10 + 8]
mov rdx, r13
mov qword [rsp + 0x108], r10
mov r8d, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
movsx r9d, word [rax + rsi*2]
mov eax, dword [rsp + 0x88]
add eax, esi
inc rsi
mov dword [rsp + 0x20], eax
call fcn.140288550
mov r10, qword [rsp + 0x108]
jmp 0x1402be505
cmp dword [rsp + 0xb0], 0
je 0x1402be58a
mov eax, dword [rsp + 0x78]
xor r9d, r9d
mov edx, 0x1d
mov r8d, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x20], eax
call fcn.1402b0b00
cmp dword [rsp + 0xb0], 0xffffffff
mov esi, eax
jne 0x1402be58c
jmp 0x1402be5f5
xor esi, esi
mov eax, dword [rsp + 0x60]
mov edx, 0x61
mov r9d, dword [rsp + 0x78]
mov r8d, dword [rsp + 0x88]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x20], eax
call fcn.1402b0a00
mov eax, dword [rsp + 0x78]
mov edx, 0x8a
mov r9d, dword [rsp + 0x60]
mov r8d, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x20], eax
call fcn.1402b0b00
cmp dword [rsp + 0xb0], 0
je 0x1402be5f5
mov rcx, qword [rsp + 0x40]
mov edx, 0x10
call fcn.1402b0df0
mov r8d, dword [rsp + 0x78]
mov rcx, r15
mov edx, dword [rsp + 0x88]
call fcn.1402a6f80
mov r9d, dword [rsp + 0xd0]
mov edx, 0xa
mov r8d, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x40]
call fcn.1402b09e0
test esi, esi
je 0x1402be638
mov rcx, qword [rsp + 0x40]
mov edx, esi
call fcn.1402b8500
mov rax, qword [rsp + 0x70]
test byte [rax + 0x44], 2
mov eax, 1
cmove eax, dword [rsp + 0xec]
xor esi, esi
mov dword [rsp + 0xec], eax
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 0x3c0]
test byte [rax + 0x39], 2
je 0x1402be698
test rdi, rdi
mov rsi, qword [rax + 0x20]
je 0x1402be67c
cmp qword [rsp + 0xc0], rsi
jne 0x1402be696
test byte [r13 + 0x30], 0x80
je 0x1402be698
mov al, byte [rsi + 0x64]
and eax, 3
cmp al, 2
mov eax, 0
cmove rsi, rax
jmp 0x1402be698
xor esi, esi
mov rax, qword [rsp + 0x70]
test byte [rax + 0x44], 1
je 0x1402be6a7
or byte [rbx + 0x44], 1
mov rcx, qword [rsp + 0x70]
call fcn.1402bef90
mov rcx, r15
call fcn.1402b77c0
mov qword [rsp + 0xc0], rsi
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x50]
call fcn.14028a9a0
inc rdi
jmp 0x1402be36d
mov rcx, r15
call fcn.1402b77c0
mov rax, qword [rsp + 0xc0]
test rax, rax
mov qword [rbp + 0x50], rax
je 0x1402be6fe
mov eax, dword [rsp + 0xcc]
mov dword [rbp + 8], eax
test r12, r12
je 0x1402be717
mov rcx, qword [rsp + 0x50]
xor edx, edx
mov qword [r12 + 0x10], rdx
mov rdx, r12
call fcn.14028a9a0
mov rax, qword [rsp + 0x40]
mov edx, dword [rsp + 0x100]
mov r9d, dword [rax + 0x90]
mov rcx, rax
call fcn.1402b7ac0
mov edx, dword [rbp + 0xc]
mov dword [rax + 4], r9d
call fcn.1402b7ae0
mov edx, dword [rsp + 0xd0]
mov rcx, qword [rsp + 0x40]
call fcn.1402b9fc0
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x90]
mov dword [rbp + 0x48], eax
cmp byte [rbx + 0x40], 1
jbe 0x1402be770
mov rcx, qword [rsp + 0x50]
mov rdx, r14
call fcn.140284ee0
cmp dword [rsp + 0xec], 0
jne 0x1402bd4ec
mov rdx, qword [rsp + 0xd8]
mov rcx, rbp
call fcn.140235820
jmp 0x1402bd4ec
and dl, 0x40
je 0x1402be7a1
mov byte [rbp + 0x41], 0xbb
jmp 0x1402bd4ec
movsxd rax, dword [rsp + 0x58]
lea rdx, [0x1403fa3d0]
mov esi, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
mov dl, byte [rdx + rax]
mov dword [rbp + 0x44], esi
mov r8d, esi
mov byte [rbp + 0x41], dl
lea rdx, [0x1403fa3a0]
movzx edx, byte [rdx + rax]
call fcn.1402b09e0
mov byte [rbp + 0x43], 1
inc eax
mov dword [rbp + 0x48], eax
jmp 0x1402bd4ec
movsxd rax, dword [rsp + 0xc8]
mov rdi, qword [rsp + 0xa8]
imul rax, rax, 0x68
add rax, rdi
mov qword [rsp + 0x58], rax
mov eax, dword [rbx + 0x84]
xor r12d, r12d
mov rsi, qword [rbx + 0x90]
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x50], 0
jle 0x1402be96d
test byte [rsi + 0x12], 6
jne 0x1402be960
mov r10, qword [rbp + 0x68]
mov rax, r10
and rax, qword [rsi + 0x30]
je 0x1402be83b
or byte [rbx + 0x44], 2
jmp 0x1402be960
mov rax, qword [rsp + 0x58]
mov r14, qword [rsi]
mov dl, byte [rax + 0x44]
test dl, 0x58
je 0x1402be87e
mov eax, dword [r14 + 4]
test al, 3
je 0x1402be960
and dl, 8
je 0x1402be864
test al, 1
je 0x1402be960
mov edx, dword [r14 + 0x34]
mov rcx, qword [rsp + 0xf8]
call fcn.1402bfda0
test r10, rax
jne 0x1402be960
cmp r13d, 1
jne 0x1402be8ec
lea r8, [rsp + 0x160]
xor eax, eax
mov ecx, 0xa
mov edx, dword [rbp + 4]
mov rdi, r8
rep stosd dword [rdi], eax
mov rax, qword [rsp + 0x60]
mov rcx, r8
mov dword [rsp + 0x120], edx
mov rdx, r14
mov qword [rsp + 0x118], rax
lea rax, [0x140237c30]
mov qword [rsp + 0x168], rax
lea rax, [rsp + 0x118]
mov qword [rsp + 0x188], rax
call fcn.1402bbb20
cmp word [rsp + 0x184], 0
jne 0x1402be95a
test byte [rsi + 0x13], 0x10
je 0x1402be901
jmp 0x1402be8f4
cmp r13d, 2
jne 0x1402be901
jmp 0x1402be8e4
test r12d, r12d
jne 0x1402be960
mov r12d, 3
jmp 0x1402be960
xor edi, edi
test byte [rsi + 0x13], 2
je 0x1402be92a
mov r8d, dword [rbp + 0x2c]
test r8d, r8d
je 0x1402be92a
mov rcx, qword [rsp + 0x40]
mov edx, r8d
shr r8d, 1
and edx, 1
add edx, 0x10
call fcn.1402b09c0
mov edi, eax
mov r8d, dword [rsp + 0xbc]
mov r9d, 0x10
mov rdx, r14
mov rcx, r15
call fcn.14028ac00
test edi, edi
je 0x1402be953
mov rcx, qword [rsp + 0x40]
mov edx, edi
call fcn.1402b8500
or word [rsi + 0x12], 4
jmp 0x1402be960
mov r12d, 2
dec dword [rsp + 0x50]
add rsi, 0x38
jmp 0x1402be810
test r12d, r12d
jle 0x1402be97a
mov r13d, r12d
jmp 0x1402be7fc
movsxd r12, dword [rsp + 0xc8]
mov rax, qword [rsp + 0xa8]
mov r14, qword [rbx + 0x90]
mov r13d, dword [rbx + 0x8c]
imul r12, r12, 0x68
add rax, r12
mov qword [rsp + 0x50], rax
test r13d, r13d
jle 0x1402bea95
test byte [r14 + 0x12], 6
jne 0x1402bea89
mov eax, dword [r14 + 0x14]
test al, 0x82
je 0x1402bea89
test ah, 8
je 0x1402bea89
mov eax, dword [rsp + 0x68]
cmp eax, dword [r14 + 0x1c]
jne 0x1402bea89
mov rax, qword [rsp + 0x50]
test byte [rax + 0x44], 0x58
jne 0x1402bea89
mov r8d, dword [r14 + 0x20]
xor eax, eax
mov r9, qword [rsp + 0x80]
mov edx, dword [rsp + 0x68]
mov rcx, qword [rsp + 0xa0]
mov r12, qword [r14]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x83
call fcn.1402bfd20
test rax, rax
je 0x1402bea89
test byte [rax + 0x12], 4
jne 0x1402bea89
test byte [rax + 0x14], 1
mov rsi, qword [rax]
je 0x1402bea40
test byte [rsi + 5], 0x10
je 0x1402bea40
mov rdx, qword [rsi + 0x20]
mov rdx, qword [rdx + 0x20]
cmp dword [rdx], 1
jg 0x1402bea89
mov ecx, 0x12
mov r8d, dword [rsp + 0xbc]
mov qword [rsp + 0x58], rax
mov r9d, 0x10
lea rdi, [rsp + 0x160]
rep movsd dword [rdi], dword [rsi]
mov rcx, r15
mov rdx, qword [r12 + 0x10]
mov qword [rsp + 0x170], rdx
lea rdx, [rsp + 0x160]
call fcn.14028ac00
mov rax, qword [rsp + 0x58]
or word [rax + 0x12], 4
dec r13d
add r14, 0x38
jmp 0x1402be9a4
mov r13, qword [rbp + 0x38]
test r13, r13
je 0x1402bebe9
movzx eax, byte [rbp + 0x40]
imul rax, rax, 0x68
add rax, qword [rbx + 8]
mov r14, qword [rax + 0x28]
test byte [r14 + 0x30], 0x80
jne 0x1402beae6
mov edx, 2
mov rcx, r15
mov edi, 1
call fcn.1402987b0
mov r8d, dword [rbp + 4]
mov edx, 0x87
mov rcx, qword [rsp + 0x40]
lea r9d, [rax + 1]
mov esi, eax
call fcn.1402b09e0
jmp 0x1402beb42
mov rcx, qword [r14 + 0x10]
xor r10d, r10d
call fcn.1402a66e0
mov rcx, r15
movzx edi, word [rax + 0x5e]
mov r12, rax
lea edx, [rdi + 1]
call fcn.1402987b0
mov esi, eax
inc r10
lea eax, [r10 - 1]
cmp edi, eax
jle 0x1402beb42
mov rax, qword [r12 + 8]
mov rdx, r14
mov qword [rsp + 0x50], r10
mov r8d, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
movsx r9d, word [rax + r10*2 - 2]
lea eax, [rsi + r10]
mov dword [rsp + 0x20], eax
call fcn.140288550
mov r10, qword [rsp + 0x50]
jmp 0x1402beb06
lea r12d, [rsi + 1]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x28], edi
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, dword [r13]
mov edx, 0x1d
call fcn.1402b0b00
mov rcx, qword [rsp + 0x40]
mov r9d, edi
mov r8d, r12d
mov edx, 0x61
mov dword [rsp + 0x20], esi
mov r14d, eax
call fcn.1402b0a00
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x28], edi
mov r9d, esi
mov dword [rsp + 0x20], r12d
mov r8d, dword [r13]
mov edx, 0x8a
call fcn.1402b0b00
mov r8d, dword [r13 + 4]
xor r9d, r9d
mov edx, 0xb7
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], r12d
call fcn.1402b0b00
mov rcx, qword [rsp + 0x40]
mov edx, 0x10
call fcn.1402b0df0
mov rcx, qword [rsp + 0x40]
mov edx, r14d
call fcn.1402b8500
lea r8d, [rdi + 1]
mov edx, esi
mov rcx, r15
call fcn.1402a6f80
mov r9d, dword [rbp]
test r9d, r9d
jne 0x1402bec00
mov rsi, qword [rbp + 0x38]
test rsi, rsi
jne 0x1402bec2c
jmp 0x1402bec84
mov rax, qword [rsp + 0x40]
mov r8d, 1
mov edx, 0x47
mov rcx, qword [rsp + 0x40]
mov eax, dword [rax + 0x90]
mov dword [rbp + 0x1c], eax
call fcn.1402b09e0
cmp qword [rbp + 0x38], 0
jne 0x1402bebf2
jmp 0x1402bec54
mov r9d, dword [rsi + 8]
xor r8d, r8d
mov edx, 0x4a
mov rcx, qword [rsp + 0x40]
call fcn.1402b09e0
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x90]
mov dword [rsi + 0xc], eax
inc byte [r15 + 0x26]
movsxd rdi, dword [rsp + 0xc8]
mov rax, qword [rsp + 0xa8]
mov rsi, qword [rbx + 0x90]
imul rdi, rdi, 0x68
add rax, rdi
mov rdi, rax
mov eax, dword [rsp + 0xe8]
cmp eax, dword [rbx + 0x8c]
jl 0x1402bec92
mov rax, qword [rbp + 0x68]
mov qword [rsp + 0x80], rax
jmp 0x1402becd3
test byte [rsi + 0x12], 6
jne 0x1402becc6
mov rax, qword [rsi + 0x30]
and rax, qword [rbp + 0x68]
jne 0x1402becc6
test byte [rdi + 0x44], 0x40
jne 0x1402becc6
mov rdx, qword [rsi]
mov r9d, 0x10
mov rcx, r15
mov r8d, dword [rsp + 0xbc]
call fcn.14028ac00
or word [rsi + 0x12], 4
inc dword [rsp + 0xe8]
add rsi, 0x38
jmp 0x1402bec75
mov eax, dword [rbp + 0x18]
add rbp, 0x70
inc dword [rsp + 0xb8]
inc qword [rsp + 0xf0]
mov dword [rbx + 0x30], eax
jmp 0x1402bce62
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x90]
mov dword [rbx + 0x50], eax
jmp 0x1402bef05
mov eax, dword [rbx + 0x38]
mov rdx, rbx
mov rcx, qword [rsp + 0x48]
mov word [r15 + 0xe0], ax
call fcn.1402d4570
xor ebx, ebx
jmp 0x1402bef05
xor esi, esi
cmp dword [rsp + 0x58], 0
jne 0x1402bedf3
test r13, r13
mov r14, r13
je 0x1402beef8
mov dword [rsp + 0x160], 0x17151618
mov rdi, qword [r14]
mov r10, qword [rdi + 0x18]
mov rcx, r10
call fcn.14028b410
test eax, eax
je 0x1402bed8b
mov rcx, r15
mov r9d, 1
mov rdx, r10
call fcn.1402987f0
mov r8d, eax
mov r13d, eax
mov dword [rsp + 0x118], eax
call fcn.140231f00
movzx eax, byte [rdi]
sub eax, 0x37
and eax, 2
or eax, 1
jmp 0x1402bedb4
lea r8, [rsp + 0x118]
mov rdx, r10
mov rcx, r15
call fcn.14028a2a0
mov rdx, r14
mov rcx, rbp
mov r13d, eax
call fcn.140235820
movzx eax, byte [rdi]
sub eax, 0x36
cdqe
movzx edx, byte [rsp + rax + 0x160]
mov r9d, r12d
mov dword [rsp + 0x20], r13d
mov r13, rsi
mov r8d, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
call fcn.1402b0a00
mov edx, dword [rsp + 0x118]
mov rcx, r15
call fcn.1402a6fa0
jmp 0x1402bee07
test r14, r14
mov rsi, r13
jne 0x1402bed3c
mov edx, 0x20
mov r8d, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
call fcn.1402b09e0
test r13, r13
je 0x1402bee74
mov rdi, qword [r13]
mov rcx, r15
mov r9d, 1
mov eax, dword [r15 + 0x38]
mov rdx, qword [rdi + 0x18]
lea esi, [rax + 1]
mov dword [r15 + 0x38], esi
mov r8d, esi
call fcn.140231f00
mov rcx, qword [rdi + 0x18]
call fcn.14028b410
test eax, eax
jne 0x1402bee56
mov dl, byte [rdi]
sub edx, 0x36
and dl, 0xfd
jne 0x1402bee56
cmp dword [rsp + 0x58], 1
sbb edi, edi
and edi, 2
add edi, 0x37
jmp 0x1402bee67
cmp dword [rsp + 0x58], 1
sbb edi, edi
and edi, 0xfffffffe
add edi, 0x38
test eax, eax
jne 0x1402bee7b
mov rdx, r13
mov rcx, rbp
call fcn.140235820
jmp 0x1402bee7b
xor esi, esi
mov edi, 0xbb
mov rax, qword [rsp + 0x40]
mov ecx, dword [rsp + 0x58]
mov edx, dword [rax + 0x90]
mov eax, 0x27
sub eax, ecx
cmp edi, 0xbb
mov byte [rbp + 0x41], al
mov eax, dword [rsp + 0x68]
mov dword [rbp + 0x48], edx
mov dword [rbp + 0x44], eax
je 0x1402bd4ec
mov eax, dword [r15 + 0x38]
mov edx, 0x87
mov r8d, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
lea r13d, [rax + 1]
mov r9d, r13d
mov dword [r15 + 0x38], r13d
call fcn.1402b09e0
mov rcx, qword [rsp + 0x40]
mov edx, edi
mov r9d, r12d
mov dword [rsp + 0x20], r13d
mov r8d, esi
call fcn.1402b0a00
mov rcx, qword [rsp + 0x40]
mov edx, 0x53
call fcn.1402b0df0
jmp 0x1402bd4ec
mov r13, rsi
mov edx, 0x24
jmp 0x1402bedf8
mov rax, rbx
add rsp, 0x1d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret