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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xc8
mov eax, dword [0x1060f098]
xor eax, esp
mov dword [esp + 0xc4], eax
push esi
mov esi, dword [ebp + 0xc]
or eax, 0xffffffff
push edi
mov edi, ecx
mov dword [esp + 0x60], eax
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x70], eax
cmp dword [edi + 0x24], 0
mov byte [esp + 0x1f], al
mov byte [esp + 0x33], al
mov dword [esp + 0x54], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x74], eax
mov eax, dword [edi]
mov dword [esp + 0x90], edx
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x7c], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x4c], eax
jne 0x1008f193
cmp byte [eax + 0x49], 0
jne 0x1008f193
mov dword [esp + 0x58], 0
test ecx, ecx
je 0x1008e023
test dword [ecx + 8], 0x200
je 0x1008e023
cmp dword [ecx + 0x30], 0
jne 0x1008e023
mov edx, dword [ecx]
mov dword [esp + 0x54], edx
mov edx, ecx
mov dword [ecx], 0
mov ecx, eax
push 1
call fcn.10096b90
add esp, 4
mov dword [esp + 0x48], 0
mov edx, dword [esp + 0x90]
mov ecx, edi
call fcn.10086a30
mov esi, eax
mov dword [esp + 0x14], esi
test esi, esi
je 0x1008f18f
mov ecx, dword [esi + 0x48]
mov edx, 0xfff0bdc0
mov dword [esp + 0x20], edx
test ecx, ecx
je 0x1008e06f
mov eax, dword [esp + 0x4c]
xor edx, edx
mov dword [esp + 0x20], edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x1008e06f
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x1008e063
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x4c]
mov ecx, edx
add ecx, ecx
mov edx, 0x12
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8]
mov ecx, edi
push 0
push dword [esi]
call fcn.1007f7a0
add esp, 0xc
test eax, eax
jne 0x1008f18f
mov eax, dword [esi + 0x24]
mov edx, esi
shr eax, 5
mov ecx, edi
and eax, 0xffffff01
mov dword [esp + 0x84], eax
lea eax, [esp + 0x80]
push eax
push 0
push 0x6c
call fcn.100a1fc0
add esp, 0xc
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0xc]
mov edx, esi
mov ecx, edi
mov dword [esp + 0x5c], eax
call fcn.10082940
test eax, eax
jne 0x1008f18f
push dword [esp + 0x80]
mov edx, esi
mov ecx, edi
call fcn.10086ac0
add esp, 4
test eax, eax
jne 0x1008f18f
mov ecx, edi
call fcn.10099a20
mov esi, eax
mov dword [esp + 0x28], esi
test esi, esi
je 0x1008f18f
cmp byte [edi + 0x12], 0
jne 0x1008e11b
or dword [esi + 0x94], 0x10
cmp dword [esp + 0x48], 0
jne 0x1008e12d
cmp dword [esp + 0x68], 0
jne 0x1008e12d
xor edx, edx
jmp 0x1008e132
mov edx, 1
push dword [esp + 0x20]
mov ecx, edi
call fcn.10085540
add esp, 4
cmp dword [esp + 0x18], 0
jne 0x1008e168
push dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov ecx, edi
push dword [ebp + 0x10]
push dword [esp + 0x50]
call fcn.10090e60
add esp, 0xc
test eax, eax
jne 0x1008f11e
push dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.1008dc60
mov ecx, dword [edi + 0x2c]
add esp, 4
mov edx, dword [esp + 0x14]
mov dword [esp + 0x50], eax
lea eax, [ecx + 1]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x34], eax
movsx eax, word [edx + 0x2a]
inc eax
add eax, ecx
mov dword [edi + 0x2c], eax
cmp dword [edx + 0x38], 0
je 0x1008e1ad
add ecx, 2
inc eax
mov dword [esp + 0x34], ecx
mov dword [edi + 0x2c], eax
jmp 0x1008e1b1
mov ecx, dword [esp + 0x34]
lea eax, [ecx + 1]
mov dword [esp + 0x94], eax
mov eax, dword [edx + 0x24]
shr eax, 7
not al
and eax, 0xffffff01
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1008e312
xor ecx, ecx
cmp dword [eax + 4], ecx
jle 0x1008e1f9
mov edi, eax
mov eax, dword [edi]
mov dword [eax + ecx*8 + 4], 0xffffffff
inc ecx
cmp ecx, dword [edi + 4]
jl 0x1008e1e1
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x18]
xor ecx, ecx
mov dword [esp + 0x24], ecx
cmp dword [eax + 4], ecx
jle 0x1008e312
nop dword [eax + eax]
movsx eax, word [edx + 0x2a]
xor esi, esi
mov dword [esp + 0x40], eax
test eax, eax
jle 0x1008e298
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
lea ecx, [eax + ecx*8]
mov eax, dword [edx + 4]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x38], eax
mov edx, dword [eax]
mov ecx, dword [ecx]
call fcn.10044510
test eax, eax
je 0x1008e25f
mov eax, dword [esp + 0x38]
inc esi
mov ecx, dword [esp + 0x78]
add eax, 0x10
mov dword [esp + 0x38], eax
cmp esi, dword [esp + 0x40]
jl 0x1008e232
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
jmp 0x1008e298
mov eax, dword [esp + 0x78]
xor edx, edx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 4], esi
movzx eax, cl
mov ecx, dword [esp + 0x24]
cmp ecx, esi
cmove edx, eax
mov dword [esp + 0x40], edx
mov byte [esp + 0x2c], dl
mov edx, dword [esp + 0x14]
movsx eax, word [edx + 0x28]
cmp esi, eax
jne 0x1008e298
mov al, byte [esp + 0x40]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x2c], eax
movsx eax, word [edx + 0x2a]
cmp esi, eax
jl 0x1008e2fc
mov eax, dword [esp + 0x18]
mov edx, str._ROWID_
mov eax, dword [eax]
mov esi, dword [eax + ecx*8]
mov ecx, esi
call fcn.10044510
test eax, eax
je 0x1008e2dd
mov edx, str.ROWID
mov ecx, esi
call fcn.10044510
test eax, eax
je 0x1008e2dd
mov edx, 0x105fc414
mov ecx, esi
call fcn.10044510
test eax, eax
jne 0x1008e426
cmp byte [esp + 0x84], 0
jne 0x1008e426
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x60], ecx
mov byte [esp + 0x2c], 0
mov eax, dword [esp + 0x18]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, dword [eax + 4]
jl 0x1008e210
mov esi, dword [esp + 0x28]
cmp dword [esp + 0x48], 0
je 0x1008e52c
inc dword [edi + 0x2c]
mov edx, 0xf
mov eax, dword [esi + 0x88]
mov ecx, dword [edi + 0x2c]
mov dword [esp + 0x40], eax
inc eax
push eax
push 0
mov dword [esp + 0x80], ecx
push ecx
mov ecx, esi
call fcn.1005fb40
mov eax, dword [esp + 0x84]
add esp, 0xc
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x48]
mov dword [esp + 0xa4], eax
xor eax, eax
test cl, cl
mov byte [esp + 0xa0], 0xd
mov ecx, edi
mov dword [esp + 0xb0], 0
cmovne eax, dword [esp + 0x94]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x14]
movsx eax, word [eax + 0x2a]
mov dword [esp + 0xac], eax
lea eax, [esp + 0xa0]
push eax
call fcn.1009e7b0
mov ecx, dword [esp + 0xac]
add esp, 4
mov dword [esp + 0x88], ecx
test eax, eax
jne 0x1008f18f
mov eax, dword [esp + 0x4c]
cmp byte [eax + 0x49], 0
jne 0x1008f18f
cmp dword [edi + 0x24], 0
jne 0x1008f18f
mov edx, dword [esp + 0x78]
mov ecx, esi
call fcn.100600d0
mov edx, dword [esp + 0x40]
mov ecx, esi
call fcn.100604f0
cmp dword [esp + 0x68], 0
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
jne 0x1008e453
push dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.1008db70
add esp, 4
test eax, eax
jne 0x1008e453
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x2c]
jmp 0x1008e57e
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov eax, dword [esi]
push dword [eax + ecx*8]
push 0
push dword [esp + 0x98]
push str.table__S_has_no_column_named__s
push edi
call fcn.10044360
add esp, 0x14
mov byte [edi + 0x11], 1
jmp 0x1008f193
mov edx, dword [edi + 0x28]
mov ecx, edi
mov byte [esp + 0x1f], 1
mov dword [esp + 0x3c], edx
lea eax, [edx + 1]
mov dword [edi + 0x28], eax
call fcn.1007c100
mov ecx, dword [esp + 0x44]
mov edi, eax
call fcn.1007c100
push dword [esp + 0x2c]
mov ecx, esi
mov dword [esp + 0x3c], eax
push edx
mov edx, 0x6e
call fcn.1005fc90
mov eax, dword [esp + 0xac]
mov edx, 0x10
push eax
mov ecx, esi
mov dword [esp + 0x64], eax
call fcn.1005fc20
mov ecx, dword [esp + 0x34]
add esp, 0xc
mov edx, 0x65
mov esi, eax
push edi
push dword [esp + 0x30]
push dword [esp + 0x90]
call fcn.1005fb40
mov ecx, dword [esp + 0x34]
add esp, 0xc
mov edx, 0x75
push dword [esp + 0x38]
push dword [esp + 0x40]
call fcn.1005fc90
push dword [esp + 0x40]
mov ecx, dword [esp + 0x34]
mov edx, 0x76
push edi
push dword [esp + 0x4c]
call fcn.1005fb40
mov ecx, dword [esp + 0x3c]
add esp, 0x14
mov edx, esi
call fcn.1005fd00
mov edx, esi
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.100604f0
mov ecx, dword [esp + 0x44]
mov edx, edi
call fcn.1007c120
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
call fcn.1007c120
mov eax, dword [esp + 0x2c]
jmp 0x1008e57e
mov ecx, dword [esp + 0x54]
xorps xmm0, xmm0
movaps xmmword [esp + 0xa0], xmm0
movaps xmmword [esp + 0xb0], xmm0
mov dword [esp + 0xa0], edi
mov dword [esp + 0x3c], 0xffffffff
test ecx, ecx
je 0x1008e578
mov eax, dword [ecx]
mov edx, ecx
lea ecx, [esp + 0xa0]
mov dword [esp + 0x2c], eax
call fcn.10074270
test eax, eax
jne 0x1008f18f
mov eax, dword [esp + 0x2c]
jmp 0x1008e57e
xor eax, eax
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x18], 0
mov edx, dword [esp + 0x14]
jne 0x1008e595
test eax, eax
jle 0x1008e595
movsx eax, word [edx + 0x28]
mov dword [esp + 0x60], eax
movsx eax, word [edx + 0x2a]
xor ecx, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ecx
cmp eax, 2
jl 0x1008e5f4
mov ecx, dword [edx + 4]
add eax, 0xfffffffe
shr eax, 1
add ecx, 0x1f
inc eax
mov dword [esp + 0x40], eax
add eax, eax
mov esi, dword [esp + 0x40]
mov dword [esp + 0x24], eax
movzx eax, byte [ecx - 0x10]
lea ecx, [ecx + 0x20]
shr eax, 1
and eax, 1
add dword [esp + 0x38], eax
movzx eax, byte [ecx - 0x20]
shr eax, 1
and eax, 1
add dword [esp + 0x20], eax
sub esi, 1
jne 0x1008e5c6
mov esi, dword [esp + 0x28]
mov ecx, dword [esp + 0x38]
movsx eax, word [edx + 0x2a]
mov edi, dword [esp + 0x44]
cmp dword [esp + 0x24], eax
jge 0x1008e61c
shl dword [esp + 0x24], 4
mov edi, dword [esp + 0x24]
mov eax, dword [edx + 4]
movzx eax, byte [edi + eax + 0xf]
mov edi, dword [esp + 0x44]
shr eax, 1
and eax, 1
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x20]
add eax, ecx
mov ecx, dword [esp + 0x7c]
add ecx, eax
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x1008e662
cmp dword [esp + 0x2c], eax
je 0x1008e682
movsx eax, word [edx + 0x2a]
sub eax, ecx
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
je 0x1008e682
push ecx
push eax
push 0
push dword [esp + 0x9c]
push str.table__S_has__d_columns_but__d_values_were_supplied
push edi
call fcn.10044360
add esp, 0x18
jmp 0x1008f18f
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
je 0x1008e682
push eax
push ecx
push str._d_values_for__d_columns
push edi
call fcn.10044360
add esp, 0x10
jmp 0x1008f18f
mov eax, dword [esp + 0x4c]
test byte [eax + 0x1c], 0x80
je 0x1008e6af
inc dword [edi + 0x2c]
mov edx, 0x43
mov eax, dword [edi + 0x2c]
mov ecx, esi
push eax
push 0
mov dword [esp + 0x94], eax
call fcn.1005fc90
mov edx, dword [esp + 0x1c]
add esp, 8
cmp dword [esp + 0x5c], 0
jne 0x1008e732
lea eax, [esp + 0x9c]
mov ecx, edi
push eax
lea eax, [esp + 0x68]
push eax
push 0
push 0xffffffffffffffff
push 0
push 0x6b
call fcn.10090b30
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x94], eax
push 0
lea eax, [eax*4 + 4]
push eax
call fcn.10041390
add esp, 0x20
mov dword [esp + 0x74], eax
test eax, eax
je 0x1008f18f
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov edx, dword [eax + 8]
cmp dword [esp + 0x7c], ecx
jle 0x1008e732
nop word [eax + eax]
inc dword [edi + 0x2c]
mov esi, dword [esp + 0x74]
mov eax, dword [edi + 0x2c]
mov dword [esi + ecx*4], eax
inc ecx
movzx eax, word [edx + 0x34]
add dword [edi + 0x2c], eax
mov edx, dword [edx + 0x14]
cmp ecx, dword [esp + 0x7c]
jl 0x1008e710
mov esi, dword [esp + 0x28]
cmp byte [esp + 0x1f], 0
je 0x1008e758
push dword [esp + 0x3c]
mov edx, 0x25
mov ecx, esi
call fcn.1005fc20
mov dword [esp + 0x9c], eax
mov eax, dword [esi + 0x88]
jmp 0x1008e776
cmp dword [esp + 0x48], 0
je 0x1008e77d
push dword [esp + 0x58]
mov edx, 0x10
mov ecx, esi
call fcn.1005fc20
mov dword [esp + 0x9c], eax
mov dword [esp + 0x74], eax
add esp, 4
mov ecx, esi
call fcn.10060150
test byte [esp + 0x80], 1
mov dword [esp + 0x38], eax
je 0x1008ea0b
mov eax, dword [esp + 0x14]
mov ecx, edi
movsx edx, word [eax + 0x2a]
inc edx
call fcn.1007c170
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x20], eax
push eax
test ecx, ecx
jns 0x1008e7c6
push 0xffffffffffffffff
mov edx, 0x43
mov ecx, esi
call fcn.1005fc90
add esp, 8
jmp 0x1008e841
cmp byte [esp + 0x23], 0
je 0x1008e7e3
push ecx
push dword [esp + 0x44]
mov edx, 0x63
mov ecx, esi
call fcn.1005fb40
add esp, 0xc
jmp 0x1008e7f8
mov eax, dword [esp + 0x58]
lea edx, [ecx + ecx*2]
mov ecx, edi
mov edx, dword [eax + edx*8 + 4]
call fcn.1007aae0
add esp, 4
push dword [esp + 0x20]
mov edx, 0x33
mov ecx, esi
call fcn.1005fc20
mov ecx, dword [esp + 0x2c]
add esp, 4
mov edx, 0x43
mov esi, eax
push dword [esp + 0x20]
push 0xffffffffffffffff
call fcn.1005fc90
mov ecx, dword [esp + 0x30]
mov edx, esi
call fcn.100604f0
push dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
mov edx, 0x11
call fcn.1005fc20
add esp, 0xc
mov ecx, dword [esp + 0x14]
xor eax, eax
xor esi, esi
cmp ax, word [ecx + 0x2a]
jge 0x1008e987
mov edx, dword [esp + 0x20]
mov dword [esp + 0x58], eax
inc edx
or eax, 0xffffffff
mov dword [esp + 0x24], edx
sub eax, dword [esp + 0x20]
mov dword [esp + 0x80], eax
nop
mov eax, dword [esp + 0x18]
test eax, eax
je 0x1008e8ac
xor esi, esi
cmp dword [eax + 4], esi
jle 0x1008e8ac
mov ecx, dword [eax]
mov edi, dword [esp + 0x80]
add ecx, 4
nop dword [eax + eax]
lea eax, [edi + edx]
cmp dword [ecx], eax
mov eax, dword [esp + 0x18]
je 0x1008e8a4
inc esi
add ecx, 8
cmp esi, dword [eax + 4]
jl 0x1008e890
mov edi, dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
cmp byte [esp + 0x1f], 0
jne 0x1008e8ba
cmp dword [esp + 0x54], 0
je 0x1008e8c3
test eax, eax
je 0x1008e91a
cmp esi, dword [eax + 4]
jl 0x1008e91a
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x58]
mov eax, dword [eax + ecx + 4]
test eax, eax
je 0x1008e8ed
cmp byte [eax], 0x98
jne 0x1008e8ed
mov ecx, dword [edi + 8]
push edx
push dword [eax + 0x1c]
mov edx, 0x4b
call fcn.1005fc90
add esp, 8
jmp 0x1008e94f
push edx
mov edx, eax
mov ecx, edi
call fcn.100797f0
mov edx, dword [esp + 0x28]
add esp, 4
cmp eax, edx
je 0x1008e953
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x1008e953
push edx
push eax
mov edx, 0x4c
call fcn.1005fc90
add esp, 8
jmp 0x1008e94f
cmp byte [esp + 0x1f], 0
push edx
je 0x1008e93a
mov ecx, dword [esp + 0x2c]
mov edx, 0x63
push esi
push dword [esp + 0x44]
call fcn.1005fb40
add esp, 0xc
jmp 0x1008e94f
mov eax, dword [esp + 0x58]
lea edx, [esi + esi*2]
mov ecx, edi
mov edx, dword [eax + edx*8 + 4]
call fcn.1007ab40
add esp, 4
mov edx, dword [esp + 0x24]
add dword [esp + 0x58], 0x10
lea eax, [esi + 1]
mov ecx, dword [esp + 0x80]
inc edx
cmp dword [esp + 0x18], 0
mov dword [esp + 0x24], edx
cmovne eax, esi
add ecx, edx
mov esi, eax
mov eax, dword [esp + 0x14]
movsx eax, word [eax + 0x2a]
cmp ecx, eax
mov ecx, dword [esp + 0x14]
jl 0x1008e870
cmp dword [esp + 0x5c], 0
mov esi, dword [esp + 0x28]
jne 0x1008e9a4
mov eax, dword [esp + 0x20]
mov edx, ecx
inc eax
mov ecx, esi
push eax
call fcn.1008da70
add esp, 4
mov edx, dword [esp + 0x14]
push dword [esp + 0x38]
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 + 0x78]
mov ecx, edi
push 1
push 0
push 0x6c
call fcn.100a2970
mov eax, dword [esp + 0x30]
add esp, 0x1c
mov edx, dword [esp + 0x20]
mov ecx, edi
movsx eax, word [eax + 0x2a]
inc eax
mov dword [esp + 0x40], eax
cmp eax, 1
jne 0x1008e9ef
call fcn.1007c120
jmp 0x1008ea0b
push eax
call fcn.100792c0
mov eax, dword [esp + 0x44]
add esp, 4
cmp eax, dword [edi + 0x1c]
jle 0x1008ea0b
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x20]
mov dword [edi + 0x20], eax
cmp dword [esp + 0x5c], 0
jne 0x1008ef26
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x38], 0
je 0x1008ea39
push dword [esp + 0x6c]
mov edx, 0x46
mov ecx, esi
push 0
call fcn.1005fc90
mov eax, dword [esp + 0x1c]
add esp, 8
mov ecx, dword [esp + 0x60]
test ecx, ecx
js 0x1008eb72
cmp byte [esp + 0x1f], 0
push dword [esp + 0x34]
je 0x1008eab8
push ecx
push dword [esp + 0x44]
mov edx, 0x63
mov ecx, esi
call fcn.1005fb40
add esp, 0xc
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x38], 0
jne 0x1008eb40
push dword [esp + 0x34]
mov edx, 0x33
mov ecx, esi
call fcn.1005fc20
mov edx, dword [esp + 0x54]
add esp, 4
mov ecx, dword [esp + 0x28]
mov esi, eax
mov eax, dword [esp + 0x64]
push edx
push dword [esp + 0x38]
mov edx, 0x75
push eax
call fcn.1005fb40
add esp, 0xc
mov edx, esi
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.100604f0
jmp 0x1008eb5d
cmp dword [esp + 0x4c], 0
je 0x1008eada
mov eax, dword [esp + 0x8c]
mov edx, 0x4b
add eax, ecx
mov ecx, esi
push eax
call fcn.1005fc90
add esp, 8
jmp 0x1008ea64
mov eax, dword [esp + 0x58]
lea edx, [ecx + ecx*2]
mov ecx, edi
mov edx, dword [eax + edx*8 + 4]
call fcn.1007aae0
mov eax, dword [esi]
add esp, 4
mov ecx, dword [esi + 0x88]
dec ecx
cmp byte [eax + 0x49], 0
je 0x1008eb05
mov ecx, 0x106159c4
jmp 0x1008eb0e
mov eax, dword [esi + 0x58]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*4]
cmp byte [ecx], 0x46
jne 0x1008ea64
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x38], 0
jne 0x1008eb40
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x50]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x34]
mov byte [esp + 0x33], 1
mov byte [ecx], 0x75
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
jmp 0x1008ebbf
mov eax, dword [esi + 0x88]
mov edx, 0x32
add eax, 2
mov ecx, esi
push eax
push dword [esp + 0x38]
call fcn.1005fc90
add esp, 8
push dword [esp + 0x34]
mov edx, 0x11
mov ecx, esi
call fcn.1005fc20
add esp, 4
jmp 0x1008ebbb
cmp dword [eax + 0x38], 0
jne 0x1008eba6
cmp byte [esp + 0x84], 0
jne 0x1008eba6
mov edx, dword [esp + 0x50]
mov ecx, esi
mov eax, dword [esp + 0x64]
push edx
push dword [esp + 0x38]
mov edx, 0x75
push eax
call fcn.1005fb40
add esp, 0xc
mov byte [esp + 0x33], 1
jmp 0x1008ebbb
push dword [esp + 0x34]
mov edx, 0x46
mov ecx, esi
push 0
call fcn.1005fc90
add esp, 8
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x50]
test ecx, ecx
jle 0x1008ebd9
push eax
push ecx
mov ecx, dword [edi + 8]
mov edx, 0x94
call fcn.1005fc90
add esp, 8
mov edx, dword [esp + 0x14]
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x20], ecx
cmp ax, word [edx + 0x2a]
jge 0x1008edd1
mov dword [esp + 0x50], eax
nop dword [eax + eax]
mov eax, dword [esp + 0x94]
add eax, ecx
mov dword [esp + 0x24], eax
movsx eax, word [edx + 0x28]
cmp ecx, eax
jne 0x1008ec2a
push dword [esp + 0x24]
mov edx, 0x47
mov ecx, esi
call fcn.1005fc20
jmp 0x1008edb0
cmp dword [esp + 0x18], 0
jne 0x1008ecd5
mov edi, dword [esp + 0x50]
mov eax, dword [edx + 4]
test byte [eax + edi + 0xf], 2
mov edi, dword [esp + 0x44]
je 0x1008eccd
inc dword [esp + 0x5c]
cmp byte [edi + 0x17], 0
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x50]
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x84], eax
je 0x1008eda3
mov byte [esp + 0xb4], 1
mov dword [esp + 0xa4], fcn.10076710
mov dword [esp + 0xa8], 0x100766b0
mov dword [esp + 0xb8], 0
test eax, eax
je 0x1008ecbb
mov edx, eax
lea ecx, [esp + 0xa0]
call fcn.10072220
cmp byte [esp + 0xb4], 0
mov eax, dword [esp + 0x84]
je 0x1008eda3
push dword [esp + 0x24]
mov edx, eax
mov ecx, edi
call fcn.1007a910
jmp 0x1008edb0
mov eax, ecx
sub eax, dword [esp + 0x5c]
jmp 0x1008ed0e
mov edi, dword [esp + 0x18]
xor eax, eax
cmp dword [edi + 4], eax
mov edi, dword [esp + 0x44]
jle 0x1008ed16
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov ecx, dword [ecx]
add ecx, 4
cmp dword [ecx], edx
je 0x1008ed02
inc eax
add ecx, 8
cmp eax, dword [edi + 4]
jl 0x1008ecf5
mov edi, dword [esp + 0x44]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
test eax, eax
js 0x1008ec4f
cmp dword [esp + 0x2c], 0
je 0x1008ec4f
cmp dword [esp + 0x18], 0
mov esi, dword [esp + 0x28]
je 0x1008ed3d
mov edi, dword [esp + 0x18]
cmp eax, dword [edi + 4]
mov edi, dword [esp + 0x44]
jge 0x1008ec4f
cmp byte [esp + 0x1f], 0
je 0x1008ed5e
push dword [esp + 0x24]
mov edx, 0x63
mov ecx, esi
push eax
push dword [esp + 0x44]
call fcn.1005fb40
add esp, 0xc
jmp 0x1008edb3
cmp dword [esp + 0x48], 0
je 0x1008ed96
mov edi, dword [esp + 0x88]
cmp edi, dword [esp + 0x94]
mov edi, dword [esp + 0x44]
je 0x1008edbb
push dword [esp + 0x24]
add eax, dword [esp + 0x8c]
mov edx, 0x4c
push eax
mov ecx, esi
call fcn.1005fc90
add esp, 8
jmp 0x1008edb3
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x54]
mov edx, dword [eax + edx*8 + 4]
jmp 0x1008eda5
mov edx, eax
push dword [esp + 0x24]
mov ecx, edi
call fcn.1007aae0
add esp, 4
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
movsx eax, word [edx + 0x2a]
inc ecx
add dword [esp + 0x50], 0x10
mov dword [esp + 0x20], ecx
cmp ecx, eax
jl 0x1008ec00
cmp dword [edx + 0x38], 0
je 0x1008ee5e
mov esi, dword [edx + 0x40]
test esi, esi
je 0x1008edf1
mov eax, dword [esp + 0x4c]
cmp dword [esi], eax
je 0x1008edf1
mov esi, dword [esi + 0x18]
test esi, esi
jne 0x1008ede6
mov ecx, edi
call fcn.100a6ba0
mov eax, dword [esp + 0x14]
mov edx, 0xc
push 0xfffffffffffffff4
push esi
push dword [esp + 0x74]
movsx eax, word [eax + 0x2a]
mov esi, dword [esp + 0x34]
add eax, 2
push eax
push 1
mov ecx, esi
call fcn.1005ff40
mov eax, dword [esi + 0x88]
add esp, 0x14
test eax, eax
jle 0x1008ee4b
mov ecx, dword [ebp + 0x10]
cmp ecx, 0xa
movzx edx, cx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
mov dword [esp + 0x40], 2
cmove edx, dword [esp + 0x40]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [edi + 0x78]
mov ecx, edi
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15], 1
jmp 0x1008ef26
push 0
lea eax, [esp + 0x44]
mov ecx, edi
push eax
push dword [esp + 0x40]
mov eax, dword [esp + 0x6c]
push dword [ebp + 0x10]
shr eax, 0x1f
xor al, 1
movzx eax, al
push eax
push 0
push dword [esp + 0x84]
push dword [esp + 0xb8]
push dword [esp + 0x84]
push dword [esp + 0x98]
call fcn.1008f2a0
mov edx, dword [esp + 0x3c]
mov ecx, edi
push 0
push 0
push dword [esp + 0x9c]
push 0
call fcn.1008c620
add esp, 0x38
cmp dword [esp + 0x40], 0
je 0x1008eef4
cmp dword [esp + 0x68], 0
jne 0x1008eef0
mov eax, dword [esp + 0x4c]
test dword [eax + 0x1c], 0x4000
je 0x1008eef4
mov eax, dword [esp + 0x14]
push 0
mov ecx, dword [eax + 0x48]
mov edx, dword [eax]
add ecx, 0x38
call fcn.10045b30
add esp, 4
cmp dword [eax + 8], 0
je 0x1008eef4
xor eax, eax
jmp 0x1008eef9
mov eax, 1
mov edx, dword [esp + 0x14]
mov ecx, edi
push eax
movzx eax, byte [esp + 0x37]
push eax
push 0
push dword [esp + 0x80]
push dword [esp + 0x7c]
push dword [esp + 0xb0]
push dword [esp + 0x7c]
call fcn.10090810
add esp, 0x1c
mov eax, dword [esp + 0x4c]
test byte [eax + 0x1c], 0x80
je 0x1008ef8d
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x88]
mov edx, dword [esp + 0x8c]
cmp dword [eax + 0x30], ecx
jg 0x1008ef5b
push 0
push 1
push edx
mov edx, 0x50
mov ecx, esi
call fcn.1005fb00
add esp, 0xc
jmp 0x1008ef8d
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4], 0x50
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 1
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
cmp dword [esp + 0x68], 0
je 0x1008efc5
mov ecx, dword [esp + 0x14]
push dword [esp + 0x38]
mov edx, dword [esp + 0x98]
push dword [ebp + 0x10]
movsx eax, word [ecx + 0x2a]
sub edx, eax
sub edx, 2
push edx
mov edx, dword [esp + 0x74]
push ecx
push 2
push 0
push 0x6c
mov ecx, edi
call fcn.100a2970
add esp, 0x1c
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x1008efe4
mov eax, dword [esp + 0x38]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [esi + 0x88]
mov dword [ecx], eax
cmp byte [esp + 0x1f], 0
je 0x1008f0dd
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x1008f019
mov edx, dword [esp + 0x70]
mov ecx, esi
push 0
push edx
push dword [esp + 0x44]
mov edx, 7
call fcn.1005fb00
add esp, 0xc
jmp 0x1008f04f
mov edx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x70]
mov dword [eax + ecx*4], 7
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x98]
mov edx, dword [esi + 0x88]
test ecx, ecx
jns 0x1008f063
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x49], 0
je 0x1008f072
mov eax, 0x106159c4
jmp 0x1008f07b
mov eax, dword [esi + 0x58]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x1008f0a5
push 0
push 0
push dword [esp + 0x44]
mov edx, 0x72
mov ecx, esi
call fcn.1005fb00
add esp, 0xc
jmp 0x1008f11e
mov edx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x58]
mov dword [eax + ecx*4], 0x72
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 0x1008f11e
cmp dword [esp + 0x48], 0
je 0x1008f11e
mov edx, dword [esp + 0x70]
mov ecx, esi
call fcn.1005fd00
mov ecx, dword [esp + 0x98]
mov edx, dword [esi + 0x88]
test ecx, ecx
jns 0x1008f103
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x49], 0
je 0x1008f112
mov eax, 0x106159c4
jmp 0x1008f11b
mov eax, dword [esi + 0x58]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
cmp byte [edi + 0x12], 0
jne 0x1008f137
cmp dword [edi + 0x7c], 0
jne 0x1008f137
cmp dword [edi + 0x74], 0
je 0x1008f137
mov ecx, edi
call fcn.1008ddb0
mov eax, dword [esp + 0x4c]
test byte [eax + 0x1c], 0x80
je 0x1008f18f
cmp byte [edi + 0x12], 0
jne 0x1008f18f
cmp dword [edi + 0x7c], 0
jne 0x1008f18f
push 1
push dword [esp + 0x90]
mov edx, 0x4e
mov ecx, esi
call fcn.1005fc90
add esp, 8
mov edx, 1
mov ecx, esi
call fcn.10061a20
mov eax, dword [esi]
cmp byte [eax + 0x49], 0
jne 0x1008f18f
mov ecx, dword [esi + 0x64]
mov edx, str.rows_inserted
push 0
push 1
push 0xffffffffffffffff
call fcn.1005efd0
add esp, 0xc
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x4c]
mov ecx, edi
mov edx, dword [esp + 0x90]
call fcn.10084d80
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1008f1b6
mov edx, eax
mov ecx, edi
call fcn.10076590
mov eax, dword [esp + 0x48]
test eax, eax
je 0x1008f1cc
push 1
mov edx, eax
mov ecx, edi
call fcn.10096b90
add esp, 4
mov edx, esi
mov ecx, edi
call fcn.10084990
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x1008f242
test edi, edi
je 0x1008f239
cmp dword [edi + 0x1d8], 0
je 0x1008f207
mov edx, ecx
mov ecx, edi
call fcn.10041070
pop edi
pop esi
mov ecx, dword [esp + 0xc4]
xor ecx, esp
call fcn.100d22d5
mov esp, ebp
pop ebp
ret
cmp ecx, dword [edi + 0x128]
jb 0x1008f239
cmp ecx, dword [edi + 0x12c]
jae 0x1008f239
mov eax, dword [edi + 0x124]
mov dword [ecx], eax
mov dword [edi + 0x124], ecx
pop edi
pop esi
mov ecx, dword [esp + 0xc4]
xor ecx, esp
call fcn.100d22d5
mov esp, ebp
pop ebp
ret
push ecx
call fcn.10041000
add esp, 4
mov ecx, dword [esp + 0xcc]
pop edi
pop esi
xor ecx, esp
call fcn.100d22d5
mov esp, ebp
pop ebp
ret