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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xc8
mov eax, dword [0x101f62b4]
xor eax, esp
mov dword [esp + 0xc4], eax
mov eax, dword [ebp + 0x14]
push esi
mov esi, ecx
mov dword [esp + 0x4c], eax
mov ecx, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
cmp dword [esi + 0x24], 0
mov eax, dword [esi]
mov dword [esp + 0x64], edx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x3c], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x1a], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], eax
jne 0x100a7db9
cmp byte [eax + 0x51], 0
jne 0x100a7db9
mov dword [esp + 0xb8], 0
test ecx, ecx
je 0x100a6c27
test dword [ecx + 4], 0x200
je 0x100a6c27
cmp dword [ecx + 0x34], 0
jne 0x100a6c27
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0x68], edx
mov edx, ecx
mov dword [ecx + 0x1c], 0
mov ecx, eax
push 1
call fcn.100b1cc0
add esp, 4
mov dword [esp + 0x40], 0
mov edx, dword [esp + 0x64]
mov ecx, esi
call fcn.1009e7b0
mov edi, eax
mov dword [esp + 0x10], edi
test edi, edi
je 0x100a7db5
mov edx, dword [edi + 0x48]
mov ecx, dword [esp + 0x5c]
call fcn.100b1310
mov ecx, eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x5c]
add ecx, ecx
mov edx, 0x12
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
mov ecx, esi
push eax
push 0
push dword [edi]
call fcn.10095d20
add esp, 0xc
test eax, eax
jne 0x100a7db5
mov eax, dword [edi + 0x24]
mov edx, edi
shr eax, 7
mov ecx, esi
and eax, 0xffffff01
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x84]
push eax
push 0
push 0x7d
call fcn.100bd7a0
add esp, 0xc
mov dword [esp + 0x70], eax
mov eax, dword [edi + 0xc]
mov edx, edi
mov ecx, esi
mov dword [esp + 0x88], eax
call fcn.10099b20
test eax, eax
jne 0x100a7db5
push dword [esp + 0x84]
mov edx, edi
mov ecx, esi
call fcn.1009e840
add esp, 4
test eax, eax
jne 0x100a7db5
mov ecx, esi
call fcn.100b4da0
mov edi, eax
mov dword [esp + 0x34], edi
test edi, edi
je 0x100a7db5
cmp byte [esi + 0x12], 0
jne 0x100a6d00
or dword [edi + 0x98], 0x10
cmp dword [esp + 0x40], 0
jne 0x100a6d12
cmp dword [esp + 0x70], 0
jne 0x100a6d12
xor edx, edx
jmp 0x100a6d17
mov edx, 1
push dword [esp + 0x1c]
mov ecx, esi
call fcn.1009d100
add esp, 4
cmp dword [esp + 0x14], 0
jne 0x100a6d4d
push dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [ebp + 0x10]
push dword [esp + 0x48]
call fcn.100aa820
add esp, 0xc
test eax, eax
jne 0x100a7d2e
push dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov ecx, esi
call fcn.100a67a0
mov ecx, dword [esi + 0x2c]
add esp, 4
mov edx, dword [esp + 0x10]
mov dword [esp + 0x80], eax
lea eax, [ecx + 1]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x30], eax
movsx eax, word [edx + 0x2a]
inc eax
add eax, ecx
mov dword [esi + 0x2c], eax
cmp dword [edx + 0x38], 0
je 0x100a6d95
add ecx, 2
inc eax
mov dword [esp + 0x30], ecx
mov dword [esi + 0x2c], eax
jmp 0x100a6d99
mov ecx, dword [esp + 0x30]
test dword [edx + 0x24], 0x440
lea eax, [ecx + 1]
mov edx, dword [esp + 0x14]
sete byte [esp + 0x1b]
mov dword [esp + 0x58], eax
test edx, edx
je 0x100a6f44
mov eax, dword [edx + 4]
xor ecx, ecx
test eax, eax
jle 0x100a6dd3
mov eax, dword [edx]
mov dword [eax + ecx*8 + 4], 0xffffffff
inc ecx
mov eax, dword [edx + 4]
cmp ecx, eax
jl 0x100a6dc1
xor edx, edx
mov dword [esp + 0x20], edx
test eax, eax
jle 0x100a6f44
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 0x2a]
mov dword [esp + 0x24], eax
xor esi, esi
cwde
test eax, eax
jle 0x100a6e83
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
lea ecx, [eax + edx*8]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
mov edx, dword [eax]
mov ecx, dword [ecx]
call fcn.100543b0
test eax, eax
je 0x100a6e3e
mov eax, dword [esp + 0x28]
inc esi
mov edx, dword [esp + 0x24]
add eax, 0x14
movsx ecx, dx
cmp esi, ecx
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x44]
jl 0x100a6e10
mov edx, dword [esp + 0x20]
jmp 0x100a6e83
mov eax, dword [esp + 0x44]
xor ecx, ecx
mov edx, dword [esp + 0x20]
cmp edx, esi
mov edi, dword [esp + 0x10]
mov dword [eax + 4], esi
movzx eax, byte [esp + 0x1b]
cmove ecx, eax
mov eax, dword [esp + 0x10]
mov byte [esp + 0x1b], cl
mov ecx, edx
movsx eax, word [eax + 0x28]
cmp esi, eax
lea eax, [esi + esi*4]
cmovne ecx, dword [esp + 0x38]
mov dword [esp + 0x38], ecx
mov ecx, dword [edi + 4]
mov edi, dword [esp + 0x34]
test byte [ecx + eax*4 + 0x10], 0x60
jne 0x100a6f00
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 0x2a]
mov ecx, eax
cwde
mov dword [esp + 0x28], ecx
cmp esi, eax
jl 0x100a6eea
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov esi, dword [eax + edx*8]
mov edx, str._ROWID_
mov ecx, esi
call fcn.100543b0
test eax, eax
je 0x100a6ecf
mov edx, str.ROWID
mov ecx, esi
call fcn.100543b0
test eax, eax
je 0x100a6ecf
mov edx, 0x101cc5d8
mov ecx, esi
call fcn.100543b0
test eax, eax
jne 0x100a6f1e
cmp byte [esp + 0xb0], 0
jne 0x100a6f1e
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x38], edx
mov byte [esp + 0x1b], 0
mov eax, dword [esp + 0x14]
inc edx
mov dword [esp + 0x20], edx
cmp edx, dword [eax + 4]
jge 0x100a6f40
movzx eax, cx
jmp 0x100a6de9
lea eax, [esi + esi*4]
mov esi, dword [esp + 0x4c]
mov eax, dword [ecx + eax*4]
push eax
push str.cannot_INSERT_into_generated_column___s_
push esi
call fcn.10054280
add esp, 0xc
jmp 0x100a7db5
push esi
mov esi, dword [esp + 0x50]
push 0
push dword [esp + 0x6c]
push str.table__S_has_no_column_named__s
push esi
call fcn.10054280
add esp, 0x14
mov byte [esi + 0x11], 1
jmp 0x100a7db5
mov esi, dword [esp + 0x4c]
cmp dword [esp + 0x40], 0
je 0x100a72ad
inc dword [esi + 0x2c]
mov edx, 0xd
mov eax, dword [edi + 0x6c]
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x44], eax
inc eax
push eax
push 0
mov dword [esp + 0x30], ecx
push ecx
mov ecx, edi
call fcn.10071be0
mov eax, dword [esp + 0x34]
add esp, 0xc
mov edx, dword [esp + 0x40]
mov ecx, esi
mov dword [esp + 0xb8], eax
xor eax, eax
cmp byte [esp + 0x1b], al
mov byte [esp + 0xb4], 0xd
cmovne eax, dword [esp + 0x58]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], 0
movsx eax, word [eax + 0x2a]
mov dword [esp + 0xc0], eax
lea eax, [esp + 0xb4]
push eax
call fcn.100b9cf0
mov ecx, dword [esp + 0xc0]
add esp, 4
mov dword [esp + 0x48], ecx
test eax, eax
jne 0x100a7db5
mov eax, dword [esp + 0x5c]
cmp byte [eax + 0x51], 0
jne 0x100a7db5
cmp dword [esi + 0x24], 0
jne 0x100a7db5
mov edx, dword [esp + 0x28]
mov ecx, edi
call fcn.100722a0
mov edx, dword [esp + 0x44]
mov ecx, edi
call fcn.10072640
cmp dword [esp + 0x70], 0
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
jne 0x100a71dd
mov eax, dword [esi + 8]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x100a7049
cmp dword [esi + 0x74], eax
jne 0x100a703e
mov eax, dword [esi]
test byte [eax + 0x4c], 8
jne 0x100a703e
mov byte [esi + 0x17], 1
mov ecx, esi
call fcn.100719b0
mov dword [esp + 0x24], eax
mov ecx, dword [eax + 0x6c]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
cmp dword [eax + 0x38], 0
je 0x100a7070
mov edx, dword [eax + 0x40]
test edx, edx
je 0x100a7072
mov eax, dword [esi]
cmp dword [edx], eax
je 0x100a7072
mov edx, dword [edx + 0x18]
test edx, edx
jne 0x100a7063
jmp 0x100a7072
xor edx, edx
mov ecx, 1
mov dword [esp + 0x28], ecx
cmp dword [esp + 0x44], ecx
jle 0x100a7104
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov al, byte [eax + 0x51]
mov byte [esp + 0x1b], al
test al, al
je 0x100a709d
mov eax, 0x101fccb8
jmp 0x100a70aa
mov eax, dword [esp + 0x24]
lea ecx, [ecx + ecx*4]
mov eax, dword [eax + 0x68]
lea eax, [eax + ecx*4]
mov cl, byte [eax]
cmp cl, 0x60
jne 0x100a70e3
mov ecx, dword [esp + 0x1c]
cmp dword [eax + 0xc], ecx
jne 0x100a70f1
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x10]
cmp ecx, dword [eax + 0x1c]
je 0x100a71dd
mov eax, dword [eax + 8]
test eax, eax
je 0x100a70f1
cmp ecx, dword [eax + 0x2c]
je 0x100a71dd
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x100a70d1
jmp 0x100a70f1
cmp cl, 0xa5
jne 0x100a70f1
cmp dword [eax + 0x10], edx
je 0x100a71dd
mov ecx, dword [esp + 0x28]
mov al, byte [esp + 0x1b]
inc ecx
mov dword [esp + 0x28], ecx
cmp ecx, dword [esp + 0x44]
jl 0x100a7092
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x14], 0
jne 0x100a715b
test eax, eax
mov eax, dword [esp + 0x10]
jle 0x100a715f
movsx ecx, word [eax + 0x28]
mov dword [esp + 0x38], ecx
test ecx, ecx
js 0x100a715f
test byte [eax + 0x24], 0x60
je 0x100a715f
lea edx, [ecx - 1]
test edx, edx
js 0x100a715f
mov eax, dword [eax + 4]
lea ecx, [edx + 1]
lea ecx, [edx + ecx*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x38]
test byte [ecx], 0x60
lea eax, [eax - 1]
lea ecx, [ecx - 0x14]
cmove eax, dword [esp + 0x38]
sub edx, 1
mov dword [esp + 0x38], eax
jns 0x100a7140
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x10]
movsx eax, word [eax + 0x2a]
mov dword [esp + 0x28], eax
test eax, eax
jle 0x100a719f
mov ecx, dword [esp + 0x10]
mov edx, eax
mov ecx, dword [ecx + 4]
add ecx, 0x10
xor edi, edi
nop dword [eax]
test byte [ecx], 0x62
lea eax, [edi + 1]
lea ecx, [ecx + 0x14]
cmove eax, edi
mov edi, eax
sub edx, 1
jne 0x100a7180
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
test ecx, ecx
jne 0x100a7303
test edx, edx
je 0x100a731f
sub eax, dword [esp + 0x2c]
cmp edx, eax
je 0x100a731f
push edx
push eax
push ecx
push dword [esp + 0x70]
push str.table__S_has__d_columns_but__d_values_were_supplied
push esi
call fcn.10054280
add esp, 0x18
jmp 0x100a7db5
mov edx, dword [esi + 0x28]
mov ecx, esi
mov byte [esp + 0x1a], 1
mov dword [esp + 0x3c], edx
lea eax, [edx + 1]
mov dword [esi + 0x28], eax
call fcn.10090830
mov edi, eax
call fcn.10090830
push dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
push edx
mov edx, 0x64
mov dword [esp + 0x2c], eax
call fcn.10071d10
push dword [esp + 0xc0]
mov ecx, dword [esp + 0x40]
mov edx, 0xe
call fcn.10071cb0
mov ecx, dword [esp + 0x40]
add esp, 0xc
mov edx, 0x5b
mov esi, eax
push edi
push dword [esp + 0x24]
push dword [esp + 0x50]
call fcn.10071be0
mov ecx, dword [esp + 0x40]
add esp, 0xc
mov edx, 0x78
push dword [esp + 0x24]
push dword [esp + 0x40]
call fcn.10071d10
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x40]
mov edx, 0x79
push edi
push dword [esp + 0x4c]
call fcn.10071be0
mov ecx, dword [esp + 0x48]
add esp, 0x14
mov edx, esi
call fcn.10071d80
mov ecx, dword [esp + 0x34]
mov edx, esi
call fcn.10072640
mov esi, dword [esp + 0x4c]
mov edx, edi
mov ecx, esi
call fcn.10090850
mov edx, dword [esp + 0x24]
call fcn.10090850
mov edi, dword [esp + 0x34]
jmp 0x100a7104
mov ecx, dword [esp + 0x68]
xorps xmm0, xmm0
movaps xmmword [esp + 0x90], xmm0
movaps xmmword [esp + 0xa0], xmm0
mov dword [esp + 0x90], esi
mov dword [esp + 0x3c], 0xffffffff
test ecx, ecx
je 0x100a72f8
mov eax, dword [ecx]
mov edx, ecx
lea ecx, [esp + 0x90]
mov dword [esp + 0x20], eax
call fcn.10087ab0
test eax, eax
jne 0x100a7db5
jmp 0x100a7104
xor eax, eax
mov dword [esp + 0x20], eax
jmp 0x100a7108
mov eax, dword [ecx + 4]
cmp edx, eax
je 0x100a731f
push eax
push edx
push str._d_values_for__d_columns
push esi
call fcn.10054280
add esp, 0x10
jmp 0x100a7db5
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x24]
xor eax, eax
and ecx, 1
or eax, ecx
je 0x100a735a
cmp byte [esi + 0x12], 0
jne 0x100a735a
cmp dword [esi + 0x78], 0
jne 0x100a735a
inc dword [esi + 0x2c]
mov edx, 0x45
mov eax, dword [esi + 0x2c]
mov ecx, edi
push eax
push 0
mov dword [esp + 0x94], eax
call fcn.10071d10
add esp, 8
cmp dword [esp + 0x88], 0
jne 0x100a73f5
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x58]
mov ecx, esi
push eax
push 0
push 0xffffffffffffffff
push 0
push 0x61
call fcn.100aa4f0
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x44], eax
push 0
lea eax, [eax*4 + 8]
push eax
call fcn.100510a0
mov ecx, eax
add esp, 0x20
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x100a7db5
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x2c], edx
jle 0x100a73eb
mov edi, eax
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [ecx + edx*4], eax
inc edx
movzx ecx, word [edi + 0x34]
mov eax, dword [esi + 0x2c]
add eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [esi + 0x2c], eax
mov edi, dword [edi + 0x14]
cmp edx, dword [esp + 0x2c]
jl 0x100a73c2
mov edi, dword [esp + 0x34]
jmp 0x100a73ee
mov eax, dword [esi + 0x2c]
inc eax
mov dword [esi + 0x2c], eax
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x100a7481
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x38], 0
je 0x100a7420
push dword [eax]
push str.UPSERT_not_implemented_for_virtual_table___s_
push esi
call fcn.10054280
add esp, 0xc
jmp 0x100a7db5
cmp dword [eax + 0xc], 0
je 0x100a7439
push str.cannot_UPSERT_a_view
push esi
call fcn.10054280
add esp, 8
jmp 0x100a7db5
mov edx, dword [ecx]
mov ecx, esi
call fcn.1009b2d0
test eax, eax
jne 0x100a7db5
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x54]
mov dword [eax + 0x34], edx
cmp dword [ecx], 0
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x58]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x74]
mov dword [ecx + 0x1c], edx
mov dword [ecx + 0x20], eax
je 0x100a7481
mov edx, dword [esp + 0x64]
push ecx
mov ecx, esi
call fcn.100c0df0
add esp, 4
cmp byte [esp + 0x1a], 0
je 0x100a74ab
push dword [esp + 0x3c]
mov edx, 0x25
mov ecx, edi
call fcn.10071cb0
mov dword [esp + 0x80], eax
add esp, 4
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x78], eax
jmp 0x100a74f4
cmp dword [esp + 0x40], 0
je 0x100a74f4
push dword [esp + 0xb8]
mov edx, 0xe
mov ecx, edi
call fcn.10071cb0
mov edx, eax
add esp, 4
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], edx
test eax, eax
js 0x100a74f4
mov ecx, dword [esp + 0x48]
mov edx, 0x4d
push dword [esp + 0x30]
add ecx, eax
push ecx
mov ecx, edi
call fcn.10071d10
add esp, 8
mov eax, dword [esp + 0x58]
xor ecx, ecx
mov dword [esp + 0x1c], eax
xor edx, edx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], 0
mov dword [esp + 0x24], ecx
cmp dx, word [eax + 0x2a]
jge 0x100a7785
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x28], ecx
jmp 0x100a7528
mov eax, dword [esp + 0x10]
movsx eax, word [eax + 0x28]
cmp ecx, eax
jne 0x100a758c
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a7554
push 0
push 0
push dword [esp + 0x24]
mov edx, 0x49
mov ecx, edi
call fcn.10071ba0
add esp, 0xc
jmp 0x100a775e
mov esi, dword [esp + 0x4c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x49
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x100a7762
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
add ecx, eax
mov dword [esp + 0x2c], ecx
movzx eax, word [ecx + 0x10]
test al, 0x62
je 0x100a75e8
inc dword [esp + 0x44]
test al, 0x20
je 0x100a75b3
dec edx
jmp 0x100a7762
test al, 0x40
je 0x100a75ca
test byte [esp + 0x84], 1
je 0x100a7762
jmp 0x100a7530
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x100a75f0
mov edx, dword [ecx + 4]
mov ecx, esi
push dword [esp + 0x1c]
call fcn.1008eda0
add esp, 4
jmp 0x100a775e
mov eax, dword [esp + 0x14]
test eax, eax
je 0x100a7630
mov ecx, dword [eax + 4]
xor edx, edx
test ecx, ecx
jle 0x100a7612
mov eax, dword [eax]
mov edi, dword [esp + 0x24]
add eax, 4
cmp dword [eax], edi
je 0x100a760e
inc edx
add eax, 8
cmp edx, ecx
jl 0x100a7602
mov edi, dword [esp + 0x34]
cmp edx, ecx
jl 0x100a763f
mov edx, dword [esp + 0x2c]
mov ecx, esi
push dword [esp + 0x1c]
mov edx, dword [edx + 4]
call fcn.1008eda0
add esp, 4
jmp 0x100a775e
cmp dword [esp + 0x20], 0
je 0x100a75d2
mov edx, dword [esp + 0x24]
sub edx, dword [esp + 0x44]
cmp byte [esp + 0x1a], 0
je 0x100a76a3
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a766b
push dword [esp + 0x1c]
mov ecx, edi
push edx
push dword [esp + 0x44]
mov edx, 0x59
call fcn.10071ba0
add esp, 0xc
jmp 0x100a775e
mov esi, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x59
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x100a7762
cmp dword [esp + 0x40], 0
je 0x100a7712
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x58]
je 0x100a775e
mov ecx, dword [edi + 0x6c]
add edx, eax
cmp dword [edi + 0x70], ecx
jg 0x100a76dd
push 0
push dword [esp + 0x20]
mov ecx, edi
push edx
mov edx, 0x4e
call fcn.10071ba0
add esp, 0xc
jmp 0x100a775e
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x34]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4], 0x4e
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x100a7762
mov ecx, dword [esp + 0x68]
lea eax, [edx + edx*4]
push dword [esp + 0x1c]
mov eax, dword [ecx + eax*4 + 4]
mov edx, eax
mov ecx, esi
mov dword [esp + 0x30], eax
call fcn.1008d920
mov edx, dword [esp + 0x20]
add esp, 4
cmp eax, edx
je 0x100a7762
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x100a7762
push edx
mov edx, dword [esp + 0x30]
push eax
mov edx, dword [edx + 4]
and edx, 0x200000
neg edx
sbb edx, edx
add edx, 0x4e
call fcn.10071d10
add esp, 8
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
inc edx
mov ecx, dword [esp + 0x24]
add dword [esp + 0x28], 0x14
inc ecx
mov dword [esp + 0x24], ecx
movsx eax, word [eax + 0x2a]
mov dword [esp + 0x1c], edx
cmp ecx, eax
jl 0x100a7524
dec dword [esi + 0x38]
test byte [esp + 0x84], 1
mov eax, dword [esi + 0x38]
mov dword [esp + 0x48], eax
je 0x100a7925
mov eax, dword [esp + 0x10]
mov ecx, esi
movsx edx, word [eax + 0x2a]
inc edx
call fcn.10090870
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x20], eax
push eax
test ecx, ecx
jns 0x100a77d0
push 0xffffffffffffffff
mov edx, 0x45
mov ecx, edi
call fcn.10071d10
add esp, 8
jmp 0x100a786a
cmp byte [esp + 0x1e], 0
je 0x100a77ed
push ecx
push dword [esp + 0x44]
mov edx, 0x59
mov ecx, edi
call fcn.10071be0
add esp, 0xc
jmp 0x100a7802
mov eax, dword [esp + 0x6c]
lea edx, [ecx + ecx*4]
mov ecx, esi
mov edx, dword [eax + edx*4 + 4]
call fcn.1008ed50
add esp, 4
push dword [esp + 0x20]
mov edx, 0x33
mov ecx, edi
call fcn.10071cb0
add esp, 4
mov dword [esp + 0x2c], eax
mov edx, 0x45
mov ecx, edi
push dword [esp + 0x20]
push 0xffffffffffffffff
call fcn.10071d10
mov ecx, dword [esp + 0x34]
add esp, 8
mov edx, dword [edi + 0x6c]
test ecx, ecx
jns 0x100a783c
lea ecx, [edx - 1]
mov eax, dword [edi]
cmp byte [eax + 0x51], 0
je 0x100a784b
mov eax, 0x101fccb8
jmp 0x100a7854
mov eax, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
push dword [esp + 0x20]
mov dword [eax + 8], edx
mov ecx, edi
mov edx, 0xf
call fcn.10071cb0
add esp, 4
mov eax, dword [esp + 0x10]
mov edx, 0x4d
mov ecx, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x2c], ecx
movsx eax, word [eax + 0x2c]
dec eax
push eax
push ecx
push dword [esp + 0x60]
mov ecx, edi
call fcn.10071be0
mov eax, dword [esp + 0x1c]
add esp, 0xc
test byte [eax + 0x24], 0x60
je 0x100a78ae
mov edx, dword [esp + 0x2c]
mov ecx, esi
push eax
call fcn.100a65b0
mov eax, dword [esp + 0x14]
add esp, 4
cmp dword [esp + 0x88], 0
jne 0x100a78c8
push dword [esp + 0x2c]
mov edx, eax
mov ecx, edi
call fcn.100a64a0
add esp, 4
mov edx, dword [esp + 0x10]
push dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
push dword [ebp + 0x10]
movsx eax, word [edx + 0x2a]
sub ecx, eax
dec ecx
push ecx
push edx
mov edx, dword [esp + 0x80]
mov ecx, esi
push 1
push 0
push 0x7d
call fcn.100be140
mov ecx, dword [esp + 0x2c]
add esp, 0x1c
movsx eax, word [ecx + 0x2a]
inc eax
cmp eax, 1
jne 0x100a7987
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x100a7925
mov al, byte [esi + 0x13]
cmp al, 8
jae 0x100a7925
movzx eax, al
mov dword [esi + eax*4 + 0x98], ecx
inc byte [esi + 0x13]
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x88], 0
jne 0x100a7c1c
mov ecx, dword [ecx + 0x38]
test ecx, ecx
je 0x100a795a
push dword [esp + 0x6c]
mov edx, 0x48
mov ecx, edi
push 0
call fcn.10071d10
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, dword [eax + 0x38]
mov eax, dword [esp + 0x38]
test eax, eax
js 0x100a7a3e
cmp byte [esp + 0x1a], 0
je 0x100a7998
push dword [esp + 0x30]
mov edx, 0x59
mov ecx, edi
push eax
push dword [esp + 0x44]
call fcn.10071be0
add esp, 0xc
jmp 0x100a79c5
cmp eax, dword [esi + 0x1c]
jle 0x100a7929
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x20]
mov dword [esi + 0x20], eax
jmp 0x100a7929
cmp dword [esp + 0x40], 0
jne 0x100a79c5
mov edx, dword [esp + 0x68]
lea eax, [eax + eax*4]
mov edx, dword [edx + eax*4 + 4]
cmp byte [edx], 0x77
jne 0x100a79b7
test ecx, ecx
je 0x100a7a4b
push dword [esp + 0x30]
mov ecx, esi
call fcn.1008ed50
add esp, 4
mov eax, dword [esp + 0x10]
mov ecx, edi
cmp dword [eax + 0x38], 0
jne 0x100a7a11
push dword [esp + 0x30]
mov edx, 0x33
call fcn.10071cb0
add esp, 4
mov edx, 0x78
mov ecx, edi
mov esi, eax
push dword [esp + 0x80]
push dword [esp + 0x34]
push dword [esp + 0x5c]
call fcn.10071be0
add esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.10072640
mov esi, dword [esp + 0x4c]
jmp 0x100a7a29
mov eax, dword [edi + 0x6c]
mov edx, 0x32
add eax, 2
push eax
push dword [esp + 0x34]
call fcn.10071d10
add esp, 8
push dword [esp + 0x30]
mov edx, 0xf
mov ecx, edi
call fcn.10071cb0
add esp, 4
jmp 0x100a7a88
test ecx, ecx
jne 0x100a7a73
cmp byte [esp + 0xb0], cl
jne 0x100a7a73
push dword [esp + 0x80]
mov edx, 0x78
mov ecx, edi
push dword [esp + 0x34]
push dword [esp + 0x5c]
call fcn.10071be0
add esp, 0xc
mov dword [esp + 0x24], 1
jmp 0x100a7a90
push dword [esp + 0x30]
mov edx, 0x48
mov ecx, edi
push 0
call fcn.10071d10
add esp, 8
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x80]
test eax, eax
jle 0x100a7ab0
push dword [esp + 0x30]
mov ecx, dword [esi + 8]
mov edx, 0x97
push eax
call fcn.10071d10
add esp, 8
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x24], 0x60
je 0x100a7acd
mov edx, dword [esp + 0x58]
push ecx
mov ecx, esi
call fcn.100a65b0
mov ecx, dword [esp + 0x14]
add esp, 4
cmp dword [ecx + 0x38], 0
je 0x100a7b76
mov eax, dword [ecx + 0x40]
mov dword [esp + 0xb0], eax
test eax, eax
je 0x100a7b02
mov edx, dword [esp + 0x5c]
nop dword [eax]
cmp dword [eax], edx
je 0x100a7afb
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x100a7af0
mov dword [esp + 0xb0], eax
mov edx, ecx
mov ecx, esi
call fcn.100c32c0
mov eax, dword [esp + 0x10]
mov edx, 0xa
push 0xfffffffffffffff4
push dword [esp + 0xb4]
mov ecx, edi
movsx eax, word [eax + 0x2a]
push dword [esp + 0x74]
add eax, 2
push eax
push 1
call fcn.10071fc0
mov eax, dword [edi + 0x6c]
add esp, 0x14
test eax, eax
jle 0x100a7b63
mov ecx, dword [ebp + 0x10]
cmp ecx, 0xb
movzx edx, cx
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov dword [esp + 0xb0], 2
cmove edx, dword [esp + 0xb0]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esi + 0x74]
mov ecx, esi
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15], 1
jmp 0x100a7c1c
mov eax, dword [esp + 0x50]
mov edx, ecx
push eax
push 0
lea eax, [esp + 0xb8]
mov ecx, esi
push eax
push dword [esp + 0x54]
mov eax, dword [esp + 0x48]
push dword [ebp + 0x10]
shr eax, 0x1f
xor al, 1
movzx eax, al
push eax
push 0
push dword [esp + 0x88]
push dword [esp + 0x94]
push dword [esp + 0x78]
push dword [esp + 0x88]
call fcn.100a7f50
mov edx, dword [esp + 0x3c]
add esp, 0x2c
mov ecx, esi
push 0
push 0
push dword [esp + 0x74]
push 0
call fcn.100a4de0
add esp, 0x10
cmp dword [esp + 0xb0], 0
je 0x100a7bef
cmp dword [edi + 0xd8], 0
je 0x100a7bef
xor eax, eax
jmp 0x100a7bf4
mov eax, 1
mov edx, dword [esp + 0x10]
mov ecx, esi
push eax
push dword [esp + 0x28]
push 0
push dword [esp + 0x6c]
push dword [esp + 0x7c]
push dword [esp + 0x88]
push dword [esp + 0x6c]
call fcn.100aa2b0
add esp, 0x1c
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x100a7c39
push 1
push eax
mov edx, 0x52
mov ecx, edi
call fcn.10071d10
add esp, 8
cmp dword [esp + 0x70], 0
je 0x100a7c6e
mov ecx, dword [esp + 0x10]
push dword [esp + 0x48]
mov edx, dword [esp + 0x5c]
push dword [ebp + 0x10]
movsx eax, word [ecx + 0x2a]
sub edx, eax
sub edx, 2
push edx
mov edx, dword [esp + 0x7c]
push ecx
push 2
push 0
push 0x7d
mov ecx, esi
call fcn.100be140
add esp, 0x1c
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x48]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100a7c8c
push edx
mov edx, edi
call fcn.10072310
add esp, 4
jmp 0x100a7c95
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
cmp byte [esp + 0x1a], 0
je 0x100a7cf2
push dword [esp + 0x78]
mov edx, 5
mov ecx, edi
push dword [esp + 0x40]
call fcn.10071d10
mov eax, dword [edi]
add esp, 8
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x51], 0
je 0x100a7cc5
mov eax, 0x101fccb8
jmp 0x100a7cda
mov ecx, dword [esp + 0x7c]
lea eax, [edx - 1]
test ecx, ecx
cmovns eax, ecx
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
push dword [esp + 0x3c]
mov dword [eax + 8], edx
mov ecx, edi
mov edx, 0x74
call fcn.10071cb0
add esp, 4
jmp 0x100a7d2e
cmp dword [esp + 0x40], 0
je 0x100a7d2e
mov edx, dword [esp + 0x78]
mov ecx, edi
call fcn.10071d80
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x51], 0
je 0x100a7d16
mov eax, 0x101fccb8
jmp 0x100a7d2b
mov ecx, dword [esp + 0x7c]
lea eax, [edx - 1]
test ecx, ecx
cmovns eax, ecx
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
cmp byte [esi + 0x12], 0
jne 0x100a7d47
cmp dword [esi + 0x78], 0
jne 0x100a7d47
cmp dword [esi + 0x70], 0
je 0x100a7d47
mov ecx, esi
call fcn.100a69d0
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x100a7db5
push 1
push eax
mov edx, 0x50
mov ecx, edi
call fcn.10071d10
add esp, 8
mov edx, 1
mov ecx, edi
call fcn.10073ce0
mov eax, dword [edi]
cmp byte [eax + 0x51], 0
jne 0x100a7db5
mov esi, dword [edi + 0x74]
mov eax, 0x2400
test word [esi + 8], ax
jne 0x100a7d8c
cmp dword [esi + 0x18], 0
je 0x100a7d93
mov ecx, esi
call fcn.100707e0
mov eax, 0xa02
mov dword [esi + 0x10], str.rows_inserted
mov dword [esi + 0x24], 0
mov dword [esi + 0xc], 0xd
mov word [esi + 8], ax
mov byte [esi + 0xa], 1
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x5c]
mov ecx, esi
mov edx, dword [esp + 0x64]
call fcn.1009c9b0
mov eax, dword [esp + 0x68]
test eax, eax
je 0x100a7dd9
mov edx, eax
mov ecx, esi
call fcn.1008a230
mov eax, dword [esp + 0x50]
test eax, eax
je 0x100a7e31
mov edx, dword [eax]
test edx, edx
je 0x100a7df2
mov ecx, esi
call fcn.1008a230
mov eax, dword [esp + 0x50]
mov edx, dword [eax + 4]
test edx, edx
je 0x100a7e04
mov ecx, esi
call fcn.100890b0
mov eax, dword [esp + 0x50]
mov edx, dword [eax + 8]
test edx, edx
je 0x100a7e16
mov ecx, esi
call fcn.1008a230
mov eax, dword [esp + 0x50]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x100a7e28
mov ecx, esi
call fcn.100890b0
mov eax, dword [esp + 0x50]
mov edx, eax
mov ecx, esi
call fcn.10050db0
mov eax, dword [esp + 0x40]
test eax, eax
je 0x100a7e47
push 1
mov edx, eax
mov ecx, esi
call fcn.100b1cc0
add esp, 4
mov edx, edi
mov ecx, esi
call fcn.1009c580
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x100a7eef
test esi, esi
je 0x100a7ee6
cmp dword [esi + 0x1f8], 0
je 0x100a7e8a
mov edx, ecx
mov ecx, esi
call fcn.10050d50
pop edi
pop esi
mov ecx, dword [esp + 0xc4]
xor ecx, esp
call fcn.1015c7a5
mov esp, ebp
pop ebp
ret
cmp ecx, dword [esi + 0x14c]
jae 0x100a7ee6
cmp ecx, dword [esi + 0x144]
jb 0x100a7ebc
mov eax, dword [esi + 0x140]
mov dword [ecx], eax
mov dword [esi + 0x140], ecx
pop edi
pop esi
mov ecx, dword [esp + 0xc4]
xor ecx, esp
call fcn.1015c7a5
mov esp, ebp
pop ebp
ret
cmp ecx, dword [esi + 0x148]
jb 0x100a7ee6
mov eax, dword [esi + 0x138]
mov dword [ecx], eax
mov dword [esi + 0x138], ecx
pop edi
pop esi
mov ecx, dword [esp + 0xc4]
xor ecx, esp
call fcn.1015c7a5
mov esp, ebp
pop ebp
ret
push ecx
call fcn.10050ca0
add esp, 4
mov ecx, dword [esp + 0xcc]
pop edi
pop esi
xor ecx, esp
call fcn.1015c7a5
mov esp, ebp
pop ebp
ret