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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x178
xor eax, eax
mov r13, rcx
xor ecx, ecx
mov dword [rsp + 0xdc], eax
mov rsi, r9
mov qword [rsp + 0x118], rax
mov rdi, r8
mov dword [rsp + 0x90], eax
mov r12, rdx
mov rbp, qword [r13]
mov ebx, eax
mov qword [rsp + 0xc8], rbp
mov r15d, eax
mov dword [rsp + 0xe4], eax
mov dword [rsp + 0xb0], eax
mov dword [rsp + 0xd0], eax
mov word [rsp + 0xa0], ax
mov dword [rsp + 0xb4], eax
mov dword [rsp + 0xb8], eax
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x80], eax
mov dword [rsp + 0xd8], eax
mov dword [rsp + 0x10c], eax
mov dword [rsp + 0x70], eax
mov dword [rsp + 0x6c], eax
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0x130], rcx
cmp dword [r13 + 0x30], eax
jne 0x14008645c
cmp byte [rbp + 0x55], al
jne 0x14008645c
mov rcx, r13
call fcn.1400632d0
mov qword [rsp + 0x88], rax
mov r14, rax
test rax, rax
je 0x140086454
mov rdx, qword [rax + 0x70]
mov edi, 0xfff0bdc0
mov dword [rsp + 0x74], edi
test rdx, rdx
je 0x140084657
mov rax, qword [r13]
xor r9d, r9d
mov edi, r9d
mov dword [rsp + 0x74], r9d
movsxd rcx, dword [rax + 0x28]
test ecx, ecx
jle 0x140084657
mov rax, qword [rax + 0x20]
mov r8, rcx
add rax, 0x18
mov ecx, r9d
cmp qword [rax], rdx
je 0x140084653
inc edi
inc rcx
add rax, 0x20
cmp rcx, r8
jl 0x140084640
mov dword [rsp + 0x74], edi
mov r9, qword [rsp + 0x1d0]
lea rax, [rsp + 0xf0]
mov r8d, 0x6e
mov qword [rsp + 0x20], rax
mov rdx, r14
mov rcx, r13
call fcn.1400837b0
mov qword [rsp + 0xc0], rax
mov rdx, r14
mov rax, qword [r14 + 0x18]
mov rcx, r13
mov qword [rsp + 0x110], rax
call fcn.14005ddd0
test eax, eax
jne 0x14008644c
mov r8d, dword [rsp + 0xf0]
mov rdx, r14
mov rcx, r13
call fcn.1400633b0
test eax, eax
jne 0x14008644c
mov r10d, dword [r13 + 0x34]
mov dword [r12 + 0x50], r10d
inc dword [r13 + 0x34]
test byte [r14 + 0x40], 0x20
mov ecx, dword [r13 + 0x34]
lea eax, [r10 + 1]
mov dword [rsp + 0xe0], eax
mov dword [rsp + 0x60], r10d
mov dword [rsp + 0xd4], r10d
jne 0x1400846fe
xor eax, eax
mov r9d, eax
mov qword [rsp + 0xa8], rax
jmp 0x14008472d
mov r9, qword [r14 + 0x10]
mov qword [rsp + 0xa8], r9
test r9, r9
je 0x14008472b
nop
mov eax, dword [r9 + 0x64]
and al, 3
cmp al, 2
je 0x140084723
mov r9, qword [r9 + 0x28]
test r9, r9
jne 0x140084710
mov qword [rsp + 0xa8], r9
xor eax, eax
mov rdx, qword [r14 + 0x10]
mov esi, eax
mov dword [rsp + 0x108], eax
test rdx, rdx
je 0x140084778
nop
mov eax, dword [rdx + 0x64]
mov r8d, ecx
and al, 3
cmp al, 2
jne 0x14008475e
test r9, r9
je 0x14008475e
mov dword [r12 + 0x50], ecx
mov r8d, dword [r13 + 0x34]
mov dword [rsp + 0x60], ecx
lea ecx, [r8 + 1]
inc esi
mov dword [r13 + 0x34], ecx
mov rdx, qword [rdx + 0x28]
test rdx, rdx
jne 0x140084740
mov dword [rsp + 0x108], esi
movsx eax, word [r14 + 0x46]
mov rcx, rbp
add eax, esi
movsxd rbx, esi
cdqe
lea rdx, [rax*4 + 2]
add rdx, rbx
call fcn.1400157c0
mov qword [rsp + 0x78], rax
mov r12, rax
test rax, rax
je 0x140086439
movsx rcx, word [r14 + 0x46]
mov edx, 1
lea rax, [rax + rcx*4]
lea rbp, [rax + rbx*4]
mov qword [rsp + 0x120], rax
lea ecx, [rsi + 1]
mov qword [rsp + 0xf8], rbp
movsxd rsi, ecx
mov rcx, rbp
mov r8, rsi
mov qword [rsp + 0x128], rsi
call fcn.1400a6c90
xor r8d, r8d
mov byte [rbx + rbp + 1], r15b
mov edx, r8d
cmp r8w, word [r14 + 0x46]
jge 0x140084815
mov rcx, r12
nop dword [rax + rax]
mov dword [rcx], 0xffffffff
lea rcx, [rcx + 4]
movsx eax, word [r14 + 0x46]
inc edx
cmp edx, eax
jl 0x140084800
mov rax, qword [rsp + 0x1c8]
xor bpl, bpl
xor bl, bl
mov qword [rsp + 0x140], rax
mov rax, qword [rsp + 0x1d0]
xorps xmm0, xmm0
xorps xmm1, xmm1
mov qword [rsp + 0x168], r8
movdqu xmmword [rsp + 0x148], xmm0
mov qword [rsp + 0x138], r13
mov r12d, r8d
movdqu xmmword [rsp + 0x158], xmm1
mov dword [rsp + 0xa4], ebp
mov byte [rsp + 0x64], bl
cmp dword [rax], r8d
jle 0x140084ab0
movsxd rsi, edi
mov rbx, rax
mov qword [rsp + 0x100], rsi
nop
mov rdx, qword [rbx + 8]
lea rcx, [rsp + 0x138]
mov rdx, qword [r15 + rdx]
call fcn.14004c1f0
test eax, eax
jne 0x14008642a
movzx ecx, word [r14 + 0x46]
xor eax, eax
mov r11d, eax
mov edi, eax
cmp ax, cx
jge 0x14008495b
mov rbp, qword [r14 + 8]
lea r9, [0x1400e2570]
mov r14, qword [rbx + 8]
mov r10, rbp
movsx rsi, cx
mov rbx, qword [r14 + r15 + 8]
nop dword [rax]
movzx eax, byte [rbx]
mov r8, qword [r10]
movzx ecx, byte [rax + r9]
movzx edx, byte [r8]
movzx eax, byte [rdx + r9]
sub eax, ecx
jne 0x14008492d
mov r9, rbx
sub r9, r8
nop
test dl, dl
je 0x14008491e
movzx eax, byte [r9 + r8 + 1]
lea rcx, [0x1400e2570]
movzx edx, byte [r8 + 1]
inc r8
movzx ecx, byte [rax + rcx]
lea rax, [0x1400e2570]
movzx eax, byte [rdx + rax]
sub eax, ecx
je 0x1400848f0
jmp 0x140084926
test eax, eax
je 0x1400849b2
lea r9, [0x1400e2570]
inc r11d
inc rdi
add r10, 0x20
cmp rdi, rsi
jl 0x1400848d0
mov ebp, dword [rsp + 0xa4]
mov rbx, qword [rsp + 0x1d0]
mov r14, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x100]
movsx eax, word [r14 + 0x46]
cmp r11d, eax
jl 0x140084a28
cmp qword [rsp + 0xa8], 0
jne 0x140084b85
mov rbx, qword [rbx + 8]
mov rcx, qword [rbx + r15 + 8]
call fcn.14004f370
test eax, eax
je 0x140084b85
mov rax, qword [rbx + r15]
lea r9, str.ROWID
mov qword [rsp + 0x118], rax
mov rdi, 0xffffffffffffffff
mov byte [rsp + 0x64], 1
jmp 0x140084a45
mov rax, qword [rsp + 0x88]
movsx eax, word [rax + 0x44]
cmp r11d, eax
jne 0x1400849e9
mov rax, qword [r14 + r15]
mov qword [rsp + 0x118], rax
mov byte [rsp + 0x64], 1
mov rax, qword [rsp + 0x78]
mov ebp, dword [rsp + 0xa4]
mov dword [rax + rdi*4], r12d
jmp 0x140084943
cmp qword [rsp + 0xa8], 0
je 0x1400849d4
mov rax, rdi
shl rax, 5
test byte [rax + rbp + 0x1b], 1
mov eax, 1
mov ebp, dword [rsp + 0xa4]
movzx ebp, bpl
cmovne ebp, eax
mov rax, qword [rsp + 0x78]
mov dword [rsp + 0xa4], ebp
mov dword [rax + rdi*4], r12d
jmp 0x140084943
test rdi, rdi
jns 0x140084a36
lea r9, str.ROWID
jmp 0x140084a45
mov rax, qword [r14 + 8]
mov rcx, rdi
shl rcx, 5
mov r9, qword [rcx + rax]
mov rax, qword [rsp + 0xc8]
mov rcx, rsi
mov r8, qword [r14]
mov edx, 0x17
shl rcx, 5
mov rax, qword [rax + 0x20]
mov rcx, qword [rcx + rax]
mov qword [rsp + 0x20], rcx
mov rcx, r13
call fcn.1400598f0
cmp eax, 1
je 0x14008642a
cmp eax, 2
jne 0x140084a8b
mov rax, qword [rsp + 0x78]
mov dword [rax + rdi*4], 0xffffffff
mov rbx, qword [rsp + 0x1d0]
inc r12d
add r15, 0x28
cmp r12d, dword [rbx]
jl 0x140084880
mov r15d, dword [rsp + 0xb4]
movzx ebx, byte [rsp + 0x64]
mov eax, dword [r14 + 0x54]
add bpl, bl
mov rbx, qword [rsp + 0x78]
neg eax
mov rax, qword [rsp + 0x1c8]
mov r8, rbx
sbb rcx, rcx
mov byte [rsp + 0x65], bpl
mov rdx, r14
mov qword [rax + 0x68], rcx
mov rcx, r13
movzx eax, bpl
mov r9d, eax
mov dword [rsp + 0xec], eax
call fcn.14006a830
mov r8, qword [r14 + 0x10]
mov edi, eax
mov dword [rsp + 0xe8], eax
test r8, r8
je 0x140084c7c
mov r14, qword [rsp + 0xf8]
xor ecx, ecx
mov rsi, qword [rsp + 0xa8]
mov r11d, ecx
mov r12, qword [rsp + 0x120]
test bpl, bpl
jne 0x140084c0c
test edi, edi
jne 0x140084c0c
cmp qword [r8 + 0x48], 0
jne 0x140084c0c
cmp r8, rsi
je 0x140084c0c
movzx eax, word [r8 + 0x5e]
mov r9d, ecx
mov rdx, rcx
cmp cx, ax
jae 0x140084c28
mov rcx, qword [r8 + 8]
movzx r10d, ax
movzx eax, word [rcx]
test ax, ax
js 0x140084bd3
movsx rax, ax
cmp dword [rbx + rax*4], 0
jge 0x140084bd3
inc rdx
add rcx, 2
cmp rdx, r10
jl 0x140084b62
jmp 0x140084c28
mov rdi, qword [rsp + 0x1d0]
lea rdx, str.no_such_column:__s
movsxd rax, r12d
mov r8, qword [rdi + 8]
lea rcx, [rax + rax*4]
mov r8, qword [r8 + rcx*8 + 8]
mov rcx, r13
call fcn.1400184b0
mov rbx, qword [rsp + 0x78]
mov rbp, qword [rsp + 0xc8]
mov r12, qword [rsp + 0x1c8]
mov rsi, qword [rsp + 0x1d8]
mov byte [r13 + 0x1d], 1
jmp 0x140086454
mov r9d, dword [r13 + 0x38]
inc r9d
mov dword [r13 + 0x38], r9d
movzx eax, word [r8 + 0x60]
add eax, r9d
mov dword [r13 + 0x38], eax
mov eax, dword [rsp + 0x1e0]
cmp eax, 5
je 0x140084c02
cmp eax, 0xa
jne 0x140084c23
cmp byte [r8 + 0x62], 5
jne 0x140084c23
mov eax, 1
mov r15d, eax
jmp 0x140084c23
mov r9d, dword [r13 + 0x38]
inc r9d
mov dword [r13 + 0x38], r9d
movzx eax, word [r8 + 0x60]
add eax, r9d
mov dword [r13 + 0x38], eax
test r9d, r9d
jne 0x140084c2e
mov byte [r11 + r14 + 1], 0
mov dword [r12 + r11*4], r9d
mov ecx, 0
mov r8, qword [r8 + 0x28]
inc r11
test r8, r8
jne 0x140084b21
mov r14, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x128]
mov r12, qword [rsp + 0xf8]
mov dword [rsp + 0xb4], r15d
test r15d, r15d
je 0x140084c84
lea edx, [rcx + 1]
mov r8, rsi
mov rcx, r12
call fcn.1400a6c90
jmp 0x140084c84
mov r12, qword [rsp + 0xf8]
mov rsi, qword [r13 + 0x10]
test rsi, rsi
jne 0x140084ca1
mov rcx, r13
call fcn.14007a150
mov rsi, rax
test rax, rax
je 0x14008642f
cmp byte [r13 + 0x1e], 0
jne 0x140084caf
or dword [rsi + 0xc0], 0x10
mov rax, qword [r13 + 0xa0]
mov rbx, r13
mov r15d, dword [rsp + 0x74]
test rax, rax
cmovne rbx, rax
mov eax, dword [rbx + 0x7c]
bt eax, r15d
jb 0x140084ce3
bts eax, r15d
mov dword [rbx + 0x7c], eax
cmp r15d, 1
jne 0x140084ce3
mov rcx, rbx
call fcn.140061930
mov eax, dword [rbx + 0x78]
or byte [rbx + 0x20], 1
bts eax, r15d
mov dword [rbx + 0x78], eax
cmp dword [r14 + 0x54], 0
jne 0x140084d8a
mov ebx, dword [r13 + 0x38]
inc ebx
cmp byte [rsp + 0xa4], 0
mov dword [rsp + 0x70], ebx
lea edx, [rbx + 1]
mov dword [rsp + 0x80], edx
mov r15d, edx
mov dword [r13 + 0x38], edx
mov dword [rsp + 0x68], edx
jne 0x140084d38
mov rax, qword [rsp + 0xc0]
test rax, rax
jne 0x140084d38
mov ecx, edx
test edi, edi
je 0x140084d55
movsx ecx, word [r14 + 0x46]
lea eax, [rdx + 1]
add ecx, edx
mov dword [rsp + 0x10c], eax
mov rax, qword [rsp + 0xc0]
mov dword [r13 + 0x38], ecx
test bpl, bpl
jne 0x140084d63
test rax, rax
jne 0x140084d63
test edi, edi
je 0x140084d73
lea eax, [rcx + 1]
mov dword [rsp + 0x80], eax
mov ecx, eax
mov dword [r13 + 0x38], eax
lea eax, [rcx + 1]
mov dword [rsp + 0xd8], eax
movsx eax, word [r14 + 0x46]
add eax, ecx
mov dword [r13 + 0x38], eax
jmp 0x140084d91
mov ebx, dword [rsp + 0x70]
mov r15d, ebx
mov rcx, qword [rsp + 0x110]
test rcx, rcx
je 0x140084dd7
mov rax, qword [r13 + 0x210]
mov rdx, r14
mov r9d, dword [rsp + 0x60]
mov rcx, r13
mov r8, qword [rsp + 0x1d8]
mov qword [rsp + 0x98], rax
mov rax, qword [r14]
mov qword [r13 + 0x210], rax
mov qword [rsp + 0x130], r13
call fcn.140063450
mov rdx, qword [rsp + 0x1d8]
lea rcx, [rsp + 0x138]
call fcn.14004c1f0
test eax, eax
jne 0x14008642a
cmp dword [r14 + 0x54], eax
je 0x140084e57
mov eax, dword [rsp + 0x1e0]
mov r8, r14
mov rsi, qword [rsp + 0x1d8]
mov rcx, r13
mov rbx, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x1d0]
mov r12, qword [rsp + 0x1c8]
mov r9, rdi
mov dword [rsp + 0x38], eax
mov rdx, r12
mov rax, qword [rsp + 0x118]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rax
call fcn.140086510
mov rbp, qword [rsp + 0xc8]
jmp 0x140086454
mov rax, qword [rsp + 0xc8]
test byte [rax + 0x2c], 0x80
je 0x140084ea5
cmp qword [r13 + 0xa8], 0
jne 0x140084ea5
inc dword [r13 + 0x38]
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
mov edx, dword [r13 + 0x38]
mov dword [rsp + 0xb8], edx
cmp dword [rax + 0x3c], ecx
jg 0x140084edf
xor eax, eax
mov r9d, edx
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x4d]
call fcn.140036ff0
xor r9d, r9d
test byte [r14 + 0x40], 0x20
jne 0x140084f37
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140084f0b
xor r8d, r8d
mov dword [rsp + 0x20], r15d
mov r9d, ebx
mov rcx, rsi
lea edx, [r8 + 0x50]
call fcn.140036ff0
jmp 0x140085086
lea eax, [rcx + 1]
xor r9d, r9d
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], 0x4d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x140084ea8
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], 0x50
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x140085089
mov rax, qword [rsp + 0xa8]
mov r8d, dword [r13 + 0x34]
mov dword [rsp + 0x90], r8d
movsx ecx, word [rax + 0x5e]
mov eax, dword [r13 + 0x38]
mov ebx, ecx
mov word [rsp + 0xa0], cx
inc ecx
lea edx, [rax + 1]
add eax, ecx
mov dword [r13 + 0x38], eax
mov dword [rsp + 0x6c], eax
lea eax, [r8 + 1]
mov dword [r13 + 0x34], eax
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
mov dword [rsp + 0xd0], edx
cmp dword [rax + 0x3c], ecx
jg 0x140084faf
xor r8d, r8d
mov dword [rsp + 0x20], r9d
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 0x50]
call fcn.140036ff0
mov r8d, dword [rsp + 0x90]
xor r9d, r9d
jmp 0x140084fd6
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], 0x50
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
movsxd r15, dword [rsi + 0xb8]
mov rax, qword [rsi + 0x18]
mov dword [rsp + 0xb0], r15d
cmp dword [rax + 0x3c], r15d
jg 0x14008500d
mov dword [rsp + 0x20], r9d
mov edx, 0x6c
mov r9d, ebx
mov rcx, rsi
call fcn.140036ff0
mov dword [rsp + 0xb0], eax
jmp 0x140085039
lea rcx, [r15 + r15*2]
lea eax, [r15 + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x6c
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov rdx, qword [rsp + 0xa8]
mov rcx, r13
mov rbx, qword [r13 + 0x10]
call fcn.140062240
mov rdx, rax
test rax, rax
je 0x140085086
mov rcx, qword [rbx]
cmp byte [rcx + 0x55], 0
je 0x14008506d
mov r8, rax
mov edx, 0xfffffffb
call fcn.140037e90
jmp 0x140085086
movsxd rax, dword [rbx + 0xb8]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
mov byte [rax + rcx*8 - 0x17], 0xfb
mov qword [rax + rcx*8 - 8], rdx
xor r9d, r9d
cmp byte [r13 + 0x1e], 0
mov eax, 0x1004
jne 0x1400850b8
cmp qword [rsp + 0xc0], 0
jne 0x1400850b8
test edi, edi
jne 0x1400850b8
test bpl, bpl
jne 0x1400850b8
cmp dword [rsp + 0xb4], edi
mov ecx, 0x100c
cmove eax, ecx
mov ecx, dword [rsp + 0xe0]
mov r8, qword [rsp + 0x1d8]
mov rdx, qword [rsp + 0x1c8]
mov dword [rsp + 0x30], ecx
mov rcx, r13
mov word [rsp + 0x28], ax
mov qword [rsp + 0x20], r9
xor r9d, r9d
call fcn.140094910
mov qword [rsp + 0x100], rax
mov rdi, rax
test rax, rax
je 0x14008642a
movzx r15d, byte [rax + 0x3d]
mov rbx, qword [rax + 0x24]
mov edx, dword [rsp + 0x60]
mov qword [rsp + 0x128], rbx
mov dword [rsp + 0x74], r15d
cmp r15d, 2
jne 0x14008514b
mov rcx, rbx
shr rcx, 0x20
test ecx, ecx
js 0x14008514b
cmp ecx, edx
je 0x14008514b
sub ecx, dword [rsp + 0xd4]
mov r8d, 0
movsxd rax, ecx
cmp byte [rax + r12], 0
cmovne r15d, r8d
mov dword [rsp + 0x74], r15d
jmp 0x14008514e
xor r8d, r8d
test byte [r14 + 0x40], 0x20
jne 0x1400851dd
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140085189
mov r9d, dword [rsp + 0x68]
mov rcx, rsi
mov dword [rsp + 0x20], r8d
mov r8d, edx
mov edx, 0x7b
call fcn.140036ff0
mov edx, dword [rsp + 0x68]
jmp 0x1400851b7
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x68]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0x7b
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
test r15d, r15d
jne 0x1400852ae
mov r14d, dword [rsp + 0x70]
mov r9d, edx
mov r8d, r14d
mov edx, 0x8f
mov rcx, rsi
call fcn.1400371a0
jmp 0x140085321
movsx r15, word [rsp + 0xa0]
mov r14, r15
test r15d, r15d
jle 0x14008524e
mov ebp, dword [rsp + 0xd0]
mov rdi, r8
mov r13, qword [rsp + 0x88]
mov r15, qword [rsp + 0xa8]
mov r12d, dword [rsp + 0x60]
nop dword [rax]
mov rax, qword [r15 + 8]
mov r8d, r12d
mov rdx, r13
mov dword [rsp + 0x20], ebp
mov rcx, rsi
movsx r9d, word [rax + rdi*2]
call fcn.140052420
inc ebp
inc rdi
cmp rdi, r14
jl 0x140085210
movsx r15d, word [rsp + 0xa0]
mov rdi, qword [rsp + 0x100]
mov r13, qword [rsp + 0x1c0]
cmp dword [rsp + 0x74], 0
mov r12d, dword [rsp + 0xd0]
je 0x1400852bb
mov rcx, qword [rsi]
cmp byte [rcx + 0x55], 0
jne 0x140085294
movsxd rax, dword [rsp + 0xb0]
lea rdx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
mov r8, qword [rax + rdx*8 + 0x10]
lea rdi, [rax + rdx*8]
movsx edx, byte [rax + rdx*8 + 1]
call fcn.140037e90
xor eax, eax
mov word [rdi], 0xa2
mov qword [rdi + 0x10], rax
mov rdi, qword [rsp + 0x100]
mov dword [rsp + 0xe4], r15d
mov r15d, dword [rsp + 0x74]
mov dword [rsp + 0x6c], r12d
mov r14d, dword [rsp + 0x70]
cmp r15d, 2
je 0x140085329
jmp 0x140085321
mov rdx, qword [rsp + 0xa8]
mov rcx, qword [rsp + 0xc8]
call fcn.14006b7b0
mov ebp, dword [rsp + 0x6c]
mov r9d, r15d
mov dword [rsp + 0x30], r15d
mov r8d, r12d
mov qword [rsp + 0x28], rax
mov edx, 0x64
mov rcx, rsi
mov dword [rsp + 0x20], ebp
call fcn.1400374e0
mov r8d, dword [rsp + 0x90]
mov r9d, ebp
mov edx, 0x7e
mov dword [rsp + 0x28], r15d
mov rcx, rsi
mov dword [rsp + 0x20], r12d
call fcn.140037810
mov r15d, dword [rsp + 0x74]
mov r14d, dword [rsp + 0x70]
mov rcx, rdi
call fcn.140095700
mov rdi, qword [rsi + 0x18]
movsxd r12, dword [rdi + 0x54]
lea eax, [r12 + 1]
mov dword [rdi + 0x54], eax
lea eax, [r12 - 1]
test r12d, eax
jne 0x140085362
mov rdx, qword [rdi + 0x58]
lea eax, [r12*2 + 1]
mov rcx, qword [rdi]
movsxd r8, eax
shl r8, 2
call fcn.1400159c0
mov qword [rdi + 0x58], rax
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x140085373
mov dword [rcx + r12*4], 0xffffffff
mov rax, qword [rsp + 0x110]
not r12d
mov ebp, dword [rsp + 0x12c]
mov dword [rsp + 0xb0], r12d
test rax, rax
jne 0x14008546e
xor r8d, r8d
mov edi, r8d
test r15d, r15d
je 0x1400853cc
mov edx, dword [rsp + 0xd4]
mov rcx, qword [rsp + 0xf8]
test ebx, ebx
js 0x1400853be
mov eax, ebx
sub eax, edx
cdqe
mov byte [rax + rcx], dil
test ebp, ebp
js 0x1400853cc
mov eax, ebp
sub eax, edx
cdqe
mov byte [rax + rcx], dil
cmp r15d, 2
jne 0x1400853f8
mov ecx, dword [rsp + 0x108]
test ebp, ebp
mov eax, r8d
setns al
sub ecx, eax
test ecx, ecx
jle 0x1400853f8
lea edx, [r15 + 0x12]
mov rcx, rsi
call fcn.1400370c0
mov edi, eax
xor r8d, r8d
mov rax, qword [rsp + 0xf8]
xor r9d, r9d
mov rdx, qword [rsp + 0x88]
mov rcx, r13
mov qword [rsp + 0x38], r8
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x28], rax
lea r8d, [r9 + 0x6a]
mov eax, dword [rsp + 0xd4]
mov dword [rsp + 0x20], eax
call fcn.14006f580
test edi, edi
je 0x140085466
mov rax, qword [rsi]
mov edx, dword [rsi + 0xb8]
cmp byte [rax + 0x55], 0
je 0x14008544d
lea rax, [0x1400fbd48]
jmp 0x140085463
lea eax, [rdx - 1]
test edi, edi
cmovns eax, edi
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov rax, qword [rsp + 0x110]
test r15d, r15d
je 0x140085533
test rax, rax
jne 0x1400854b0
mov eax, dword [rsp + 0x60]
cmp ebx, eax
je 0x1400854b0
mov ebx, dword [rsp + 0x6c]
cmp ebp, eax
je 0x1400854b4
mov ecx, dword [rsp + 0xe4]
mov r9d, r12d
mov dword [rsp + 0x28], ecx
mov r8d, eax
mov rcx, rsi
mov dword [rsp + 0x20], ebx
mov edx, 0x1e
call fcn.140037810
jmp 0x1400854b4
mov ebx, dword [rsp + 0x6c]
cmp r15d, 1
jne 0x1400854bf
mov r13d, r12d
jmp 0x1400854ca
mov rcx, rsi
call fcn.140037930
mov r13d, eax
cmp qword [rsp + 0xa8], 0
mov edx, dword [rsp + 0x68]
mov rcx, qword [rsi + 0x18]
cmovne edx, ebx
movsxd r8, dword [rsi + 0xb8]
xor ebp, ebp
mov dword [rsp + 0x70], r13d
cmp dword [rcx + 0x3c], r8d
jg 0x14008550c
mov r8d, edx
mov dword [rsp + 0x20], ebp
lea edx, [rbp + 0x22]
mov r9d, r12d
mov rcx, rsi
call fcn.140036ff0
jmp 0x140085714
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x22
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], ebp
jmp 0x14008570b
cmp qword [rsp + 0xa8], 0
je 0x14008563d
mov rcx, rsi
call fcn.140037930
movsxd rcx, dword [rsi + 0xb8]
mov r13d, eax
mov dword [rsp + 0x70], eax
xor ebp, ebp
mov rax, qword [rsi + 0x18]
cmp dword [rax + 0x3c], ecx
jg 0x140085586
mov r8d, dword [rsp + 0x90]
lea edx, [rbp + 0x3a]
mov r9d, r12d
mov dword [rsp + 0x20], ebp
mov rcx, rsi
call fcn.140036ff0
mov edx, dword [rsp + 0x90]
jmp 0x1400855b7
mov edx, dword [rsp + 0x90]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x3a
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
movsxd rdi, dword [rsi + 0xb8]
mov rax, qword [rsi + 0x18]
mov ebx, dword [rsp + 0x6c]
mov dword [rsp + 0xdc], edi
cmp dword [rax + 0x3c], edi
jg 0x1400855f2
mov r8d, edx
mov dword [rsp + 0x20], ebp
mov edx, 0x7a
mov r9d, ebx
mov rcx, rsi
call fcn.140036ff0
mov dword [rsp + 0xdc], eax
jmp 0x14008561b
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x7a
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov r8d, dword [rsp + 0x60]
mov r9d, r13d
mov dword [rsp + 0x28], ebp
mov edx, 0x1e
mov rcx, rsi
mov dword [rsp + 0x20], ebx
call fcn.140037810
jmp 0x140085714
movsxd r13, dword [rsi + 0xb8]
mov rax, qword [rsi + 0x18]
mov dword [rsp + 0x70], r13d
cmp dword [rax + 0x3c], r13d
jg 0x14008567e
mov eax, dword [rsp + 0x68]
mov r9d, r12d
mov r8d, r14d
mov dword [rsp + 0x20], eax
mov edx, 0x3f
mov rcx, rsi
call fcn.140036ff0
mov r8d, dword [rsp + 0x68]
mov r13d, eax
mov dword [rsp + 0x70], eax
xor ebp, ebp
jmp 0x1400856b9
mov r8d, dword [rsp + 0x68]
lea eax, [r13 + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [r13*2]
mov rax, qword [rsi + 0x68]
add rcx, r13
xor ebp, ebp
mov dword [rax + rcx*8], 0x3f
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x1400856e5
mov dword [rsp + 0x20], r8d
mov r9d, r13d
mov r8d, dword [rsp + 0x60]
mov edx, 0x21
mov rcx, rsi
call fcn.140036ff0
jmp 0x140085714
mov edx, dword [rsp + 0x60]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x21
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rbp
mov dword [rax + rcx*8 + 4], edx
cmp byte [rsp + 0x64], 0
je 0x1400857db
mov rax, qword [rsp + 0x118]
test rax, rax
je 0x14008574f
cmp byte [rax], 0x9d
jne 0x14008574f
mov rbx, qword [rsp + 0x1c0]
mov edx, 0x55
mov edi, dword [rsp + 0x80]
mov r8d, dword [rax + 0x2c]
mov rcx, qword [rbx + 0x10]
jmp 0x140085781
mov rbx, qword [rsp + 0x1c0]
mov rdx, rax
mov edi, dword [rsp + 0x80]
mov rcx, rbx
mov r8d, edi
call fcn.140052840
cmp eax, edi
je 0x140085789
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x140085789
mov r8d, eax
mov edx, 0x56
mov r9d, edi
call fcn.1400371a0
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x1400857b1
xor r9d, r9d
mov dword [rsp + 0x20], ebp
mov r8d, edi
mov rcx, rsi
lea edx, [r9 + 0x11]
call fcn.140036ff0
jmp 0x1400857db
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x11
mov dword [rax + rcx*8 + 4], edi
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rbp
cmp byte [rsp + 0xa4], 0
jne 0x1400858d4
cmp dword [rsp + 0xe8], 0
jne 0x1400858e2
mov rdx, qword [rsp + 0xc0]
test rdx, rdx
je 0x1400859ee
mov rbx, qword [rsp + 0x1c0]
mov r14d, ebp
mov rdi, qword [rsp + 0x88]
mov eax, dword [rsp + 0x1e0]
xor r9d, r9d
mov r8, qword [rsp + 0x1d0]
mov rcx, rbx
mov rdx, qword [rsp + 0xc0]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], 3
call fcn.140084300
xor r9d, r9d
or r14d, eax
mov ebx, r9d
cmp r9w, word [rdi + 0x46]
jge 0x140085971
mov r15, qword [rsp + 0x88]
lea edi, [r9 + 1]
mov r12d, dword [rsp + 0x60]
mov ebp, r9d
mov r13d, dword [rsp + 0x10c]
nop
cmp r14d, 0xffffffff
je 0x14008592e
cmp ebx, 0x20
jge 0x140085898
test r14d, edi
jne 0x14008592e
mov rax, qword [r15 + 8]
test byte [rax + rbp + 0x1b], 1
jne 0x14008592e
mov rax, qword [rsi + 0x18]
lea edx, [rbx + r13]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140085905
xor r8d, r8d
mov dword [rsp + 0x20], r9d
mov r9d, edx
mov rcx, rsi
lea edx, [r8 + 0x50]
call fcn.140036ff0
jmp 0x140085947
cmp dword [rsp + 0xe8], 0
je 0x140085808
mov rdi, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x1c0]
mov rdx, rdi
mov rcx, rbx
call fcn.14006a700
mov r14d, eax
jmp 0x14008581b
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], 0x50
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x14008594a
lea eax, [rbx + r13]
mov r9d, ebx
mov r8d, r12d
mov dword [rsp + 0x20], eax
mov rdx, r15
mov rcx, rsi
call fcn.140052420
xor r9d, r9d
movsx eax, word [r15 + 0x46]
inc ebx
rol edi, 1
add rbp, 0x20
cmp ebx, eax
jl 0x140085880
mov r13d, dword [rsp + 0x70]
mov r12d, dword [rsp + 0xb0]
mov r15d, dword [rsp + 0x74]
cmp byte [rsp + 0x64], 0
jne 0x1400859e6
cmp qword [rsp + 0xa8], 0
jne 0x1400859e6
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
mov r8d, dword [rsp + 0x68]
cmp dword [rax + 0x3c], ecx
jg 0x1400859b4
mov dword [rsp + 0x20], r9d
mov edx, 0x55
mov r9d, dword [rsp + 0x80]
mov rcx, rsi
call fcn.140036ff0
jmp 0x1400859e6
mov edx, dword [rsp + 0x80]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x55
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov rdx, qword [rsp + 0xc0]
mov ebx, dword [rsp + 0x1e0]
mov eax, 1
mov rdi, qword [rsp + 0x88]
mov r9d, eax
mov r14, qword [rsp + 0x1c0]
mov r8, qword [rsp + 0x1d0]
mov rcx, r14
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rdi
mov dword [rsp + 0x20], eax
call fcn.140084300
xor edx, edx
mov ebp, eax
cmp dx, word [rdi + 0x46]
jge 0x140085b1d
mov ebx, dword [rsp + 0xd8]
lea edi, [rdx + 1]
mov r14, qword [rsp + 0x78]
mov r15d, ebx
mov r12, qword [rsp + 0x1c0]
neg r15d
mov r13, qword [rsp + 0x88]
nop dword [rax]
movsx eax, word [r13 + 0x44]
lea r8d, [r15 + rbx]
cmp r8d, eax
jne 0x140085a9a
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140085c27
xor r8d, r8d
mov dword [rsp + 0x20], edx
mov rcx, rsi
mov r9d, ebx
lea edx, [r8 + 0x50]
call fcn.140036ff0
jmp 0x140085ae1
movsxd rax, dword [r14]
test eax, eax
js 0x140085bfb
lea rcx, [rax + rax*4]
mov rax, qword [rsp + 0x1d0]
mov rax, qword [rax + 8]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x140085bca
cmp byte [rdx], 0x9d
jne 0x140085bca
mov r8d, dword [rdx + 0x2c]
mov r9d, ebx
mov rcx, qword [r12 + 0x10]
mov edx, 0x55
call fcn.1400371a0
xor edx, edx
movsx eax, word [r13 + 0x46]
inc ebx
rol edi, 1
add r14, 4
lea ecx, [r15 + rbx]
cmp ecx, eax
jl 0x140085a60
mov r13d, dword [rsp + 0x70]
mov r12d, dword [rsp + 0xb0]
mov r15d, dword [rsp + 0x74]
mov r14, qword [rsp + 0x1c0]
mov ebx, dword [rsp + 0x1e0]
test byte [rsp + 0xf0], 1
mov rbp, qword [rsp + 0x88]
je 0x140085de1
mov r8d, dword [rsp + 0xd8]
mov rdx, rbp
mov rcx, rsi
call fcn.14006b8d0
mov r9, qword [rsp + 0x1d0]
mov eax, 1
mov rdx, qword [rsp + 0xc0]
mov rcx, r14
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x38], ebx
mov ebx, dword [rsp + 0x68]
lea r8d, [rax + 0x6d]
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x28], rbp
mov dword [rsp + 0x20], eax
call fcn.140084200
cmp qword [rsp + 0xa8], 0
mov rax, qword [rsi + 0x18]
movsxd rdx, dword [rsi + 0xb8]
mov ecx, dword [rax + 0x3c]
je 0x140085d30
mov r8d, dword [rsp + 0x60]
cmp ecx, edx
jg 0x140085cd6
mov eax, dword [rsp + 0x6c]
mov r9d, r13d
mov edx, 0x1e
mov dword [rsp + 0x20], eax
mov rcx, rsi
call fcn.140036ff0
mov edx, eax
jmp 0x140085d0a
mov r8d, ebx
mov rcx, r12
call fcn.140052840
cmp eax, ebx
je 0x140085ae1
mov rcx, qword [r12 + 0x10]
test rcx, rcx
je 0x140085ae1
mov r9d, ebx
mov r8d, eax
mov edx, 0x56
jmp 0x140085adc
mov eax, dword [rsp + 0xf0]
and eax, 1
test al, al
je 0x140085c52
cmp r8d, 0x1f
jg 0x140085c52
test ebp, edi
jne 0x140085c52
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jle 0x140085a82
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], 0x50
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
jmp 0x140085ae3
mov r9d, dword [rsp + 0x60]
mov rdx, r13
mov byte [rsp + 0x28], 0
mov rcx, r12
mov dword [rsp + 0x20], ebx
call fcn.140052560
mov r8d, eax
cmp eax, ebx
je 0x140085ae1
mov r10, qword [r12 + 0x10]
mov rdx, qword [r10 + 0x18]
movsxd rcx, dword [r10 + 0xb8]
cmp dword [rdx + 0x3c], ecx
jg 0x140085ca4
xor eax, eax
mov rcx, r10
mov r9d, ebx
mov dword [rsp + 0x20], eax
lea edx, [rax + 0x56]
call fcn.140036ff0
jmp 0x140085ae1
lea eax, [rcx + 1]
xor edx, edx
mov dword [r10 + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r10 + 0x68]
mov dword [rax + rcx*8], 0x56
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rdx
jmp 0x140085ae3
lea rcx, [rdx + rdx*2]
xor r9d, r9d
lea eax, [rdx + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], r8d
mov r8d, dword [rsp + 0x6c]
mov dword [rax + rcx*8 + 0xc], r8d
mov dword [rax + rcx*8], 0x1e
mov dword [rax + rcx*8 + 8], r13d
mov qword [rax + rcx*8 + 0x10], r9
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
jne 0x140085d80
movsxd rax, edx
mov edx, dword [rsp + 0xe4]
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
mov byte [rax + rcx*8 + 1], 0xf5
mov dword [rax + rcx*8 + 0x10], edx
jmp 0x140085d80
cmp ecx, edx
jg 0x140085d4f
mov r8d, dword [rsp + 0x60]
mov r9d, r13d
mov edx, 0x21
mov dword [rsp + 0x20], ebx
mov rcx, rsi
call fcn.140036ff0
jmp 0x140085d80
lea rcx, [rdx + rdx*2]
xor r8d, r8d
lea eax, [rdx + 1]
mov edx, dword [rsp + 0x60]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x21
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], r8
xor eax, eax
mov ebx, eax
cmp ax, word [rbp + 0x46]
jge 0x140085de3
mov rdi, qword [rsp + 0x78]
mov r12d, dword [rsp + 0x60]
mov r15d, dword [rsp + 0xd8]
nop dword [rax]
cmp dword [rdi], 0
jge 0x140085dc6
movsx eax, word [rbp + 0x44]
cmp ebx, eax
je 0x140085dc6
lea eax, [rbx + r15]
mov r9d, ebx
mov r8d, r12d
mov dword [rsp + 0x20], eax
mov rdx, rbp
mov rcx, rsi
call fcn.140052420
movsx eax, word [rbp + 0x46]
inc ebx
add rdi, 4
cmp ebx, eax
jl 0x140085da0
mov r12d, dword [rsp + 0xb0]
mov r15d, dword [rsp + 0x74]
xor eax, eax
cmp qword [rsp + 0x110], 0
jne 0x140086121
mov rdi, qword [rsp + 0x78]
mov ebx, eax
mov r9d, dword [rsp + 0x60]
lea rax, [rsp + 0xb4]
mov r8, qword [rsp + 0x120]
mov rdx, rbp
mov qword [rsp + 0x58], rdi
mov rcx, r14
mov qword [rsp + 0x50], rax
mov eax, dword [rsp + 0x1e0]
mov dword [rsp + 0x48], r13d
mov byte [rsp + 0x40], al
movzx eax, byte [rsp + 0x65]
mov byte [rsp + 0x38], al
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xe0]
mov dword [rsp + 0x20], eax
call fcn.14006da10
mov ebp, dword [rsp + 0xe8]
test ebp, ebp
je 0x140085e8d
mov eax, dword [rsp + 0xec]
xor r9d, r9d
mov r8d, dword [rsp + 0x68]
mov rcx, r14
mov rdx, qword [rsp + 0x88]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
call fcn.140069ee0
mov edi, dword [rsp + 0xb4]
test edi, edi
jne 0x140085ea3
cmp byte [rsp + 0x65], dil
je 0x140085f96
cmp qword [rsp + 0xa8], 0
mov rax, qword [rsi + 0x18]
movsxd rbx, dword [rsi + 0xb8]
mov ecx, dword [rax + 0x3c]
je 0x140085f3b
cmp ecx, ebx
jg 0x140085ee0
mov eax, dword [rsp + 0x6c]
xor r9d, r9d
mov r8d, dword [rsp + 0x60]
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea edx, [r9 + 0x1e]
call fcn.140036ff0
mov ebx, eax
jmp 0x140085f15
mov edx, dword [rsp + 0x60]
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
xor r8d, r8d
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x6c]
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8], 0x1e
mov dword [rax + rcx*8 + 8], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
jne 0x140085f96
mov edx, dword [rsp + 0xe4]
movsxd rax, ebx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
mov byte [rax + rcx*8 + 1], 0xf5
mov dword [rax + rcx*8 + 0x10], edx
jmp 0x140085f96
cmp ecx, ebx
jg 0x140085f5f
mov eax, dword [rsp + 0x68]
xor r9d, r9d
mov r8d, dword [rsp + 0x60]
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea edx, [r9 + 0x21]
call fcn.140036ff0
mov ebx, eax
jmp 0x140085f96
mov edx, dword [rsp + 0x60]
lea rcx, [rbx + rbx*2]
mov r8d, dword [rsp + 0x68]
lea eax, [rbx + 1]
mov dword [rsi + 0xb8], eax
xor r9d, r9d
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x21
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r9
mov rax, qword [rsp + 0x120]
mov rcx, r14
mov r9d, dword [rsp + 0xe0]
mov r8d, dword [rsp + 0x60]
mov rdx, qword [rsp + 0x88]
mov dword [rsp + 0x28], 0xffffffff
mov qword [rsp + 0x20], rax
call fcn.140064860
test ebp, ebp
jne 0x140085fd5
movzx eax, byte [rsp + 0x65]
test al, al
je 0x140086032
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140086000
mov r8d, dword [rsp + 0x60]
xor eax, eax
xor r9d, r9d
mov dword [rsp + 0x20], eax
mov rcx, rsi
lea edx, [rax + 0x76]
call fcn.140036ff0
jmp 0x14008602d
mov edx, dword [rsp + 0x60]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
xor r8d, r8d
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
movzx eax, byte [rsp + 0x65]
test edi, edi
jne 0x14008603a
test al, al
je 0x14008606c
mov rax, qword [rsi]
mov edx, dword [rsi + 0xb8]
cmp byte [rax + 0x55], 0
je 0x140086052
lea r8, [0x1400fbd48]
jmp 0x140086068
lea eax, [rdx - 1]
test ebx, ebx
cmovns eax, ebx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea r8, [rax + rcx*8]
mov dword [r8 + 8], edx
mov edi, dword [rsp + 0xec]
mov rbx, qword [rsp + 0x88]
test ebp, ebp
je 0x1400860a3
mov rax, qword [rsp + 0x78]
xor r8d, r8d
mov r9d, dword [rsp + 0x80]
mov rdx, rbx
mov dword [rsp + 0x28], edi
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.140069ee0
mov r9d, dword [rsp + 0xe0]
mov eax, 4
mov r8d, dword [rsp + 0x60]
mov ecx, 6
cmp r15d, 2
mov rdx, rbx
cmove eax, ecx
xor ecx, ecx
mov dword [rsp + 0x40], ecx
mov dword [rsp + 0x38], ecx
mov rcx, r14
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x120]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x20], eax
call fcn.14006f1d0
test ebp, ebp
je 0x140086129
mov rax, qword [rsp + 0x78]
mov rdx, rbx
mov r9d, dword [rsp + 0x68]
mov rcx, r14
mov dword [rsp + 0x28], edi
mov rdi, qword [rsp + 0x1d0]
mov r8, rdi
mov qword [rsp + 0x20], rax
call fcn.14006b540
jmp 0x140086131
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x1d0]
mov rbp, qword [rsp + 0xc8]
test byte [rbp + 0x2c], 0x80
je 0x1400861ac
cmp qword [r14 + 0xa8], 0
jne 0x1400861ac
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140086178
mov r8d, dword [rsp + 0xb8]
xor eax, eax
mov rcx, rsi
mov dword [rsp + 0x20], eax
lea r9d, [rax + 1]
lea edx, [rax + 0x5c]
call fcn.140036ff0
jmp 0x1400861ac
mov edx, dword [rsp + 0xb8]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
xor r8d, r8d
mov dword [rax + rcx*8], 0x5c
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 1
mov qword [rax + rcx*8 + 0x10], r8
mov eax, dword [rsp + 0x1e0]
mov r9, rdi
mov rdx, qword [rsp + 0xc0]
mov r8d, 0x6e
mov dword [rsp + 0x40], r13d
mov rcx, r14
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 2
call fcn.140084200
cmp r15d, 1
je 0x140086223
mov rax, qword [rsi + 0x18]
cmp r15d, 2
jne 0x1400862be
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x140086216
mov eax, dword [rsi + 0xb8]
not r13d
movsxd rcx, r13d
mov dword [rdx + rcx*4], eax
mov rcx, qword [rsp + 0x100]
call fcn.140095700
xor ebx, ebx
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x140086241
mov eax, dword [rsi + 0xb8]
not r12d
movsxd rcx, r12d
mov dword [rdx + rcx*4], eax
cmp byte [r14 + 0x1e], 0
jne 0x140086264
cmp qword [r14 + 0xa8], 0
jne 0x140086264
cmp qword [r14 + 0x98], 0
je 0x140086264
mov rcx, r14
call fcn.14006bdd0
test byte [rbp + 0x2c], 0x80
je 0x140086413
cmp qword [r14 + 0xa8], 0
jne 0x140086413
cmp byte [r14 + 0x1e], 0
jne 0x140086413
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x1400863ab
mov r8d, dword [rsp + 0xb8]
mov r9d, 1
mov rcx, rsi
mov dword [rsp + 0x20], ebx
lea edx, [r9 + 0x57]
call fcn.140036ff0
jmp 0x1400863dc
cmp qword [rsp + 0xa8], 0
je 0x140086357
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x1400862e9
mov eax, dword [rsi + 0xb8]
not r13d
movsxd rcx, r13d
mov dword [rdx + rcx*4], eax
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
xor ebx, ebx
cmp dword [rax + 0x3c], ecx
jg 0x14008631b
mov r9d, dword [rsp + 0xdc]
lea edx, [rbx + 7]
mov r8d, dword [rsp + 0x90]
mov rcx, rsi
mov dword [rsp + 0x20], ebx
call fcn.140036ff0
jmp 0x140086225
mov edx, dword [rsp + 0x90]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0xdc]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 7
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
jmp 0x140086225
movsxd rcx, dword [rsi + 0xb8]
xor ebx, ebx
cmp dword [rax + 0x3c], ecx
jg 0x14008637f
mov r9d, r13d
mov dword [rsp + 0x20], ebx
xor r8d, r8d
lea edx, [rbx + 0xd]
mov rcx, rsi
call fcn.140036ff0
jmp 0x140086225
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
jmp 0x140086225
mov edx, dword [rsp + 0xb8]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x58
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 1
mov qword [rax + rcx*8 + 0x10], rbx
mov edx, 1
mov rcx, rsi
call fcn.1400396e0
mov rax, qword [rsi]
cmp byte [rax + 0x55], 0
jne 0x140086413
mov rcx, qword [rsi + 0x80]
lea rdx, str.rows_updated
mov r9b, 1
mov qword [rsp + 0x20], rbx
mov r8d, 0xffffffff
call fcn.1400361f0
mov rbx, qword [rsp + 0x78]
mov r12, qword [rsp + 0x1c8]
mov rsi, qword [rsp + 0x1d8]
jmp 0x140086454
mov rbx, qword [rsp + 0x78]
mov rbp, qword [rsp + 0xc8]
jmp 0x14008643c
mov rbx, rax
mov rsi, qword [rsp + 0x1d8]
mov r12, qword [rsp + 0x1c8]
mov rdi, qword [rsp + 0x1d0]
mov rcx, qword [rsp + 0x98]
mov rax, qword [rsp + 0x130]
test rax, rax
je 0x140086470
mov qword [rax + 0x210], rcx
test rbx, rbx
je 0x1400864c4
test rbp, rbp
je 0x1400864bc
cmp qword [rbp + 0x298], 0
je 0x140086491
mov rdx, rbx
mov rcx, rbp
call fcn.140015440
jmp 0x1400864c4
cmp rbx, qword [rbp + 0x180]
jb 0x1400864bc
cmp rbx, qword [rbp + 0x188]
jae 0x1400864bc
mov rax, qword [rbp + 0x178]
mov qword [rbx], rax
dec dword [rbp + 0x160]
mov qword [rbp + 0x178], rbx
jmp 0x1400864c4
mov rcx, rbx
call fcn.1400153d0
mov rdx, r12
mov rcx, rbp
call fcn.140061070
test rdi, rdi
je 0x1400864df
mov rdx, rdi
mov rcx, rbp
call fcn.14004efe0
test rsi, rsi
je 0x1400864ef
mov rdx, rsi
mov rcx, rbp
call fcn.14004dd40
add rsp, 0x178
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret