Function at 0x14037f810
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 qword [rsp + 0x50], rax
mov rdi, rdx
xor eax, eax
rep stosd dword [rdi], eax
mov word [rsp + 0x4c], bp
test r9, r9
je 0x14037f873
cmp dword [r9], 0x3f
jle 0x14037f873
xor r13d, r13d
mov rax, qword [rsp + 0x228]
mov eax, dword [rax]
mov dword [rsp + 0x80], eax
cmp eax, 0x40
jle 0x14037f8a3
mov r8d, 0x40
lea rdx, str.at_most__d_tables_in_a_join
mov rcx, r15
call fcn.14034ce60
jmp 0x14038265d
test ebp, 0x20
mov eax, 1
mov rcx, qword [rsp + 0x50]
cmove eax, dword [rsp + 0x80]
mov dword [rsp + 0x80], eax
dec eax
imul eax, eax, 0x70
add eax, 0x3d0
movsxd r12, eax
lea rdx, [r12 + 0x70]
call fcn.14034a650
mov rbx, rax
mov rax, qword [rsp + 0x50]
mov al, byte [rax + 0x67]
mov byte [rsp + 0x58], al
test al, al
je 0x14037f8fe
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
call fcn.14034a570
jmp 0x14038265d
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 + 0x80]
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
mov eax, dword [r15 + 0xd0]
mov dword [rbx + 0x38], eax
mov rax, qword [rsp + 0x248]
mov qword [rbx + 0x20], rax
mov al, byte [rsp + 0x58]
rep stosb byte [rdi], al
lea rax, [rbx + 0x360]
mov qword [rsp + 0x68], rax
mov eax, dword [rsp + 0x80]
mov rdi, qword [rsp + 0x68]
lea ecx, [rax + 1]
mov al, byte [rsp + 0x58]
movsxd rcx, ecx
imul rcx, rcx, 0x70
rep stosb byte [rdi], al
mov eax, 0xffffff9d
mov qword [rsp + 0x128], 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.1403838d0
cmp dword [rsp + 0x80], 0
jne 0x14037fa7d
test r13, r13
je 0x14037fa52
mov eax, dword [r13]
mov byte [rbx + 0x41], al
bt ebp, 8
jae 0x14037fa67
mov rax, qword [rsp + 0x50]
test byte [rax + 0x60], 0x10
jne 0x14037fa67
mov byte [rbx + 0x43], 1
lea r8, str.SCAN_CONSTANT_ROW
xor edx, edx
mov rcx, r15
call fcn.14037b170
jmp 0x14037fc1f
xor r8d, r8d
mov rax, qword [rsp + 0x228]
mov dword [rsp + 0x60], 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 + 0x60]
imul rax, rax, 0x68
test byte [rdi + rax + 0x48], 4
je 0x14037fc03
mov r14, qword [rsi + 0x38]
mov r11, qword [rsi]
test r14, r14
je 0x14037fc03
xor r12d, r12d
xor r10d, r10d
cmp dword [r14], r12d
jle 0x14037fc03
movsxd rax, r10d
movsx edx, word [r11 + 0x36]
imul rax, rax, 0x18
cmp r10d, edx
jge 0x14037fbee
mov rcx, qword [r11 + 8]
mov cx, word [rcx + rax + 0x12]
add rax, 0x18
and cl, 2
jne 0x14037fb12
inc r10d
jmp 0x14037faf2
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.14034d140
mov r11, qword [rsp + 0x70]
mov r10d, dword [rsp + 0x78]
test rax, rax
mov rdi, rax
je 0x14037fc03
mov eax, dword [rsi + 0x24]
mov word [rdi + 0x30], r10w
mov rcx, rdi
xor r8d, r8d
mov qword [rdi + 0x40], r11
mov dword [rdi + 0x2c], eax
lea eax, [r10 + 1]
mov qword [rsp + 0x78], r11
mov dword [rsp + 0x70], eax
call fcn.14034f760
or qword [rsi + 0x30], rax
mov rax, r12
mov rcx, qword [r15]
shl rax, 5
mov rdx, qword [r14 + rax + 8]
call fcn.14034fe50
xor r9d, r9d
mov edx, 0xae
mov rcx, r15
mov r8, rax
call fcn.140362070
mov r8, rdi
mov edx, 0x35
mov rcx, r15
mov r9, rax
call fcn.140362070
mov edx, dword [rsi + 0x24]
mov r9, rax
mov al, byte [rsi + 0x1c]
mov rcx, r9
and eax, 0x58
neg al
sbb eax, eax
inc r12
lea r8d, [rax + 2]
call fcn.1403701a0
mov rcx, qword [rsp + 0xa0]
mov r8d, 1
mov rdx, r9
call fcn.140396910
mov r10d, dword [rsp + 0x70]
mov r11, qword [rsp + 0x78]
jmp 0x14037fadd
mov r8, qword [r11]
mov r9d, r12d
lea rdx, str.too_many_arguments_on__s_____max__d
mov rcx, r15
call fcn.14034ce60
mov rax, qword [rsp + 0x228]
inc dword [rsp + 0x60]
add rsi, 0x68
mov edi, dword [rsp + 0x60]
cmp dword [rax], edi
jg 0x14037fa91
mov rdx, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x228]
call fcn.140383340
cmp qword [rsp + 0x248], 0
je 0x14037fc5e
mov rax, qword [rsp + 0x248]
cmp qword [rax + 0x60], 0
je 0x14037fc5e
mov rcx, qword [rsp + 0xa0]
mov rdx, rax
call fcn.14037f720
cmp dword [r15 + 0x30], 0
jne 0x140382646
lea rax, [rsp + 0x160]
xor esi, esi
lea r14, [0x140370110]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x130]
cmp dword [rax + 0x1c], esi
jle 0x14037fd20
imul rdx, rsi, 0x38
add rdx, qword [rax + 0x20]
mov r12, rdx
test byte [rdx + 0x12], 2
jne 0x14037fd18
cmp qword [rdx + 0x30], 0
jne 0x14037fd18
cmp dword [rsp + 0x80], 0
mov rdx, qword [rdx]
jne 0x14037fcd4
mov r8d, dword [rbx + 0x34]
mov rdx, qword [r12]
mov r9d, 0x10
mov rcx, r15
call fcn.140350000
or word [r12 + 0x12], 4
jmp 0x14037fd18
mov rdi, qword [rsp + 0x60]
xor eax, eax
mov ecx, 0xc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x60]
lea rax, [0x140302e90]
mov word [rsp + 0x184], 1
mov qword [rsp + 0x168], rax
mov qword [rsp + 0x170], r14
call fcn.14037f510
cmp word [rsp + 0x184], 0
jne 0x14037fcb5
inc rsi
jmp 0x14037fc7f
bt ebp, 8
jae 0x14037fef5
mov rax, qword [rsp + 0x50]
test byte [rax + 0x60], 0x10
je 0x14037fd4a
mov eax, ebp
and word [rbx + 0x3c], 0xfeff
and ah, 0xfe
mov word [rsp + 0x4c], ax
jmp 0x14037fef5
mov rax, qword [rsp + 0x228]
cmp dword [rax], 1
jne 0x14037fede
mov edi, dword [rax + 0x4c]
mov r10, qword [rax + 0x28]
xor r8d, r8d
mov rax, qword [rsp + 0x240]
mov r9d, dword [rax]
cmp r9d, r8d
jle 0x14037fdb8
mov rsi, qword [rsp + 0x240]
mov rax, r8
shl rax, 5
mov rcx, qword [rsi + rax + 8]
call fcn.140350f40
test rax, rax
je 0x14037fdb3
mov sil, byte [rax]
lea edx, [rsi + 0x59]
and dl, 0xfd
jne 0x14037fdb3
cmp edi, dword [rax + 0x2c]
jne 0x14037fdb3
cmp word [rax + 0x30], 0
jns 0x14037fdb3
mov byte [rbx + 0x43], 1
jmp 0x14037fef5
inc r8
jmp 0x14037fd70
mov r14, qword [r10 + 0x10]
test r14, r14
je 0x14037fede
cmp byte [r14 + 0x62], 0
jne 0x14037fdd2
mov r14, qword [r14 + 0x28]
jmp 0x14037fdbc
xor r12d, r12d
cmp qword [r14 + 0x48], 0
jne 0x14037fdcc
movzx eax, word [r14 + 0x5e]
mov dword [rsp + 0x60], r12d
cmp eax, r12d
jle 0x14037fec1
mov qword [rsp + 0x28], r14
or r9, 0xffffffffffffffff
mov r8d, r12d
mov edx, edi
mov dword [rsp + 0x20], 2
mov rcx, qword [rsp + 0xa0]
call fcn.1403834e0
test rax, rax
je 0x14037fe1c
inc r12
jmp 0x14037fddc
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 0x14037fec1
mov rcx, qword [rsp + 0x240]
mov rax, rsi
shl rax, 5
mov rcx, qword [rcx + rax + 8]
call fcn.140350f40
test rax, rax
jne 0x14037fe62
inc rsi
jmp 0x14037fe2f
mov dl, byte [rax]
add edx, 0x59
and dl, 0xfd
jne 0x14037fe5d
mov rdx, qword [r14 + 8]
mov dx, word [rdx + rbp]
cmp word [rax + 0x30], dx
jne 0x14037fe5d
cmp edi, dword [rax + 0x2c]
jne 0x14037fe5d
mov rdx, rcx
mov rcx, r15
call fcn.140350cb0
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rax]
call fcn.140371290
test eax, eax
jne 0x14037fe5d
mov rax, qword [r14 + 8]
movsx rdx, word [rax + rbp]
mov rax, rdx
test edx, edx
js 0x14037fed5
mov rdx, qword [r14 + 0x18]
imul rax, rax, 0x18
add rax, qword [rdx + 8]
test byte [rax + 8], 0xf
jne 0x14037fe17
movzx eax, word [r14 + 0x5e]
cmp dword [rsp + 0x60], eax
jne 0x14037fdcc
jmp 0x14037fdaa
inc edx
jne 0x14037fec1
jmp 0x14037fe17
test r13, r13
jne 0x14037fef5
mov rax, qword [rsp + 0x240]
or word [rbx + 0x3c], 0x80
mov qword [rbx + 0x10], rax
cmp dword [rsp + 0x80], 1
jne 0x14038010b
mov rbp, qword [rsp + 0x128]
test byte [rbp + 0x3c], 0x20
jne 0x14038010b
mov r12, qword [rbp + 8]
mov rdi, qword [r12 + 0x28]
cmp byte [rdi + 0x3f], 1
je 0x14038010b
test byte [r12 + 0x48], 3
jne 0x14038010b
mov rsi, qword [rsp + 0x138]
xor edx, edx
xor ecx, ecx
or r9d, 0xffffffff
mov eax, dword [r12 + 0x4c]
lea r13, [rsp + 0x160]
mov dword [rsi + 0x38], edx
mov word [rsi + 0x3e], 0
mov qword [rsp + 0x28], rcx
mov rcx, r13
mov dword [rsp + 0x20], 0x82
mov dword [rsp + 0x60], eax
lea rax, [rbp + 0x70]
mov r8d, dword [rsp + 0x60]
mov rdx, rax
mov qword [rsp + 0x70], rax
call fcn.14039af90
test rax, rax
jne 0x14037ff8f
mov rdi, qword [rdi + 0x10]
jmp 0x14037ffcf
cmp qword [rax + 0x28], 0
je 0x14037ffa0
mov rcx, r13
call fcn.14039b080
jmp 0x14037ff84
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 0x1403800ac
cmp byte [rdi + 0x62], 0
jne 0x14037ffd9
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x14037ffc5
jmp 0x1403800ac
cmp qword [rdi + 0x48], 0
jne 0x14037ffcb
cmp word [rdi + 0x5e], 3
ja 0x14037ffcb
mov al, byte [rdi + 0x64]
and eax, 8
cmp al, 1
lea rax, [rsp + 0x160]
sbb r14d, r14d
mov qword [rsp + 0x78], rax
xor r13d, r13d
and r14d, 0xffffff80
add r14d, 0x82
movzx eax, word [rdi + 0x5e]
mov dword [rsp + 0x84], r13d
cmp eax, r13d
jle 0x140380044
mov qword [rsp + 0x28], rdi
mov r8d, dword [rsp + 0x60]
mov r9d, r13d
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov dword [rsp + 0x20], r14d
call fcn.14039af90
test rax, rax
jne 0x140380056
movzx eax, word [rdi + 0x5e]
cmp dword [rsp + 0x84], eax
je 0x140380076
jmp 0x14037ffcb
cmp qword [rax + 0x28], 0
je 0x140380069
mov rcx, qword [rsp + 0x78]
call fcn.14039b080
jmp 0x14038003f
mov rdx, qword [rsi + 0x48]
mov qword [rdx + r13*8], rax
inc r13
jmp 0x14038000d
mov dword [rsi + 0x38], 0x1201
test byte [rdi + 0x64], 0x20
jne 0x140380091
mov rax, qword [r12 + 0x58]
and rax, qword [rdi + 0x90]
jne 0x140380098
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 0x14038010b
mov edi, dword [rsp + 0x60]
mov rdx, qword [rbp + 0x10]
mov word [rsi + 0x16], 1
mov qword [rbp + 0x3c0], rsi
mov qword [rsi + 8], 1
mov dword [rbp + 0x364], edi
mov word [rbp + 0x48], 1
test rdx, rdx
je 0x1403800e6
mov edx, dword [rdx]
mov byte [rbp + 0x41], dl
test byte [rbp + 0x3d], 1
je 0x1403800f0
mov byte [rbp + 0x43], 1
cmp byte [rsp + 0x189], 1
jbe 0x1403801c1
or eax, 0x200000
mov dword [rsi + 0x38], eax
jmp 0x1403801c1
lea rsi, [rsp + 0x128]
mov rcx, rsi
call fcn.140396eb0
test eax, eax
jne 0x140382646
test byte [rsp + 0x155], 4
jne 0x140380147
xor edx, edx
mov rcx, rbx
call fcn.14039a780
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x67], 0
je 0x140380185
jmp 0x140382646
mov rdi, qword [rbx + 0x58]
test rdi, rdi
je 0x140380174
mov rax, qword [rdi + 0x50]
mov rcx, qword [rsp + 0x50]
mov rdx, rdi
mov qword [rbx + 0x58], rax
call fcn.1403998f0
mov rcx, qword [rsp + 0x50]
mov rdx, rdi
call fcn.14034a770
jmp 0x140380147
mov rcx, rsi
call fcn.140396eb0
test eax, eax
je 0x14038012d
jmp 0x140382646
cmp qword [rbx + 0x10], 0
jne 0x1403801a1
mov rax, qword [rsp + 0x50]
test byte [rax + 0x31], 0x10
je 0x1403801c8
mov qword [rbx + 0x68], 0xffffffffffffffff
jmp 0x1403801c8
mov eax, dword [rbx + 0x48]
mov rcx, rbx
lea edx, [rax + 1]
movsx edx, dx
call fcn.14039a780
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x67], 0
jne 0x140382646
cmp qword [rbx + 0x10], 0
je 0x14038018c
mov eax, dword [r15 + 0x30]
mov dword [rsp + 0xb8], eax
test eax, eax
jne 0x140382646
cmp byte [rbx + 0x40], 1
jbe 0x140380223
cmp qword [rsp + 0x240], 0
je 0x140380223
mov qword [rsp + 0x78], 0xffffffffffffffff
test word [rsp + 0x4c], 0x400
jne 0x140380232
mov rax, qword [rsp + 0x50]
test byte [rax + 0x61], 1
jne 0x140380232
mov rcx, rbx
call fcn.140399ec0
mov qword [rsp + 0x78], rax
movzx eax, byte [rbx + 0x40]
mov dword [rsp + 0x80], eax
jmp 0x14038022c
mov qword [rsp + 0x78], 0xffffffffffffffff
cmp byte [rbx + 0x40], 1
jbe 0x140380245
mov rax, qword [rsp + 0x50]
test byte [rax + 0x62], 8
jne 0x140380245
mov rcx, rbx
call fcn.140396890
mov rax, qword [rbx]
movsx edx, word [rbx + 0x48]
add dword [rax + 0xd0], edx
test byte [rsp + 0x4c], 4
je 0x1403802cd
mov rcx, qword [rbx + 0x3c0]
mov eax, dword [rcx + 0x38]
bt eax, 0xc
jb 0x140380291
test byte [rsp + 0x4c], 8
je 0x1403802cd
mov rsi, qword [rsp + 0x228]
mov rdx, qword [rsi + 0x28]
cmp byte [rdx + 0x3f], 1
je 0x1403802cd
bt eax, 0xd
jae 0x140380295
test byte [rsp + 0x4c], 0x10
je 0x1403802cd
jmp 0x140380295
mov dl, 1
jmp 0x140380297
mov dl, 2
mov rsi, qword [rsp + 0x228]
mov byte [rbx + 0x42], dl
mov rdx, qword [rsi + 0x28]
test byte [rdx + 0x30], 0x80
jne 0x1403802cd
test al, 0x40
je 0x1403802cd
mov edx, dword [rsp + 0x4c]
and eax, 0xffffffbf
mov dword [rcx + 0x38], eax
shr dx, 3
and edx, 1
lea esi, [rdx*8]
mov byte [rsp + 0x58], sil
xor eax, eax
mov rbp, qword [rsp + 0x68]
mov dword [rsp + 0x70], eax
mov eax, dword [rsp + 0x4c]
and eax, 0x20
mov word [rsp + 0x84], ax
mov esi, dword [rsp + 0x70]
cmp dword [rsp + 0x80], esi
jle 0x1403806ef
movzx edi, byte [rbp + 0x40]
mov rcx, qword [rsp + 0x50]
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.14036c880
mov r12, qword [rbp + 0x60]
mov dword [rsp + 0x60], eax
test byte [rsi + 0x31], 0x40
jne 0x140380471
mov dl, byte [rsi + 0x3f]
cmp dl, 2
je 0x140380471
mov eax, dword [r12 + 0x38]
bt eax, 0xa
jae 0x140380386
mov rdx, qword [rsi + 0x50]
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
call fcn.14035d350
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.140374740
jmp 0x140380471
dec dl
je 0x140380471
test al, 0x40
jne 0x140380399
test byte [rsp + 0x4c], 0x20
je 0x1403803b3
movsxd rax, edi
mov rcx, qword [rsp + 0x228]
imul rax, rax, 0x68
test byte [rcx + rax + 0x44], 0x50
je 0x140380456
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 0x1403803d9
mov dword [rbx + 0x28], edx
mov eax, 0x71
mov dword [rsp + 0x20], eax
mov r8d, dword [rsp + 0x60]
mov r9, rsi
mov rcx, r15
call fcn.140361c00
cmp byte [rbx + 0x42], 0
jne 0x140380445
cmp word [rsi + 0x36], 0x3f
jg 0x140380445
test byte [rsi + 0x30], 0xe0
jne 0x140380445
mov eax, dword [r12 + 0x38]
and eax, 0x404000
jne 0x140380445
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.140374a30
movzx edx, byte [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
call fcn.140374aa0
jmp 0x140380471
mov rax, qword [rsi]
mov r8d, dword [rsi + 0x28]
xor r9d, r9d
mov rcx, r15
mov edx, dword [rsp + 0x60]
mov qword [rsp + 0x20], rax
call fcn.1403717e0
test byte [r12 + 0x39], 2
je 0x1403805b2
mov r13, qword [r12 + 0x20]
test byte [rsi + 0x30], 0x80
je 0x1403804a5
mov al, byte [r13 + 0x64]
and eax, 3
cmp al, 2
jne 0x1403804a5
test byte [rsp + 0x4c], 0x20
je 0x1403804a5
mov r8d, dword [rbp + 4]
xor edx, edx
jmp 0x14038055e
cmp byte [rbx + 0x42], 0
je 0x1403804e9
movsxd rax, edi
mov rcx, qword [rsp + 0x228]
mov r8d, dword [rsp + 0x258]
imul rax, rax, 0x68
mov rax, qword [rcx + rax + 0x28]
mov rax, qword [rax + 0x10]
test rax, rax
je 0x1403804de
cmp rax, r13
je 0x1403804de
mov rax, qword [rax + 0x28]
inc r8d
jmp 0x1403804cb
mov dword [rbx + 0x2c], r8d
mov edx, 0x71
jmp 0x14038055e
cmp dword [rsp + 0x258], 0
je 0x1403804fe
cmp word [rsp + 0x84], 0
jne 0x140380551
mov r8d, dword [r15 + 0x34]
lea eax, [r8 + 1]
mov dword [r15 + 0x34], eax
test byte [r13 + 0x65], 8
je 0x14038051c
mov rax, qword [rsp + 0x50]
test byte [rax + 0x63], 1
je 0x140380523
mov edx, 0x70
jmp 0x14038055e
imul r14, r14, 0x68
mov rax, qword [rsp + 0x228]
mov rdx, r13
mov rcx, r15
mov dword [rsp + 0x88], r8d
lea r9, [rax + r14 + 8]
call fcn.140396610
mov r8d, dword [rsp + 0x88]
jmp 0x14038051c
mov r8d, dword [rsp + 0x258]
mov edx, 0x65
mov dword [rbp + 8], r8d
test edx, edx
je 0x1403805b2
mov eax, dword [rsp + 0x60]
mov r9d, dword [r13 + 0x58]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x20], eax
call fcn.1403746e0
mov rdx, r13
mov rcx, r15
call fcn.14037db20
mov eax, dword [r12 + 0x38]
test al, 0xf
je 0x1403805b2
test eax, 0x188002
jne 0x1403805b2
test byte [rbx + 0x3c], 1
jne 0x1403805b2
cmp byte [rbx + 0x43], 2
je 0x1403805b2
mov rcx, qword [rsp + 0x40]
mov edx, 2
call fcn.140374aa0
cmp dword [rsp + 0x60], 0
js 0x1403805c5
mov edx, dword [rsp + 0x60]
mov rcx, r15
call fcn.1403481d0
movsxd rdi, edi
mov rax, qword [rsp + 0x228]
imul rdi, rdi, 0x68
test byte [rax + rdi + 0x44], 0x10
je 0x1403806e2
mov edx, 0x14
mov rcx, rbx
call fcn.1403835a0
mov qword [rbp + 0x38], rax
mov rdi, rax
test rax, rax
je 0x1403806e2
mov eax, dword [r15 + 0x34]
mov rcx, qword [rsp + 0x40]
mov r8d, 0x10000
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.1403746c0
mov eax, dword [r15 + 0x38]
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov edx, 0x4b
lea r9d, [rax + 1]
mov dword [r15 + 0x38], r9d
mov dword [rdi + 8], r9d
call fcn.1403746c0
test byte [rsi + 0x30], 0x80
jne 0x1403806a6
mov r8d, dword [rdi]
mov rcx, qword [rsp + 0x40]
mov r9d, 1
mov edx, 0x76
call fcn.1403746c0
mov rcx, qword [r15]
mov edx, 1
xor r8d, r8d
call fcn.1403608a0
mov rdx, rax
test rax, rax
je 0x1403806d4
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.140374990
jmp 0x1403806d4
mov rcx, qword [rsi + 0x10]
call fcn.14036abb0
mov rcx, qword [rsp + 0x40]
mov r8d, dword [rdi]
mov edx, 0x76
movzx r9d, word [rax + 0x5e]
mov rsi, rax
call fcn.1403746c0
mov rdx, rsi
mov rcx, r15
call fcn.14037db20
and dword [r12 + 0x38], 0xffffffbf
mov byte [rbx + 0x41], 0
mov byte [rbx + 0x43], 3
inc dword [rsp + 0x70]
add rbp, 0x70
jmp 0x1403802e7
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x90]
mov dword [rbx + 0x4c], eax
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x67], 0
jne 0x140382646
movzx eax, word [rsp + 0x4c]
xor r13d, r13d
mov rbp, qword [rsp + 0x68]
mov qword [rsp + 0xf0], r13
mov dword [rsp + 0x104], eax
lea rax, [rbx + 0x258]
mov qword [rsp + 0xf8], rax
mov edi, dword [rsp + 0xb8]
cmp dword [rsp + 0x80], edi
jle 0x140382633
mov eax, dword [r15 + 0x30]
mov dword [rsp + 0xe8], eax
test eax, eax
jne 0x140382646
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 0x1403807d4
test al, 8
je 0x14038079e
mov r9d, dword [r12 + 0x38]
mov r8d, dword [r12 + 0x3c]
mov edx, 0xa
mov rcx, qword [rsp + 0x40]
call fcn.1403746c0
jmp 0x1403807d4
mov rcx, qword [rsp + 0x40]
mov edx, 0xf
call fcn.140374680
mov rcx, qword [rsp + 0x40]
mov r9d, dword [r12 + 0x38]
mov edx, 0xa
mov r8d, dword [r12 + 0x3c]
mov esi, eax
call fcn.1403746c0
mov rcx, qword [rsp + 0x40]
mov edx, esi
call fcn.14037bea0
test edi, 0x404000
jne 0x140380894
mov r9d, dword [rsp + 0x104]
mov rdx, qword [rsp + 0x228]
mov r8, rbp
mov rcx, r15
call fcn.140382fb0
mov rax, qword [rsp + 0x40]
mov rsi, qword [rbp + 0x60]
mov rcx, qword [rsp + 0xf8]
mov eax, dword [rax + 0x90]
mov dword [rbp + 0x20], eax
mov rax, qword [r15]
mov qword [rsp + 0x58], rax
mov rax, qword [rbx + 8]
mov qword [rsp + 0xa8], rax
movzx eax, byte [rbp + 0x40]
movzx r10d, al
mov dword [rsp + 0xc8], eax
mov rdi, rax
mov rax, qword [rsp + 0xa8]
imul r10, r10, 0x68
add r10, rax
mov eax, dword [r10 + 0x4c]
mov edx, eax
mov dword [rsp + 0x4c], eax
call fcn.140383560
not rax
and rax, qword [rsp + 0x78]
mov qword [rbp + 0x68], rax
mov eax, dword [r15 + 0x44]
mov r13, qword [rbx + 0x68]
lea r12d, [rax - 1]
sub eax, 2
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
test dil, dil
jne 0x1403808f6
jmp 0x14038091f
bt edi, 0xe
jae 0x1403808cb
movzx eax, byte [rbp + 0x40]
mov qword [rsp + 0x20], rbp
mov rcx, r15
mov rsi, qword [rsp + 0x228]
mov r9, qword [rsp + 0x78]
imul rax, rax, 0x68
mov rdx, qword [rsp + 0xa0]
lea r8, [rsi + rax + 8]
call fcn.1402fe740
jmp 0x1403808e2
mov r9, qword [rsp + 0x78]
mov edx, dword [rsp + 0xb8]
mov r8, rbp
mov rcx, rbx
call fcn.140348b90
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x67], 0
je 0x1403807e0
jmp 0x140382646
test byte [r10 + 0x44], 8
je 0x14038091f
mov eax, dword [r15 + 0x38]
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov edx, 0x47
lea r9d, [rax + 1]
mov dword [r15 + 0x38], r9d
mov dword [rbp], r9d
call fcn.1403746c0
mov rax, qword [rsp + 0xf0]
test eax, eax
je 0x14038094d
imul rdx, rax, 0x70
cmp dword [rbx + rdx + 0x360], 0
jne 0x14038094d
cmp qword [rbx + rdx + 0x398], 0
lea rcx, [rax - 1]
jne 0x14038094d
mov rax, rcx
jmp 0x140380927
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 0x1403809bd
mov r8d, dword [rax + 0x3c]
mov eax, dword [rax + 0x38]
xor r9d, r9d
mov edx, 0xb
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x20], eax
mov dword [rsp + 0x58], r8d
call fcn.1403746e0
mov r8d, dword [rsp + 0x58]
mov rcx, qword [rsp + 0x40]
mov r9d, r12d
mov edx, 0xc
call fcn.1403746c0
mov dword [rbp + 0x48], eax
mov al, 9
jmp 0x140380dd5
mov cl, byte [rsp + 0xb8]
shr r13, cl
mov eax, r13d
and eax, 1
mov dword [rsp + 0x60], eax
mov eax, dword [rsi + 0x38]
bt eax, 0xa
jae 0x140380d0a
movzx eax, word [rsi + 0x3c]
mov rcx, r15
xor r12d, r12d
lea edx, [rax + 2]
mov dword [rsp + 0x68], eax
call fcn.14035cd30
mov r13d, dword [rbp + 0xc]
mov edi, eax
lea r14d, [rax + 2]
mov ecx, r12d
cmp dword [rsp + 0x68], r12d
jle 0x140380b14
mov rax, qword [rsi + 0x48]
lea r10d, [r14 + r12]
mov rax, qword [rax + r12*8]
test rax, rax
je 0x140380b0c
test byte [rax + 0x14], 1
je 0x140380ac4
mov r9d, r12d
cmp r12, 0x1f
ja 0x140380aa3
mov edx, 1
shl edx, cl
and edx, dword [rsi + 0x30]
je 0x140380aa3
mov r8d, dword [r15 + 0x34]
mov ecx, dword [r15 + 0x38]
mov dword [rsp + 0x88], r10d
lea r9d, [rcx + 1]
lea edx, [r8 + 1]
mov rcx, r15
mov dword [rsp + 0x70], r8d
mov dword [r15 + 0x34], edx
mov rdx, qword [rax]
mov dword [r15 + 0x38], r9d
mov dword [rsp + 0x84], r9d
call fcn.140347950
mov r8d, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
mov edx, 0xae
mov r9d, dword [rsp + 0x84]
mov dword [rsp + 0x20], r9d
mov r9d, dword [rsp + 0x88]
call fcn.1403746e0
jmp 0x140380b0c
mov ecx, dword [rsp + 0x60]
mov dword [rsp + 0x28], r10d
mov r8, rbp
mov rdx, rax
mov dword [rsp + 0x20], ecx
mov rcx, r15
call fcn.1402fcaa0
mov r13d, dword [rbp + 0x10]
jmp 0x140380b0c
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.1402fd100
mov rax, qword [rsp + 0x70]
cmp byte [rax + 0x17], 0x4a
jne 0x140380b0c
test byte [rsi + 0x1c], 2
je 0x140380b0c
mov rax, qword [rbx + 0x20]
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov edx, 0x47
mov r9d, dword [rax + 0xc]
call fcn.1403746c0
inc r12
jmp 0x1403809fe
mov r8d, dword [rsi + 0x18]
mov rcx, qword [rsp + 0x40]
mov r9d, edi
mov edx, 0x47
call fcn.1403746c0
mov r8d, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x40]
lea r9d, [rdi + 1]
mov edx, 0x47
call fcn.1403746c0
mov al, byte [rsi + 0x1c]
mov r8d, dword [rsp + 0x4c]
mov r9d, r13d
mov rcx, qword [rsp + 0x40]
mov edx, 6
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.140374740
mov rax, qword [rsp + 0x58]
and byte [rsi + 0x1c], 0xfe
cmp byte [rax + 0x67], 0
je 0x140380b8d
xor r12d, r12d
mov qword [rsi + 0x28], r12
mov eax, dword [rsp + 0x4c]
mov dword [rbp + 0x44], eax
cmp byte [rbx + 0x42], 1
sbb eax, eax
add edi, 2
xor r12d, r12d
and eax, 0xffffff87
sub eax, 0x48
mov byte [rbp + 0x41], al
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x90]
mov dword [rbp + 0x48], eax
mov ecx, r12d
cmp dword [rsp + 0x68], r12d
jle 0x140380dd8
mov rax, qword [rsi + 0x48]
mov r13, qword [rax + r12*8]
cmp r12, 0xf
ja 0x140380bec
movzx eax, word [rsi + 0x22]
bt eax, ecx
jae 0x140380bec
mov rdx, r13
mov rcx, rbp
call fcn.1403004e0
jmp 0x140380d00
test byte [r13 + 0x14], 1
je 0x140380d00
cmp r12, 0x1f
ja 0x140380c0d
mov eax, 1
shl eax, cl
and eax, dword [rsi + 0x30]
jne 0x140380d00
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x67], 0
jne 0x140380d00
mov r9d, dword [rbp + 0x50]
xor r10d, r10d
cmp r9d, r10d
jle 0x140380c74
imul rax, r10, 0x14
add rax, qword [rbp + 0x58]
mov rcx, qword [rsp + 0x40]
mov edx, dword [rax + 4]
call fcn.14037b4e0
movzx edx, byte [rax]
cmp dl, 0x5e
jne 0x140380c4a
cmp dword [rax + 0xc], edi
jmp 0x140380c52
cmp dl, 0x87
jne 0x140380c6f
cmp dword [rax + 8], edi
jne 0x140380c6f
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.1403746e0
jmp 0x140380c74
inc r10
jmp 0x140380c23
xor r9d, r9d
xor r8d, r8d
mov edx, 0x35
mov rcx, r15
call fcn.140362070
mov r14, rax
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x67], 0
jne 0x140380cf3
mov rdx, qword [r13]
mov eax, dword [r13 + 0x24]
mov rdx, qword [rdx + 0x10]
test eax, eax
jle 0x140380cb5
dec eax
cdqe
shl rax, 5
add rax, qword [rdx + 0x20]
mov rdx, qword [rax + 8]
mov qword [r14 + 0x10], rdx
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
mov edx, 0xb0
call fcn.14034cfd0
mov qword [r14 + 0x18], rax
test rax, rax
je 0x140380cec
mov dword [rax + 0x2c], edi
mov r8d, dword [rbp + 0x18]
mov r9d, 0x10
mov rdx, r14
mov rcx, r15
call fcn.140350000
xor r11d, r11d
mov qword [r14 + 0x10], r11
mov rcx, qword [rsp + 0x58]
mov rdx, r14
call fcn.14034fdb0
inc r12
inc edi
jmp 0x140380bb7
bt eax, 8
jae 0x140380e2d
test al, 5
je 0x140380deb
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 + 0x60]
mov dword [r15 + 0x38], edi
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], eax
call fcn.1402fcaa0
mov esi, eax
cmp edi, eax
je 0x140380d58
mov edx, edi
mov rcx, r15
call fcn.14036b270
cmp dword [rbp + 0x34], 0
mov edi, dword [rbp + 0x10]
je 0x140380db8
mov rcx, qword [rsp + 0x40]
mov r9d, edi
mov r8d, esi
mov edx, 0xd
call fcn.1403746c0
mov r8d, dword [rbp + 0x34]
mov dword [rsp + 0x20], esi
mov r9d, edi
mov dword [rsp + 0x28], 1
mov rcx, qword [rsp + 0x40]
mov edx, 0x40
call fcn.1403747e0
mov rax, qword [rsp + 0x78]
mov r9d, edi
mov rdx, rbx
mov r8d, dword [rsp + 0xb8]
mov rcx, r15
mov qword [rsp + 0x20], rax
call fcn.140303870
mov dword [rsp + 0x20], esi
mov r8d, dword [rsp + 0x4c]
mov r9d, edi
mov edx, 0x1e
mov rcx, qword [rsp + 0x40]
call fcn.1403746e0
mov al, 0xb8
mov byte [rbp + 0x41], al
xor r10d, r10d
mov r13d, 2
mov qword [rsp + 0x68], r10
jmp 0x140382128
mov ecx, eax
not ecx
and ecx, 0x102
jne 0x140380e2d
test al, 0x20
je 0x140380e09
mov rdx, qword [rsi + 0x48]
mov rdi, qword [rdx]
mov edx, 1
jmp 0x140380e0d
xor edx, edx
xor edi, edi
test al, 0x10
je 0x140382664
mov rax, qword [rsi + 0x48]
cmp dword [rsp + 0x60], 0
mov r14, qword [rax + rdx*8]
jne 0x140382726
jmp 0x140382672
bt eax, 9
jae 0x140381a0f
mov cx, word [rsi + 0x1a]
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 + 0x68], rcx
mov ecx, dword [rbp + 8]
mov dword [rsp + 0x84], ecx
test al, 0x20
je 0x140380e89
mov r8, qword [rsi + 0x48]
movzx ecx, r12w
lea edx, [r12 + 1]
movzx r10d, word [rsp + 0xd8]
mov r14, qword [r8 + rcx*8]
jmp 0x140380e92
xor r10d, r10d
mov edx, r12d
xor r14d, r14d
test al, 0x10
je 0x140380f75
mov rax, qword [rsi + 0x48]
movsxd rdx, edx
mov rax, qword [rax + rdx*8]
mov qword [rsp + 0x88], rax
movzx eax, word [rsp + 0xcc]
cmp r10d, eax
cmovl r10d, eax
mov rax, qword [rsp + 0x88]
test byte [rax + 0x13], 1
je 0x140380f31
mov eax, dword [r15 + 0x38]
mov rcx, qword [rsp + 0x40]
mov edx, 0x47
mov r8d, 1
mov dword [rsp + 0x70], r10d
lea r9d, [rax + 1]
mov dword [r15 + 0x38], r9d
mov dword [rbp + 0x2c], r9d
call fcn.1403746c0
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x68]
mov r10d, dword [rsp + 0x70]
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
sete al
mov ecx, dword [rsp + 0x60]
movzx eax, al
xor eax, ecx
or eax, edx
mov dword [rbp + 0x2c], eax
mov byte [rsp + 0x90], 0
test r14, r14
jne 0x140380f88
mov rcx, qword [rsp + 0x68]
movzx eax, di
mov rdx, qword [rcx + 8]
movsx rdx, word [rdx + rax*2]
mov rax, rdx
test edx, edx
js 0x140380f68
mov rdx, qword [rcx + 0x18]
imul rax, rax, 0x18
add rax, qword [rdx + 8]
test byte [rax + 8], 0xf
jmp 0x140380f6b
cmp edx, 0xfffffffe
sete byte [rsp + 0x90]
jmp 0x140380f88
xor r9d, r9d
mov byte [rsp + 0x90], 0
mov qword [rsp + 0x88], r9
mov eax, dword [rsi + 0x38]
xor r13d, r13d
and eax, 0x80030
cmp eax, 0x80000
jne 0x140380fe0
mov eax, dword [r15 + 0x38]
cmp dword [rbp], 0
lea r13d, [rax + 1]
mov dword [r15 + 0x38], r13d
mov dword [rbp + 0x24], r13d
je 0x140380fc5
mov rcx, qword [rsp + 0x40]
mov r9d, r13d
xor r8d, r8d
mov edx, 0x47
call fcn.1403746c0
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 + 0x68]
mov byte [rsp + 0x100], 0
cmp di, word [rax + 0x60]
jae 0x140381057
mov rcx, qword [rsp + 0x68]
movzx eax, di
mov rdx, qword [rcx + 0x38]
cmp byte [rdx + rax], 0
sete al
movzx eax, al
cmp dword [rsp + 0x60], eax
jne 0x140381057
mov cl, byte [rsp + 0x90]
movzx eax, byte [rsp + 0xd8]
mov rdx, r14
mov byte [rsp + 0x90], 0
mov r14, qword [rsp + 0x88]
mov qword [rsp + 0x88], 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 0x140381088
test byte [rsi + 0x3a], 0x10
je 0x140381088
mov rcx, qword [rsp + 0x40]
mov edx, 0x88
mov dword [rsp + 0x70], r10d
mov r8d, dword [rsp + 0x84]
call fcn.1403746a0
mov r10d, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x60]
mov r9d, r10d
mov rdx, rbp
mov rcx, r15
lea rax, [rsp + 0x160]
mov qword [rsp + 0x20], rax
call fcn.1402fc3c0
cmp word [rsp + 0xcc], 0
mov dword [rsp + 0x70], eax
mov rax, qword [rsp + 0x160]
mov qword [rsp + 0xb0], rax
je 0x1403810e6
test rax, rax
je 0x1403810e6
mov rcx, qword [rsp + 0x58]
movzx edx, di
add rdx, rax
call fcn.14034a8e0
mov qword [rsp + 0xc0], rax
jmp 0x1403810f1
xor r8d, r8d
mov qword [rsp + 0xc0], r8
test r13d, r13d
je 0x1403810fb
mov eax, dword [rbp + 0x28]
jmp 0x1403810fe
mov eax, dword [rbp + 0x10]
mov dword [rsp + 0x98], eax
mov dword [rsp + 0xd0], 1
test r14, r14
je 0x140381126
xor eax, eax
test byte [r14 + 0x14], 0x28
setne al
mov dword [rsp + 0xd0], eax
cmp qword [rsp + 0x88], 0
mov dword [rsp + 0xe0], 1
je 0x140381155
mov rax, qword [rsp + 0x88]
test byte [rax + 0x14], 0x28
setne al
movzx eax, al
mov dword [rsp + 0xe0], eax
test r14, r14
je 0x140381269
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 + 0x70]
mov r9d, dword [rsp + 0xd8]
add eax, r12d
mov r8d, eax
mov dword [rsp + 0xec], eax
call fcn.1402fd100
mov r10w, word [r14 + 0x12]
test r10w, 0x100
je 0x1403811d1
mov r9d, dword [rbp + 0x2c]
mov rcx, qword [rsp + 0x40]
call fcn.14037b4d0
mov edx, r9d
and r9d, 1
shr edx, 1
mov word [rax + 2], r9w
mov dword [rax + 0xc], edx
and r10b, 0x80
jne 0x140381207
mov rcx, qword [rsp + 0x90]
call fcn.14034d620
test eax, eax
je 0x140381207
mov r9d, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x40]
mov edx, 0x32
mov r8d, dword [rsp + 0xec]
call fcn.1403746c0
cmp qword [rsp + 0xb0], 0
je 0x140381235
mov rax, qword [rsp + 0xb0]
movzx r8d, di
mov edx, dword [rsp + 0xd8]
mov rcx, qword [rsp + 0x90]
add r8, rax
call fcn.140391cb0
mov edi, dword [rsp + 0xd8]
mov rcx, qword [rsp + 0x90]
add edi, r12d
call fcn.1403507a0
test eax, eax
jne 0x1403812d8
mov rdx, r14
mov rcx, rbp
call fcn.1403004e0
mov byte [rsp + 0x90], 0
jmp 0x14038129b
cmp byte [rsp + 0x90], 0
je 0x1403812a3
mov eax, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov edx, 0x4b
lea edi, [r12 + 1]
lea r9d, [r12 + rax]
call fcn.1403746c0
xor ecx, ecx
mov dword [rsp + 0xd0], ecx
mov r10d, 1
jmp 0x1403812f1
test r13d, r13d
jne 0x1403812b7
xor r10d, r10d
test di, di
mov edi, r12d
setne r10b
jmp 0x1403812f1
mov eax, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov edx, 0x4b
lea edi, [r12 + 1]
lea r9d, [r12 + rax]
call fcn.1403746c0
jmp 0x14038129b
mov byte [rsp + 0x90], 0
mov r10d, 1
mov dword [rsp + 0xd0], 1
movzx eax, byte [rsp + 0x90]
mov rcx, qword [r15 + 0x10]
mov r8d, edi
mov dword [rsp + 0xec], r10d
mov r9, qword [rsp + 0xb0]
mov edx, dword [rsp + 0x70]
sub r8d, eax
mov dword [rsp + 0xd8], eax
call fcn.1402fc640
movzx eax, word [rsi + 0x3e]
mov r10d, dword [rsp + 0xec]
test ax, ax
je 0x140381345
xor edx, edx
mov dword [rsp + 0x90], edx
cmp edi, eax
je 0x140381522
test r13d, r13d
je 0x140381372
mov rcx, qword [rsp + 0x40]
mov r9d, r13d
mov r8d, 1
mov edx, 0x47
mov dword [rsp + 0x90], r10d
call fcn.1403746c0
mov r10d, dword [rsp + 0x90]
mov r8d, dword [rbp + 0x34]
test r8d, r8d
je 0x1403813d4
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x28], r12d
mov edx, 0x40
mov r9d, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x90], r10d
mov dword [rsp + 0x20], eax
call fcn.1403747e0
mov rax, qword [rsp + 0x78]
mov rdx, rbx
mov rcx, r15
mov r9d, dword [rsp + 0x98]
mov r8d, dword [rsp + 0xb8]
mov qword [rsp + 0x20], rax
call fcn.140303870
mov r10d, dword [rsp + 0x90]
mov eax, dword [rsp + 0xd0]
mov ecx, dword [rsp + 0x60]
lea rdx, [0x1405058f0]
add eax, eax
lea eax, [rax + r10*4]
add eax, ecx
cdqe
movzx eax, byte [rdx + rax]
mov dword [rsp + 0xec], eax
test byte [rsi + 0x3a], 0x10
je 0x140381406
cmp eax, 0x17
je 0x140381413
xor r14d, r14d
mov dword [rsp + 0x90], r14d
jmp 0x14038147f
mov rax, qword [rsp + 0x68]
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.1403746a0
mov dword [rsp + 0x90], eax
test r14, r14
je 0x14038147f
mov rcx, qword [rsp + 0x40]
mov edx, 1
call fcn.140374aa0
mov edx, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x40]
call fcn.14037b4e0
mov rdx, rax
mov eax, dword [rcx + 0x90]
mov dword [rsp + 0x90], eax
inc eax
mov dword [rdx + 8], eax
jmp 0x140381406
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x28], edi
mov r9d, dword [rsp + 0x98]
mov r8d, dword [rsp + 0x84]
mov edx, dword [rsp + 0xec]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x20], eax
call fcn.1403747e0
test r13d, r13d
je 0x140381522
mov rax, qword [rsp + 0x40]
xor r8d, r8d
mov edx, 9
mov r9d, dword [rax + 0x90]
mov rcx, rax
add r9d, 2
call fcn.1403746c0
xor eax, eax
cmp edi, 2
mov ecx, dword [rsp + 0x60]
setge al
lea rdx, [0x1405058f0]
mov r9d, dword [rsp + 0x98]
mov r8d, dword [rsp + 0x84]
lea eax, [rax*4 + 2]
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 + 0x70]
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x20], eax
call fcn.1403747e0
cmp qword [rsp + 0x88], 0
je 0x14038164a
mov rax, qword [rsp + 0x88]
cmp dword [rsp + 0x90], 0
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0xd0], rax
je 0x140381560
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x90]
mov dword [rbp + 0x48], eax
mov eax, dword [rsp + 0x70]
movzx edi, word [rsp + 0xcc]
mov rcx, r15
mov rdx, qword [rsp + 0xd0]
lea r14d, [r12 + rax]
mov r9d, edi
mov r8d, r14d
call fcn.1402fd100
mov rax, qword [rsp + 0x88]
mov r10w, word [rax + 0x12]
test r10w, 0x100
je 0x1403815ba
mov r9d, dword [rbp + 0x2c]
mov rcx, qword [rsp + 0x40]
call fcn.14037b4d0
mov edx, r9d
and r9d, 1
shr edx, 1
mov word [rax + 2], r9w
mov dword [rax + 0xc], edx
and r10b, 0x80
jne 0x1403815eb
mov rcx, qword [rsp + 0xd0]
call fcn.14034d620
test eax, eax
je 0x1403815eb
mov r9d, dword [rsp + 0x98]
mov rcx, qword [rsp + 0x40]
mov r8d, r14d
mov edx, 0x32
call fcn.1403746c0
cmp qword [rsp + 0xc0], 0
je 0x140381624
mov r8, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xd0]
mov edx, edi
call fcn.140391cb0
mov rcx, qword [r15 + 0x10]
mov r8d, edi
mov edx, r14d
mov r9, qword [rsp + 0xc0]
call fcn.1402fc640
mov rcx, qword [rsp + 0xd0]
add edi, r12d
call fcn.1403507a0
test eax, eax
jne 0x140381686
mov rdx, qword [rsp + 0x88]
mov rcx, rbp
call fcn.1403004e0
jmp 0x140381691
cmp byte [rsp + 0x100], 0
mov edi, r12d
je 0x140381691
test r13d, r13d
jne 0x14038167f
mov eax, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
xor edi, edi
mov edx, 0x4b
lea r9d, [r12 + rax]
call fcn.1403746c0
mov dword [rsp + 0xe0], edi
lea edi, [r12 + 1]
jmp 0x140381691
mov dword [rsp + 0xe0], 1
cmp qword [rsp + 0xb0], 0
je 0x1403816ae
mov rdx, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x58]
call fcn.14034a770
cmp qword [rsp + 0xc0], 0
je 0x1403816cb
mov rdx, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0x58]
call fcn.14034a770
cmp dword [rbp + 0x48], 0
jne 0x1403816df
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x90]
mov dword [rbp + 0x48], eax
test edi, edi
je 0x140381768
test r13d, r13d
je 0x14038170c
mov rax, qword [rsp + 0x40]
mov r8d, r13d
mov edx, 0x11
mov r9d, dword [rax + 0x90]
mov rcx, rax
add r9d, 3
call fcn.1403746c0
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x28], edi
lea rdx, [0x1405023d0]
mov r9d, dword [rsp + 0x98]
mov r8d, dword [rsp + 0x84]
lea eax, [rax + rcx*2]
mov rcx, qword [rsp + 0x40]
cdqe
movzx edx, byte [rdx + rax]
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x20], eax
call fcn.1403747e0
cmp dword [rsp + 0x90], 0
je 0x140381768
mov edx, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x40]
call fcn.14037bea0
test r13d, r13d
je 0x1403817d7
mov rax, qword [rsp + 0x40]
mov r8d, r13d
mov edx, 0x10
mov r9d, dword [rax + 0x90]
mov rcx, rax
add r9d, 2
call fcn.1403746c0
mov ecx, dword [rsp + 0x60]
mov eax, dword [rsp + 0xd8]
lea rdx, [0x1405023d0]
mov r9d, dword [rsp + 0x98]
mov r8d, dword [rsp + 0x84]
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 + 0x70]
mov dword [rsp + 0x20], eax
call fcn.1403747e0
test byte [rsi + 0x3a], 4
je 0x1403817fc
mov dword [rsp + 0x20], r12d
mov rcx, qword [rsp + 0x40]
mov r9d, r12d
mov edx, 0x7d
mov r8d, dword [rsp + 0x84]
call fcn.1403746e0
test byte [rsi + 0x38], 0x40
je 0x140381813
mov edi, 1
test word [rbx + 0x3c], 0x1020
je 0x1403819a1
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x18]
test byte [rax + 0x30], 0x80
jne 0x140381905
mov rdi, qword [rbx]
mov eax, dword [rsp + 0x4c]
xor r9d, r9d
mov edx, 0x8d
mov r8d, dword [rsp + 0x84]
mov r13, qword [rdi + 0x10]
or byte [rbx + 0x44], 1
mov dword [rsp + 0x20], eax
mov rcx, r13
call fcn.1403746e0
test word [rbx + 0x3c], 0x1020
jne 0x140381860
xor edi, edi
jmp 0x1403819a1
mov rax, qword [rdi + 0xa8]
test rax, rax
cmove rax, rdi
cmp dword [rax + 0x78], 0
jne 0x140381859
mov rax, qword [rsp + 0x68]
mov rcx, qword [rdi]
mov r12, qword [rax + 0x18]
movsx edx, word [r12 + 0x36]
inc edx
movsxd rdx, edx
shl rdx, 2
call fcn.14034a740
mov r8, rax
test rax, rax
je 0x140381859
movsx eax, word [r12 + 0x36]
xor r14d, r14d
mov dword [r8], eax
mov rax, qword [rsp + 0x68]
movzx edi, word [rax + 0x60]
dec edi
cmp edi, r14d
jle 0x1403818ef
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 8]
movsx edx, word [rax + r14*2]
test dx, dx
js 0x1403818ea
mov rcx, r12
mov qword [rsp + 0x58], r8
call fcn.140371790
mov r8, qword [rsp + 0x58]
lea edx, [r14 + 1]
movsx rax, ax
mov dword [r8 + rax*4 + 4], edx
inc r14
jmp 0x1403818b3
mov r9d, 0xfffffff2
or edx, 0xffffffff
mov rcx, r13
call fcn.140374a30
jmp 0x140381859
mov ecx, dword [rsp + 0x84]
cmp dword [rsp + 0x4c], ecx
je 0x140381859
mov rcx, qword [rax + 0x10]
xor r12d, r12d
call fcn.14036abb0
mov rcx, r15
movzx edx, word [rax + 0x5e]
mov r13, rax
call fcn.14035cd30
mov edi, eax
movzx eax, word [r13 + 0x5e]
cmp eax, r12d
jle 0x140381978
mov rax, qword [r13 + 8]
mov rcx, qword [rsp + 0x68]
movsx edx, word [rax + r12*2]
call fcn.140371760
lea edx, [rdi + r12]
mov rcx, qword [rsp + 0x40]
inc r12
mov dword [rsp + 0x20], edx
mov r8d, dword [rsp + 0x84]
movsx r9d, ax
mov edx, 0x5e
call fcn.1403746e0
jmp 0x140381933
mov dword [rsp + 0x28], eax
mov r8d, dword [rsp + 0x4c]
mov edx, 0x1c
mov dword [rsp + 0x20], edi
mov r9d, dword [rsp + 0xbc]
mov rcx, qword [rsp + 0x40]
call fcn.1403747e0
jmp 0x140381859
cmp dword [rbp], 0
jne 0x1403819c6
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax + 0x48]
test rcx, rcx
je 0x1403819c6
mov r8, qword [rsp + 0xa0]
mov edx, dword [rsp + 0x4c]
call fcn.140396820
mov eax, dword [rsi + 0x38]
mov esi, dword [rsp + 0x60]
mov ecx, 0x27
mov dl, 0xb8
sub ecx, esi
test ah, 0x10
mov esi, dword [rsp + 0x84]
cmove edx, ecx
mov dword [rbp + 0x44], esi
mov byte [rbp + 0x41], dl
mov edx, eax
shr edx, 0x10
and edx, 1
mov byte [rbp + 0x42], dl
test al, 0xf
jne 0x1403819fc
mov byte [rbp + 0x43], 1
mov r13d, 1
test edi, edi
je 0x140382128
jmp 0x140380dd8
bt eax, 0xd
jae 0x1403820db
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 0x140381b2f
mov eax, dword [rsp + 0xb8]
mov rcx, qword [rsp + 0x58]
sub r12d, eax
dec r12d
movsxd rdx, r12d
imul rdx, rdx, 0x68
add rdx, 0x70
call fcn.14034a650
mov r14, rax
test rax, rax
je 0x140382615
imul rdi, rdi, 0x68
lea eax, [r12 + 1]
mov ecx, 0x1a
mov rsi, qword [rsp + 0xa8]
movzx eax, al
lea rdx, [r14 + 0x70]
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 0x140381b33
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 0x140381b07
mov r14, qword [rbx + 8]
test byte [rbx + 0x3c], 0x10
jne 0x140381bb3
test byte [r13 + 0x30], 0x80
jne 0x140381b65
mov eax, dword [r15 + 0x38]
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov edx, 0x4b
inc eax
mov dword [r15 + 0x38], eax
mov r9d, eax
mov dword [rsp + 0x60], eax
call fcn.1403746c0
jmp 0x140381ba3
mov rcx, qword [r13 + 0x10]
call fcn.14036abb0
mov rcx, qword [rsp + 0x40]
mov edx, 0x76
mov rsi, rax
mov eax, dword [r15 + 0x34]
movzx r9d, word [rsi + 0x5e]
mov dword [rsp + 0x60], eax
inc eax
mov r8d, dword [rsp + 0x60]
mov dword [r15 + 0x34], eax
call fcn.1403746c0
mov rdx, rsi
mov rcx, r15
call fcn.14037db20
mov eax, dword [r15 + 0x38]
inc eax
mov dword [rsp + 0x70], eax
mov dword [r15 + 0x38], eax
jmp 0x140381bc0
xor r11d, r11d
mov dword [rsp + 0x70], r11d
mov dword [rsp + 0x60], r11d
mov r9d, dword [rsp + 0x90]
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov edx, 0x47
call fcn.1403746c0
cmp dword [rbx + 0x84], 1
mov dword [rsp + 0x100], eax
jg 0x140381bf4
xor r10d, r10d
mov qword [rsp + 0x68], r10
jmp 0x140381c73
xor esi, esi
xor r9d, r9d
cmp dword [rbx + 0x84], esi
jle 0x140381c59
imul rax, rsi, 0x38
add rax, qword [rbx + 0x90]
cmp qword [rsp + 0xd8], rax
je 0x140381c54
test word [rax + 0x12], 0x8006
jne 0x140381c54
test word [rax + 0x14], 0x3fff
je 0x140381c54
mov rdx, qword [rax]
test byte [rdx + 6], 0x40
jne 0x140381c54
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
mov qword [rsp + 0x68], r9
call fcn.14034fe50
mov rdx, qword [rsp + 0x68]
mov rcx, r15
mov r8, rax
call fcn.14034d2e0
mov r9, rax
inc rsi
jmp 0x140381bf9
test r9, r9
je 0x140381bea
xor r8d, r8d
mov edx, 0x1002c
mov rcx, r15
call fcn.140362070
mov qword [rsp + 0x68], rax
lea r8, str.MULTI_INDEX_OR
mov edx, 1
mov rcx, r15
xor edi, edi
call fcn.14037b170
xor r8d, r8d
xor r9d, r9d
mov dword [rsp + 0xec], r8d
mov qword [rsp + 0xc0], r9
mov rax, qword [rsp + 0xe0]
mov dword [rsp + 0x84], edi
cmp edi, dword [rax + 0x14]
jge 0x14038201c
mov rsi, qword [rsp + 0xe0]
imul rax, rdi, 0x38
add rax, qword [rsi + 0x20]
mov esi, dword [rsp + 0x4c]
cmp esi, dword [rax + 0x1c]
je 0x140381cda
test byte [rax + 0x15], 4
je 0x140382014
mov rdx, qword [rax]
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
call fcn.14034fe50
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x67], 0
je 0x140381d0d
mov rdx, qword [rsp + 0x98]
mov rcx, rax
jmp 0x14038200f
cmp qword [rsp + 0x68], 0
mov rsi, qword [rsp + 0x98]
je 0x140381d29
mov rax, qword [rsp + 0x68]
mov qword [rax + 0x10], rsi
mov rsi, rax
lea r9d, [rdi + 1]
lea r8, str.INDEX__d
mov edx, 1
mov rcx, r15
call fcn.14037b170
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 + 0x38], eax
mov dword [rsp + 0x30], 0x20
call fcn.14037f810
mov r12, rax
test rax, rax
je 0x140382002
xor r9d, r9d
lea r8, [rax + 0x360]
mov rdx, r14
mov rcx, r15
call fcn.140382fb0
xor esi, esi
test byte [rbx + 0x3c], 0x10
jne 0x140381f56
mov rax, qword [rsp + 0xe0]
mov eax, dword [rax + 0x14]
mov dword [rsp + 0x88], eax
dec eax
cmp dword [rsp + 0x84], eax
mov eax, 0xffffffff
cmovne eax, edi
mov dword [rsp + 0xb0], eax
test byte [r13 + 0x30], 0x80
jne 0x140381e19
mov r9d, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x4c]
mov edx, 0x87
mov rcx, qword [rsp + 0x40]
call fcn.1403746c0
mov eax, dword [rsp + 0xb0]
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov rcx, qword [rsp + 0x40]
mov edx, 0x2f
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x20], eax
call fcn.1403747e0
mov esi, eax
jmp 0x140381f56
mov rcx, qword [r13 + 0x10]
xor esi, esi
call fcn.14036abb0
mov rcx, r15
mov r10, rax
movzx eax, word [rax + 0x5e]
mov edx, eax
mov dword [rsp + 0x84], eax
call fcn.14035cd30
mov dword [rsp + 0x88], eax
cmp dword [rsp + 0x84], esi
jle 0x140381e89
mov rax, qword [r10 + 8]
mov r8d, dword [rsp + 0x4c]
mov rdx, r13
mov qword [rsp + 0x108], r10
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.14034da70
mov r10, qword [rsp + 0x108]
jmp 0x140381e43
cmp dword [rsp + 0xb0], 0
je 0x140381ece
mov eax, dword [rsp + 0x84]
mov r8d, dword [rsp + 0x60]
xor r9d, r9d
mov edx, 0x1d
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x20], eax
call fcn.1403747e0
cmp dword [rsp + 0xb0], 0xffffffff
mov esi, eax
jne 0x140381ed0
jmp 0x140381f3f
xor esi, esi
mov eax, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x40]
mov edx, 0x61
mov r9d, dword [rsp + 0x84]
mov r8d, dword [rsp + 0x88]
mov dword [rsp + 0x20], eax
call fcn.1403746e0
mov r9d, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x60]
mov edx, 0x8a
mov eax, dword [rsp + 0x84]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x20], eax
call fcn.1403747e0
cmp dword [rsp + 0xb0], 0
je 0x140381f3f
mov rcx, qword [rsp + 0x40]
mov edx, 0x10
call fcn.140374aa0
mov r8d, dword [rsp + 0x84]
mov edx, dword [rsp + 0x88]
mov rcx, r15
call fcn.14036b250
mov r9d, dword [rsp + 0xd0]
mov rcx, qword [rsp + 0x40]
mov edx, 0xa
mov r8d, dword [rsp + 0x90]
call fcn.1403746c0
test esi, esi
je 0x140381f85
mov rcx, qword [rsp + 0x40]
mov edx, esi
call fcn.14037bea0
test byte [r12 + 0x44], 2
mov eax, 1
cmove eax, dword [rsp + 0xec]
xor esi, esi
mov dword [rsp + 0xec], eax
mov rax, qword [r12 + 0x3c0]
test byte [rax + 0x39], 2
je 0x140381fde
mov rsi, qword [rax + 0x20]
test rdi, rdi
je 0x140381fc2
cmp qword [rsp + 0xc0], rsi
jne 0x140381fdc
test byte [r13 + 0x30], 0x80
je 0x140381fde
mov al, byte [rsi + 0x64]
and eax, 3
cmp al, 2
mov eax, 0
cmove rsi, rax
jmp 0x140381fde
xor esi, esi
test byte [r12 + 0x44], 1
je 0x140381fea
or byte [rbx + 0x44], 1
mov rcx, r12
call fcn.1403828d0
mov rcx, r15
call fcn.14037b1f0
mov qword [rsp + 0xc0], rsi
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x58]
call fcn.14034fdb0
inc rdi
jmp 0x140381c9f
mov rcx, r15
call fcn.14037b1f0
mov rax, qword [rsp + 0xc0]
mov qword [rbp + 0x50], rax
test rax, rax
je 0x14038203f
mov eax, dword [rsp + 0xcc]
mov dword [rbp + 8], eax
cmp qword [rsp + 0x68], 0
je 0x14038205f
mov rax, qword [rsp + 0x68]
xor edx, edx
mov rcx, qword [rsp + 0x58]
mov qword [rax + 0x10], rdx
mov rdx, rax
call fcn.14034fdb0
mov rax, qword [rsp + 0x40]
mov edx, dword [rsp + 0x100]
mov r9d, dword [rax + 0x90]
mov rcx, rax
call fcn.14037b4e0
mov edx, dword [rbp + 0xc]
mov dword [rax + 4], r9d
call fcn.14037b500
mov edx, dword [rsp + 0xd0]
mov rcx, qword [rsp + 0x40]
call fcn.14037d8d0
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x90]
mov dword [rbp + 0x48], eax
cmp byte [rbx + 0x40], 1
jbe 0x1403820b8
mov rcx, qword [rsp + 0x58]
mov rdx, r14
call fcn.14034a580
cmp dword [rsp + 0xec], 0
jne 0x140380dd8
mov rdx, qword [rsp + 0xd8]
mov rcx, rbp
call fcn.1403004e0
jmp 0x140380dd8
and dl, 0x40
je 0x1403820e9
mov byte [rbp + 0x41], 0xb8
jmp 0x140380dd8
movsxd rax, dword [rsp + 0x60]
lea rdx, [0x140505910]
mov edi, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x40]
mov dl, byte [rdx + rax]
mov dword [rbp + 0x44], edi
mov r8d, edi
mov byte [rbp + 0x41], dl
lea rdx, [0x1405058e0]
movzx edx, byte [rdx + rax]
call fcn.1403746c0
mov byte [rbp + 0x43], 1
inc eax
mov dword [rbp + 0x48], eax
jmp 0x140380dd8
movsxd rax, dword [rsp + 0xc8]
mov rdi, qword [rsp + 0xa8]
imul rax, rax, 0x68
add rax, rdi
mov qword [rsp + 0x60], rax
mov eax, dword [rbx + 0x84]
mov rsi, qword [rbx + 0x90]
xor r12d, r12d
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x58], 0
jle 0x1403822b5
test byte [rsi + 0x12], 6
jne 0x1403822a8
mov r10, qword [rbp + 0x68]
mov rax, r10
and rax, qword [rsi + 0x30]
je 0x140382183
or byte [rbx + 0x44], 2
jmp 0x1403822a8
mov rax, qword [rsp + 0x60]
mov r14, qword [rsi]
mov dl, byte [rax + 0x44]
test dl, 0x58
je 0x1403821c6
mov eax, dword [r14 + 4]
test al, 3
je 0x1403822a8
and dl, 8
je 0x1403821ac
test al, 1
je 0x1403822a8
mov edx, dword [r14 + 0x34]
mov rcx, qword [rsp + 0xf8]
call fcn.140383560
test r10, rax
jne 0x1403822a8
cmp r13d, 1
jne 0x140382234
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 + 0x68]
mov dword [rsp + 0x120], edx
mov rcx, r8
mov rdx, r14
mov qword [rsp + 0x118], rax
lea rax, [0x1403028d0]
mov qword [rsp + 0x168], rax
lea rax, [rsp + 0x118]
mov qword [rsp + 0x188], rax
call fcn.14037f510
cmp word [rsp + 0x184], 0
jne 0x1403822a2
test byte [rsi + 0x13], 0x10
je 0x140382249
jmp 0x14038223c
cmp r13d, 2
jne 0x140382249
jmp 0x14038222c
test r12d, r12d
jne 0x1403822a8
mov r12d, 3
jmp 0x1403822a8
xor edi, edi
test byte [rsi + 0x13], 2
je 0x140382272
mov r8d, dword [rbp + 0x2c]
test r8d, r8d
je 0x140382272
mov edx, r8d
mov rcx, qword [rsp + 0x40]
shr r8d, 1
and edx, 1
add edx, 0x10
call fcn.1403746a0
mov edi, eax
mov r8d, dword [rsp + 0xbc]
mov r9d, 0x10
mov rdx, r14
mov rcx, r15
call fcn.140350000
test edi, edi
je 0x14038229b
mov rcx, qword [rsp + 0x40]
mov edx, edi
call fcn.14037bea0
or word [rsi + 0x12], 4
jmp 0x1403822a8
mov r12d, 2
dec dword [rsp + 0x58]
add rsi, 0x38
jmp 0x140382158
test r12d, r12d
jle 0x1403822c2
mov r13d, r12d
jmp 0x140382144
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 + 0x58], rax
test r13d, r13d
jle 0x1403823da
test byte [r14 + 0x12], 6
jne 0x1403823ce
mov eax, dword [r14 + 0x14]
test al, 0x82
je 0x1403823ce
test ah, 8
je 0x1403823ce
mov eax, dword [rsp + 0x4c]
cmp eax, dword [r14 + 0x1c]
jne 0x1403823ce
mov rax, qword [rsp + 0x58]
test byte [rax + 0x44], 0x58
jne 0x1403823ce
xor eax, eax
mov r12, qword [r14]
mov r8d, dword [r14 + 0x20]
mov dword [rsp + 0x20], 0x83
mov r9, qword [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov edx, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0xa0]
call fcn.1403834e0
test rax, rax
je 0x1403823ce
test byte [rax + 0x12], 4
jne 0x1403823ce
mov rsi, qword [rax]
test byte [rax + 0x14], 1
je 0x140382385
test byte [rsi + 5], 0x10
je 0x140382385
mov rdx, qword [rsi + 0x20]
mov rdx, qword [rdx + 0x20]
cmp dword [rdx], 1
jg 0x1403823ce
mov ecx, 0x12
lea rdi, [rsp + 0x160]
mov qword [rsp + 0x60], rax
mov r8d, dword [rsp + 0xbc]
rep movsd dword [rdi], dword [rsi]
mov r9d, 0x10
mov rcx, r15
mov rdx, qword [r12 + 0x10]
mov qword [rsp + 0x170], rdx
lea rdx, [rsp + 0x160]
call fcn.140350000
mov rax, qword [rsp + 0x60]
or word [rax + 0x12], 4
dec r13d
add r14, 0x38
jmp 0x1403822ec
mov r13, qword [rbp + 0x38]
test r13, r13
je 0x14038252e
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 0x14038242b
mov edx, 2
mov rcx, r15
mov edi, 1
call fcn.14035cd30
mov r8d, dword [rbp + 4]
mov rcx, qword [rsp + 0x40]
mov edx, 0x87
lea r9d, [rax + 1]
mov esi, eax
call fcn.1403746c0
jmp 0x140382487
mov rcx, qword [r14 + 0x10]
xor r10d, r10d
call fcn.14036abb0
mov rcx, r15
movzx edi, word [rax + 0x5e]
mov r12, rax
lea edx, [rdi + 1]
call fcn.14035cd30
mov esi, eax
inc r10
lea eax, [r10 - 1]
cmp edi, eax
jle 0x140382487
mov rax, qword [r12 + 8]
mov r8d, dword [rsp + 0x4c]
mov rdx, r14
mov qword [rsp + 0x58], r10
mov rcx, qword [rsp + 0x40]
movsx r9d, word [rax + r10*2 - 2]
lea eax, [rsi + r10]
mov dword [rsp + 0x20], eax
call fcn.14034da70
mov r10, qword [rsp + 0x58]
jmp 0x14038244b
lea r12d, [rsi + 1]
mov dword [rsp + 0x28], edi
mov rcx, qword [rsp + 0x40]
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov r8d, dword [r13]
mov edx, 0x1d
call fcn.1403747e0
mov dword [rsp + 0x20], esi
mov r9d, edi
mov r8d, r12d
mov rcx, qword [rsp + 0x40]
mov edx, 0x61
mov r14d, eax
call fcn.1403746e0
mov dword [rsp + 0x28], edi
mov rcx, qword [rsp + 0x40]
mov r9d, esi
mov dword [rsp + 0x20], r12d
mov r8d, dword [r13]
mov edx, 0x8a
call fcn.1403747e0
mov r8d, dword [r13 + 4]
mov dword [rsp + 0x28], edi
xor r9d, r9d
mov dword [rsp + 0x20], r12d
mov rcx, qword [rsp + 0x40]
mov edx, 0xb4
call fcn.1403747e0
mov rcx, qword [rsp + 0x40]
mov edx, 0x10
call fcn.140374aa0
mov rcx, qword [rsp + 0x40]
mov edx, r14d
call fcn.14037bea0
lea r8d, [rdi + 1]
mov edx, esi
mov rcx, r15
call fcn.14036b250
mov r9d, dword [rbp]
test r9d, r9d
jne 0x140382545
mov rsi, qword [rbp + 0x38]
test rsi, rsi
jne 0x140382571
jmp 0x1403825c9
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x40]
mov r8d, 1
mov edx, 0x47
mov eax, dword [rax + 0x90]
mov dword [rbp + 0x1c], eax
call fcn.1403746c0
cmp qword [rbp + 0x38], 0
jne 0x140382537
jmp 0x140382599
mov r9d, dword [rsi + 8]
mov rcx, qword [rsp + 0x40]
xor r8d, r8d
mov edx, 0x4a
call fcn.1403746c0
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 0x1403825d4
mov rax, qword [rbp + 0x68]
mov qword [rsp + 0x78], rax
jmp 0x140382615
test byte [rsi + 0x12], 6
jne 0x140382608
mov rax, qword [rsi + 0x30]
and rax, qword [rbp + 0x68]
jne 0x140382608
test byte [rdi + 0x44], 0x40
jne 0x140382608
mov r8d, dword [rsp + 0xbc]
mov rdx, qword [rsi]
mov r9d, 0x10
mov rcx, r15
call fcn.140350000
or word [rsi + 0x12], 4
inc dword [rsp + 0xe8]
add rsi, 0x38
jmp 0x1403825ba
mov eax, dword [rbp + 0x18]
inc dword [rsp + 0xb8]
add rbp, 0x70
inc qword [rsp + 0xf0]
mov dword [rbx + 0x30], eax
jmp 0x140380737
mov rax, qword [rsp + 0x40]
mov eax, dword [rax + 0x90]
mov dword [rbx + 0x50], eax
jmp 0x140382849
mov eax, dword [rbx + 0x38]
mov rcx, qword [rsp + 0x50]
mov rdx, rbx
mov dword [r15 + 0xd0], eax
call fcn.140396ae0
xor ebx, ebx
jmp 0x140382849
xor r14d, r14d
cmp dword [rsp + 0x60], 0
jne 0x14038272f
test rdi, rdi
je 0x14038283c
xchg r14, rdi
mov dword [rsp + 0x160], 0x17151618
mov rsi, qword [r14]
mov r10, qword [rsi + 0x18]
mov rcx, r10
call fcn.1403507a0
test eax, eax
je 0x1403826cd
mov rcx, r15
mov r9d, 1
mov rdx, r10
call fcn.14035cd70
mov r8d, eax
mov dword [rsp + 0x118], eax
mov r13d, eax
call fcn.1402fd100
movzx eax, byte [rsi]
sub eax, 0x37
and eax, 2
or eax, 1
jmp 0x1403826f6
lea r8, [rsp + 0x118]
mov rdx, r10
mov rcx, r15
call fcn.14034f6c0
mov rdx, r14
mov rcx, rbp
mov r13d, eax
call fcn.1403004e0
movzx eax, byte [rsi]
sub eax, 0x36
cdqe
movzx edx, byte [rsp + rax + 0x160]
mov rcx, qword [rsp + 0x40]
mov dword [rsp + 0x20], r13d
mov r9d, r12d
mov r8d, dword [rsp + 0x4c]
call fcn.1403746e0
mov edx, dword [rsp + 0x118]
mov rcx, r15
call fcn.14036b270
jmp 0x140382743
test r14, r14
jne 0x14038267e
mov edx, 0x20
mov r8d, dword [rsp + 0x4c]
mov rcx, qword [rsp + 0x40]
call fcn.1403746c0
test rdi, rdi
je 0x1403827b7
mov eax, dword [r15 + 0x38]
mov r13, qword [rdi]
mov rcx, r15
mov r9d, 1
lea esi, [rax + 1]
mov rdx, qword [r13 + 0x18]
mov dword [r15 + 0x38], esi
mov r8d, esi
call fcn.1402fd100
mov rcx, qword [r13 + 0x18]
call fcn.1403507a0
test eax, eax
jne 0x140382796
mov dl, byte [r13]
sub edx, 0x36
and dl, 0xfd
jne 0x140382796
cmp dword [rsp + 0x60], 1
sbb r13d, r13d
and r13d, 2
add r13d, 0x37
jmp 0x1403827aa
cmp dword [rsp + 0x60], 1
sbb r13d, r13d
and r13d, 0xfffffffe
add r13d, 0x38
test eax, eax
jne 0x1403827bf
mov rdx, rdi
mov rcx, rbp
call fcn.1403004e0
jmp 0x1403827bf
xor esi, esi
mov r13d, 0xb8
mov rax, qword [rsp + 0x40]
mov edi, dword [rsp + 0x60]
mov edx, dword [rax + 0x90]
mov eax, 0x27
sub eax, edi
mov byte [rbp + 0x41], al
mov eax, dword [rsp + 0x4c]
mov dword [rbp + 0x48], edx
mov dword [rbp + 0x44], eax
cmp r13d, 0xb8
je 0x140380dd8
mov eax, dword [r15 + 0x38]
mov r8d, dword [rsp + 0x4c]
mov edx, 0x87
mov rcx, qword [rsp + 0x40]
lea edi, [rax + 1]
mov dword [r15 + 0x38], edi
mov r9d, edi
call fcn.1403746c0
mov dword [rsp + 0x20], edi
mov edx, r13d
mov r9d, r12d
mov rcx, qword [rsp + 0x40]
mov r8d, esi
call fcn.1403746e0
mov rcx, qword [rsp + 0x40]
mov edx, 0x53
call fcn.140374aa0
jmp 0x140380dd8
mov rdi, r14
mov edx, 0x24
jmp 0x140382734
mov rax, rbx
add rsp, 0x1d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret