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

Disassembly:
mov r11, rsp
push rbx
sub rsp, 0x1b0
mov rax, qword [0x1400e5040]
xor rax, rsp
mov qword [rsp + 0x168], rax
mov rbx, qword [rcx]
mov eax, 0xffffffff
mov qword [r11 - 0x10], rbp
xorps xmm0, xmm0
mov qword [r11 - 0x18], rsi
mov rsi, rdx
mov qword [r11 - 0x20], rdi
mov rdi, r8
mov qword [r11 - 0x28], r12
mov r12, r9
mov qword [r11 - 0x30], r13
mov r13, rcx
mov qword [r11 - 0x38], r14
mov qword [r11 - 0x40], r15
xor r15d, r15d
mov dword [rsp + 0x94], eax
xor eax, eax
mov qword [rsp + 0x78], r9
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0x108], rdx
mov dword [rsp + 0x98], r15d
mov dword [rsp + 0x8c], r15d
mov dword [rsp + 0xbc], r15d
mov dword [rsp + 0x88], r15d
mov dword [rsp + 0xc4], r15d
mov dword [rsp + 0xc0], r15d
mov byte [rsp + 0x60], r15b
mov byte [rsp + 0x64], 1
mov qword [rsp + 0xc8], r15
mov dword [rsp + 0xb4], r15d
mov dword [rsp + 0xd8], r15d
mov qword [rsp + 0xe0], r15
mov qword [rsp + 0xf0], rbx
movups xmmword [r11 - 0x68], xmm0
mov qword [r11 - 0x58], rax
cmp dword [rcx + 0x4c], eax
jne 0x140089b06
cmp byte [rbx + 0x50], al
jne 0x140089b06
test r8, r8
je 0x1400880aa
test byte [r8 + 0xa], 0x80
je 0x1400880aa
cmp qword [r8 + 0x50], rax
jne 0x1400880aa
mov rax, qword [r8]
mov rdx, r8
mov rcx, rbx
mov qword [rsp + 0xc8], rax
mov qword [r8], r15
call fcn.140094e40
cmp qword [rbx + 0x320], r15
je 0x14008806f
mov rdx, rdi
mov rcx, rbx
call fcn.14002d0b0
jmp 0x1400880a2
cmp rdi, qword [rbx + 0x168]
jb 0x14008809a
cmp rdi, qword [rbx + 0x170]
jae 0x14008809a
mov rax, qword [rbx + 0x160]
mov qword [rdi], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rdi
jmp 0x1400880a2
mov rcx, rdi
call fcn.14002d010
mov qword [rsp + 0xa8], r15
cmp qword [rsi + 0x18], r15
je 0x140089b06
lea r8, [rsi + 8]
xor edx, edx
mov rcx, r13
call fcn.140072ac0
mov rdx, qword [rsi + 0x28]
mov rdi, rax
mov rcx, qword [r13]
call fcn.1400732e0
mov qword [rsi + 0x28], rdi
test rdi, rdi
je 0x1400880df
inc word [rdi + 0x44]
lea rdx, [rsi + 8]
mov rcx, r13
call fcn.14009cdf0
test eax, eax
jne 0x140089b06
test rdi, rdi
je 0x140089b06
mov rdx, qword [rdi + 0x70]
mov eax, 0xfff0bdc0
mov dword [rsp + 0x148], eax
mov r12d, eax
mov dword [rsp + 0x84], eax
mov rsi, rdi
mov qword [rsp + 0x70], rdi
test rdx, rdx
je 0x140088160
mov ecx, dword [rbx + 0x28]
mov r12d, r15d
mov dword [rsp + 0x84], r15d
mov qword [rsp + 0x70], rdi
test ecx, ecx
jle 0x140088160
mov rax, qword [rbx + 0x20]
add rax, 0x18
mov qword [rsp + 0x70], rdi
cmp qword [rax], rdx
je 0x140088158
inc r12d
add rax, 0x20
cmp r12d, ecx
jl 0x140088147
mov dword [rsp + 0x84], r12d
mov rax, qword [rbx + 0x20]
xor r9d, r9d
mov r8, qword [rsi]
movsxd rbp, r12d
mov r14, rbp
shl r14, 5
lea edx, [r9 + 0x12]
mov rcx, qword [r14 + rax]
mov qword [rsp + 0x20], rcx
mov rcx, r13
call fcn.140072090
test eax, eax
jne 0x140089b01
movzx eax, byte [rsi + 0x48]
lea r15, [rsi + 0x48]
xor edi, edi
mov byte [rsp + 0x80], al
mov rax, qword [r13]
mov r8d, edi
mov dword [rsp + 0xa0], edi
mov edx, edi
test dword [rax + 0x2c], 0x800000
je 0x1400881cc
mov rdx, rsi
mov rcx, r13
call fcn.1400a1a80
mov rdx, rax
mov r8d, edi
mov rcx, rdx
test rdx, rdx
je 0x1400881f2
cmp byte [rcx + 0x10], 0x6c
jne 0x1400881e1
movzx eax, byte [rcx + 0x11]
or r8d, eax
mov rcx, qword [rcx + 0x40]
test rcx, rcx
jne 0x1400881d4
mov dword [rsp + 0xa0], r8d
test r8d, r8d
mov rax, rdi
mov rcx, r13
cmovne rax, rdx
mov rdx, rsi
mov qword [rsp + 0xf8], rax
mov rax, qword [rsi + 0x18]
mov qword [rsp + 0x100], rax
call fcn.140076650
test eax, eax
jne 0x140089afe
mov r8d, dword [rsp + 0xa0]
mov rdx, rsi
mov rcx, r13
call fcn.14007d750
test eax, eax
jne 0x140089afe
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x68], rax
test rax, rax
jne 0x1400882a4
mov rcx, r13
call fcn.14004f940
mov qword [rsp + 0x68], rax
mov qword [r13 + 0x10], rax
test rax, rax
je 0x14008827e
xor r9d, r9d
mov dword [rsp + 0x20], edi
xor r8d, r8d
mov edx, 0x99
mov rcx, rax
call fcn.14004fb30
mov rax, qword [rsp + 0x68]
cmp qword [r13 + 0x1c0], rdi
jne 0x14008829b
mov rax, qword [r13]
test byte [rax + 0x4c], 8
mov rax, qword [rsp + 0x68]
jne 0x14008829b
mov byte [r13 + 0x23], 1
test rax, rax
je 0x140089afe
cmp byte [r13 + 0x1e], dil
jne 0x1400882b1
or dword [rax + 0x8c], 0x10
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
jne 0x1400882cd
cmp qword [rsp + 0xf8], rdi
jne 0x1400882cd
xor sil, sil
jmp 0x1400882d0
mov sil, 1
mov rdi, qword [r13 + 0x1c0]
test rdi, rdi
je 0x1400882e1
mov rdx, rdi
jmp 0x1400882f1
mov rax, qword [rsp + 0x70]
mov rdi, r13
mov qword [rsp + 0x70], rax
mov rdx, r13
mov eax, dword [rdx + 0x16c]
bt eax, r12d
jb 0x140088332
bts eax, r12d
mov dword [rdx + 0x16c], eax
mov rax, qword [rdx]
mov rcx, qword [rax + 0x20]
mov rax, qword [rcx + r14 + 0x18]
mov ecx, dword [rax]
mov dword [rdx + rbp*4 + 0x170], ecx
cmp r12d, 1
jne 0x14008832a
mov rcx, rdx
call fcn.14007b6d0
mov rcx, qword [rsp + 0xa8]
mov eax, dword [rdi + 0x168]
or byte [rdi + 0x20], sil
bts eax, r12d
mov r14, qword [rsp + 0x78]
mov dword [rdi + 0x168], eax
mov rdi, qword [rsp + 0x70]
test r14, r14
jne 0x140088378
mov r9d, dword [rsp + 0x1e0]
mov r8, rcx
mov rcx, r13
mov dword [rsp + 0x20], r12d
mov rdx, rdi
call fcn.14008b6b0
test eax, eax
jne 0x140089a78
mov r8, rdi
mov edx, r12d
mov rcx, r13
call fcn.140087990
mov ecx, dword [r13 + 0x54]
mov r8, qword [rsp + 0x70]
mov dword [rsp + 0xb0], eax
lea r9d, [rcx + 1]
movsx eax, word [r8 + 0x42]
mov edx, r9d
inc eax
mov dword [rsp + 0xb8], r9d
add eax, ecx
mov dword [rsp + 0x90], edx
mov dword [r13 + 0x54], eax
test byte [r15], 0x10
je 0x1400883d0
lea edx, [r9 + 1]
inc eax
mov dword [rsp + 0x90], edx
mov dword [r13 + 0x54], eax
xor r15d, r15d
lea eax, [rdx + 1]
mov dword [rsp + 0xe8], eax
test r14, r14
je 0x140088749
mov eax, dword [r14 + 8]
mov edx, r15d
test eax, eax
jle 0x14008840d
mov ecx, r15d
mov rax, qword [r14]
lea rcx, [rcx + 0x10]
inc edx
mov dword [rax + rcx - 8], 0xffffffff
mov eax, dword [r14 + 8]
cmp edx, eax
jl 0x1400883f4
mov ebp, dword [rsp + 0x64]
mov r12d, r15d
test eax, eax
jle 0x140088592
mov rsi, r15
mov qword [rsp + 0xd0], r15
lea r9, [0x1400d0630]
nop
movsx rcx, word [r8 + 0x42]
mov edi, r15d
mov r11, r15
cmp r15w, cx
jge 0x140088533
mov rax, qword [r14]
mov rbp, rcx
mov r10, qword [r8 + 8]
mov r14, qword [rsi + rax]
movzx esi, byte [r14]
nop word [rax + rax]
mov rdx, qword [r10]
movzx r8d, sil
test sil, sil
je 0x1400884b3
mov r9, r14
lea rbx, [0x1400d0630]
sub r9, rdx
movzx eax, sil
nop dword [rax]
movzx ecx, al
movzx r8d, al
movzx eax, byte [rdx]
movzx eax, byte [rax + rbx]
cmp byte [rcx + rbx], al
jne 0x1400884a4
movzx eax, byte [rdx + r9 + 1]
inc rdx
movzx r8d, al
test al, al
jne 0x140088480
mov rbx, qword [rsp + 0xf0]
lea r9, [0x1400d0630]
movzx eax, r8b
movzx ecx, byte [rax + r9]
movzx eax, byte [rdx]
movzx eax, byte [rax + r9]
cmp ecx, eax
je 0x1400884ee
inc edi
inc r11
add r10, 0x30
cmp r11, rbp
jl 0x140088460
mov rsi, qword [rsp + 0xd0]
mov ebp, dword [rsp + 0x64]
mov r8, qword [rsp + 0x70]
mov r14, qword [rsp + 0x78]
jmp 0x140088533
mov ebp, dword [rsp + 0x64]
cmp r12d, edi
mov ecx, dword [rsp + 0x94]
mov r14, qword [rsp + 0x78]
mov rsi, qword [rsp + 0xd0]
mov r8, qword [rsp + 0x70]
movzx ebp, bpl
mov rax, qword [r14]
cmovne ebp, r15d
mov dword [rsp + 0x64], ebp
mov dword [rax + rsi + 8], edi
movsx eax, word [r8 + 0x40]
cmp edi, eax
cmove ecx, r12d
mov dword [rsp + 0x94], ecx
movsx eax, word [r8 + 0x42]
cmp edi, eax
jl 0x140088579
mov rdi, qword [r14]
mov rcx, qword [rdi + rsi]
call fcn.140068030
test eax, eax
je 0x140088716
test byte [rsp + 0x80], 0x20
jne 0x140088716
mov r8, qword [rsp + 0x70]
lea r9, [0x1400d0630]
xor bpl, bpl
mov dword [rsp + 0x94], r12d
mov dword [rsp + 0x64], ebp
add rsi, 0x10
inc r12d
mov qword [rsp + 0xd0], rsi
cmp r12d, dword [r14 + 8]
jl 0x140088430
mov r12d, dword [rsp + 0x84]
cmp qword [rsp + 0xa8], 0
lea r14, [0x1400e83d0]
je 0x140088993
mov esi, dword [r13 + 0x54]
xor r9d, r9d
mov rcx, qword [rsp + 0x68]
inc esi
mov dword [r13 + 0x54], esi
mov r8d, esi
lea edx, [r9 + 0x14]
mov edi, dword [rcx + 0x3c]
lea eax, [rdi + 1]
mov dword [rsp + 0x20], eax
call fcn.14004fb30
mov rdx, qword [rsp + 0xa8]
lea r8, [rsp + 0x150]
test bpl, bpl
mov word [rsp + 0x150], 0xd
mov rbp, qword [rsp + 0x70]
mov eax, r15d
cmovne eax, dword [rsp + 0xe8]
mov rcx, r13
mov dword [rsp + 0x158], eax
mov dword [rsp + 0x154], esi
movsx eax, word [rbp + 0x42]
mov dword [rsp + 0x15c], eax
call fcn.14009ee50
mov ecx, dword [rsp + 0x158]
mov dword [rsp + 0xb4], ecx
test eax, eax
jne 0x140089b01
cmp byte [rbx + 0x50], al
jne 0x140089b01
mov r8d, esi
mov dword [rsp + 0x20], r15d
mov rsi, qword [rsp + 0x68]
lea edx, [rax + 0x15]
mov rcx, rsi
xor r9d, r9d
call fcn.14004fb30
mov edx, dword [rsi + 0x3c]
cmp edx, edi
jbe 0x140088673
mov rax, qword [rsi + 8]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 8], edx
mov rax, qword [rsi + 0x30]
mov ecx, dword [rsi + 0x3c]
dec ecx
cmp qword [rsp + 0xf8], 0
mov dword [rax + 0x64], ecx
mov rax, qword [rsp + 0xa8]
mov rax, qword [rax]
mov eax, dword [rax]
mov dword [rsp + 0x84], eax
jne 0x1400887da
mov rdi, qword [r13 + 0x10]
test rdi, rdi
jne 0x1400886f0
mov rcx, r13
call fcn.14004f940
mov qword [r13 + 0x10], rax
mov rdi, rax
test rax, rax
je 0x1400886d7
xor r9d, r9d
mov dword [rsp + 0x20], r15d
xor r8d, r8d
mov edx, 0x99
mov rcx, rax
call fcn.14004fb30
cmp qword [r13 + 0x1c0], 0
jne 0x1400886f0
mov rax, qword [r13]
test byte [rax + 0x4c], 8
jne 0x1400886f0
mov byte [r13 + 0x23], 1
test byte [rbp + 0x48], 0x10
mov esi, dword [rdi + 0x3c]
je 0x140088752
mov r8, qword [rbp + 0x60]
test r8, r8
je 0x140088755
mov rax, qword [r13]
cmp qword [r8], rax
je 0x140088755
mov r8, qword [r8 + 0x28]
test r8, r8
jne 0x140088706
jmp 0x140088755
mov r8, qword [rsp + 0x108]
lea rdx, str.table__S_has_no_column_named__s
movsxd rax, r12d
xor r9d, r9d
add rax, rax
mov rcx, r13
mov rax, qword [rdi + rax*8]
mov qword [rsp + 0x20], rax
call fcn.140030280
mov byte [r13 + 0x1d], 1
jmp 0x140089b01
mov ebp, dword [rsp + 0x64]
jmp 0x14008859a
mov r8, r15
mov r9d, 1
cmp esi, r9d
jle 0x1400887c8
mov rax, qword [rdi]
movzx r10d, byte [rax + 0x50]
mov eax, r9d
test r9d, r9d
jns 0x140088773
lea eax, [rsi - 1]
test r10b, r10b
je 0x14008877d
mov rcx, r14
jmp 0x14008878b
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
lea rcx, [rax + rcx*8]
cmp byte [rcx], 0x36
jne 0x1400887b5
cmp dword [rcx + 0xc], r12d
jne 0x1400887c0
mov edx, dword [rcx + 8]
cmp edx, dword [rbp + 0x3c]
je 0x1400887da
mov rax, qword [rbp + 0x10]
test rax, rax
je 0x1400887c0
cmp edx, dword [rax + 0x58]
je 0x1400887da
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1400887a7
cmp byte [rcx], 0x93
jne 0x1400887c0
cmp qword [rcx + 0x10], r8
je 0x1400887da
inc r9d
cmp r9d, esi
jl 0x140088768
mov r14, qword [rsp + 0x68]
mov r12d, dword [rsp + 0x84]
jmp 0x140088a3b
mov ecx, dword [r13 + 0x50]
mov byte [rsp + 0x60], 1
mov dword [rsp + 0x88], ecx
lea eax, [rcx + 1]
mov dword [r13 + 0x50], eax
movzx eax, byte [r13 + 0x1f]
test al, al
jne 0x14008880e
mov edi, dword [r13 + 0x54]
inc edi
mov esi, edi
mov dword [r13 + 0x54], edi
inc esi
mov dword [r13 + 0x54], esi
jmp 0x14008883a
dec al
movzx eax, al
mov byte [r13 + 0x1f], al
mov edi, dword [r13 + rax*4 + 0x24]
test al, al
jne 0x14008882c
mov esi, dword [r13 + 0x54]
inc esi
mov dword [r13 + 0x54], esi
jmp 0x14008883a
dec al
movzx eax, al
mov byte [r13 + 0x1f], al
mov esi, dword [r13 + rax*4 + 0x24]
mov r14, qword [rsp + 0x68]
mov r8d, ecx
mov r12d, dword [rsp + 0x84]
mov rcx, r14
mov r9d, r12d
mov dword [rsp + 0x20], r15d
mov edx, 0x39
call fcn.14004fb30
mov r8d, dword [rsp + 0x154]
xor r9d, r9d
mov rcx, r14
mov dword [rsp + 0x20], r15d
lea edx, [r9 + 0x16]
call fcn.14004fb30
mov r8d, dword [rsp + 0xb4]
mov r9d, r12d
mov edx, 0x31
mov ebp, eax
mov rcx, r14
mov dword [rsp + 0x20], edi
call fcn.14004fb30
mov r8d, dword [rsp + 0x88]
mov r9d, esi
mov edx, 0x4a
mov dword [rsp + 0x20], r15d
mov rcx, r14
call fcn.14004fb30
mov r8d, dword [rsp + 0x88]
mov r9d, edi
mov edx, 0x4b
mov dword [rsp + 0x20], esi
mov rcx, r14
call fcn.14004fb30
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, ebp
mov rcx, r14
lea edx, [r8 + 0x10]
call fcn.14004fb30
mov edx, dword [r14 + 0x3c]
cmp edx, ebp
jbe 0x140088904
mov rax, qword [r14 + 8]
lea rcx, [rbp*2]
add rcx, rbp
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [r14 + 0x3c]
mov rax, qword [r14 + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
test edi, edi
je 0x14008894a
cmp byte [r13 + 0x1f], 8
jae 0x14008894a
mov ecx, r15d
lea rax, [r13 + 0x88]
cmp dword [rax + 0xc], edi
je 0x140088946
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x140088926
movzx eax, byte [r13 + 0x1f]
mov dword [r13 + rax*4 + 0x24], edi
inc byte [r13 + 0x1f]
jmp 0x14008894a
mov byte [rax + 6], 1
test esi, esi
je 0x140088a36
cmp byte [r13 + 0x1f], 8
jae 0x140088a36
mov ecx, r15d
lea rax, [r13 + 0x88]
cmp dword [rax + 0xc], esi
je 0x14008898a
inc ecx
add rax, 0x14
cmp ecx, 0xa
jl 0x140088967
movzx eax, byte [r13 + 0x1f]
mov dword [r13 + rax*4 + 0x24], esi
inc byte [r13 + 0x1f]
jmp 0x140088a36
mov byte [rax + 6], 1
jmp 0x140088a36
mov rax, qword [rsp + 0xc8]
xorps xmm0, xmm0
mov qword [rsp + 0x110], r13
xorps xmm1, xmm1
mov dword [rsp + 0x88], 0xffffffff
movdqu xmmword [rsp + 0x118], xmm0
movdqu xmmword [rsp + 0x128], xmm1
movdqu xmmword [rsp + 0x138], xmm0
test rax, rax
je 0x1400889d9
mov r12d, dword [rax]
jmp 0x1400889dc
mov r12d, r15d
mov dword [rsp + 0x84], r12d
movsxd rbp, r12d
test r12d, r12d
jle 0x140088a31
mov rsi, r15
mov rdi, r15
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rax + 8]
lea rcx, [rsp + 0x110]
mov rdx, qword [rdx + rdi]
call fcn.140064600
test eax, eax
jne 0x140089b01
mov rax, qword [rsp + 0xc8]
inc rsi
add rdi, 0x28
cmp rsi, rbp
jl 0x140088a00
mov r14, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
test rsi, rsi
jne 0x140088a55
test r12d, r12d
jle 0x140088a55
movsx eax, word [rbp + 0x40]
mov dword [rsp + 0x94], eax
test byte [rbp + 0x48], 0x10
je 0x140088ae9
movsx r10, word [rbp + 0x42]
mov r8d, r15d
mov r9d, r15d
mov r11, r15
cmp r10, 2
jl 0x140088ac6
mov rdi, qword [rbp + 8]
lea rdx, [r10 - 2]
shr rdx, 1
inc rdx
lea rcx, [rdi + 0x5b]
lea r11, [rdx + rdx]
nop dword [rax]
movzx eax, byte [rcx - 0x30]
lea rcx, [rcx + 0x60]
shr eax, 1
and eax, 1
add r8d, eax
movzx eax, byte [rcx - 0x60]
shr eax, 1
and eax, 1
add r9d, eax
sub rdx, 1
jne 0x140088a90
cmp r11, r10
jl 0x140088ad0
mov ecx, dword [rsp + 0x98]
lea eax, [r9 + r8]
add ecx, eax
jmp 0x140088af0
test r10, r10
jle 0x140088ab7
mov rdi, qword [rbp + 8]
nop
lea rax, [r11 + r11*2]
add rax, rax
movzx ecx, byte [rdi + rax*8 + 0x2b]
lea eax, [r9 + r8]
shr ecx, 1
and ecx, 1
add ecx, eax
jmp 0x140088af0
mov ecx, dword [rsp + 0x98]
test rsi, rsi
jne 0x140088b30
test r12d, r12d
je 0x140088b53
movsx eax, word [rbp + 0x42]
sub eax, ecx
cmp r12d, eax
je 0x140088b53
mov r8, qword [rsp + 0x108]
lea rdx, str.table__S_has__d_columns_but__d_values_were_supplied
mov dword [rsp + 0x28], r12d
xor r9d, r9d
mov rcx, r13
mov dword [rsp + 0x20], eax
call fcn.140030280
mov r12, rsi
jmp 0x140089b06
mov r9d, dword [rsi + 8]
cmp r12d, r9d
je 0x140088b53
mov r8d, r12d
lea rdx, str._d_values_for__d_columns
mov rcx, r13
call fcn.140030280
mov r12, rsi
jmp 0x140089b06
test byte [rbx + 0x2c], 0x80
mov r12d, 0x19
je 0x140088b86
mov eax, dword [r13 + 0x54]
xor r8d, r8d
inc eax
mov dword [rsp + 0x20], r15d
mov r9d, eax
mov dword [rsp + 0xd8], eax
mov edx, r12d
mov dword [r13 + 0x54], eax
mov rcx, r14
call fcn.14004fb30
cmp qword [rsp + 0x100], 0
jne 0x140088d75
test byte [rbp + 0x48], 0x10
je 0x140088ba3
mov r14d, r15d
jmp 0x140088cf7
mov rdx, qword [rbp + 0x70]
test rdx, rdx
je 0x140088bed
mov rax, qword [r13]
mov edi, r15d
mov dword [rsp + 0x148], r15d
movsxd rcx, dword [rax + 0x28]
test ecx, ecx
jle 0x140088bf2
mov rax, qword [rax + 0x20]
mov r8, rcx
add rax, 0x18
mov rcx, r15
cmp qword [rax], rdx
je 0x140088be4
inc edi
inc rcx
add rax, 0x20
cmp rcx, r8
jl 0x140088bd1
mov dword [rsp + 0x148], edi
jmp 0x140088bf2
mov edi, 0xfff0bdc0
mov rcx, r13
call fcn.140098e90
mov esi, dword [r13 + 0x50]
mov r15, rax
mov eax, esi
mov rcx, r13
inc esi
mov dword [rsp + 0x8c], eax
test byte [rbp + 0x48], 0x20
jne 0x140088c2c
mov r9, rbp
mov dword [rsp + 0x20], 0x37
mov r8d, edi
mov edx, eax
call fcn.140087680
jmp 0x140088c43
mov rax, qword [rbp]
mov r9b, 1
mov r8d, dword [rbp + 0x3c]
mov edx, edi
mov qword [rsp + 0x20], rax
call fcn.140072150
mov rbp, qword [rbp + 0x10]
xor edi, edi
mov dword [rsp + 0xbc], esi
mov r14d, edi
test rbp, rbp
je 0x140088ce5
mov rbx, qword [rsp + 0x70]
mov r12d, dword [rsp + 0x148]
nop dword [rax]
mov eax, dword [rbp + 0x64]
mov r8d, esi
and al, 3
inc esi
cmp al, 2
jne 0x140088c94
mov eax, dword [rsp + 0x8c]
test byte [rbx + 0x48], 0x20
cmovne eax, r8d
mov dword [rsp + 0x8c], eax
mov r9d, dword [rbp + 0x58]
mov edx, 0x37
mov rcx, r15
mov dword [rsp + 0x20], r12d
call fcn.14004fb30
mov rdi, qword [r13 + 0x10]
mov rdx, rbp
mov rcx, r13
call fcn.14007c3e0
mov edx, 0xffffffff
mov r8, rax
mov rcx, rdi
lea r9d, [rdx - 5]
call fcn.140050160
mov rbp, qword [rbp + 0x28]
inc r14d
test rbp, rbp
jne 0x140088c70
mov rbx, qword [rsp + 0xf0]
lea r12d, [rbp + 0x19]
cmp esi, dword [r13 + 0x50]
jle 0x140088cef
mov dword [r13 + 0x50], esi
mov rbp, qword [rsp + 0x70]
xor r15d, r15d
lea eax, [r14 + 1]
movsxd rcx, eax
shl rcx, 2
cmp byte [rbx + 0x50], 0
je 0x140088d15
mov qword [rsp + 0xe0], r15
jmp 0x140089b01
cmp byte [rbx + 0x14a], 0
je 0x140088d34
movzx eax, word [rbx + 0x148]
cmp rcx, rax
jbe 0x140088daf
inc dword [rbx + 0x158]
call fcn.14002cbc0
mov qword [rsp + 0xe0], rax
test rax, rax
jne 0x140088d4a
mov byte [rbx + 0x50], 1
mov r8, rax
test rax, rax
je 0x140089b01
movsxd rdx, r14d
test r14d, r14d
jle 0x140088d75
mov rcx, r15
inc dword [r13 + 0x54]
mov eax, dword [r13 + 0x54]
mov dword [r8 + rcx*4], eax
inc rcx
cmp rcx, rdx
jl 0x140088d61
movzx esi, byte [rsp + 0x60]
mov rdi, qword [rsp + 0x68]
test sil, sil
je 0x140088e02
mov r8d, dword [rsp + 0x88]
xor r9d, r9d
mov rcx, rdi
mov dword [rsp + 0x20], r15d
lea edx, [r9 + 0x6c]
call fcn.14004fb30
mov dword [rsp + 0xc4], eax
mov eax, dword [rdi + 0x3c]
jmp 0x140088e30
mov r9, qword [rbx + 0x160]
mov qword [rsp + 0xe0], r9
test r9, r9
jne 0x140088dce
inc dword [rbx + 0x15c]
jmp 0x140088d34
mov rax, qword [r9]
mov qword [rbx + 0x160], rax
mov eax, dword [rbx + 0x14c]
inc eax
mov dword [rbx + 0x14c], eax
inc dword [rbx + 0x154]
cmp eax, dword [rbx + 0x150]
jle 0x140088dfa
mov dword [rbx + 0x150], eax
mov r8, r9
jmp 0x140088d56
cmp qword [rsp + 0xa8], 0
je 0x140088e37
mov r8d, dword [rsp + 0x154]
xor r9d, r9d
mov rcx, rdi
mov dword [rsp + 0x20], r15d
lea edx, [r9 + 0x16]
call fcn.14004fb30
mov dword [rsp + 0xc4], eax
mov dword [rsp + 0xc0], eax
mov rcx, rdi
call fcn.14004fc70
test byte [rsp + 0xa0], 1
mov r14d, eax
mov dword [rsp + 0x98], eax
je 0x14008923c
movsx ecx, word [rbp + 0x42]
mov edx, dword [r13 + 0x44]
inc ecx
mov esi, dword [r13 + 0x48]
mov dword [rsp + 0x148], esi
cmp ecx, edx
jg 0x140088e7f
lea eax, [rsi + rcx]
sub edx, ecx
mov dword [r13 + 0x48], eax
mov dword [r13 + 0x44], edx
jmp 0x140088e93
mov eax, dword [r13 + 0x54]
lea esi, [rax + 1]
add eax, ecx
mov dword [r13 + 0x54], eax
mov dword [rsp + 0x148], esi
movsxd rax, dword [rsp + 0x94]
test eax, eax
jns 0x140088ead
mov r8d, 0xffffffff
mov r9d, esi
jmp 0x140088f91
cmp byte [rsp + 0x60], 0
je 0x140088ecd
mov r8d, dword [rsp + 0x88]
mov r9d, eax
mov dword [rsp + 0x20], esi
mov edx, 0x2f
mov rcx, rdi
jmp 0x140088f22
lea rcx, [rax + rax*4]
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax + 8]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x140088efa
cmp byte [rdx], 0x9f
jne 0x140088efa
mov r8d, dword [rdx + 0x2c]
mov edx, 0x21
mov rcx, qword [r13 + 0x10]
jmp 0x140088f1a
mov r8d, esi
mov rcx, r13
call fcn.14006a400
cmp eax, esi
je 0x140088f27
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x140088f27
mov r8d, eax
mov edx, 0x22
mov r9d, esi
mov dword [rsp + 0x20], r15d
call fcn.14004fb30
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, esi
mov rcx, rdi
lea edx, [r9 + 0x4d]
call fcn.14004fb30
mov rbp, qword [rsp + 0x68]
mov r9d, esi
mov rcx, rbp
mov edi, eax
mov r8d, 0xffffffff
mov dword [rsp + 0x20], r15d
mov edx, r12d
call fcn.14004fb30
mov edx, dword [rbp + 0x3c]
cmp edx, edi
jbe 0x140088f71
mov rax, qword [rbp + 8]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rbp + 0x3c]
mov rdi, rbp
mov rax, qword [rbp + 0x30]
dec ecx
mov rbp, qword [rsp + 0x70]
mov r12d, 0x26
mov r8d, esi
mov r9d, r15d
mov dword [rax + 0x64], ecx
mov edx, r12d
mov dword [rsp + 0x20], r15d
mov rcx, rdi
call fcn.14004fb30
cmp r15w, word [rbp + 0x42]
jge 0x1400891b8
mov rbx, qword [rsp + 0x70]
lea ebp, [rsi + 1]
mov rdx, r15
mov qword [rsp + 0xd0], r15
mov r12d, esi
mov qword [rsp + 0xa0], rdx
not r12d
mov r8, r15
mov rax, qword [rsp + 0x78]
test rax, rax
jne 0x140088fe3
lea r9d, [r12 + rbp]
mov rcx, rdx
jmp 0x140089021
mov edx, dword [rax + 8]
mov r9d, r15d
mov rcx, r15
test edx, edx
jle 0x140089021
mov rax, qword [rax]
lea r8d, [r12 + rbp]
add rax, 8
nop dword [rax + rax]
cmp dword [rax], r8d
je 0x140089014
inc r9d
inc rcx
add rax, 0x10
cmp r9d, edx
jl 0x140089000
mov r8, qword [rsp + 0xd0]
mov rax, qword [rsp + 0x78]
movzx r10d, byte [rsp + 0x60]
mov rdx, qword [rsp + 0xc8]
test r10b, r10b
jne 0x140089039
test rdx, rdx
je 0x140089044
test rax, rax
je 0x1400890b0
cmp r9d, dword [rax + 8]
jl 0x1400890b0
mov rax, qword [rbx + 8]
mov rdx, qword [rax + r8 + 8]
test rdx, rdx
je 0x140089076
cmp byte [rdx], 0x9f
jne 0x140089076
mov r8d, dword [rdx + 0x2c]
mov r9d, ebp
mov rcx, qword [r13 + 0x10]
mov edx, 0x21
mov dword [rsp + 0x20], r15d
call fcn.14004fb30
jmp 0x140089163
mov r8d, ebp
mov rcx, r13
call fcn.14006a400
cmp eax, ebp
je 0x140089163
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x140089163
mov r9d, ebp
mov dword [rsp + 0x20], r15d
mov r8d, eax
mov edx, 0x22
call fcn.14004fb30
jmp 0x140089163
test r10b, r10b
je 0x1400890d3
mov r8d, dword [rsp + 0x88]
mov edx, 0x2f
mov rcx, rdi
mov dword [rsp + 0x20], ebp
call fcn.14004fb30
jmp 0x140089163
mov rax, qword [rdx + 8]
lea rcx, [rcx + rcx*4]
mov r14, qword [r13 + 0x10]
mov rsi, qword [rax + rcx*8]
test rsi, rsi
je 0x1400890fb
cmp byte [rsi], 0x9f
jne 0x1400890fb
mov r8d, dword [rsi + 0x2c]
mov edx, 0x21
mov rcx, r14
jmp 0x14008911e
mov r8d, ebp
mov rdx, rsi
mov rcx, r13
call fcn.14006a400
cmp eax, ebp
je 0x14008912b
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x14008912b
mov r8d, eax
mov edx, 0x22
mov r9d, ebp
mov dword [rsp + 0x20], r15d
call fcn.14004fb30
inc dword [r13 + 0x54]
mov r8d, ebp
mov edi, dword [r13 + 0x54]
mov edx, 0x21
mov r9d, edi
mov dword [rsp + 0x20], r15d
mov rcx, r14
call fcn.14004fb30
movzx eax, byte [rsi]
and dword [rsi + 4], 0xffffefff
mov dword [rsi + 0x2c], edi
mov rdi, qword [rsp + 0x68]
mov byte [rsi + 0x36], al
mov byte [rsi], 0x9f
mov rdx, qword [rsp + 0xa0]
inc ebp
mov r8, qword [rsp + 0xd0]
inc rdx
movsx eax, word [rbx + 0x42]
add r8, 0x30
mov qword [rsp + 0xa0], rdx
lea ecx, [r12 + rbp]
mov qword [rsp + 0xd0], r8
cmp ecx, eax
jl 0x140088fd0
mov rbx, qword [rsp + 0xf0]
mov esi, dword [rsp + 0x148]
mov r14d, dword [rsp + 0x98]
mov rbp, qword [rsp + 0x70]
cmp qword [rsp + 0x100], 0
jne 0x1400891d2
lea r8d, [rsi + 1]
mov rdx, rbp
mov rcx, rdi
call fcn.140087880
movsx eax, word [rbp + 0x42]
mov ecx, esi
mov rdx, qword [rsp + 0xf8]
sub ecx, eax
mov eax, dword [rsp + 0x1e0]
dec ecx
mov dword [rsp + 0x40], r14d
xor r9d, r9d
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], ecx
mov rcx, r13
mov qword [rsp + 0x28], rbp
lea r8d, [r9 + 0x6c]
mov dword [rsp + 0x20], 1
call fcn.1400a5070
movsx r11d, word [rbp + 0x42]
mov edx, esi
inc r11d
mov rcx, r13
mov r8d, r11d
call fcn.140069af0
cmp r11d, dword [r13 + 0x44]
jle 0x140089237
mov dword [r13 + 0x44], r11d
mov dword [r13 + 0x48], esi
movzx esi, byte [rsp + 0x60]
cmp qword [rsp + 0x100], 0
jne 0x1400898a0
test byte [rbp + 0x48], 0x10
je 0x14008926d
mov r9d, dword [rsp + 0xb8]
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x20], r15d
lea edx, [r8 + 0x1c]
call fcn.14004fb30
movsxd rax, dword [rsp + 0x94]
test eax, eax
js 0x14008944f
test sil, sil
je 0x140089325
mov esi, dword [rsp + 0x90]
mov r9d, eax
mov r8d, dword [rsp + 0x88]
mov edx, 0x2f
mov dword [rsp + 0x20], esi
mov rcx, rdi
call fcn.14004fb30
test byte [rbp + 0x48], 0x10
jne 0x140089426
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, esi
mov rcx, rdi
lea edx, [r9 + 0x4d]
call fcn.14004fb30
mov ecx, dword [rsp + 0xb0]
mov r9d, esi
mov rbp, qword [rsp + 0x68]
mov edx, 0x4a
mov r8d, dword [rsp + 0x8c]
mov dword [rsp + 0x20], ecx
mov rcx, rbp
mov edi, eax
call fcn.14004fb30
mov edx, dword [rbp + 0x3c]
cmp edx, edi
jbe 0x140089307
mov rax, qword [rbp + 8]
lea rcx, [rdi + rdi*2]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rbp + 0x3c]
mov rdi, rbp
mov rax, qword [rbp + 0x30]
dec ecx
xor r9d, r9d
mov r8d, esi
mov dword [rax + 0x64], ecx
lea edx, [r9 + 0x26]
jmp 0x1400894a7
cmp qword [rsp + 0xa8], 0
je 0x140089354
mov r8d, dword [rsp + 0xb4]
mov edx, 0x21
mov esi, dword [rsp + 0x90]
add r8d, eax
mov dword [rsp + 0x20], r15d
mov r9d, esi
jmp 0x1400892a1
lea rcx, [rax + rax*4]
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax + 8]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x140089388
cmp byte [rdx], 0x9f
jne 0x140089388
mov r8d, dword [rdx + 0x2c]
mov edx, 0x21
mov esi, dword [rsp + 0x90]
mov rcx, qword [r13 + 0x10]
jmp 0x1400893af
mov esi, dword [rsp + 0x90]
mov rcx, r13
mov r8d, esi
call fcn.14006a400
cmp eax, esi
je 0x1400893bc
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x1400893bc
mov r8d, eax
mov edx, 0x22
mov r9d, esi
mov dword [rsp + 0x20], r15d
call fcn.14004fb30
mov rax, qword [rdi]
mov ecx, dword [rdi + 0x3c]
dec ecx
cmp byte [rax + 0x50], 0
je 0x1400893d3
lea rax, [0x1400e83d0]
jmp 0x1400893eb
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
lea rax, [rax + rcx*8]
test rax, rax
je 0x1400892a9
cmp byte [rax], 0x1c
jne 0x1400892a9
test byte [rbp + 0x48], 0x10
jne 0x140089426
mov r8d, dword [rsp + 0x8c]
mov ecx, dword [rsp + 0xb0]
mov dword [rax + 4], r8d
mov dword [rax + 0xc], ecx
mov byte [rax], 0x4a
mov dword [rax + 8], esi
mov dword [rsp + 0xa0], 1
jmp 0x1400894bc
mov r9d, dword [rdi + 0x3c]
mov r8d, esi
add r9d, 2
mov dword [rsp + 0x20], r15d
mov edx, 0x4c
mov rcx, rdi
call fcn.14004fb30
xor r9d, r9d
mov r8d, esi
lea edx, [r9 + 0x26]
jmp 0x1400894a7
test byte [rbp + 0x48], 0x10
jne 0x140089496
test byte [rsp + 0x80], 0x20
jne 0x140089496
mov ecx, dword [rsp + 0xb0]
mov edx, 0x4a
mov esi, dword [rsp + 0x90]
mov r9d, esi
mov r8d, dword [rsp + 0x8c]
mov dword [rsp + 0x20], ecx
mov rcx, rdi
call fcn.14004fb30
mov dword [rsp + 0xa0], 1
jmp 0x1400894bc
mov esi, dword [rsp + 0x90]
xor r8d, r8d
mov r9d, esi
lea edx, [r8 + 0x1c]
mov rcx, rdi
mov dword [rsp + 0x20], r15d
call fcn.14004fb30
mov dword [rsp + 0xa0], r15d
mov eax, dword [rsp + 0xb0]
test eax, eax
jle 0x1400894e0
mov rcx, qword [r13 + 0x10]
mov r9d, esi
mov r8d, eax
mov dword [rsp + 0x20], r15d
mov edx, 0x88
call fcn.14004fb30
mov rdx, qword [rsp + 0x70]
mov r12d, r15d
mov ebp, r15d
cmp r15w, word [rdx + 0x42]
jge 0x14008971b
mov ebx, dword [rsp + 0x84]
lea ecx, [rsi + 1]
mov dword [rsp + 0x64], ecx
mov r14, r15
nop word [rax + rax]
movsx eax, word [rdx + 0x40]
lea esi, [rcx + rbp]
cmp ebp, eax
jne 0x140089537
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, esi
mov rcx, rdi
lea edx, [r9 + 0x1d]
call fcn.14004fb30
jmp 0x1400896f0
mov r8, qword [rsp + 0x78]
test r8, r8
jne 0x14008959b
mov rax, qword [rdx + 8]
test byte [rax + r14 + 0x2b], 2
je 0x140089594
inc r12d
cmp byte [r13 + 0x23], 0
mov rax, qword [rsp + 0x70]
mov rax, qword [rax + 8]
mov rdi, qword [rax + r14 + 8]
je 0x1400896a2
mov edx, 1
mov rcx, rdi
call fcn.140067db0
test eax, eax
je 0x1400896a2
xor r9d, r9d
mov r8d, esi
mov rdx, rdi
mov rcx, r13
call fcn.14006b570
jmp 0x1400896eb
mov eax, ebp
sub eax, r12d
jmp 0x1400895c2
mov edx, dword [r8 + 8]
mov eax, r15d
test edx, edx
jle 0x1400895c6
mov rcx, qword [r8]
add rcx, 8
nop dword [rax]
cmp dword [rcx], ebp
je 0x1400895be
inc eax
add rcx, 0x10
cmp eax, edx
jl 0x1400895b0
mov ecx, dword [rsp + 0x64]
test eax, eax
js 0x140089550
test ebx, ebx
je 0x140089550
test r8, r8
je 0x1400895d9
cmp eax, dword [r8 + 8]
jge 0x140089550
cmp byte [rsp + 0x60], 0
je 0x140089601
mov r8d, dword [rsp + 0x88]
mov r9d, eax
mov edx, 0x2f
mov dword [rsp + 0x20], esi
mov rcx, rdi
call fcn.14004fb30
jmp 0x1400896f0
cmp qword [rsp + 0xa8], 0
je 0x140089639
mov edx, dword [rsp + 0xb4]
cmp edx, ecx
je 0x1400896f4
lea r8d, [rax + rdx]
mov dword [rsp + 0x20], r15d
mov edx, 0x22
mov r9d, esi
mov rcx, rdi
call fcn.14004fb30
jmp 0x1400896f0
lea rcx, [rax + rax*4]
mov rax, qword [rsp + 0xc8]
mov rax, qword [rax + 8]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x140089673
cmp byte [rdx], 0x9f
jne 0x140089673
mov r8d, dword [rdx + 0x2c]
mov r9d, esi
mov rcx, qword [r13 + 0x10]
mov edx, 0x21
mov dword [rsp + 0x20], r15d
call fcn.14004fb30
jmp 0x1400896f0
mov r8d, esi
mov rcx, r13
call fcn.14006a400
cmp eax, esi
je 0x1400896f0
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x1400896f0
mov r9d, esi
mov dword [rsp + 0x20], r15d
mov r8d, eax
mov edx, 0x22
call fcn.14004fb30
jmp 0x1400896f0
test rdi, rdi
je 0x1400896bb
cmp byte [rdi], 0x9f
jne 0x1400896bb
mov r8d, dword [rdi + 0x2c]
mov edx, 0x21
mov rcx, qword [r13 + 0x10]
jmp 0x1400896de
mov r8d, esi
mov rdx, rdi
mov rcx, r13
call fcn.14006a400
cmp eax, esi
je 0x1400896eb
mov rcx, qword [r13 + 0x10]
test rcx, rcx
je 0x1400896eb
mov r8d, eax
mov edx, 0x22
mov r9d, esi
mov dword [rsp + 0x20], r15d
call fcn.14004fb30
mov rdi, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x64]
mov rdx, qword [rsp + 0x70]
inc ebp
add r14, 0x30
movsx eax, word [rdx + 0x42]
cmp ebp, eax
jl 0x140089510
mov rbx, qword [rsp + 0xf0]
mov r14d, dword [rsp + 0x98]
test byte [rdx + 0x48], 0x10
je 0x1400897cf
mov rdi, qword [rdx + 0x60]
test rdi, rdi
je 0x14008973e
nop
cmp qword [rdi], rbx
je 0x14008973e
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x140089730
mov rcx, r13
call fcn.1400aa050
mov eax, dword [rsp + 0xb8]
mov edx, 0xf
mov rsi, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x68]
mov dword [rsp + 0x20], eax
lea r8d, [rdx - 0xe]
movsx r9d, word [rsi + 0x42]
add r9d, 2
call fcn.14004fb30
mov r8, rdi
mov r9d, 0xfffffff6
mov rdi, qword [rsp + 0x68]
mov edx, eax
mov rcx, rdi
call fcn.140050160
mov r8, qword [rdi + 8]
test r8, r8
je 0x1400897b5
mov eax, dword [rsp + 0x1e0]
cmp eax, 0xa
movzx edx, al
mov eax, 2
cmove edx, eax
movsxd rax, dword [rdi + 0x3c]
lea rcx, [rax + rax*2]
mov byte [r8 + rcx*8 - 0x15], dl
mov rax, qword [r13 + 0x1c0]
mov rcx, r13
test rax, rax
cmovne rcx, rax
mov byte [rcx + 0x21], 1
jmp 0x1400898a5
mov eax, dword [rsp + 0x94]
lea rcx, [rsp + 0x148]
mov esi, dword [rsp + 0xb8]
mov ebp, dword [rsp + 0x8c]
mov r9d, ebp
mov r12d, dword [rsp + 0xbc]
mov r8, qword [rsp + 0xe0]
mov qword [rsp + 0x50], rcx
mov ecx, dword [rsp + 0x1e0]
mov dword [rsp + 0x48], r14d
mov byte [rsp + 0x40], cl
mov rcx, r13
shr eax, 0x1f
xor al, 1
mov byte [rsp + 0x38], al
mov dword [rsp + 0x30], r15d
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], r12d
call fcn.14008a1f0
mov r9d, esi
mov dword [rsp + 0x28], r15d
mov rsi, qword [rsp + 0x70]
xor r8d, r8d
mov rdx, rsi
mov qword [rsp + 0x20], r15
mov rcx, r13
call fcn.140085410
cmp dword [rsp + 0x148], 0
mov eax, r15d
mov r9d, r12d
mov r8d, ebp
sete al
mov rdx, rsi
mov dword [rsp + 0x40], eax
mov rcx, r13
mov eax, dword [rsp + 0xa0]
mov dword [rsp + 0x38], eax
mov rax, qword [rsp + 0xe0]
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x20], eax
call fcn.14008b2a0
jmp 0x1400898b4
mov rsi, qword [rsp + 0x70]
mov ebp, dword [rsp + 0x8c]
mov r12d, dword [rsp + 0xbc]
test byte [rbx + 0x2c], 0x80
je 0x1400898d9
mov r8d, dword [rsp + 0xd8]
mov r9d, 1
mov rcx, rdi
mov dword [rsp + 0x20], r15d
lea edx, [r9 + 0x24]
call fcn.14004fb30
mov rdx, qword [rsp + 0xf8]
test rdx, rdx
je 0x140089926
movsx eax, word [rsi + 0x42]
xor r9d, r9d
mov ecx, dword [rsp + 0xe8]
sub ecx, eax
mov dword [rsp + 0x40], r14d
mov eax, dword [rsp + 0x1e0]
sub ecx, 2
mov dword [rsp + 0x38], eax
lea r8d, [r9 + 0x6c]
mov dword [rsp + 0x30], ecx
mov rcx, r13
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 2
call fcn.1400a5070
mov r8, qword [rdi + 0x30]
not r14d
test r14d, r14d
js 0x140089947
mov rdx, qword [r8 + 0x80]
test rdx, rdx
je 0x140089947
mov eax, dword [rdi + 0x3c]
movsxd rcx, r14d
mov dword [rdx + rcx*4], eax
mov eax, dword [rdi + 0x3c]
dec eax
cmp byte [rsp + 0x60], 0
mov dword [r8 + 0x64], eax
je 0x1400899bb
mov r14d, dword [rsp + 0x88]
mov edx, 9
mov r9d, dword [rsp + 0xc0]
mov r8d, r14d
mov rcx, rdi
mov dword [rsp + 0x20], r15d
call fcn.14004fb30
mov eax, dword [rsp + 0xc4]
mov edx, dword [rdi + 0x3c]
cmp edx, eax
jbe 0x140089996
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rdi + 0x3c]
xor r9d, r9d
mov rax, qword [rdi + 0x30]
dec ecx
mov r8d, r14d
mov dword [rsp + 0x20], r15d
lea edx, [r9 + 0x3d]
mov dword [rax + 0x64], ecx
mov rcx, rdi
call fcn.14004fb30
jmp 0x140089a08
cmp qword [rsp + 0xa8], 0
je 0x140089a08
mov r9d, dword [rsp + 0xc0]
xor r8d, r8d
mov rcx, rdi
mov dword [rsp + 0x20], r15d
lea edx, [r8 + 0x10]
call fcn.14004fb30
mov eax, dword [rsp + 0xc4]
mov edx, dword [rdi + 0x3c]
cmp edx, eax
jbe 0x1400899fc
lea rcx, [rax + rax*2]
mov rax, qword [rdi + 8]
mov dword [rax + rcx*8 + 8], edx
mov ecx, dword [rdi + 0x3c]
mov rax, qword [rdi + 0x30]
dec ecx
mov dword [rax + 0x64], ecx
test byte [rsi + 0x48], 0x10
jne 0x140089a7d
cmp qword [rsp + 0x100], 0
jne 0x140089a7d
cmp ebp, r12d
jge 0x140089a35
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, ebp
mov rcx, rdi
lea edx, [r9 + 0x3d]
call fcn.14004fb30
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x140089a78
mov rbp, qword [rsp + 0x68]
nop dword [rax]
nop word [rax + rax]
xor r9d, r9d
mov dword [rsp + 0x20], r15d
mov r8d, r12d
mov rcx, rbp
lea edx, [r9 + 0x3d]
call fcn.14004fb30
mov rdi, qword [rdi + 0x28]
inc r12d
test rdi, rdi
jne 0x140089a50
mov rdi, rbp
jmp 0x140089a7d
mov rdi, qword [rsp + 0x68]
cmp byte [r13 + 0x1e], 0
jne 0x140089a96
cmp qword [r13 + 0x1c8], 0
jne 0x140089a96
mov rcx, r13
call fcn.140087d30
xor r15d, r15d
test byte [rbx + 0x2c], 0x80
je 0x140089b01
cmp byte [r13 + 0x1e], r15b
jne 0x140089b01
cmp qword [r13 + 0x1c8], r15
jne 0x140089b01
mov r8d, dword [rsp + 0xd8]
lea r9d, [r15 + 1]
lea edx, [r15 + 0x23]
mov dword [rsp + 0x20], r15d
mov rcx, rdi
call fcn.14004fb30
lea edx, [r15 + 1]
mov rcx, rdi
call fcn.140051580
mov rax, qword [rdi]
cmp byte [rax + 0x50], r15b
jne 0x140089b01
mov rcx, qword [rdi + 0x20]
lea r8d, [r15 - 1]
mov r9b, 1
mov qword [rsp + 0x20], r15
lea rdx, str.rows_inserted
call fcn.14004ed00
jmp 0x140089b01
xor r15d, r15d
mov r12, qword [rsp + 0x78]
mov r13, qword [rsp + 0x108]
test r13, r13
je 0x140089e27
cmp dword [r13], 0
jle 0x140089dd7
lea r14, [r13 + 0x18]
mov rcx, qword [r14 - 8]
test rcx, rcx
je 0x140089b7b
test rbx, rbx
je 0x140089b76
cmp qword [rbx + 0x320], 0
je 0x140089b4b
mov rdx, rcx
mov rcx, rbx
call fcn.14002d0b0
jmp 0x140089b7b
cmp rcx, qword [rbx + 0x168]
jb 0x140089b76
cmp rcx, qword [rbx + 0x170]
jae 0x140089b76
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x140089b7b
call fcn.14002d010
mov rcx, qword [r14]
test rcx, rcx
je 0x140089bcf
test rbx, rbx
je 0x140089bca
cmp qword [rbx + 0x320], 0
je 0x140089b9f
mov rdx, rcx
mov rcx, rbx
call fcn.14002d0b0
jmp 0x140089bcf
cmp rcx, qword [rbx + 0x168]
jb 0x140089bca
cmp rcx, qword [rbx + 0x170]
jae 0x140089bca
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x140089bcf
call fcn.14002d010
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x140089c24
test rbx, rbx
je 0x140089c1f
cmp qword [rbx + 0x320], 0
je 0x140089bf4
mov rdx, rcx
mov rcx, rbx
call fcn.14002d0b0
jmp 0x140089c24
cmp rcx, qword [rbx + 0x168]
jb 0x140089c1f
cmp rcx, qword [rbx + 0x170]
jae 0x140089c1f
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x140089c24
call fcn.14002d010
mov rcx, qword [r14 + 0x58]
test rcx, rcx
je 0x140089c79
test rbx, rbx
je 0x140089c74
cmp qword [rbx + 0x320], 0
je 0x140089c49
mov rdx, rcx
mov rcx, rbx
call fcn.14002d0b0
jmp 0x140089c79
cmp rcx, qword [rbx + 0x168]
jb 0x140089c74
cmp rcx, qword [rbx + 0x170]
jae 0x140089c74
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x140089c79
call fcn.14002d010
mov rdx, qword [r14 + 0x10]
mov rcx, rbx
call fcn.1400732e0
mov rdx, qword [r14 + 0x18]
mov rcx, rbx
call fcn.140095c10
mov rdx, qword [r14 + 0x40]
mov rcx, rbx
call fcn.140065d70
mov rdi, qword [r14 + 0x48]
test rdi, rdi
je 0x140089dc6
xor eax, eax
mov ebp, eax
cmp dword [rdi + 8], eax
jle 0x140089d23
mov esi, eax
nop word [rax + rax]
mov rax, qword [rdi]
mov rcx, qword [rsi + rax]
test rcx, rcx
je 0x140089d18
test rbx, rbx
je 0x140089d13
cmp qword [rbx + 0x320], 0
je 0x140089ce8
mov rdx, rcx
mov rcx, rbx
call fcn.14002d0b0
jmp 0x140089d18
cmp rcx, qword [rbx + 0x168]
jb 0x140089d13
cmp rcx, qword [rbx + 0x170]
jae 0x140089d13
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x140089d18
call fcn.14002d010
inc ebp
add rsi, 0x10
cmp ebp, dword [rdi + 8]
jl 0x140089cc0
mov rcx, qword [rdi]
test rcx, rcx
je 0x140089d77
test rbx, rbx
je 0x140089d72
cmp qword [rbx + 0x320], 0
je 0x140089d47
mov rdx, rcx
mov rcx, rbx
call fcn.14002d0b0
jmp 0x140089d7c
cmp rcx, qword [rbx + 0x168]
jb 0x140089d72
cmp rcx, qword [rbx + 0x170]
jae 0x140089d72
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x140089d7c
call fcn.14002d010
test rbx, rbx
je 0x140089dbe
cmp qword [rbx + 0x320], 0
je 0x140089d93
mov rdx, rdi
mov rcx, rbx
call fcn.14002d0b0
jmp 0x140089dc6
cmp rdi, qword [rbx + 0x168]
jb 0x140089dbe
cmp rdi, qword [rbx + 0x170]
jae 0x140089dbe
mov rax, qword [rbx + 0x160]
mov qword [rdi], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rdi
jmp 0x140089dc6
mov rcx, rdi
call fcn.14002d010
inc r15d
add r14, 0x78
cmp r15d, dword [r13]
jl 0x140089b26
test rbx, rbx
je 0x140089e1f
cmp qword [rbx + 0x320], 0
je 0x140089df3
mov rdx, r13
mov rcx, rbx
call fcn.14002d0b0
jmp 0x140089e27
cmp r13, qword [rbx + 0x168]
jb 0x140089e1f
cmp r13, qword [rbx + 0x170]
jae 0x140089e1f
mov rax, qword [rbx + 0x160]
mov qword [r13], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], r13
jmp 0x140089e27
mov rcx, r13
call fcn.14002d010
mov r14, qword [rsp + 0xc8]
xor ebp, ebp
mov r15, qword [rsp + 0x178]
mov r13, qword [rsp + 0x188]
test r14, r14
je 0x140089fc4
mov esi, ebp
mov rdi, qword [r14 + 8]
cmp dword [r14], ebp
jle 0x140089f22
nop dword [rax]
mov rdx, qword [rdi]
mov rcx, rbx
call fcn.140065d70
mov rcx, qword [rdi + 8]
test rcx, rcx
je 0x140089ebf
test rbx, rbx
je 0x140089eba
cmp qword [rbx + 0x320], rbp
je 0x140089e8f
mov rdx, rcx
mov rcx, rbx
call fcn.14002d0b0
jmp 0x140089ebf
cmp rcx, qword [rbx + 0x168]
jb 0x140089eba
cmp rcx, qword [rbx + 0x170]
jae 0x140089eba
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x140089ebf
call fcn.14002d010
mov rcx, qword [rdi + 0x10]
test rcx, rcx
je 0x140089f13
test rbx, rbx
je 0x140089f0e
cmp qword [rbx + 0x320], rbp
je 0x140089ee3
mov rdx, rcx
mov rcx, rbx
call fcn.14002d0b0
jmp 0x140089f13
cmp rcx, qword [rbx + 0x168]
jb 0x140089f0e
cmp rcx, qword [rbx + 0x170]
jae 0x140089f0e
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x140089f13
call fcn.14002d010
inc esi
add rdi, 0x28
cmp esi, dword [r14]
jl 0x140089e60
mov rcx, qword [r14 + 8]
test rcx, rcx
je 0x140089f76
test rbx, rbx
je 0x140089f71
cmp qword [rbx + 0x320], rbp
je 0x140089f46
mov rdx, rcx
mov rcx, rbx
call fcn.14002d0b0
jmp 0x140089f7b
cmp rcx, qword [rbx + 0x168]
jb 0x140089f71
cmp rcx, qword [rbx + 0x170]
jae 0x140089f71
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x140089f7b
call fcn.14002d010
test rbx, rbx
je 0x140089fbc
cmp qword [rbx + 0x320], rbp
je 0x140089f91
mov rdx, r14
mov rcx, rbx
call fcn.14002d0b0
jmp 0x140089fc4
cmp r14, qword [rbx + 0x168]
jb 0x140089fbc
cmp r14, qword [rbx + 0x170]
jae 0x140089fbc
mov rax, qword [rbx + 0x160]
mov qword [r14], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], r14
jmp 0x140089fc4
mov rcx, r14
call fcn.14002d010
mov rdi, qword [rsp + 0xa8]
mov r14, qword [rsp + 0x180]
mov rsi, qword [rsp + 0x1a0]
test rdi, rdi
je 0x14008a03b
mov rdx, rdi
mov rcx, rbx
call fcn.140094e40
test rbx, rbx
je 0x14008a033
cmp qword [rbx + 0x320], 0
je 0x14008a008
mov rdx, rdi
mov rcx, rbx
call fcn.14002d0b0
jmp 0x14008a03b
cmp rdi, qword [rbx + 0x168]
jb 0x14008a033
cmp rdi, qword [rbx + 0x170]
jae 0x14008a033
mov rax, qword [rbx + 0x160]
mov qword [rdi], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rdi
jmp 0x14008a03b
mov rcx, rdi
call fcn.14002d010
test r12, r12
je 0x14008a15b
cmp dword [r12 + 8], 0
jle 0x14008a0b6
mov rdi, rbp
nop
mov rax, qword [r12]
mov rcx, qword [rdi + rax]
test rcx, rcx
je 0x14008a0a9
test rbx, rbx
je 0x14008a0a4
cmp qword [rbx + 0x320], 0
je 0x14008a079
mov rdx, rcx
mov rcx, rbx
call fcn.14002d0b0
jmp 0x14008a0a9
cmp rcx, qword [rbx + 0x168]
jb 0x14008a0a4
cmp rcx, qword [rbx + 0x170]
jae 0x14008a0a4
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x14008a0a9
call fcn.14002d010
inc ebp
add rdi, 0x10
cmp ebp, dword [r12 + 8]
jl 0x14008a050
mov rcx, qword [r12]
test rcx, rcx
je 0x14008a10b
test rbx, rbx
je 0x14008a106
cmp qword [rbx + 0x320], 0
je 0x14008a0db
mov rdx, rcx
mov rcx, rbx
call fcn.14002d0b0
jmp 0x14008a110
cmp rcx, qword [rbx + 0x168]
jb 0x14008a106
cmp rcx, qword [rbx + 0x170]
jae 0x14008a106
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x14008a110
call fcn.14002d010
test rbx, rbx
je 0x14008a153
cmp qword [rbx + 0x320], 0
je 0x14008a127
mov rdx, r12
mov rcx, rbx
call fcn.14002d0b0
jmp 0x14008a15b
cmp r12, qword [rbx + 0x168]
jb 0x14008a153
cmp r12, qword [rbx + 0x170]
jae 0x14008a153
mov rax, qword [rbx + 0x160]
mov qword [r12], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], r12
jmp 0x14008a15b
mov rcx, r12
call fcn.14002d010
mov rcx, qword [rsp + 0xe0]
mov r12, qword [rsp + 0x190]
mov rdi, qword [rsp + 0x198]
mov rbp, qword [rsp + 0x1a8]
test rcx, rcx
je 0x14008a1cc
test rbx, rbx
je 0x14008a1c7
cmp qword [rbx + 0x320], 0
je 0x14008a19c
mov rdx, rcx
mov rcx, rbx
call fcn.14002d0b0
jmp 0x14008a1cc
cmp rcx, qword [rbx + 0x168]
jb 0x14008a1c7
cmp rcx, qword [rbx + 0x170]
jae 0x14008a1c7
mov rax, qword [rbx + 0x160]
mov qword [rcx], rax
dec dword [rbx + 0x14c]
mov qword [rbx + 0x160], rcx
jmp 0x14008a1cc
call fcn.14002d010
mov rcx, qword [rsp + 0x168]
xor rcx, rsp
call fcn.1400c2880
add rsp, 0x1b0
pop rbx
ret