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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xd4
mov eax, dword [0x831184]
xor eax, esp
mov dword [esp + 0xd0], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, ecx
mov dword [esp + 0x60], edx
mov ecx, dword [ebp + 0x14]
push esi
mov dword [esp + 0x74], ecx
xor ecx, ecx
mov esi, dword [ebx]
push edi
mov edi, dword [ebp + 0xc]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x50], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x34], 0xffffffff
mov dword [esp + 0x3c], 0
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], ecx
mov byte [esp + 0x1f], cl
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x74], esi
cmp dword [ebx + 0x24], ecx
jne 0x6cddd1
mov dword [esp + 0xc4], ecx
test eax, eax
je 0x6cd9ea
test dword [eax + 4], 0x200
je 0x6cd9ea
cmp dword [eax + 0x34], ecx
jne 0x6cd9ea
mov ecx, dword [eax + 0x1c]
mov edx, eax
mov dword [esp + 0x6c], ecx
mov ecx, esi
push 1
mov dword [eax + 0x1c], 0
call fcn.006d8370
add esp, 4
mov dword [esp + 0x30], 0
mov edx, dword [esp + 0x68]
mov ecx, ebx
call fcn.006c4b40
mov edi, eax
mov dword [esp + 0x40], edi
test edi, edi
je 0x6cddcd
mov ecx, dword [edi + 0x3c]
mov edx, 0xffff8000
mov dword [esp + 0x24], edx
test ecx, ecx
je 0x6cda2f
mov eax, dword [esi + 0x10]
xor edx, edx
add eax, 0xc
mov dword [esp + 0x24], edx
cmp dword [eax], ecx
je 0x6cda2f
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x6cda23
mov dword [esp + 0x24], edx
mov eax, dword [esi + 0x10]
mov ecx, edx
add ecx, ecx
mov edx, 0x12
push dword [eax + ecx*8]
mov ecx, ebx
push 0
push dword [edi]
call fcn.006bc0a0
add esp, 0xc
test eax, eax
jne 0x6cddcd
mov eax, dword [edi + 0x1c]
shr eax, 7
and eax, 0xffffff01
cmp dword [edi + 0x38], 0
mov dword [esp + 0x7c], eax
jne 0x6cda7b
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x6cda84
cmp dword [eax + 0x30], 0
je 0x6cda84
cmp byte [ebx + 0xa1], 0
je 0x6cda93
mov dword [esp + 0x90], 0
xor esi, esi
jmp 0x6cdabb
lea eax, [esp + 0x98]
mov edx, edi
push eax
push 0
push 0x7f
mov ecx, ebx
call fcn.006e5420
mov esi, eax
add esp, 0xc
mov eax, dword [esp + 0x98]
mov dword [esp + 0x90], eax
mov al, byte [edi + 0x2b]
mov dword [esp + 0x64], esi
mov byte [esp + 0x2b], al
cmp al, 1
je 0x6cdad1
cmp word [edi + 0x22], 0
jg 0x6cdae2
mov edx, edi
mov ecx, ebx
call fcn.006c05f0
test eax, eax
jne 0x6cddcd
push esi
mov edx, edi
mov ecx, ebx
call fcn.006c4cb0
add esp, 4
test eax, eax
jne 0x6cddcd
mov ecx, ebx
call fcn.006db760
mov esi, eax
mov dword [esp + 0x10], esi
test esi, esi
je 0x6cddcd
cmp byte [ebx + 0x12], 0
jne 0x6cdb19
or dword [esi + 0x98], 0x10
cmp dword [esp + 0x30], 0
jne 0x6cdb2b
cmp dword [esp + 0x64], 0
jne 0x6cdb2b
xor edx, edx
jmp 0x6cdb30
mov edx, 1
push dword [esp + 0x24]
mov ecx, ebx
call fcn.006c3720
add esp, 4
cmp dword [esp + 0x18], 0
jne 0x6cdb70
mov eax, dword [esp + 0x30]
test eax, eax
je 0x6cdb70
cmp dword [esp + 0x64], 0
jne 0x6cdb70
push dword [esp + 0x24]
mov edx, edi
mov ecx, ebx
push dword [ebp + 0x10]
push eax
call fcn.006d1510
add esp, 0xc
test eax, eax
jne 0x6cebc7
mov edx, dword [esp + 0x24]
mov ecx, ebx
push edi
call fcn.006cd370
mov ecx, dword [ebx + 0x2c]
add esp, 4
mov dword [esp + 0x8c], eax
lea eax, [ecx + 1]
mov edx, eax
mov dword [esp + 0x60], eax
movsx eax, word [edi + 0x22]
inc eax
mov dword [esp + 0x2c], edx
add eax, ecx
mov dword [ebx + 0x2c], eax
cmp byte [edi + 0x2b], 1
jne 0x6cdbb1
lea edx, [ecx + 2]
inc eax
mov dword [esp + 0x2c], edx
mov dword [ebx + 0x2c], eax
test dword [edi + 0x1c], 0x440
lea eax, [edx + 1]
mov edx, dword [esp + 0x18]
sete byte [esp + 0x17]
mov dword [esp + 0x54], eax
test edx, edx
je 0x6cdd21
mov esi, dword [edx]
xor ecx, ecx
mov byte [edx + 4], 1
test esi, esi
jle 0x6cdbf0
lea eax, [edx + 0xc]
nop
mov dword [eax], 0xffffffff
lea eax, [eax + 8]
mov esi, dword [edx]
inc ecx
cmp ecx, esi
jl 0x6cdbe0
xor edx, edx
mov dword [esp + 0x20], edx
test esi, esi
jle 0x6cdd1d
movzx eax, word [edi + 0x22]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x58], eax
nop word [eax + eax]
cwde
xor esi, esi
test eax, eax
jle 0x6cdca7
mov edi, dword [edi + 4]
lea eax, [edx*8]
mov dword [esp + 0x70], eax
nop dword [eax]
mov edx, dword [edi]
mov ecx, dword [ecx + eax + 8]
call fcn.00675e40
test eax, eax
je 0x6cdc60
mov ecx, dword [esp + 0x58]
inc esi
movsx eax, cx
add edi, 0x10
mov ecx, dword [esp + 0x18]
cmp esi, eax
mov eax, dword [esp + 0x70]
jl 0x6cdc30
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x20]
jmp 0x6cdca7
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x20]
mov dword [eax + ecx + 0xc], esi
xor ecx, ecx
movzx eax, byte [esp + 0x17]
cmp edx, esi
cmove ecx, eax
movsx eax, word [edi + 0x20]
cmp esi, eax
mov byte [esp + 0x17], cl
mov ecx, edx
mov eax, esi
cmovne ecx, dword [esp + 0x34]
add eax, eax
mov dword [esp + 0x34], ecx
mov ecx, dword [edi + 4]
test byte [ecx + eax*8 + 0xe], 0x60
jne 0x6cddba
movzx eax, word [edi + 0x22]
cwde
cmp esi, eax
jl 0x6cdd04
mov eax, dword [esp + 0x18]
mov esi, dword [eax + edx*8 + 8]
mov edx, str._ROWID_
mov ecx, esi
call fcn.00675e40
test eax, eax
je 0x6cdcec
mov edx, str.ROWID
mov ecx, esi
call fcn.00675e40
test eax, eax
je 0x6cdcec
mov edx, 0x7decec
mov ecx, esi
call fcn.00675e40
test eax, eax
jne 0x6cde66
cmp byte [esp + 0x7c], 0
jne 0x6cde66
mov edx, dword [esp + 0x20]
mov dword [esp + 0x34], edx
mov byte [esp + 0x17], 0
mov ecx, dword [esp + 0x18]
inc edx
movzx eax, word [edi + 0x22]
mov dword [esp + 0x20], edx
mov dword [esp + 0x58], eax
cmp edx, dword [ecx]
jl 0x6cdc10
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x6ce1c9
mov ecx, dword [eax + 0x20]
cmp dword [ecx], 1
jne 0x6cde86
test byte [ecx + 0x30], 0x20
je 0x6cde86
cmp dword [eax + 0x34], 0
jne 0x6cde86
mov eax, dword [ecx + 0x24]
add ecx, 8
mov dword [esp + 0xc4], eax
push ecx
push str.SCAN__S
mov eax, dword [ecx + 0x20]
mov dword [esp + 0x64], eax
mov eax, dword [ecx + 0x14]
push 0
push ebx
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
call fcn.00697280
add esp, 0x10
cmp byte [esp + 0x17], 0
je 0x6cdf4d
movsx eax, word [edi + 0x22]
cmp dword [esp + 0x20], eax
jne 0x6cdf4d
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x54], eax
lea ecx, [eax - 1]
xor eax, eax
cmp byte [edi + 0x2b], 1
mov dword [esp + 0x2c], ecx
sete al
sub ecx, eax
mov dword [esp + 0x60], ecx
jmp 0x6cdf4d
add esi, esi
push dword [ecx + esi*8]
push str.cannot_INSERT_into_generated_column___s_
push ebx
call fcn.00675b90
add esp, 0xc
mov edi, dword [esp + 0x18]
xor esi, esi
mov ebx, dword [esp + 0x74]
mov ecx, ebx
mov edx, dword [esp + 0x68]
call fcn.006c2e80
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x6cddf3
mov edx, eax
mov ecx, ebx
call fcn.006afac0
mov eax, dword [esp + 0x78]
test eax, eax
je 0x6cde04
mov edx, eax
mov ecx, ebx
call fcn.006e99e0
mov eax, dword [esp + 0x30]
test eax, eax
je 0x6cde1a
push 1
mov edx, eax
mov ecx, ebx
call fcn.006d8370
add esp, 4
mov edx, edi
mov ecx, ebx
call fcn.006c2ae0
test esi, esi
je 0x6cec67
cmp esi, dword [ebx + 0x164]
jae 0x6cec37
cmp esi, dword [ebx + 0x15c]
jb 0x6cec0c
mov eax, dword [ebx + 0x158]
mov dword [esi], eax
mov dword [ebx + 0x158], esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xd0]
xor ecx, esp
call fcn.0076eb7e
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x68]
push esi
add eax, 8
push eax
push str.table__S_has_no_column_named__s
push ebx
call fcn.00675b90
add esp, 0x10
mov byte [ebx + 0x11], 1
jmp 0x6cddcd
mov ecx, dword [esp + 0x10]
mov edx, 0xb
inc dword [ebx + 0x2c]
mov esi, dword [ebx + 0x2c]
mov eax, dword [ecx + 0x6c]
mov dword [esp + 0x58], eax
inc eax
push eax
push 0
push esi
call fcn.00696e00
mov edx, dword [esp + 0x3c]
xor eax, eax
add esp, 0xc
mov dword [esp + 0xd0], 0
cmp byte [esp + 0x17], al
mov ecx, ebx
mov byte [esp + 0xc0], 0xd
cmovne eax, dword [esp + 0x54]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd4], 0
movsx eax, word [edi + 0x22]
mov dword [esp + 0xd0], eax
lea eax, [esp + 0xc0]
push eax
call fcn.006e22e0
mov ecx, dword [esp + 0xd0]
add esp, 4
mov dword [esp + 0x5c], ecx
test eax, eax
jne 0x6cddcd
cmp dword [ebx + 0x24], eax
jne 0x6cddcd
mov edx, esi
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.00697380
mov edx, dword [esp + 0x58]
mov ecx, esi
call fcn.00697760
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
cmp dword [esp + 0x64], 0
jne 0x6ce105
mov ecx, dword [ebx + 8]
mov dword [esp + 0x70], ecx
test ecx, ecx
jne 0x6cdf84
cmp dword [ebx + 0x80], ecx
jne 0x6cdf77
mov eax, dword [ebx]
test byte [eax + 0x50], 8
jne 0x6cdf77
mov byte [ebx + 0x17], 1
mov ecx, ebx
call fcn.00696a70
mov ecx, eax
mov dword [esp + 0x70], eax
cmp byte [edi + 0x2b], 1
mov eax, dword [ecx + 0x6c]
mov dword [esp + 0x44], eax
jne 0x6cdfb0
mov edx, dword [edi + 0x34]
test edx, edx
je 0x6cdfb2
mov eax, dword [ebx]
nop word [eax + eax]
cmp dword [edx], eax
je 0x6cdfab
mov edx, dword [edx + 0x18]
test edx, edx
jne 0x6cdfa0
mov eax, dword [ecx + 0x6c]
jmp 0x6cdfb2
xor edx, edx
mov dword [esp + 0x58], 1
cmp eax, 1
jle 0x6ce03d
mov eax, dword [ecx]
mov esi, 0x14
mov al, byte [eax + 0x57]
mov byte [esp + 0x17], al
nop dword [eax]
test al, al
je 0x6cdfdb
mov eax, 0x83fd04
jmp 0x6cdfe0
mov eax, dword [ecx + 0x68]
add eax, esi
mov cl, byte [eax]
cmp cl, 0x70
jne 0x6ce015
mov ecx, dword [esp + 0x24]
cmp dword [eax + 0xc], ecx
jne 0x6ce023
mov ecx, dword [eax + 8]
cmp ecx, dword [edi + 0x14]
je 0x6ce101
mov eax, dword [edi + 8]
test eax, eax
je 0x6ce023
cmp ecx, dword [eax + 0x2c]
je 0x6ce101
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x6ce003
jmp 0x6ce023
cmp cl, 0xad
jne 0x6ce023
cmp dword [eax + 0x10], edx
je 0x6ce101
mov ecx, dword [esp + 0x58]
add esi, 0x14
mov al, byte [esp + 0x17]
inc ecx
cmp ecx, dword [esp + 0x44]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x70]
jl 0x6cdfd0
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x6ce237
test edx, edx
jle 0x6ce252
movsx eax, word [edi + 0x20]
mov dword [esp + 0x34], eax
test eax, eax
js 0x6ce09f
test byte [edi + 0x1c], 0x60
je 0x6ce09f
lea edx, [eax - 1]
test edx, edx
js 0x6ce09b
mov ecx, edx
mov ebx, eax
shl ecx, 4
add ecx, 0xe
add ecx, dword [edi + 4]
nop
test byte [ecx], 0x60
lea eax, [ebx - 1]
lea ecx, [ecx - 0x10]
cmove eax, ebx
sub edx, 1
mov ebx, eax
jns 0x6ce080
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
test byte [edi + 0x1c], 0x62
je 0x6ce0d4
movsx edx, word [edi + 0x22]
test edx, edx
jle 0x6ce0d0
mov ecx, dword [edi + 4]
add ecx, 0xe
xor ebx, ebx
test byte [ecx], 0x62
lea eax, [ebx + 1]
lea ecx, [ecx + 0x10]
cmove eax, ebx
mov ebx, eax
sub edx, 1
jne 0x6ce0b5
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x20]
movsx eax, word [edi + 0x22]
sub eax, dword [esp + 0x50]
cmp edx, eax
je 0x6ce252
push edx
push eax
mov eax, dword [esp + 0x70]
add eax, 8
push eax
push str.table__S_has__d_columns_but__d_values_were_supplied
push ebx
call fcn.00675b90
add esp, 0x14
jmp 0x6cddcd
mov esi, dword [esp + 0x10]
mov edx, dword [ebx + 0x28]
mov ecx, ebx
mov byte [esp + 0x1f], 1
mov dword [esp + 0x3c], edx
lea eax, [edx + 1]
mov dword [ebx + 0x28], eax
call fcn.006b6690
mov edi, eax
call fcn.006b6690
push dword [esp + 0x20]
mov ecx, esi
mov ebx, eax
push edx
mov edx, 0x76
call fcn.00696d90
push dword [esp + 0xcc]
mov edx, 0xc
mov ecx, esi
call fcn.00696d30
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, 0x61
mov esi, eax
push edi
push dword [esp + 0x24]
push dword [esp + 0x64]
call fcn.00696e00
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, 0x7f
push ebx
push dword [esp + 0x40]
call fcn.00696d90
mov ecx, dword [esp + 0x18]
mov edx, 0x80
push ebx
push edi
push dword [esp + 0x4c]
call fcn.00696e00
mov ecx, dword [esp + 0x24]
add esp, 0x14
mov edx, esi
call fcn.00696ee0
mov edx, esi
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.00697760
mov ecx, dword [esp + 0x38]
mov edx, edi
call fcn.006b66b0
mov edx, ebx
mov ebx, ecx
call fcn.006b66b0
mov edi, dword [esp + 0x40]
jmp 0x6ce041
mov ecx, dword [esp + 0x6c]
xorps xmm0, xmm0
movlpd qword [esp + 0xa0], xmm0
movlpd qword [esp + 0xa8], xmm0
movlpd qword [esp + 0xb0], xmm0
movlpd qword [esp + 0xb8], xmm0
mov dword [esp + 0x9c], ebx
mov dword [esp + 0x3c], 0xffffffff
test ecx, ecx
je 0x6ce228
mov eax, dword [ecx]
mov edx, ecx
lea ecx, [esp + 0x9c]
mov dword [esp + 0x20], eax
call fcn.006acf10
test eax, eax
jne 0x6cddcd
jmp 0x6ce03d
mov esi, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x20], edx
jmp 0x6ce045
mov eax, dword [eax]
cmp edx, eax
je 0x6ce252
push eax
push edx
push str._d_values_for__d_columns
push ebx
call fcn.00675b90
add esp, 0x10
jmp 0x6cddcd
mov ecx, dword [esp + 0x74]
xor eax, eax
mov ecx, dword [ecx + 0x24]
and ecx, 1
or eax, ecx
je 0x6ce299
cmp byte [ebx + 0x12], 0
jne 0x6ce299
cmp dword [ebx + 0x84], 0
jne 0x6ce299
cmp byte [ebx + 0x9f], 0
jne 0x6ce299
inc dword [ebx + 0x2c]
mov edx, 0x47
mov eax, dword [ebx + 0x2c]
mov ecx, esi
push eax
push 0
mov dword [esp + 0x9c], eax
call fcn.00696d90
add esp, 8
cmp byte [esp + 0x2b], 2
je 0x6ce342
lea eax, [esp + 0x80]
mov edx, edi
push eax
lea eax, [esp + 0x4c]
mov ecx, ebx
push eax
push 0
push 0xffffffffffffffff
push 0
push 0x71
call fcn.006d11d0
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x68], eax
push 0
lea eax, [eax*4 + 8]
push eax
call fcn.00672560
mov esi, eax
add esp, 0x20
mov dword [esp + 0x4c], esi
test esi, esi
je 0x6ce367
mov esi, dword [edi + 8]
xor edx, edx
cmp dword [esp + 0x50], edx
jle 0x6ce332
mov edi, dword [esp + 0x50]
nop dword [eax + eax]
inc dword [ebx + 0x2c]
mov ecx, dword [esp + 0x4c]
mov eax, dword [ebx + 0x2c]
mov dword [ecx + edx*4], eax
inc edx
movzx ecx, word [esi + 0x34]
mov eax, dword [ebx + 0x2c]
add eax, ecx
mov dword [ebx + 0x2c], eax
mov esi, dword [esi + 0x14]
cmp edx, edi
jl 0x6ce300
mov esi, dword [esp + 0x4c]
inc eax
mov edi, dword [esp + 0x40]
mov dword [ebx + 0x2c], eax
mov dword [esi + edx*4], eax
jmp 0x6ce344
mov eax, dword [ebx + 0x2c]
mov esi, dword [esp + 0x4c]
inc eax
mov dword [ebx + 0x2c], eax
mov dword [esi + edx*4], eax
jmp 0x6ce344
xor esi, esi
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x6ce3f6
mov al, byte [edi + 0x2b]
cmp al, 1
jne 0x6ce370
push dword [edi]
push str.UPSERT_not_implemented_for_virtual_table___s_
push ebx
call fcn.00675b90
add esp, 0xc
mov edi, dword [esp + 0x18]
jmp 0x6cddd3
cmp al, 2
jne 0x6ce38b
push str.cannot_UPSERT_a_view
push ebx
call fcn.00675b90
mov edi, dword [esp + 0x20]
add esp, 8
jmp 0x6cddd3
mov edx, dword [ecx]
mov ecx, ebx
call fcn.006c1960
test eax, eax
jne 0x6ce367
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x48]
mov esi, dword [esp + 0x78]
mov eax, dword [esp + 0x54]
mov dword [edx + 0x34], ecx
nop dword [eax + eax]
cmp dword [esi], 0
mov edi, dword [esp + 0x80]
mov dword [esi + 0x2c], edi
mov edi, dword [esp + 0x40]
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], ecx
je 0x6ce3ef
push dword [esp + 0x78]
mov ecx, ebx
push esi
call fcn.006e9bd0
add esp, 8
test eax, eax
jne 0x6cebff
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x68]
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x6ce3b0
cmp byte [esp + 0x1f], 0
je 0x6ce427
push dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
mov edx, 0x24
mov ecx, esi
call fcn.00696d30
mov dword [esp + 0x8c], eax
add esp, 4
mov eax, dword [esi + 0x6c]
mov dword [esp + 0x84], eax
jmp 0x6ce47a
cmp dword [esp + 0x30], 0
je 0x6ce47a
push dword [esp + 0xc4]
mov esi, dword [esp + 0x14]
mov edx, 0xc
mov ecx, esi
call fcn.00696d30
mov edx, eax
add esp, 4
mov eax, dword [esp + 0x34]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], edx
test eax, eax
js 0x6ce47a
mov ecx, dword [esp + 0x5c]
mov edx, 0x50
push dword [esp + 0x2c]
add ecx, eax
push ecx
mov ecx, esi
call fcn.00696d90
add esp, 8
mov esi, dword [esp + 0x54]
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x24], ecx
cmp ax, word [edi + 0x22]
jge 0x6ce675
xor edx, edx
mov dword [esp + 0x50], edx
nop
movsx eax, word [edi + 0x20]
cmp ecx, eax
jne 0x6ce4bf
mov ecx, dword [esp + 0x10]
mov edx, 0x4c
push esi
call fcn.00696d30
add esp, 4
jmp 0x6ce654
add edx, dword [edi + 4]
mov dword [esp + 0x44], edx
movzx eax, word [edx + 0xe]
test al, 0x62
je 0x6ce511
inc dword [esp + 0x40]
test al, 0x20
je 0x6ce4dc
dec esi
jmp 0x6ce658
test al, 0x40
je 0x6ce4f0
test byte [esp + 0x90], 1
je 0x6ce658
jmp 0x6ce4a8
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x6ce520
push esi
mov ecx, edi
call fcn.006bd390
mov edx, eax
mov ecx, ebx
call fcn.006b47a0
add esp, 4
jmp 0x6ce654
cmp dword [esp + 0x18], 0
je 0x6ce5c9
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
xor eax, eax
test edx, edx
jle 0x6ce544
add ecx, 0xc
nop dword [eax + eax]
mov ebx, dword [esp + 0x24]
cmp dword [ecx], ebx
mov ebx, dword [esp + 0x38]
je 0x6ce563
inc eax
add ecx, 8
cmp eax, edx
jl 0x6ce530
mov eax, dword [esp + 0x44]
movzx eax, word [eax + 0xc]
test ax, ax
jne 0x6ce56d
xor edx, edx
mov ecx, ebx
push esi
call fcn.006b47a0
add esp, 4
jmp 0x6ce654
cmp eax, edx
jge 0x6ce544
mov ecx, dword [esp + 0x24]
jmp 0x6ce5da
cmp byte [edi + 0x2b], 0
je 0x6ce585
xor edx, edx
mov ecx, ebx
push esi
call fcn.006b47a0
add esp, 4
jmp 0x6ce654
mov edx, dword [edi + 0x34]
test edx, edx
jne 0x6ce59c
push esi
mov ecx, ebx
call fcn.006b47a0
add esp, 4
jmp 0x6ce654
cmp dword [edx], eax
jge 0x6ce5b2
xor edx, edx
mov ecx, ebx
push esi
call fcn.006b47a0
add esp, 4
jmp 0x6ce654
lea eax, [eax + eax*4]
mov ecx, ebx
mov edx, dword [edx + eax*4 - 0xc]
push esi
call fcn.006b47a0
add esp, 4
jmp 0x6ce654
cmp dword [esp + 0x20], 0
je 0x6ce4f8
mov eax, ecx
sub eax, dword [esp + 0x40]
cmp byte [esp + 0x1f], 0
je 0x6ce5fa
mov ecx, dword [esp + 0x10]
mov edx, 0x5e
push esi
push eax
push dword [esp + 0x44]
call fcn.00696e00
add esp, 0xc
jmp 0x6ce654
cmp dword [esp + 0x30], 0
je 0x6ce614
mov edx, dword [esp + 0x5c]
cmp edx, dword [esp + 0x54]
je 0x6ce658
add eax, edx
mov edx, 0x51
jmp 0x6ce646
mov ecx, dword [esp + 0x6c]
lea eax, [eax + eax*4]
push esi
mov eax, dword [ecx + eax*4 + 8]
mov edx, eax
mov ecx, ebx
mov dword [esp + 0x48], eax
call fcn.006b3100
add esp, 4
cmp eax, esi
je 0x6ce654
mov edx, dword [esp + 0x44]
mov edx, dword [edx + 4]
shr edx, 0x16
not edx
and edx, 1
or edx, 0x50
mov ecx, dword [esp + 0x10]
push esi
push eax
call fcn.00696d90
add esp, 8
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x50]
inc ecx
movsx eax, word [edi + 0x22]
add edx, 0x10
inc esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x50], edx
cmp ecx, eax
jl 0x6ce4a0
dec dword [ebx + 0x38]
test byte [esp + 0x90], 1
mov eax, dword [ebx + 0x38]
mov dword [esp + 0x38], eax
je 0x6ce7f9
movsx edx, word [edi + 0x22]
mov ecx, ebx
inc edx
call fcn.006b66d0
mov esi, eax
mov eax, dword [esp + 0x34]
push esi
test eax, eax
jns 0x6ce6bc
mov ecx, dword [esp + 0x14]
mov edx, 0x47
push 0xffffffffffffffff
call fcn.00696d90
add esp, 8
jmp 0x6ce756
cmp byte [esp + 0x23], 0
je 0x6ce6db
mov ecx, dword [esp + 0x14]
mov edx, 0x5e
push eax
push dword [esp + 0x44]
call fcn.00696e00
add esp, 0xc
jmp 0x6ce6f0
lea edx, [eax + eax*4]
mov ecx, ebx
mov eax, dword [esp + 0x70]
mov edx, dword [eax + edx*4 + 8]
call fcn.006b46e0
add esp, 4
mov ecx, dword [esp + 0x10]
mov edx, 0x33
push esi
call fcn.00696d30
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, 0x47
mov dword [esp + 0x44], eax
push esi
push 0xffffffffffffffff
call fcn.00696d90
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, dword [eax]
mov edx, dword [eax + 0x6c]
cmp byte [ecx + 0x57], 0
je 0x6ce730
mov eax, 0x83fd04
jmp 0x6ce741
mov eax, dword [esp + 0x44]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x68]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x10]
mov dword [eax + 8], edx
mov edx, 0xd
push esi
call fcn.00696d30
add esp, 4
movsx eax, word [edi + 0x24]
lea ecx, [esi + 1]
dec eax
mov edx, 0x50
push eax
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x18]
inc eax
push eax
call fcn.00696e00
add esp, 0xc
test byte [edi + 0x1c], 0x60
je 0x6ce78b
push edi
lea edx, [esi + 1]
mov ecx, ebx
call fcn.006cd150
add esp, 4
cmp byte [esp + 0x2b], 2
je 0x6ce7a4
mov ecx, dword [esp + 0x10]
lea eax, [esi + 1]
push eax
mov edx, edi
call fcn.006ccf70
add esp, 4
push dword [esp + 0x38]
movsx eax, word [edi + 0x22]
mov ecx, esi
push dword [ebp + 0x10]
mov edx, dword [esp + 0x6c]
sub ecx, eax
dec ecx
push ecx
push edi
push 1
push 0
push 0x7f
mov ecx, ebx
call fcn.006e6540
movsx eax, word [edi + 0x22]
add esp, 0x1c
inc eax
cmp eax, 1
jne 0x6ce7ee
test esi, esi
je 0x6ce7f9
mov al, byte [ebx + 0x13]
cmp al, 8
jae 0x6ce7f9
movzx eax, al
mov dword [ebx + eax*4 + 0xa4], esi
inc byte [ebx + 0x13]
jmp 0x6ce7f9
cmp eax, dword [ebx + 0x1c]
jle 0x6ce7f9
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], esi
cmp byte [esp + 0x2b], 2
je 0x6ceabe
mov cl, byte [edi + 0x2b]
mov esi, dword [esp + 0x10]
cmp cl, 1
jne 0x6ce828
push dword [esp + 0x60]
mov edx, 0x4b
mov ecx, esi
push 0
call fcn.00696d90
mov cl, byte [edi + 0x2b]
add esp, 8
mov eax, dword [esp + 0x34]
test eax, eax
js 0x6ce8fa
cmp byte [esp + 0x1f], 0
je 0x6ce855
push dword [esp + 0x2c]
mov edx, 0x5e
mov ecx, esi
push eax
push dword [esp + 0x44]
call fcn.00696e00
add esp, 0xc
jmp 0x6ce883
cmp dword [esp + 0x30], 0
jne 0x6ce883
mov edx, dword [esp + 0x6c]
lea eax, [eax + eax*4]
mov edx, dword [edx + eax*4 + 8]
cmp byte [edx], 0x79
jne 0x6ce875
cmp cl, 1
jne 0x6ce906
push dword [esp + 0x2c]
mov ecx, ebx
call fcn.006b46e0
add esp, 4
cmp byte [edi + 0x2b], 1
mov ecx, esi
je 0x6ce8cd
push dword [esp + 0x2c]
mov edx, 0x33
call fcn.00696d30
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, 0x7f
mov esi, eax
push dword [esp + 0x8c]
push dword [esp + 0x30]
push dword [esp + 0x50]
call fcn.00696e00
add esp, 0xc
mov edx, esi
mov esi, dword [esp + 0x10]
mov ecx, esi
call fcn.00697760
jmp 0x6ce8e5
mov eax, dword [esi + 0x6c]
mov edx, 0x32
add eax, 2
push eax
push dword [esp + 0x30]
call fcn.00696d90
add esp, 8
push dword [esp + 0x2c]
mov edx, 0xd
mov ecx, esi
call fcn.00696d30
add esp, 4
jmp 0x6ce940
cmp cl, 1
je 0x6ce92b
cmp byte [esp + 0x7c], 0
jne 0x6ce92b
push dword [esp + 0x8c]
mov edx, 0x7f
mov ecx, esi
push dword [esp + 0x30]
push dword [esp + 0x50]
call fcn.00696e00
add esp, 0xc
mov esi, 1
jmp 0x6ce942
push dword [esp + 0x2c]
mov edx, 0x4b
mov ecx, esi
push 0
call fcn.00696d90
add esp, 8
xor esi, esi
mov eax, dword [esp + 0x8c]
test eax, eax
jle 0x6ce962
push dword [esp + 0x2c]
mov ecx, dword [ebx + 8]
mov edx, 0x9f
push eax
call fcn.00696d90
add esp, 8
test byte [edi + 0x1c], 0x60
je 0x6ce97a
mov edx, dword [esp + 0x2c]
mov ecx, ebx
push edi
lea edx, [edx + 1]
call fcn.006cd150
add esp, 4
cmp byte [edi + 0x2b], 1
jne 0x6cea06
mov esi, dword [edi + 0x34]
test esi, esi
je 0x6ce99b
mov eax, dword [esp + 0x74]
nop
cmp dword [esi], eax
je 0x6ce99b
mov esi, dword [esi + 0x18]
test esi, esi
jne 0x6ce990
mov edx, edi
mov ecx, ebx
call fcn.006ec140
movsx eax, word [edi + 0x22]
mov edx, 7
push 0xfffffffffffffff5
push esi
push dword [esp + 0x68]
mov esi, dword [esp + 0x1c]
add eax, 2
push eax
push 1
mov ecx, esi
call fcn.00697100
mov eax, dword [esi + 0x6c]
add esp, 0x14
test eax, eax
jle 0x6ce9f0
mov ecx, dword [ebp + 0x10]
cmp ecx, 0xb
movzx edx, cx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov dword [esp + 0x44], 2
cmove edx, dword [esp + 0x44]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [ebx + 0x80]
mov ecx, ebx
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15], 1
jmp 0x6ceac2
push dword [esp + 0x78]
lea eax, [esp + 0x80]
mov dword [esp + 0x80], 0
push 0
push eax
push dword [esp + 0x44]
mov eax, dword [esp + 0x44]
mov edx, edi
push dword [ebp + 0x10]
shr eax, 0x1f
mov ecx, ebx
xor al, 1
movzx eax, al
push eax
push 0
push dword [esp + 0x7c]
push dword [esp + 0xa0]
push dword [esp + 0x6c]
push dword [esp + 0x74]
call fcn.006cecc0
mov eax, dword [esp + 0xa0]
add esp, 0x2c
mov eax, dword [eax + 0x20]
and eax, 0x4000
or eax, 0
je 0x6cea7e
push 0
push 0
push dword [esp + 0x68]
mov edx, edi
mov ecx, ebx
push 0
call fcn.006cbcb0
add esp, 0x10
cmp dword [esp + 0x7c], 0
je 0x6cea96
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xe0], 0
je 0x6cea96
xor eax, eax
jmp 0x6cea9b
mov eax, 1
push eax
push esi
push 0
push dword [esp + 0x58]
mov edx, edi
mov ecx, ebx
push dword [esp + 0x70]
push dword [esp + 0x94]
push dword [esp + 0x60]
call fcn.006d0f60
add esp, 0x1c
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x94]
test eax, eax
je 0x6ceadf
push 1
push eax
mov edx, 0x56
mov ecx, esi
call fcn.00696d90
add esp, 8
mov edx, dword [esp + 0x64]
test edx, edx
je 0x6ceb0d
push dword [esp + 0x38]
movsx eax, word [edi + 0x22]
push dword [ebp + 0x10]
mov ecx, dword [esp + 0x5c]
sub ecx, eax
sub ecx, 2
push ecx
push edi
push 2
push 0
push 0x7f
mov ecx, ebx
call fcn.006e6540
add esp, 0x1c
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x38]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x6ceb2b
push edx
mov edx, esi
call fcn.006973f0
add esp, 4
jmp 0x6ceb34
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + edx*4], eax
cmp byte [esp + 0x1f], 0
je 0x6ceb8d
push dword [esp + 0x84]
mov edi, dword [esp + 0x40]
mov edx, 0x27
push edi
mov ecx, esi
call fcn.00696d90
mov eax, dword [esi]
add esp, 8
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x6ceb68
mov eax, 0x83fd04
jmp 0x6ceb78
mov eax, dword [esp + 0x88]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ecx, esi
push edi
mov edx, 0x7a
call fcn.00696d30
add esp, 4
jmp 0x6cebc7
cmp dword [esp + 0x30], 0
je 0x6cebc7
mov edx, dword [esp + 0x84]
mov ecx, esi
call fcn.00696ee0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x6cebb4
mov eax, 0x83fd04
jmp 0x6cebc4
mov eax, dword [esp + 0x88]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
cmp byte [ebx + 0x12], 0
jne 0x6cebe3
cmp dword [ebx + 0x84], 0
jne 0x6cebe3
cmp dword [ebx + 0x7c], 0
je 0x6cebe3
mov ecx, ebx
call fcn.006cd450
mov eax, dword [esp + 0x94]
test eax, eax
je 0x6cebff
push str.rows_inserted
mov edx, eax
mov ecx, esi
call fcn.006c4bd0
add esp, 4
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x4c]
jmp 0x6cddd3
cmp esi, dword [ebx + 0x160]
jb 0x6cec37
mov eax, dword [ebx + 0x150]
mov dword [esi], eax
mov dword [ebx + 0x150], esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xd0]
xor ecx, esp
call fcn.0076eb7e
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x210], 0
je 0x6cec5e
mov edx, esi
mov ecx, ebx
call fcn.00672190
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xd0]
xor ecx, esp
call fcn.0076eb7e
mov esp, ebp
pop ebp
ret
push esi
call fcn.00672120
add esp, 4
mov ecx, dword [esp + 0xdc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0076eb7e
mov esp, ebp
pop ebp
ret