Function at 0x14037c580
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, 0x148
mov rsi, qword [rcx + 0x10]
mov eax, dword [rsp + 0x1b8]
mov qword [rsp + 0xa0], rsi
mov rsi, qword [rcx]
mov r15, rcx
mov r12, r8
mov qword [rsp + 0x198], rdx
mov qword [rsp + 0x1a8], r9
mov word [rsp + 0x60], ax
mov qword [rsp + 0x80], rsi
mov qword [rsp + 0xe0], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf0], 0
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0x100], 0
mov qword [rsp + 0x108], 0
test r9, r9
je 0x14037c62e
cmp dword [r9], 0x40
mov edx, 0
cmovl rdx, r9
mov qword [rsp + 0x1a8], rdx
mov rsi, qword [rsp + 0x1a8]
and ah, 0xfe
mov qword [rsp + 0xf0], rsi
mov rsi, qword [rsp + 0x80]
test byte [rsi + 0x5c], 0x10
cmove ax, word [rsp + 0x60]
mov word [rsp + 0x60], ax
mov rax, qword [rsp + 0x198]
mov eax, dword [rax]
mov dword [rsp + 0x74], eax
cmp eax, 0x40
jg 0x14037e61a
movzx eax, word [rsp + 0x60]
and ax, 0x20
mov word [rsp + 0x88], ax
je 0x14037c98c
mov dword [rsp + 0x74], 1
mov edx, 0x420
mov ebx, 0x3c0
mov rsi, qword [rsp + 0x80]
mov rcx, rsi
call fcn.14030f620
cmp byte [rsi + 0x63], 0
mov qword [rsp + 0x48], rax
jne 0x14037d1f4
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x198]
mov edx, dword [rsp + 0x74]
mov qword [rax + 8], rsi
mov rsi, qword [rsp + 0x1a8]
mov byte [rax + 0x40], dl
mov qword [rax + 0x10], rsi
mov rsi, qword [rsp + 0x1b0]
mov qword [rax + 0x28], 0xffffffffffffffff
mov qword [rax + 0x18], rsi
mov rsi, rax
mov qword [rax], r15
lea rdi, [rsi + 0x49]
add rbx, rsi
lea r13, [rsi + 0x70]
mov qword [rax + 0x20], r12
mov eax, dword [r15 + 0x44]
and rdi, 0xfffffffffffffff8
sub eax, 1
mov dword [r15 + 0x44], eax
mov dword [rsi + 0x30], eax
mov dword [rsi + 0x34], eax
movzx eax, word [rsp + 0x60]
mov word [rsi + 0x3c], ax
movzx eax, word [rsp + 0x1c0]
mov word [rsi + 0x3e], ax
mov eax, dword [r15 + 0xc0]
mov qword [rsi + 0x41], 0
mov dword [rsi + 0x38], eax
mov eax, esi
sub eax, edi
mov qword [rsi + 0x68], 0
lea ecx, [rax + 0x70]
xor eax, eax
shr ecx, 3
rep stosq qword [rdi], rax
lea eax, [rdx + 1]
lea rcx, [rsi + 0x360]
mov edi, edx
cdqe
xor edx, edx
mov qword [rsp + 0xa8], rcx
lea r8, [rax + rax*2]
mov qword [rsp + 0x98], rcx
shl r8, 5
call sub.msvcrt.dll_memset
lea rax, [rbx + 0x48]
xor r9d, r9d
mov rdx, r12
mov qword [rbx + 0x38], rax
mov r10d, 3
mov r8d, 0x2c
mov rcx, r13
movabs rax, 0x800000000
mov word [rbx + 0x2c], r9w
mov word [rbx + 0x30], r10w
mov dword [rbx + 0x28], 0
mov qword [rsi + 0x84], rax
lea rax, [rsi + 0x98]
mov dword [rsi + 0x25c], 0
mov qword [rsi + 0x70], rsi
mov byte [rsi + 0x81], 0
mov qword [rsi + 0x78], 0
mov qword [rsi + 0x90], rax
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xe8], r13
mov qword [rsp + 0xf8], rbx
call fcn.14031e7b0
test edi, edi
jne 0x14037cfde
cmp qword [rsp + 0x1a8], 0
je 0x14037c82b
mov rax, qword [rsp + 0x1a8]
mov eax, dword [rax]
mov byte [rsi + 0x41], al
test word [rsp + 0x60], 0x100
jne 0x14037d233
lea r8, str.SCAN_CONSTANT_ROW
xor edx, edx
mov rcx, r15
call fcn.140348b00
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x198]
mov eax, dword [rax + 0x84]
mov ebx, eax
mov dword [rsp + 0x50], eax
sub ebx, 1
js 0x14037c883
nop word [rax + rax]
mov r8d, ebx
mov rdx, r13
mov rcx, rsi
call fcn.140385b00
sub ebx, 1
jae 0x14037c870
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x63], 0
jne 0x14037cb7b
mov rax, qword [rsp + 0xe8]
lea rbp, [rsp + 0x110]
xor edi, edi
xor esi, esi
mov rcx, rbp
lea r12, [0x140308a30]
mov rbp, rdi
mov edx, dword [rax + 0x14]
lea r14, [0x140307c70]
mov rdi, rcx
test edx, edx
jg 0x14037c94b
jmp 0x14037c9a9
mov rdx, qword [rbx]
mov eax, 1
mov qword [rdi], 0
mov qword [rdi + 8], 0
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 0
mov qword [rdi + 0x20], 0
mov qword [rdi + 0x28], 0
mov word [rsp + 0x134], ax
mov qword [rsp + 0x118], r12
mov qword [rsp + 0x120], r14
test rdx, rdx
je 0x14037c96b
mov rcx, rdi
call fcn.14032aeb0
cmp word [rsp + 0x134], 0
jne 0x14037c96b
mov rax, qword [rsp + 0xe8]
add esi, 1
add rbp, 0x38
cmp dword [rax + 0x14], esi
jle 0x14037c9a9
mov rbx, qword [rax + 0x20]
add rbx, rbp
test byte [rbx + 0x12], 2
jne 0x14037c93f
cmp qword [rbx + 0x30], 0
jne 0x14037c93f
mov eax, dword [rsp + 0x74]
test eax, eax
jne 0x14037c8d0
mov rax, qword [rsp + 0x48]
mov rdx, qword [rbx]
mov r9d, 0x10
mov rcx, r15
mov r8d, dword [rax + 0x34]
call fcn.1403838c0
or word [rbx + 0x12], 4
jmp 0x14037c937
mov eax, dword [rsp + 0x74]
lea ebx, [rax + rax*2 - 3]
shl ebx, 5
add ebx, 0x3c0
movsxd rbx, ebx
lea rdx, [rbx + 0x60]
jmp 0x14037c698
movzx eax, word [rsp + 0x60]
and ax, 0x100
mov word [rsp + 0x90], ax
jne 0x14037e300
mov rbx, qword [rsp + 0xe0]
cmp dword [rsp + 0x74], 1
mov r13, qword [rbx + 8]
je 0x14037e201
movzx edx, byte [rbx + 0x40]
mov r14, qword [rsp + 0xf8]
lea rax, [rdx*8]
sub rax, rdx
shl rax, 4
lea r12, [r13 + rax + 8]
mov rax, qword [rbx]
mov rax, qword [rax]
mov dword [r14 + 0x28], 0
mov qword [rsp + 0x58], rax
lea rax, [r14 + 0x48]
mov qword [rsp + 0x68], rax
mov qword [r14 + 0x38], rax
xor eax, eax
mov word [r14 + 0x2c], ax
mov eax, 3
mov word [r14 + 0x30], ax
lea rax, [r13 + 8]
mov dword [rsp + 0x10c], 0x4e20
cmp r12, rax
jbe 0x14037cc18
lea rcx, [rsp + 0xe0]
lea rsi, [r13 + 0x78]
xor edi, edi
xor ebp, ebp
mov qword [rsp + 0x50], rcx
mov eax, 0x4e20
mov qword [rsp + 0x190], r15
nop word [rax + rax]
mov byte [r14 + 0x10], bpl
mov r11d, dword [rbx + 0x25c]
add eax, 0x3e8
mov dword [rsp + 0x10c], eax
mov edx, dword [rsi - 0x2c]
test r11d, r11d
jle 0x14037cf28
movsxd r8, r11d
xor eax, eax
jmp 0x14037caa5
add rax, 1
cmp r8, rax
je 0x14037cf28
mov ecx, eax
cmp edx, dword [rbx + rax*4 + 0x260]
jne 0x14037ca98
mov eax, 1
shl rax, cl
mov qword [r14 + 8], rax
mov rax, qword [rsi - 0x50]
mov r13d, 0
test byte [rsi - 0x34], 0xa
mov r15d, dword [rax + 0x54]
cmovne r13, rdi
test r15d, r15d
jne 0x14037cf30
mov rcx, qword [rsp + 0x50]
mov rdx, r13
xor r15d, r15d
call fcn.1403475d0
test eax, eax
jne 0x14037cee8
mov rax, qword [rsp + 0xe8]
cmp byte [rax + 0x11], 0
jne 0x14037cfbd
or rdi, qword [r14 + 8]
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x63], 0
je 0x14037cf06
mov r15, qword [rsp + 0x190]
mov rdx, qword [r14 + 0x38]
xor eax, eax
cmp rdx, qword [rsp + 0x68]
je 0x14037cc18
mov rsi, qword [rsp + 0x58]
mov dword [rsp + 0x50], eax
mov edi, 3
mov rcx, rsi
call fcn.140314ee0
mov rcx, rsi
mov rdx, r14
xor esi, esi
call fcn.140315140
mov rax, qword [rsp + 0x68]
mov word [r14 + 0x2c], si
mov word [r14 + 0x30], di
mov qword [r14 + 0x38], rax
mov eax, dword [rsp + 0x50]
mov dword [r14 + 0x28], 0
test eax, eax
je 0x14037cc47
mov rax, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x48]
mov rdx, qword [rax + 0x60]
test rdx, rdx
je 0x14037cbda
nop
mov rax, qword [rdx]
mov qword [rbx + 0x60], rax
mov rax, qword [rdx + 8]
movdqu xmm0, xmmword [rdx + 0x10]
movups xmmword [rax], xmm0
movdqu xmm1, xmmword [rdx + 0x20]
movups xmmword [rax + 0x10], xmm1
movdqu xmm2, xmmword [rdx + 0x30]
movups xmmword [rax + 0x20], xmm2
movdqu xmm3, xmmword [rdx + 0x40]
movups xmmword [rax + 0x30], xmm3
mov rcx, qword [rdx + 0x50]
mov qword [rax + 0x40], rcx
mov rax, qword [rbx]
mov rcx, qword [rax]
call fcn.140314ee0
mov rdx, qword [rbx + 0x60]
test rdx, rdx
jne 0x14037cb90
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x80]
mov eax, dword [rdx + 0x38]
mov dword [r15 + 0xc0], eax
call fcn.14031ac00
mov qword [rsp + 0x48], 0
mov rax, qword [rsp + 0x48]
add rsp, 0x148
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x58]
mov rdx, r14
call fcn.140315140
mov rax, qword [rsp + 0x68]
mov edx, 3
mov dword [r14 + 0x28], 0
mov word [r14 + 0x30], dx
mov qword [r14 + 0x38], rax
xor eax, eax
mov word [r14 + 0x2c], ax
mov rsi, qword [rsp + 0x48]
xor edx, edx
mov rcx, rsi
call fcn.140346190
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x63], 0
jne 0x14037cb7b
cmp qword [rsi + 0x10], 0
je 0x14037d241
mov rcx, qword [rsp + 0x48]
movzx eax, word [rcx + 0x48]
lea edx, [rax + 1]
mov word [rsp + 0x50], ax
movsx edx, dx
call fcn.140346190
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x63], 0
jne 0x14037cb7b
mov rax, qword [rsp + 0x48]
cmp qword [rax + 0x10], 0
je 0x14037d241
mov ebx, dword [r15 + 0x30]
test ebx, ebx
jne 0x14037cb7b
mov rax, qword [rsp + 0x80]
movzx r14d, byte [rax + 0x63]
test r14b, r14b
jne 0x14037cb7b
mov rsi, qword [rsp + 0x48]
cmp byte [rsi + 0x40], 1
jbe 0x14037d265
cmp qword [rsp + 0x1b0], 0
je 0x14037d265
mov qword [rsp + 0x78], 0xffffffffffffffff
test word [rsp + 0x60], 0x400
jne 0x14037d26e
test byte [rax + 0x5d], 1
jne 0x14037d26e
mov rax, qword [rsp + 0x1b0]
lea r12, [rsi + 0x258]
mov r11d, dword [rax]
test r11d, r11d
jle 0x14037ea85
xor ebx, ebx
xor esi, esi
mov rdi, rax
mov rax, rbx
shl rax, 5
mov rdx, qword [rdi + rax + 8]
test rdx, rdx
je 0x14037cd4c
mov rcx, r12
call fcn.140320ed0
or rsi, rax
add rbx, 1
cmp dword [rdi], ebx
jg 0x14037cd30
mov rbp, qword [rsp + 0xf0]
test rbp, rbp
je 0x14037cd9a
mov r10d, dword [rbp]
test r10d, r10d
jle 0x14037ea7e
xor edi, edi
xor ebx, ebx
mov rax, rdi
shl rax, 5
mov rdx, qword [rbp + rax + 8]
test rdx, rdx
je 0x14037cd8e
mov rcx, r12
call fcn.140320ed0
or rbx, rax
add rdi, 1
cmp dword [rbp], edi
jg 0x14037cd72
or rsi, rbx
mov rbp, qword [rsp + 0x48]
movzx ebx, byte [rbp + 0x40]
sub ebx, 1
test ebx, ebx
jle 0x14037d265
movsxd rax, ebx
mov r12, 0xffffffffffffffff
lea rax, [rax + rax*2]
shl rax, 5
lea rdi, [rbp + rax + 0x360]
jmp 0x14037cdd7
sub rdi, 0x60
sub ebx, 1
je 0x14037e868
mov rdx, qword [rdi + 0x50]
mov r10, qword [rbp + 8]
movzx r11d, byte [rdx + 0x10]
lea rax, [r11*8]
sub rax, r11
shl rax, 4
test byte [r10 + rax + 0x44], 8
je 0x14037cdca
cmp word [rsp + 0x90], 0
jne 0x14037ce0c
test byte [rdx + 0x29], 0x10
je 0x14037cdca
mov rcx, qword [rdx + 8]
test rcx, rsi
jne 0x14037cdca
mov rax, qword [rsp + 0xe8]
movsxd r8, dword [rax + 0x14]
mov rdx, qword [rax + 0x20]
lea rax, [r8*8]
sub rax, r8
lea r8, [rdx + rax*8]
cmp rdx, r8
jae 0x14037ea8c
lea r9, [r11*8]
mov rax, rdx
sub r9, r11
shl r9, 4
add r9, r10
mov r10, rcx
and r10, qword [rax + 0x30]
je 0x14037ce77
mov r10, qword [rax]
test byte [r10 + 4], 1
je 0x14037e872
mov r11d, dword [r9 + 0x4c]
cmp dword [r10 + 0x34], r11d
jne 0x14037e872
add rax, 0x38
cmp r8, rax
ja 0x14037ce52
mov rax, rcx
not rax
and r12, rax
mov rax, rcx
and rax, qword [rdx + 0x30]
je 0x14037ce97
or word [rdx + 0x12], 4
add rdx, 0x38
cmp r8, rdx
ja 0x14037ce89
movzx eax, byte [rbp + 0x40]
sub eax, 1
cmp eax, ebx
je 0x14037ced3
sub eax, ebx
mov rcx, rdi
lea r8d, [rax + rax*2]
lea eax, [rbx + 1]
lea rax, [rax + rax*2]
shl r8d, 5
shl rax, 5
movsxd r8, r8d
lea rdx, [rbp + rax + 0x360]
call sub.msvcrt.dll_memmove
sub byte [rbp + 0x40], 1
sub dword [rsp + 0x74], 1
jmp 0x14037cdca
or rdi, qword [r14 + 8]
cmp eax, 0x65
jne 0x14037e9c6
lea rdx, str.abbreviated_query_algorithm_search
mov ecx, 0x1c
call fcn.140334750
add ebp, 1
cmp r12, rsi
jbe 0x14037cb18
mov eax, dword [rsp + 0x10c]
add rsi, 0x70
jmp 0x14037ca68
xor eax, eax
jmp 0x14037cab8
cmp r12, rsi
jbe 0x14037d21b
mov r9, rsi
xor r15d, r15d
movsxd r8, r11d
test r15, r15
je 0x14037cf98
mov edx, dword [r9 + 0x44]
test r11d, r11d
jle 0x14037cf77
xor eax, eax
jmp 0x14037cf61
add rax, 1
cmp r8, rax
je 0x14037cf77
mov ecx, eax
cmp edx, dword [rbx + rax*4 + 0x260]
jne 0x14037cf58
mov eax, 1
shl rax, cl
or r15, rax
add r9, 0x70
cmp r12, r9
ja 0x14037cf42
mov rcx, qword [rsp + 0x50]
mov r8, r15
mov rdx, r13
call fcn.14033efd0
jmp 0x14037caeb
test byte [r9 + 0x3c], 0xa
jne 0x14037cf47
add r9, 0x70
cmp r12, r9
ja 0x14037cf98
mov rcx, qword [rsp + 0x50]
mov r8, r15
mov rdx, r13
call fcn.14033efd0
jmp 0x14037caeb
mov rcx, qword [rsp + 0x50]
mov r8, r15
mov rdx, r13
call fcn.140347f00
or rdi, qword [r14 + 8]
test eax, eax
je 0x14037cb09
jmp 0x14037ceec
mov rax, qword [rsp + 0x198]
mov dword [rsp + 0x58], 0
mov qword [rsp + 0x50], r13
lea rbp, [rax + 0x28]
nop word [rax + rax]
mov rsi, qword [rsp + 0x48]
mov edx, dword [rbp + 0x24]
mov rdi, qword [rsp + 0x198]
movsxd rax, dword [rsi + 0x25c]
lea ecx, [rax + 1]
mov dword [rsi + 0x25c], ecx
mov dword [rsi + rax*4 + 0x260], edx
movsxd rdx, dword [rsp + 0x58]
lea rax, [rdx*8]
sub rax, rdx
shl rax, 4
test byte [rdi + rax + 0x48], 4
je 0x14037d1a8
mov r12, qword [rbp + 0x40]
test r12, r12
je 0x14037d1a8
mov r8d, dword [r12]
test r8d, r8d
jle 0x14037d1a8
mov rdi, qword [rbp]
xor ebx, ebx
xor esi, esi
nop dword [rax + rax]
movsx edx, word [rdi + 0x46]
mov r9d, ebx
cmp esi, edx
jge 0x14037d1e0
movsxd rax, esi
mov r14d, esi
shl rax, 5
add rax, qword [rdi + 8]
jmp 0x14037d0a1
add r14d, 1
add rax, 0x20
cmp r14d, edx
je 0x14037d1e0
test byte [rax + 0x1c], 2
je 0x14037d090
mov rcx, qword [r15]
mov edx, 0x48
call fcn.14030f620
mov r13, rax
test rax, rax
je 0x14037d1a8
mov qword [r13 + 0x28], 0
mov ecx, 0xffffffff
lea esi, [r14 + 1]
mov qword [r13 + 0x30], 0
mov qword [r13], 0
mov qword [r13 + 0x40], 0
mov qword [r13 + 8], 0
mov qword [r13 + 0x10], 0
mov qword [r13 + 0x18], 0
mov qword [r13 + 0x20], 0
mov qword [r13 + 0x38], 0
mov byte [r13], 0xa6
mov eax, dword [rbp + 0x24]
mov word [r13 + 0x32], cx
mov dword [r13 + 0x2c], eax
mov rax, rbx
shl rax, 5
mov dword [r13 + 0x28], 1
mov rdx, qword [r12 + rax + 8]
mov word [r13 + 0x30], r14w
mov qword [r13 + 0x40], rdi
test rdx, rdx
je 0x14037d155
mov rcx, qword [r15]
xor r9d, r9d
xor r8d, r8d
call fcn.14032bda0
mov rdx, rax
mov r8, rdx
xor r9d, r9d
mov edx, 0xad
mov rcx, r15
call fcn.140340290
mov r8, r13
mov edx, 0x35
mov rcx, r15
mov r9, rax
call fcn.140340290
mov r9, rax
test byte [rbp + 0x1c], 8
jne 0x14037d1d0
mov rcx, qword [rsp + 0x50]
mov r8d, 1
mov rdx, r9
add rbx, 1
call fcn.14031e590
cmp dword [r12], ebx
jg 0x14037d070
nop dword [rax]
mov rdi, qword [rsp + 0x198]
add dword [rsp + 0x58], 1
add rbp, 0x70
mov eax, dword [rsp + 0x58]
cmp dword [rdi], eax
jg 0x14037d000
mov r13, qword [rsp + 0x50]
jmp 0x14037c849
mov edx, dword [rbp + 0x24]
mov rcx, rax
call fcn.1403083d0
jmp 0x14037d184
mov r8, qword [rdi]
lea rdx, str.too_many_arguments_on__s_____max__d
mov rcx, r15
call fcn.140338e90
jmp 0x14037d1a8
test rax, rax
je 0x14037cbff
mov rcx, qword [rsp + 0x80]
mov rdx, rax
call fcn.140314ee0
mov qword [rsp + 0x48], 0
jmp 0x14037cbff
xor r15d, r15d
mov rcx, qword [rsp + 0x50]
mov rdx, r13
mov r8, r15
call fcn.14033efd0
jmp 0x14037caeb
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x43], 1
jmp 0x14037c838
mov rax, qword [rsp + 0x80]
test byte [rax + 0x31], 0x10
je 0x14037ccae
mov rax, qword [rsp + 0x48]
mov qword [rax + 0x68], 0xffffffffffffffff
jmp 0x14037ccae
mov qword [rsp + 0x78], 0xffffffffffffffff
mov rsi, qword [rsp + 0x48]
mov rax, qword [rsi]
movsx edx, word [rsi + 0x48]
add dword [rax + 0xc0], edx
test byte [rsp + 0x60], 4
je 0x14037d2be
mov r8, qword [rsi + 0x3b0]
mov eax, dword [r8 + 0x28]
test ah, 0x10
je 0x14037e777
mov rsi, qword [rsp + 0x198]
mov ecx, 1
mov rdx, qword [rsi + 0x28]
mov rsi, qword [rsp + 0x48]
mov byte [rsi + 0x42], cl
test byte [rdx + 0x40], 0x80
je 0x14037e7fa
mov eax, dword [rsp + 0x74]
test eax, eax
jle 0x14037e83b
sub eax, 1
mov rsi, qword [rsp + 0x48]
mov byte [rsp + 0x58], r14b
lea rax, [rax + rax*2]
mov r14, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x98]
shl rax, 5
lea rbp, [rsi + rax + 0x3c0]
mov qword [rsp + 0x50], rbp
mov rbp, qword [rsp + 0x198]
nop dword [rax]
movzx edi, byte [rbx + 0x34]
lea rax, [rdi*8]
sub rax, rdi
shl rax, 4
mov rsi, qword [rbp + rax + 0x28]
mov rdx, qword [rsi + 0x70]
test rdx, rdx
je 0x14037e9bb
mov rax, qword [r14 + 0x20]
cmp rdx, qword [rax + 0x18]
je 0x14037e1f9
add rax, 0x38
xor r12d, r12d
nop word [rax + rax]
add rax, 0x20
add r12d, 1
cmp rdx, qword [rax - 0x20]
jne 0x14037d348
mov r13, qword [rbx + 0x50]
mov edx, dword [rsi + 0x40]
mov ecx, dword [r13 + 0x28]
test dh, 0x40
jne 0x14037d371
cmp qword [rsi + 0x18], 0
je 0x14037e068
and ch, 2
je 0x14037d423
mov edx, dword [rsi + 0x40]
and edx, 0x80
mov rsi, qword [r13 + 0x20]
je 0x14037d3a3
movzx eax, byte [rsi + 0x64]
and eax, 3
cmp al, 2
jne 0x14037d3a3
cmp word [rsp + 0x88], 0
jne 0x14037e6d7
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x42], 0
jne 0x14037e1a8
mov edi, dword [rsp + 0x1c0]
test edi, edi
je 0x14037d3cc
cmp word [rsp + 0x88], 0
jne 0x14037e5da
mov r8d, dword [r15 + 0x34]
mov edx, 0x62
lea eax, [r8 + 1]
mov dword [r15 + 0x34], eax
mov dword [rbx + 8], r8d
mov r9d, dword [rsi + 0x58]
mov rdi, qword [rsp + 0xa0]
mov dword [rsp + 0x20], r12d
mov rcx, rdi
call fcn.140322f70
mov rdx, rsi
mov rcx, r15
call fcn.14033bee0
mov eax, dword [r13 + 0x28]
test al, 0xf
je 0x14037d423
test eax, 0x188002
jne 0x14037d423
mov rax, qword [rsp + 0x48]
test byte [rax + 0x3c], 1
je 0x14037e7c4
test r12d, r12d
js 0x14037d458
mov r8, qword [r15 + 0xa0]
mov edx, 1
mov ecx, r12d
test r8, r8
cmove r8, r15
shl edx, cl
mov eax, dword [r8 + 0x74]
test eax, edx
jne 0x14037d458
or eax, edx
mov dword [r8 + 0x74], eax
cmp r12d, 1
je 0x14037e60d
add rbx, 0x60
cmp rbx, qword [rsp + 0x50]
jne 0x14037d308
mov rax, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x48]
mov eax, dword [rax + 0x90]
mov dword [rsi + 0x4c], eax
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x63], 0
jne 0x14037cb7b
movzx eax, word [rsp + 0x60]
mov rsi, qword [rsp + 0x198]
mov r14, r15
mov dword [rsp + 0x98], 0
mov dword [rsp + 0xd4], eax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x50], rax
nop
mov rax, qword [rsp + 0x50]
mov rbp, qword [rax + 0x50]
test byte [rbp + 0x29], 0x40
je 0x14037dd23
mov rax, qword [rsp + 0x50]
movzx ebx, byte [rax + 0x34]
lea rax, [rbx*8]
sub rax, rbx
shl rax, 4
lea rax, [rsi + rax + 8]
mov qword [rsp + 0xb8], rax
mov rax, qword [r14 + 0x10]
mov edi, dword [rax + 0x90]
mov qword [rsp + 0x58], rax
mov dword [rsp + 0xc8], edi
cmp edi, dword [rax + 0x94]
jge 0x14037e178
mov edi, dword [rsp + 0xc8]
mov rcx, qword [rsp + 0x58]
lea eax, [rdi + 1]
mov dword [rcx + 0x90], eax
movsxd rax, edi
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x88]
lea rax, [rax + rdx*8]
mov qword [rax], 0x11
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
movsxd rax, ebx
xor edi, edi
lea rbx, [rax*8]
mov qword [rsp + 0xa8], rax
sub rbx, rax
shl rbx, 4
mov rax, qword [rsi + rbx + 0x28]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x48]
movsxd rdx, dword [rax + 0x84]
mov r15, qword [rax + 0x90]
lea rax, [rdx*8]
sub rax, rdx
lea r13, [r15 + rax*8]
cmp r15, r13
jae 0x14037e75d
xor r12d, r12d
mov dword [rsp + 0x68], edi
mov rdi, rbp
mov qword [rsp + 0x190], r14
mov ebp, r12d
mov r14, qword [rsp + 0xb8]
mov qword [rsp + 0x60], 0
mov r12, qword [rsp + 0x78]
mov qword [rsp + 0x88], 0
jmp 0x14037d649
mov eax, dword [rsp + 0x68]
lea ebp, [rax + 1]
movzx eax, word [rdi + 0x30]
cmp ebp, eax
jle 0x14037d625
mov rax, qword [rsp + 0x190]
mov r8d, ebp
mov rdx, rdi
mov qword [rsp + 0xb0], r10
mov rcx, qword [rax]
call fcn.140315650
mov r10, qword [rsp + 0xb0]
test eax, eax
jne 0x14037e7b7
movsxd rax, dword [rsp + 0x68]
mov rdx, qword [rdi + 0x38]
mov dword [rsp + 0x68], ebp
mov ebp, 1
or qword [rsp + 0x60], r10
mov qword [rdx + rax*8], r15
add r15, 0x38
cmp r13, r15
jbe 0x14037d6c4
cmp qword [rdi], 0
jne 0x14037d668
test byte [r15 + 0x12], 2
jne 0x14037d668
mov rdx, qword [r15]
test byte [rdx + 4], 1
je 0x14037de28
nop dword [rax + rax]
mov eax, dword [rsi + rbx + 0x4c]
cmp dword [r15 + 0x1c], eax
jne 0x14037d640
mov r8, r12
mov rdx, r14
mov rcx, r15
call fcn.14031cc40
test eax, eax
je 0x14037d640
movsxd rcx, dword [r15 + 0x20]
mov r10d, 1
movabs rax, 0x8000000000000000
shl r10, cl
cmp ecx, 0x40
cmovge r10, rax
test bpl, bpl
je 0x14037dde8
test qword [rsp + 0x60], r10
je 0x14037d5e8
add r15, 0x38
mov ebp, 1
cmp r13, r15
ja 0x14037d649
mov r12, qword [rsp + 0x60]
mov rbp, rdi
mov edi, dword [rsp + 0x68]
movabs rcx, 0x8000000000000000
mov r14, qword [rsp + 0x190]
not r12
mov eax, edi
or r12, rcx
mov rcx, qword [rsp + 0xa8]
mov word [rbp + 0x2c], ax
mov r10d, 0x3f
mov word [rbp + 0x18], ax
lea rax, [rcx*8]
mov dword [rbp + 0x28], 0x4241
sub rax, rcx
shl rax, 4
mov rdx, qword [rsi + rax + 0x60]
mov rax, qword [rsp + 0x90]
movsx eax, word [rax + 0x46]
and r12, rdx
cmp ax, 0x3f
mov word [rsp + 0xb0], ax
cmovle r10d, eax
test ax, ax
jle 0x14037d75b
xor ecx, ecx
nop dword [rax]
mov rax, r12
shr rax, cl
add ecx, 1
and eax, 1
add edi, eax
cmp r10d, ecx
jne 0x14037d748
test rdx, rdx
jns 0x14037d76c
movsx eax, word [rsp + 0xb0]
lea edi, [rdi + rax - 0x3f]
mov rcx, qword [r14]
lea edx, [rdi + 1]
xor r8d, r8d
mov dword [rsp + 0x68], r10d
movsx edx, dx
lea r9, [rsp + 0x110]
call fcn.14031d700
mov qword [rsp + 0x60], rax
test rax, rax
je 0x14037dcf9
lea rcx, str.auto_index
mov qword [rbp + 0x20], rax
xor r11d, r11d
mov r10d, dword [rsp + 0x68]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x90]
mov qword [rax + 0x18], rcx
mov rax, qword [rsp + 0x48]
mov rbx, qword [rax + 0x90]
cmp r13, rbx
jbe 0x14037e63d
lea rax, str.BINARY
mov dword [rsp + 0xcc], r10d
xor ecx, ecx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x198], rsi
lea r15, [rax*8]
mov qword [rsp + 0xc0], rbp
mov rbp, qword [rsp + 0xb8]
sub r15, rax
mov qword [rsp + 0xb8], r12
mov r12, rcx
shl r15, 4
mov dword [rsp + 0xd0], edi
mov rdi, rbx
mov ebx, r11d
add r15, rsi
mov rsi, qword [rsp + 0x78]
nop dword [rax]
mov eax, dword [r15 + 0x4c]
cmp dword [rdi + 0x1c], eax
jne 0x14037d880
mov r8, rsi
mov rdx, rbp
mov rcx, rdi
call fcn.14031cc40
test eax, eax
je 0x14037d880
mov ecx, dword [rdi + 0x20]
mov eax, 1
movabs rdx, 0x8000000000000000
shl rax, cl
cmp ecx, 0x40
cmovge rax, rdx
test rax, r12
je 0x14037decf
nop dword [rax + rax]
add rdi, 0x38
cmp r13, rdi
ja 0x14037d838
movsxd rax, ebx
mov rbp, qword [rsp + 0xc0]
mov r12, qword [rsp + 0xb8]
mov r10d, dword [rsp + 0xcc]
mov edi, dword [rsp + 0xd0]
mov r11, rax
lea r8, [rax + rax]
mov rsi, qword [rsp + 0x198]
shl rax, 3
cmp word [rsp + 0xb0], 0
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbx + 8]
mov rdx, qword [rbx + 0x40]
jle 0x14037d909
mov r9, qword [rsp + 0x68]
xor eax, eax
nop dword [rax]
bt r12, rax
jae 0x14037d8f6
movsxd r8, r11d
add r11d, 1
mov word [rcx + r8*2], ax
mov qword [rdx + r8*8], r9
add eax, 1
cmp r10d, eax
jne 0x14037d8e0
movsxd rax, r11d
lea r8, [rax + rax]
shl rax, 3
mov rbx, qword [rsp + 0xa8]
lea r10, [rbx*8]
sub r10, rbx
shl r10, 4
cmp qword [rsi + r10 + 0x60], 0
js 0x14037dfeb
mov r9d, 0xffffffff
mov rbx, qword [rsp + 0x50]
mov dword [rsp + 0x90], r11d
mov word [rcx + r8], r9w
mov r8d, dword [r14 + 0x34]
lea r9d, [rdi + 1]
mov rcx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0x58]
mov qword [rdx + rax], rcx
lea eax, [r8 + 1]
mov edx, 0x65
mov rcx, rdi
mov dword [r14 + 0x34], eax
mov dword [rbx + 8], r8d
mov dword [rsp + 0x20], 0
call fcn.140322f70
mov rdx, qword [rsp + 0x60]
mov rcx, r14
call fcn.14033bee0
mov rax, qword [rsp + 0x48]
movzx r12d, byte [rbx + 0x34]
mov r11d, dword [rsp + 0x90]
mov rax, qword [rax + 0x70]
mov r13, qword [rax + 8]
lea rax, [r12*8]
sub rax, r12
shl rax, 4
add rax, r13
test byte [rax + 0x48], 0x10
je 0x14037df89
mov ebx, dword [rax + 0x3c]
mov r15d, dword [rdi + 0x90]
cmp r15d, dword [rdi + 0x94]
jge 0x14037e6a8
mov rdi, qword [rsp + 0x58]
lea eax, [r15 + 1]
mov dword [rdi + 0x90], eax
movsxd rax, r15d
lea rdx, [rax + rax*2]
mov rax, qword [rdi + 0x88]
lea rax, [rax + rdx*8]
mov qword [rax], 0x45
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov rdi, qword [rsp + 0x58]
xor r9d, r9d
mov r8d, ebx
mov edx, 0xd
lea rax, [r12*8]
mov dword [rsp + 0x68], r11d
sub rax, r12
mov rcx, rdi
shl rax, 4
mov eax, dword [r13 + rax + 0x38]
mov dword [rsp + 0x20], eax
call fcn.140322f70
mov rax, rdi
mov edi, dword [rdi + 0x90]
mov r11d, dword [rsp + 0x68]
cmp edi, dword [rax + 0x94]
jge 0x14037e67f
mov rcx, qword [rsp + 0x58]
lea eax, [rdi + 1]
mov dword [rcx + 0x90], eax
movsxd rax, edi
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], ebx
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0xe
mov rdx, qword [rsp + 0x88]
xor ebx, ebx
test rdx, rdx
je 0x14037dad1
mov eax, dword [r14 + 0x44]
mov r9d, 0x10
mov rcx, r14
mov dword [rsp + 0x68], r11d
lea ebx, [rax - 1]
mov dword [r14 + 0x44], ebx
mov r8d, ebx
call fcn.1403838c0
or dword [rbp + 0x28], 0x20000
mov r11d, dword [rsp + 0x68]
movzx eax, byte [r14 + 0x1f]
test al, al
je 0x14037e040
sub eax, 1
mov byte [r14 + 0x1f], al
movzx eax, al
mov ebp, dword [r14 + rax*4 + 0xd0]
mov rax, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
mov r9d, ebp
mov rcx, r14
mov dword [rsp + 0x68], r11d
mov r8d, dword [rax + 4]
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
call fcn.14038db70
mov rcx, qword [rsp + 0x58]
mov edx, 0x86
mov r9d, ebp
mov dword [rsp + 0x60], eax
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax + 8]
mov dword [rsp + 0x20], 0
call fcn.140322f70
mov rcx, qword [rsp + 0x58]
mov r11d, dword [rsp + 0x68]
mov edx, dword [rcx + 0x90]
test edx, edx
jle 0x14037db86
mov r10, qword [rcx + 0x88]
movsxd rax, edx
mov ecx, 0x10
lea rax, [rax + rax*2]
lea rax, [r10 + rax*8]
mov word [rax - 0x16], cx
cmp qword [rsp + 0x88], 0
je 0x14037dbb2
mov rax, qword [rsp + 0x58]
not ebx
mov rcx, qword [rax + 0x18]
mov eax, dword [rcx + 0x44]
add eax, dword [rcx + 0x48]
js 0x14037e5f1
mov rax, qword [rcx + 0x50]
movsxd rbx, ebx
mov dword [rax + rbx*4], edx
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax + 4]
lea rax, [r12*8]
sub rax, r12
shl rax, 4
test byte [r13 + rax + 0x48], 0x10
je 0x14037df3b
mov ecx, dword [rsp + 0x60]
add ecx, r11d
test r15d, r15d
jns 0x14037dbf5
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + 0x90]
mov dword [rsp + 0x60], eax
lea r15d, [rax - 1]
mov rbx, qword [rsp + 0x58]
lea rax, [0x1407dad80]
mov rdx, qword [rbx]
cmp byte [rdx + 0x63], 0
jne 0x14037dc1c
movsxd rax, r15d
lea rdx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 8], ecx
mov rax, qword [rsp + 0x50]
mov r9d, r8d
mov r8d, edi
mov rdx, qword [r14 + 0x10]
mov eax, dword [rax + 8]
mov dword [rsp + 0x28], eax
lea rax, [r12*8]
sub rax, r12
shl rax, 4
add r13, rax
mov eax, dword [r13 + 0x40]
mov dword [rsp + 0x20], eax
mov rcx, qword [r14]
call fcn.140310500
mov rbx, qword [rsp + 0x58]
mov edx, edi
mov rcx, rbx
call fcn.140323d80
and byte [r13 + 0x48], 0xef
mov edx, dword [rbx + 0x90]
mov rbx, qword [rsp + 0x58]
lea eax, [rdx - 1]
test edi, edi
lea rcx, [0x1407dad80]
cmovs edi, eax
mov rax, qword [rbx]
movzx eax, byte [rax + 0x63]
test al, al
jne 0x14037dca2
mov rcx, qword [rbx + 0x88]
movsxd rdi, edi
lea r8, [rdi + rdi*2]
lea rcx, [rcx + r8*8]
mov dword [rcx + 8], edx
test ebp, ebp
je 0x14037dcc3
movzx ecx, byte [r14 + 0x1f]
cmp cl, 7
ja 0x14037dcc3
lea r8d, [rcx + 1]
mov byte [r14 + 0x1f], r8b
mov dword [r14 + rcx*4 + 0xd0], ebp
mov edi, dword [rsp + 0xc8]
lea ecx, [rdx - 1]
test edi, edi
cmovns ecx, edi
mov edi, ecx
lea rcx, [0x1407dad80]
test al, al
jne 0x14037dcf6
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax + 0x88]
lea rcx, [rax + rcx*8]
mov dword [rcx + 8], edx
mov rax, qword [rsp + 0x88]
test rax, rax
je 0x14037dd11
mov rcx, qword [r14]
mov rdx, rax
call fcn.14031a4f0
mov rax, qword [rsp + 0x80]
cmp byte [rax + 0x63], 0
jne 0x14037dec7
mov rax, qword [r14 + 0xa0]
test rax, rax
cmove rax, r14
cmp byte [rax + 0x113], 2
jne 0x14037dd5e
mov rax, qword [rsp + 0x50]
mov rdx, rsi
mov rcx, r14
mov r9, qword [rax + 0x50]
movzx r8d, byte [rax + 0x34]
mov eax, dword [rsp + 0xd4]
mov dword [rsp + 0x20], eax
call fcn.140333b70
mov rdx, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0x50]
mov rcx, r14
mov ebx, dword [rsp + 0x98]
mov r15, qword [rsp + 0x48]
mov eax, dword [rdx + 0x90]
mov r9d, ebx
mov r8, r15
add ebx, 1
mov dword [rdi + 0x20], eax
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rdi
add rdi, 0x60
mov qword [rsp + 0x28], rax
call fcn.140379030
mov dword [rsp + 0x98], ebx
mov qword [rsp + 0x78], rax
mov eax, dword [rdi - 0x48]
mov qword [rsp + 0x50], rdi
mov dword [r15 + 0x30], eax
cmp dword [rsp + 0x74], ebx
jne 0x14037d4c0
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 0x90]
mov rsi, qword [rsp + 0x48]
mov dword [rsi + 0x50], eax
jmp 0x14037cbff
mov rax, qword [rsp + 0x90]
shl rcx, 5
lea rdx, str.automatic_index_on__s__s_
mov qword [rsp + 0xb0], r10
add rcx, qword [rax + 8]
mov r8, qword [rax]
mov r9, qword [rcx]
mov ecx, 0x11c
call fcn.140334750
mov r10, qword [rsp + 0xb0]
jmp 0x14037d6ab
lea rcx, [0x1403217f0]
mov eax, dword [rsi + rbx + 0x4c]
mov r10d, 3
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0x118], rcx
lea rcx, [0x140307c70]
mov qword [rsp + 0x120], rcx
lea rcx, [rsp + 0x110]
mov word [rsp + 0x134], r10w
mov dword [rsp + 0x138], eax
call fcn.14032aeb0
mov rdx, qword [rsp + 0xb0]
cmp word [rsp + 0x134], 0
je 0x14037d668
mov rax, qword [rsp + 0x190]
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rax]
call fcn.14032bda0
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x190]
mov r8, rax
call fcn.1403406f0
mov qword [rsp + 0x88], rax
jmp 0x14037d668
mov r15, r14
jmp 0x14037cb7b
or r12, rax
mov rax, qword [rsp + 0x60]
mov r8, qword [rdi]
movsxd r10, ebx
mov qword [rsp + 0xd8], r10
mov rax, qword [rax + 8]
test byte [r8 + 5], 2
mov r11, qword [r8 + 0x18]
mov rdx, qword [r8 + 0x10]
mov word [rax + r10*2], cx
je 0x14037e050
mov r8, rdx
mov rcx, r14
mov rdx, r11
call fcn.14033ced0
mov r10, qword [rsp + 0xd8]
lea rdx, str.BINARY
test rax, rax
je 0x14037df26
mov rdx, qword [rax]
mov rax, qword [rsp + 0x60]
add ebx, 1
mov rax, qword [rax + 0x40]
mov qword [rax + r10*8], rdx
jmp 0x14037d880
mov rbx, qword [rsp + 0x58]
mov dword [rsp + 0x20], 0
mov edx, 5
lea r9d, [rdi + 1]
mov rcx, rbx
call fcn.140322f70
mov edx, dword [rbx + 0x90]
test edx, edx
jle 0x14037dc71
mov r8, qword [rbx + 0x88]
movsxd rax, edx
mov r9d, 3
lea rax, [rax + rax*2]
lea rax, [r8 + rax*8]
mov word [rax - 0x16], r9w
jmp 0x14037dc71
mov rax, qword [rsp + 0x50]
mov r8d, dword [rax + 4]
mov rax, qword [rsp + 0x58]
mov edi, dword [rax + 0x90]
cmp edi, dword [rax + 0x94]
jge 0x14037e653
mov rcx, qword [rsp + 0x58]
lea eax, [rdi + 1]
xor r15d, r15d
mov dword [rcx + 0x90], eax
movsxd rax, edi
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x88]
lea rax, [rax + rdx*8]
mov dword [rax + 4], r8d
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov dword [rax], 0x25
jmp 0x14037da95
mov r10, qword [rsp + 0x90]
cmp word [r10 + 0x46], 0x3f
jle 0x14037d92c
lea eax, [r11 + 1]
mov rbx, qword [rsp + 0x68]
mov r8d, 0x3f
cdqe
mov word [rcx + rax*2 - 2], r8w
movsx r9d, word [r10 + 0x46]
add r8d, 1
mov r11d, eax
mov qword [rdx + rax*8 - 8], rbx
add rax, 1
cmp r8d, r9d
jl 0x14037e010
movsxd rax, r11d
lea r8, [rax + rax]
shl rax, 3
jmp 0x14037d92c
mov eax, dword [r14 + 0x38]
lea ebp, [rax + 1]
mov dword [r14 + 0x38], ebp
jmp 0x14037daf0
mov r8, r11
mov rcx, r14
call fcn.14033ced0
mov r10, qword [rsp + 0xd8]
jmp 0x14037df17
test ch, 4
jne 0x14037e6f6
mov eax, dword [rsi + 0x54]
test eax, eax
jne 0x14037d371
test cl, 0x40
jne 0x14037e12f
cmp word [rsp + 0x88], 0
jne 0x14037e12f
mov r11, qword [rsp + 0x48]
lea rdx, [rdi*8]
mov ecx, 0x62
sub rdx, rdi
shl rdx, 4
cmp byte [r11 + 0x42], 0
mov edx, dword [rbp + rdx + 0x4c]
je 0x14037e0c1
mov dword [r11 + 0x28], edx
mov ecx, 0x63
mov dword [rsp + 0x20], ecx
mov r9, rsi
mov r8d, r12d
mov rcx, r15
mov dword [rsp + 0x68], eax
call fcn.14033bf50
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x42], 0
jne 0x14037e0f7
cmp word [rsi + 0x46], 0x3f
jg 0x14037e0f7
test byte [rsi + 0x40], 0xe0
mov eax, dword [rsp + 0x68]
je 0x14037ea97
mov rdx, qword [rsp + 0xa0]
mov ecx, dword [r13 + 0x28]
movsxd rax, dword [rdx + 0x90]
test eax, eax
jle 0x14037d371
mov r8, qword [rdx + 0x88]
lea rax, [rax + rax*2]
movzx edx, byte [rsp + 0x58]
lea rax, [r8 + rax*8]
mov word [rax - 0x16], dx
jmp 0x14037d371
cmp r12d, 1
je 0x14037e880
mov rdx, qword [r15]
movsxd rax, r12d
shl rax, 5
add rax, qword [rdx + 0x20]
mov rax, qword [rax + 8]
cmp byte [rax + 0x11], 0
je 0x14037d371
mov rax, qword [rsi]
mov r8d, dword [rsi + 0x38]
mov rcx, r15
xor r9d, r9d
mov edx, r12d
mov qword [rsp + 0x20], rax
call fcn.14031c8f0
mov ecx, dword [r13 + 0x28]
jmp 0x14037d371
xor r9d, r9d
xor r8d, r8d
mov edx, 0x11
mov rcx, rax
mov dword [rsp + 0x20], 0
call fcn.140322ee0
mov dword [rsp + 0xc8], eax
mov rax, qword [rsp + 0x50]
mov rbp, qword [rax + 0x50]
jmp 0x14037d558
lea rax, [rdi*8]
mov r8d, dword [rsp + 0x1c0]
sub rax, rdi
shl rax, 4
mov rax, qword [rbp + rax + 0x28]
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14037e1dd
jmp 0x14037e1e2
mov rax, qword [rax + 0x28]
add r8d, 1
test rax, rax
je 0x14037e1e2
cmp rsi, rax
jne 0x14037e1d0
mov rax, qword [rsp + 0x48]
mov edx, 0x63
mov dword [rax + 0x2c], r8d
mov dword [rbx + 8], r8d
jmp 0x14037d3e1
xor r12d, r12d
jmp 0x14037d356
test byte [rbx + 0x3c], 0x20
jne 0x14037c9d7
mov rsi, qword [r13 + 0x28]
mov edi, dword [rsi + 0x54]
test edi, edi
jne 0x14037c9d7
test byte [r13 + 0x48], 2
jne 0x14037c9d7
xor r11d, r11d
mov r10d, dword [r13 + 0x4c]
lea rcx, [rbx + 0x70]
xor r9d, r9d
mov rbp, qword [rsp + 0xf8]
mov r8d, 0xffffffff
mov qword [rsp + 0x50], rcx
mov edx, r10d
mov dword [rsp + 0x58], r10d
mov dword [rbp + 0x28], 0
mov word [rbp + 0x2e], r11w
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x82
call fcn.140345590
mov rcx, qword [rsp + 0x50]
mov r10d, dword [rsp + 0x58]
test rax, rax
je 0x14037e88e
mov rdx, qword [rbp + 0x38]
mov ecx, 1
mov r8d, 1
mov r9d, 0x21
mov dword [rbp + 0x28], 0x1101
mov qword [rdx], rax
mov word [rbp + 0x2c], cx
mov word [rbp + 0x18], r8w
mov word [rbp + 0x14], r9w
mov eax, 1
mov word [rbp + 0x16], ax
mov eax, 1
mov qword [rbx + 0x3b0], rbp
mov qword [rbp + 8], 1
mov word [rbx + 0x48], ax
mov rax, qword [rbx + 0x10]
mov dword [rbx + 0x364], r10d
test rax, rax
je 0x14037e2e6
mov eax, dword [rax]
mov byte [rbx + 0x41], al
test byte [rbx + 0x3d], 1
je 0x14037cc9e
mov byte [rbx + 0x43], 1
jmp 0x14037cc9e
mov rax, qword [rsp + 0x198]
cmp dword [rax], 1
jne 0x14037e5af
mov rax, qword [rsp + 0x198]
mov r12d, dword [rax + 0x4c]
mov r9, qword [rax + 0x28]
mov rax, qword [rsp + 0x1b0]
mov eax, dword [rax]
test eax, eax
jle 0x14037e391
mov rsi, qword [rsp + 0x1b0]
sub eax, 1
shl rax, 5
lea rcx, [rsi + 8]
lea r8, [rsi + rax + 0x28]
mov rax, qword [rcx]
test rax, rax
jne 0x14037e365
jmp 0x14037e388
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
test rax, rax
je 0x14037e388
mov edx, dword [rax + 4]
test edx, 0x41000
je 0x14037e56e
and edx, 0x40000
jne 0x14037e358
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14037e365
nop dword [rax]
add rcx, 0x20
cmp r8, rcx
jne 0x14037e347
mov r14, qword [r9 + 0x10]
test r14, r14
je 0x14037e5af
mov qword [rsp + 0x190], r15
mov rsi, qword [rsp + 0x1b0]
mov r15d, r12d
jmp 0x14037e3c5
mov r14, qword [r14 + 0x28]
test r14, r14
je 0x14037e5a7
cmp byte [r14 + 0x62], 0
je 0x14037e3b8
cmp qword [r14 + 0x48], 0
jne 0x14037e3b8
cmp word [r14 + 0x5e], 0
je 0x14037e4a5
xor edi, edi
jmp 0x14037e3fe
movzx eax, word [r14 + 0x5e]
add rdi, 1
lea ebp, [r12 + 1]
cmp eax, edi
jle 0x14037e49d
mov qword [rsp + 0x28], r14
mov r8d, edi
mov edx, r15d
mov rcx, r13
mov dword [rsp + 0x20], 2
mov r9, 0xffffffffffffffff
mov r12d, edi
mov ebp, edi
call fcn.140345590
test rax, rax
jne 0x14037e3e8
mov rax, qword [r14 + 0x40]
mov r8, qword [rax + rdi*8]
mov eax, dword [rsi]
test eax, eax
jle 0x14037e498
lea r9, [rdi + rdi]
xor ebx, ebx
nop
mov rax, rbx
shl rax, 5
mov r10, qword [rsi + rax + 8]
mov rax, r10
test r10, r10
jne 0x14037e46d
jmp 0x14037e490
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
test rax, rax
je 0x14037e490
mov edx, dword [rax + 4]
test edx, 0x41000
je 0x14037e4c0
and edx, 0x40000
jne 0x14037e460
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14037e46d
nop dword [rax]
add rbx, 1
cmp dword [rsi], ebx
jg 0x14037e440
movzx eax, word [r14 + 0x5e]
cmp ebp, eax
jne 0x14037e3b8
mov r15, qword [rsp + 0x190]
mov rax, qword [rsp + 0x48]
mov byte [rax + 0x43], 1
jmp 0x14037c9c0
movzx ecx, byte [rax]
lea edx, [rcx + 0x5a]
and edx, 0xfd
jne 0x14037e490
mov rdx, qword [r14 + 8]
movzx ecx, word [rdx + r9]
cmp word [rax + 0x30], cx
jne 0x14037e490
cmp r15d, dword [rax + 0x2c]
jne 0x14037e490
mov rcx, qword [rsp + 0x190]
mov rdx, r10
mov qword [rsp + 0x58], r9
mov qword [rsp + 0x50], r8
call fcn.14033ccf0
mov r8, qword [rsp + 0x50]
mov r9, qword [rsp + 0x58]
test rax, rax
je 0x14037e6e2
mov r10, qword [rax]
xor ecx, ecx
jmp 0x14037e53a
lea r11, [0x14076bfa0]
movzx edx, byte [r11 + rdx]
cmp byte [r11 + rax], dl
jne 0x14037e490
add rcx, 1
movzx eax, byte [r10 + rcx]
movzx edx, byte [r8 + rcx]
cmp eax, edx
jne 0x14037e520
test eax, eax
jne 0x14037e536
mov rax, qword [r14 + 8]
movsx rax, word [rax + r9]
movsx edx, ax
test edx, edx
jns 0x14037e820
cmp edx, 0xffffffff
jne 0x14037e498
jmp 0x14037e3e8
movzx esi, byte [rax]
lea edx, [rsi + 0x5a]
and edx, 0xfd
jne 0x14037e388
cmp r12d, dword [rax + 0x2c]
jne 0x14037e388
cmp word [rax + 0x30], 0
js 0x14037e4ad
add rcx, 0x20
cmp r8, rcx
jne 0x14037e347
jmp 0x14037e391
mov r15, qword [rsp + 0x190]
cmp qword [rsp + 0x1a8], 0
jne 0x14037c9c0
mov rax, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x1b0]
or word [rax + 0x3c], 0x80
mov qword [rax + 0x10], rsi
jmp 0x14037c9c0
mov eax, dword [rsp + 0x1c0]
mov edx, 0x61
mov dword [rbx + 8], eax
mov r8d, eax
jmp 0x14037d3e1
mov rdx, qword [rsp + 0x58]
mov r8d, ebx
mov dword [rsp + 0x68], r11d
call fcn.14031ccb0
mov r11d, dword [rsp + 0x68]
jmp 0x14037dbb2
mov rcx, r8
call fcn.140376e60
jmp 0x14037d458
mov r8d, 0x40
lea rdx, str.at_most__d_tables_in_a_join
mov rcx, r15
call fcn.140338e90
mov qword [rsp + 0x48], 0
jmp 0x14037cbff
lea rcx, str.BINARY
xor eax, eax
xor r8d, r8d
mov qword [rsp + 0x68], rcx
jmp 0x14037d8be
xor r9d, r9d
mov edx, 0x25
mov rcx, rax
mov dword [rsp + 0x68], r11d
mov dword [rsp + 0x20], 0
xor r15d, r15d
call fcn.140322ee0
mov r11d, dword [rsp + 0x68]
mov edi, eax
jmp 0x14037da95
mov rcx, qword [rsp + 0x58]
xor r9d, r9d
mov r8d, ebx
mov edx, 0xe
mov dword [rsp + 0x20], 0
call fcn.140322ee0
mov r11d, dword [rsp + 0x68]
mov edi, eax
jmp 0x14037da95
mov rcx, qword [rsp + 0x58]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x45
mov dword [rsp + 0x20], 0
mov dword [rsp + 0x68], r11d
call fcn.140322ee0
mov r11d, dword [rsp + 0x68]
mov r15d, eax
jmp 0x14037da0d
mov eax, dword [rbx + 4]
mov dword [rbx + 8], eax
jmp 0x14037d423
mov rax, qword [rsp + 0x190]
mov rax, qword [rax]
mov rax, qword [rax + 0x10]
jmp 0x14037e510
mov rax, qword [rsi + 0x60]
test rax, rax
jne 0x14037e711
jmp 0x14037e716
mov rax, qword [rax + 0x28]
test rax, rax
je 0x14037e716
cmp r14, qword [rax]
jne 0x14037e708
lea rdx, [rdi*8]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0xa0]
xor r9d, r9d
sub rdx, rdi
mov dword [rsp + 0x30], 0xfffffff4
mov dword [rsp + 0x20], 0
shl rdx, 4
mov r8d, dword [rbp + rdx + 0x4c]
mov edx, 0xa9
call fcn.140323e70
mov ecx, dword [r13 + 0x28]
jmp 0x14037d371
mov qword [rsp + 0x88], 0
mov r12, 0xffffffffffffffff
xor eax, eax
jmp 0x14037d6ea
movzx esi, word [rsp + 0x60]
test sil, 8
je 0x14037d2be
mov rdi, qword [rsp + 0x198]
mov rdx, qword [rdi + 0x28]
mov r9d, dword [rdx + 0x54]
test r9d, r9d
jne 0x14037d2be
test ah, 0x20
je 0x14037e7ad
and esi, 0x10
je 0x14037d2be
mov ecx, 2
jmp 0x14037d2ac
mov r14, qword [rsp + 0x190]
jmp 0x14037dcf9
cmp byte [rax + 0x43], 2
je 0x14037d423
movsxd rax, dword [rdi + 0x90]
test eax, eax
jle 0x14037d423
mov r11, qword [rdi + 0x88]
lea rax, [rax + rax*2]
mov esi, 2
lea rax, [r11 + rax*8]
mov word [rax - 0x16], si
jmp 0x14037d423
test al, 0x40
je 0x14037d2be
test byte [rsp + 0x60], 8
mov edx, 8
cmovne r14d, edx
and eax, 0xffffffbf
mov dword [r8 + 0x28], eax
jmp 0x14037d2be
mov rdx, qword [r14 + 0x18]
shl rax, 5
add rax, qword [rdx + 8]
cmp byte [rax + 0x18], 0
jne 0x14037e3e8
jmp 0x14037e498
mov rax, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x48]
mov eax, dword [rax + 0x90]
mov dword [rsi + 0x4c], eax
mov rsi, qword [rsp + 0x80]
cmp byte [rsi + 0x63], 0
jne 0x14037cb7b
jmp 0x14037ddd4
mov qword [rsp + 0x78], r12
jmp 0x14037d26e
cmp r8, rax
ja 0x14037cdca
jmp 0x14037ce80
and ch, 2
jne 0x14037d37d
jmp 0x14037d428
mov r12, qword [rsi + 0x10]
test r12, r12
je 0x14037ea33
mov qword [rsp + 0x190], r15
mov r15, r13
mov r13, rbx
mov ebx, r10d
mov r10, qword [rsp + 0x190]
jmp 0x14037e8c4
mov r12, qword [r12 + 0x28]
test r12, r12
je 0x14037ea4f
cmp byte [r12 + 0x62], 0
je 0x14037e8b6
cmp qword [r12 + 0x48], 0
jne 0x14037e8b6
movzx edx, word [r12 + 0x5e]
cmp dx, 3
ja 0x14037e8b6
movzx eax, byte [r12 + 0x64]
mov r8d, eax
and r8d, 8
cmp r8b, 1
sbb edi, edi
and edi, 0xffffff80
add edi, 0x82
test dx, dx
je 0x14037ea5d
xor esi, esi
jmp 0x14037e923
mov rdx, qword [rbp + 0x38]
lea r14d, [rsi + 1]
mov qword [rdx + rsi*8], rax
movzx eax, word [r12 + 0x5e]
add rsi, 1
cmp eax, esi
jle 0x14037e961
mov qword [rsp + 0x28], r12
xor r9d, r9d
mov r8d, esi
mov edx, ebx
mov dword [rsp + 0x20], edi
mov r14d, esi
mov qword [rsp + 0x190], r10
mov qword [rsp + 0x50], rcx
call fcn.140345590
mov rcx, qword [rsp + 0x50]
mov r10, qword [rsp + 0x190]
test rax, rax
jne 0x14037e909
movzx eax, word [r12 + 0x5e]
cmp r14d, eax
jne 0x14037e8b6
mov qword [rsp + 0x190], r10
movzx eax, byte [r12 + 0x64]
mov r10d, ebx
mov rbx, r13
mov r13, r15
mov r15, qword [rsp + 0x190]
mov dword [rbp + 0x28], 0x1201
test al, 0x20
jne 0x14037ea10
mov rax, qword [r13 + 0x60]
and rax, qword [r12 + 0x68]
je 0x14037ea10
mov eax, 0x27
mov word [rbp + 0x2c], r14w
mov word [rbp + 0x18], r14w
mov qword [rbp + 0x20], r12
mov word [rbp + 0x14], ax
jmp 0x14037e2b0
mov r12d, 0xffff8000
jmp 0x14037d356
mov r15, qword [rsp + 0x190]
mov rdx, qword [r14 + 0x38]
cmp qword [rsp + 0x68], rdx
jne 0x14037cb31
mov rcx, qword [rsp + 0x58]
mov rdx, r14
call fcn.140315140
mov rax, qword [rsp + 0x68]
mov word [r14 + 0x2c], 0
mov word [r14 + 0x30], 3
mov qword [r14 + 0x38], rax
mov dword [r14 + 0x28], 0
jmp 0x14037cb7b
mov edx, 0x27
mov dword [rbp + 0x28], 0x1241
mov word [rbp + 0x2c], r14w
mov word [rbp + 0x18], r14w
mov qword [rbp + 0x20], r12
mov word [rbp + 0x14], dx
jmp 0x14037e2b0
mov eax, dword [rbp + 0x28]
test eax, eax
jne 0x14037e2b0
mov rbx, qword [rsp + 0xe0]
mov r13, qword [rbx + 8]
jmp 0x14037c9d7
mov r15, r10
mov eax, dword [rbp + 0x28]
mov r10d, ebx
mov rbx, r13
jmp 0x14037ea36
mov qword [rsp + 0x190], r10
xor r14d, r14d
mov r10d, ebx
mov rbx, r13
mov r13, r15
mov r15, qword [rsp + 0x190]
jmp 0x14037e989
xor ebx, ebx
jmp 0x14037cd97
xor esi, esi
jmp 0x14037cd54
not rcx
and r12, rcx
jmp 0x14037cea0
lea rdx, [rdi*8]
sub rdx, rdi
shl rdx, 4
mov rdx, qword [rbp + rdx + 0x60]
test rdx, rdx
je 0x14037eab8
add eax, 1
shr rdx, 1
jne 0x14037eab0
mov rcx, qword [rsp + 0xa0]
mov r9d, 0xfffffffd
movsxd r8, eax
mov edx, 0xffffffff
call fcn.14031ddc0
jmp 0x14037e0f7