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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xa8
push esi
mov esi, ecx
mov dword [esp + 0x70], 0
or eax, 0xffffffff
mov dword [esp + 0x34], esi
push edi
mov edi, edx
mov dword [esp + 0x5c], eax
cmp dword [esi + 0x24], 0
mov eax, dword [esi]
mov dword [esp + 0x8c], edi
mov dword [esp + 0x60], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 0
mov byte [esp + 0xf], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x3c], eax
jne 0x46817c
cmp byte [eax + 0x49], 0
jne 0x46817c
mov ecx, dword [ebp + 8]
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x466ec0
test dword [ecx + 8], 0x200
je 0x466ec0
cmp dword [ecx + 0x30], 0
jne 0x466ec0
mov edx, dword [ecx]
mov dword [esp + 0x4c], edx
mov edx, ecx
mov dword [ecx], 0
mov ecx, eax
push 1
call fcn.0046f880
add esp, 4
mov dword [esp + 0x18], 0
mov edx, edi
mov ecx, esi
call fcn.0045f380
mov edi, eax
mov dword [esp + 0x14], edi
test edi, edi
je 0x4672fc
mov edx, dword [edi + 0x48]
mov ecx, dword [esp + 0x3c]
call fcn.0046ee80
mov ecx, eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x3c]
add ecx, ecx
mov edx, 0x12
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8]
mov ecx, esi
push 0
push dword [edi]
call fcn.00457ee0
add esp, 0xc
test eax, eax
jne 0x4672fc
mov eax, dword [edi + 0x24]
xor edx, edx
shr eax, 5
and eax, 0xffffff01
mov dword [esp + 0x28], 0
mov dword [esp + 0x44], eax
mov eax, dword [esi]
test dword [eax + 0x1c], 0x40000
je 0x466f3f
mov edx, edi
mov ecx, esi
call fcn.00479720
mov edx, eax
mov ecx, edx
test edx, edx
je 0x466f5a
cmp byte [ecx + 8], 0x6c
jne 0x466f53
movzx eax, byte [ecx + 9]
or dword [esp + 0x28], eax
mov ecx, dword [ecx + 0x20]
test ecx, ecx
jne 0x466f45
xor eax, eax
mov ecx, esi
cmp dword [esp + 0x28], eax
cmovne eax, edx
mov edx, edi
mov dword [esp + 0x78], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x58], eax
call fcn.0045b290
test eax, eax
jne 0x4672fc
push dword [esp + 0x28]
mov edx, edi
mov ecx, esi
call fcn.0045f410
add esp, 4
test eax, eax
jne 0x4672fc
mov ecx, esi
call fcn.004724c0
mov dword [esp + 0x10], eax
test eax, eax
je 0x4672fc
cmp byte [esi + 0x12], 0
jne 0x466fb7
or dword [eax + 0x94], 0x10
cmp dword [esp + 0x18], 0
jne 0x466fc9
cmp dword [esp + 0x78], 0
jne 0x466fc9
xor edx, edx
jmp 0x466fce
mov edx, 1
push dword [esp + 0x24]
mov ecx, esi
call fcn.0045df40
add esp, 4
cmp dword [ebp + 0xc], 0
jne 0x467001
push dword [esp + 0x24]
mov edx, edi
mov ecx, esi
push dword [ebp + 0x10]
push dword [esp + 0x20]
call fcn.00469df0
add esp, 0xc
test eax, eax
jne 0x4680f2
mov edx, dword [esp + 0x24]
mov ecx, esi
push edi
call fcn.00466bd0
mov ecx, dword [esi + 0x2c]
add esp, 4
mov dword [esp + 0x40], eax
lea eax, [ecx + 1]
mov edx, eax
mov dword [esp + 0x70], eax
movsx eax, word [edi + 0x2a]
inc eax
mov dword [esp + 0x30], edx
add eax, ecx
mov dword [esi + 0x2c], eax
cmp dword [edi + 0x38], 0
je 0x46703f
lea edx, [ecx + 2]
inc eax
mov dword [esp + 0x30], edx
mov dword [esi + 0x2c], eax
lea eax, [edx + 1]
mov edx, dword [edi + 0x24]
shr edx, 7
not dl
mov dword [esp + 0x48], eax
and edx, 0xffffff01
mov dword [esp + 0x1c], edx
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x467188
mov eax, dword [edx + 4]
xor ecx, ecx
test eax, eax
jle 0x467082
nop dword [eax]
mov eax, dword [edx]
mov dword [eax + ecx*8 + 4], 0xffffffff
inc ecx
mov eax, dword [edx + 4]
cmp ecx, eax
jl 0x467070
xor edi, edi
mov dword [esp + 0x2c], edi
test eax, eax
jle 0x467188
mov ecx, dword [esp + 0x14]
movzx eax, word [ecx + 0x2a]
mov dword [esp + 0x64], eax
nop dword [eax]
cwde
xor esi, esi
test eax, eax
jle 0x46710d
mov eax, dword [edx]
lea eax, [eax + edi*8]
mov edi, dword [ecx + 4]
mov dword [esp + 0x50], eax
mov edx, dword [edi]
mov ecx, dword [eax]
call fcn.0041e5d0
test eax, eax
je 0x4670d9
mov ecx, dword [esp + 0x64]
inc esi
movsx eax, cx
add edi, 0x10
cmp esi, eax
mov eax, dword [esp + 0x50]
jl 0x4670b3
mov edi, dword [esp + 0x2c]
jmp 0x46710a
mov eax, dword [esp + 0x50]
xor ecx, ecx
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x2c]
cmp edi, esi
mov dword [eax + 4], esi
movzx eax, dl
cmove ecx, eax
mov eax, dword [esp + 0x14]
mov byte [esp + 0x1c], cl
movsx eax, word [eax + 0x28]
cmp esi, eax
jne 0x46710a
mov dword [esp + 0x5c], edi
mov byte [esp + 0x1c], cl
mov edx, dword [ebp + 0xc]
mov eax, dword [esp + 0x14]
movzx eax, word [eax + 0x2a]
cwde
cmp esi, eax
jl 0x46716a
mov eax, dword [edx]
mov edx, str._ROWID_
mov esi, dword [eax + edi*8]
mov ecx, esi
call fcn.0041e5d0
test eax, eax
je 0x467153
mov edx, str.ROWID
mov ecx, esi
call fcn.0041e5d0
test eax, eax
je 0x467153
mov edx, 0x621374
mov ecx, esi
call fcn.0041e5d0
test eax, eax
jne 0x4672dc
cmp byte [esp + 0x44], 0
jne 0x4672dc
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x5c], edi
mov byte [esp + 0x1c], 0
mov ecx, dword [esp + 0x14]
inc edi
mov dword [esp + 0x2c], edi
movzx eax, word [ecx + 0x2a]
mov dword [esp + 0x64], eax
cmp edi, dword [edx + 4]
jl 0x4670a0
mov esi, dword [esp + 0x38]
cmp dword [esp + 0x18], 0
je 0x4674f2
mov ecx, dword [esp + 0x10]
mov edx, 0xf
inc dword [esi + 0x2c]
mov edi, dword [esi + 0x2c]
mov eax, dword [ecx + 0x88]
mov dword [esp + 0x64], eax
inc eax
push eax
push 0
push edi
call fcn.00439d80
mov edx, dword [esp + 0x24]
xor eax, eax
add esp, 0xc
mov byte [esp + 0x90], 0xd
cmp byte [esp + 0x1c], al
mov ecx, esi
mov dword [esp + 0x94], edi
cmovne eax, dword [esp + 0x48]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa0], 0
movsx eax, word [eax + 0x2a]
mov dword [esp + 0x9c], eax
lea eax, [esp + 0x90]
push eax
call fcn.00476cd0
mov ecx, dword [esp + 0x9c]
add esp, 4
mov dword [esp + 0x6c], ecx
test eax, eax
jne 0x4672fc
mov eax, dword [esp + 0x3c]
cmp byte [eax + 0x49], 0
jne 0x4672fc
cmp dword [esi + 0x24], 0
jne 0x4672fc
push edi
mov edi, dword [esp + 0x14]
mov edx, 0x40
mov ecx, edi
call fcn.00439e60
mov eax, dword [edi + 0xc]
add esp, 4
mov edx, dword [esp + 0x64]
mov ecx, edi
mov byte [eax + 0x13], 0
mov eax, dword [edi + 0xc]
mov dword [eax + 0x1c], 0
call fcn.0043a6b0
cmp dword [esp + 0x78], 0
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
jne 0x46741e
mov eax, dword [esi + 8]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x4672a3
cmp dword [esi + 0x78], eax
jne 0x467298
mov eax, dword [esi]
test byte [eax + 0x44], 8
jne 0x467298
mov byte [esi + 0x17], 1
mov ecx, esi
call fcn.00439b90
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 0x88]
mov dword [esp + 0x1c], eax
cmp dword [ecx + 0x38], 0
je 0x46736f
mov edx, dword [ecx + 0x40]
test edx, edx
je 0x467371
mov eax, dword [esi]
cmp dword [edx], eax
je 0x4672d3
mov edx, dword [edx + 0x18]
test edx, edx
jne 0x4672c8
mov eax, dword [esp + 0x1c]
jmp 0x467371
push esi
mov esi, dword [esp + 0x3c]
push 0
push dword [esp + 0x94]
push str.table__S_has_no_column_named__s
push esi
call fcn.0041e430
add esp, 0x14
mov byte [esi + 0x11], 1
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x3c]
mov ecx, esi
mov edx, dword [esp + 0x8c]
call fcn.0045d820
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x467323
mov edx, eax
mov ecx, esi
call fcn.0044f540
test edi, edi
je 0x467335
push 1
mov edx, edi
mov ecx, esi
call fcn.0046f880
add esp, 4
mov edx, dword [ebp + 0xc]
mov ecx, esi
call fcn.0045d430
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x4681b1
test esi, esi
je 0x4681a8
cmp dword [esi + 0x1d8], 0
je 0x468184
mov edx, ecx
mov ecx, esi
call fcn.0041b360
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor edx, edx
mov edi, 1
cmp eax, edi
jle 0x46740a
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov cl, byte [eax + 0x49]
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x57], cl
nop
dec eax
test edi, edi
cmovns eax, edi
test cl, cl
je 0x4673a1
mov eax, 0x6746b4
jmp 0x4673ae
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x58]
lea eax, [eax + ecx*4]
mov cl, byte [eax]
cmp cl, 0x6a
jne 0x4673df
mov ecx, dword [esp + 0x24]
cmp dword [eax + 0xc], ecx
jne 0x4673e9
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x14]
cmp ecx, dword [eax + 0x1c]
je 0x46741e
mov eax, dword [eax + 8]
test eax, eax
je 0x4673e9
cmp ecx, dword [eax + 0x2c]
je 0x46741e
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4673d1
jmp 0x4673e9
cmp cl, 0x9e
jne 0x4673e9
cmp dword [eax + 0x10], edx
je 0x46741e
mov eax, dword [esp + 0x1c]
inc edi
mov cl, byte [esp + 0x57]
cmp edi, eax
jl 0x467390
mov eax, dword [esp + 0x94]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
jmp 0x467540
mov eax, dword [esp + 0x94]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
jmp 0x467544
mov edx, dword [esi + 0x28]
mov ecx, esi
mov byte [esp + 0xf], 1
mov dword [esp + 0x34], edx
lea eax, [edx + 1]
mov dword [esi + 0x28], eax
call fcn.00454a60
mov edi, eax
call fcn.00454a60
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
push edx
mov edx, 0x6e
mov dword [esp + 0x2c], eax
call fcn.00439ed0
mov eax, dword [esp + 0x9c]
mov edx, 0x10
mov ecx, dword [esp + 0x18]
push eax
mov dword [esp + 0x2c], eax
call fcn.00439e60
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, 0x65
mov esi, eax
push edi
push dword [esp + 0x30]
push dword [esp + 0x74]
call fcn.00439d80
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov edx, 0x75
push dword [esp + 0x24]
push dword [esp + 0x38]
call fcn.00439ed0
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
mov edx, 0x76
push edi
push dword [esp + 0x44]
call fcn.00439d80
mov ecx, dword [esp + 0x24]
add esp, 0x14
mov edx, esi
call fcn.00439f40
mov ecx, dword [esp + 0x10]
mov edx, esi
call fcn.0043a6b0
mov esi, dword [esp + 0x38]
mov edx, edi
mov ecx, esi
call fcn.00454a80
mov edx, dword [esp + 0x24]
mov ecx, esi
call fcn.00454a80
mov edi, dword [esp + 0x2c]
jmp 0x467540
mov eax, dword [esp + 0x4c]
xorps xmm0, xmm0
movaps xmmword [esp + 0x90], xmm0
movaps xmmword [esp + 0xa0], xmm0
mov dword [esp + 0x90], esi
mov dword [esp + 0x34], 0xffffffff
test eax, eax
je 0x46753a
mov edi, dword [eax]
lea ecx, [esp + 0x90]
mov edx, eax
mov dword [esp + 0x2c], edi
call fcn.0044d290
test eax, eax
jne 0x4672fc
jmp 0x467540
xor edi, edi
mov dword [esp + 0x2c], edi
mov ecx, dword [esp + 0x14]
cmp dword [ebp + 0xc], 0
jne 0x467556
test edi, edi
jle 0x467556
movsx eax, word [ecx + 0x28]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x14]
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x1c], edx
movsx edi, word [eax + 0x2a]
xor eax, eax
cmp edi, 2
jl 0x4675be
mov eax, dword [esp + 0x14]
lea edx, [edi - 2]
shr edx, 1
mov ecx, dword [eax + 4]
add ecx, 0x1f
inc edx
lea eax, [edx + edx]
mov dword [esp + 0x50], eax
nop dword [eax + eax]
movzx eax, byte [ecx - 0x10]
lea ecx, [ecx + 0x20]
shr eax, 1
and eax, 1
add dword [esp + 0x24], eax
movzx eax, byte [ecx - 0x20]
shr eax, 1
and eax, 1
add dword [esp + 0x1c], eax
sub edx, 1
jne 0x467590
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
cmp eax, edi
jge 0x4675e6
shl eax, 4
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x50]
mov eax, dword [eax + 4]
movzx eax, byte [esi + eax + 0xf]
mov esi, dword [esp + 0x38]
shr eax, 1
and eax, 1
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x46761f
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x46763f
sub edi, edx
sub edi, ecx
sub edi, dword [esp + 0x74]
cmp eax, edi
je 0x46763f
push eax
push edi
push 0
push dword [esp + 0x98]
push str.table__S_has__d_columns_but__d_values_were_supplied
push esi
call fcn.0041e430
add esp, 0x18
jmp 0x4672fc
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
je 0x46763f
push eax
push ecx
push str._d_values_for__d_columns
push esi
call fcn.0041e430
add esp, 0x10
jmp 0x4672fc
mov eax, dword [esp + 0x3c]
test byte [eax + 0x1c], 0x80
je 0x46766a
inc dword [esi + 0x2c]
mov edx, 0x43
mov eax, dword [esi + 0x2c]
mov ecx, dword [esp + 0x10]
push eax
push 0
mov dword [esp + 0x84], eax
call fcn.00439ed0
add esp, 8
cmp dword [esp + 0x58], 0
jne 0x4676e2
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x64]
mov ecx, esi
push eax
push 0
push 0xffffffffffffffff
push 0
push 0x6b
call fcn.00469ab0
mov ecx, dword [esp + 0x54]
mov edi, eax
push 0
lea eax, [edi*4 + 4]
push eax
call fcn.0041b6b0
add esp, 0x20
mov dword [esp + 0x68], eax
test eax, eax
je 0x4672fc
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov edx, dword [eax + 8]
test edi, edi
jle 0x4676e2
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov esi, dword [esp + 0x68]
mov dword [esi + ecx*4], eax
inc ecx
mov esi, dword [esp + 0x38]
movzx eax, word [edx + 0x34]
add dword [esi + 0x2c], eax
mov edx, dword [edx + 0x14]
cmp ecx, edi
jl 0x4676c2
cmp byte [esp + 0xf], 0
mov edi, dword [esp + 0x10]
je 0x46770c
push dword [esp + 0x34]
mov edx, 0x25
mov ecx, edi
call fcn.00439e60
mov dword [esp + 0x88], eax
mov eax, dword [edi + 0x88]
jmp 0x46772a
cmp dword [esp + 0x18], 0
je 0x467734
push dword [esp + 0x20]
mov edx, 0x10
mov ecx, edi
call fcn.00439e60
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], eax
add esp, 4
mov ecx, edi
call fcn.0043a310
test byte [esp + 0x28], 1
mov dword [esp + 0x24], eax
je 0x467a4a
mov eax, dword [esp + 0x14]
mov ecx, esi
movsx edx, word [eax + 0x2a]
inc edx
call fcn.00454ad0
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x28], eax
push eax
test ecx, ecx
jns 0x46777a
push 0xffffffffffffffff
mov edx, 0x43
mov ecx, edi
call fcn.00439ed0
add esp, 8
jmp 0x4677f3
cmp byte [esp + 0x13], 0
je 0x467797
push ecx
push dword [esp + 0x3c]
mov edx, 0x63
mov ecx, edi
call fcn.00439d80
add esp, 0xc
jmp 0x4677ac
mov eax, dword [esp + 0x50]
lea edx, [ecx + ecx*2]
mov ecx, esi
mov edx, dword [eax + edx*8 + 4]
call fcn.00453660
add esp, 4
push dword [esp + 0x28]
mov edx, 0x33
mov ecx, edi
call fcn.00439e60
add esp, 4
mov edx, 0x43
mov ecx, edi
mov esi, eax
push dword [esp + 0x28]
push 0xffffffffffffffff
call fcn.00439ed0
mov edx, esi
mov ecx, edi
call fcn.0043a6b0
push dword [esp + 0x30]
mov edx, 0x11
mov ecx, edi
call fcn.00439e60
mov esi, dword [esp + 0x44]
add esp, 0xc
mov eax, dword [esp + 0x14]
xor edx, edx
xor edi, edi
movzx eax, word [eax + 0x2a]
mov ecx, eax
cmp dx, ax
jge 0x4679c9
mov edx, dword [esp + 0x28]
xor ecx, ecx
inc edx
mov dword [esp + 0x20], ecx
or eax, 0xffffffff
mov dword [esp + 0x1c], edx
sub eax, dword [esp + 0x28]
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x46785b
xor edi, edi
cmp dword [eax + 4], edi
jle 0x46785b
mov ecx, dword [eax]
mov esi, dword [esp + 0x74]
add ecx, 4
nop dword [eax + eax]
lea eax, [esi + edx]
cmp dword [ecx], eax
mov eax, dword [ebp + 0xc]
je 0x467853
inc edi
add ecx, 8
cmp edi, dword [eax + 4]
jl 0x467840
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
cmp byte [esp + 0xf], 0
jne 0x467869
cmp dword [esp + 0x4c], 0
je 0x467872
test eax, eax
je 0x4678d7
cmp edi, dword [eax + 4]
jl 0x4678d7
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx + 4]
test eax, eax
je 0x46789f
cmp byte [eax], 0x98
jne 0x46789f
mov ecx, dword [esi + 8]
push edx
push dword [eax + 0x1c]
mov edx, 0x4b
call fcn.00439ed0
add esp, 8
jmp 0x467984
push edx
mov edx, eax
mov ecx, esi
call fcn.00452560
mov edx, dword [esp + 0x20]
add esp, 4
cmp eax, edx
je 0x467988
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x467988
push edx
push eax
mov edx, 0x4c
call fcn.00439ed0
add esp, 8
jmp 0x467984
cmp byte [esp + 0xf], 0
je 0x4678fa
mov ecx, dword [esp + 0x10]
push edx
push edi
push dword [esp + 0x3c]
mov edx, 0x63
call fcn.00439d80
add esp, 0xc
jmp 0x467984
mov ecx, dword [esp + 0x4c]
lea eax, [edi + edi*2]
mov eax, dword [ecx + eax*8 + 4]
mov ecx, dword [esi + 8]
mov dword [esp + 0x50], eax
mov dword [esp + 0x64], ecx
test eax, eax
je 0x467924
cmp byte [eax], 0x98
jne 0x467924
push edx
push dword [eax + 0x1c]
mov edx, 0x4b
jmp 0x467949
push edx
mov edx, eax
mov ecx, esi
call fcn.00452560
mov edx, eax
add esp, 4
mov eax, dword [esp + 0x1c]
cmp edx, eax
je 0x467955
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x467955
push eax
push edx
mov edx, 0x4c
call fcn.00439ed0
mov eax, dword [esp + 0x24]
add esp, 8
inc dword [esi + 0x2c]
mov edx, 0x4b
mov esi, dword [esi + 0x2c]
mov ecx, dword [esp + 0x64]
push esi
push eax
call fcn.00439ed0
mov ecx, dword [esp + 0x58]
add esp, 8
mov al, byte [ecx]
and dword [ecx + 4], 0xffffefff
mov byte [ecx + 0x26], al
mov byte [ecx], 0x98
mov dword [ecx + 0x1c], esi
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
inc edx
add dword [esp + 0x20], 0x10
cmp dword [ebp + 0xc], 0
mov ecx, dword [esp + 0x74]
movzx esi, word [eax + 0x2a]
lea eax, [edi + 1]
cmovne eax, edi
mov dword [esp + 0x1c], edx
mov edi, eax
add ecx, edx
movsx eax, si
mov esi, dword [esp + 0x38]
cmp ecx, eax
mov ecx, dword [esp + 0x20]
jl 0x467824
mov edi, dword [esp + 0x14]
movzx ecx, word [edi + 0x2a]
jmp 0x4679cd
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x58], 0
movzx eax, cx
jne 0x4679ef
mov eax, dword [esp + 0x28]
mov edx, edi
mov ecx, dword [esp + 0x10]
inc eax
push eax
call fcn.00466ad0
movzx eax, word [edi + 0x2a]
add esp, 4
push dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
push dword [ebp + 0x10]
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x80]
cwde
sub ecx, eax
dec ecx
push ecx
push edi
push 1
push 0
push 0x6c
mov ecx, esi
call fcn.0047ae40
movsx edi, word [edi + 0x2a]
add esp, 0x1c
mov edx, dword [esp + 0x28]
inc edi
mov ecx, esi
cmp edi, 1
jne 0x467a32
call fcn.00454a80
jmp 0x467a4a
push edi
call fcn.00452040
add esp, 4
cmp edi, dword [esi + 0x1c]
jle 0x467a4a
mov eax, dword [esp + 0x28]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x20], eax
cmp dword [esp + 0x58], 0
mov edi, dword [esp + 0x14]
jne 0x467f82
mov eax, dword [edi + 0x38]
test eax, eax
je 0x467a7a
push dword [esp + 0x70]
mov ecx, dword [esp + 0x14]
mov edx, 0x46
push 0
call fcn.00439ed0
mov eax, dword [edi + 0x38]
add esp, 8
mov edx, dword [esp + 0x5c]
test edx, edx
js 0x467bde
cmp byte [esp + 0xf], 0
je 0x467afe
mov ecx, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x14]
push edx
push dword [esp + 0x3c]
mov edx, 0x63
call fcn.00439d80
add esp, 0xc
mov edx, dword [esp + 0x10]
cmp dword [edi + 0x38], 0
jne 0x467b9c
push dword [esp + 0x30]
mov edi, dword [esp + 0x14]
mov edx, 0x33
mov ecx, edi
call fcn.00439e60
mov ecx, dword [esp + 0x44]
add esp, 4
mov edx, 0x75
mov esi, eax
push ecx
push dword [esp + 0x34]
mov ecx, dword [esp + 0x68]
push ecx
mov ecx, edi
call fcn.00439d80
add esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.0043a6b0
mov esi, dword [esp + 0x38]
jmp 0x467bbd
cmp dword [esp + 0x18], 0
je 0x467b24
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x6c]
push ecx
mov ecx, dword [esp + 0x14]
add eax, edx
push eax
mov edx, 0x4b
call fcn.00439ed0
add esp, 8
jmp 0x467aa8
mov eax, dword [esp + 0x4c]
lea edx, [edx + edx*2]
push dword [esp + 0x30]
mov ecx, esi
mov edx, dword [eax + edx*8 + 4]
call fcn.00453660
mov edx, dword [esp + 0x14]
add esp, 4
mov eax, dword [edx + 0x88]
lea ecx, [eax + eax*4]
mov eax, dword [edx]
shl ecx, 2
cmp byte [eax + 0x49], 0
je 0x467b5c
mov eax, 0x6746b4
jmp 0x467b64
mov eax, dword [edx + 0x58]
add eax, 0xffffffec
add eax, ecx
cmp byte [eax], 0x46
jne 0x467aac
cmp dword [edi + 0x38], 0
jne 0x467b9c
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x30]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x40]
mov byte [eax], 0x75
mov dword [eax + 0xc], ecx
mov dword [esp + 0x20], 1
jmp 0x467c30
mov eax, dword [edx + 0x88]
mov edx, 0x32
mov edi, dword [esp + 0x10]
add eax, 2
push eax
push dword [esp + 0x34]
mov ecx, edi
call fcn.00439ed0
add esp, 8
push dword [esp + 0x30]
mov edx, 0x11
mov ecx, edi
call fcn.00439e60
mov edi, dword [esp + 0x34]
add esp, 4
mov dword [esp + 0x20], 0
jmp 0x467c30
test eax, eax
jne 0x467c10
cmp byte [esp + 0x44], al
jne 0x467c10
mov ecx, dword [esp + 0x40]
lea edx, [eax + 0x75]
mov edi, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x64]
push edi
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.00439d80
add esp, 0xc
mov dword [esp + 0x20], 1
jmp 0x467c30
mov edi, dword [esp + 0x30]
mov edx, 0x46
mov ecx, dword [esp + 0x10]
push edi
push 0
call fcn.00439ed0
add esp, 8
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x40]
test eax, eax
jle 0x467c4a
mov ecx, dword [esi + 8]
mov edx, 0x94
push edi
push eax
call fcn.00439ed0
add esp, 8
mov eax, dword [esp + 0x14]
xor ecx, ecx
xor edi, edi
mov dword [esp + 0x40], 0
cmp cx, word [eax + 0x2a]
jge 0x467e21
xor edx, edx
mov dword [esp + 0x58], edx
nop word [eax + eax]
mov ecx, dword [esp + 0x48]
movsx eax, word [eax + 0x28]
add ecx, edi
cmp edi, eax
jne 0x467c92
push ecx
mov ecx, dword [esp + 0x14]
mov edx, 0x47
call fcn.00439e60
jmp 0x467dfe
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x467cd0
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
mov dl, byte [eax + edx + 0xf]
mov eax, dword [esp + 0x40]
and dl, 2
je 0x467cbe
inc eax
or ecx, 0xffffffff
test dl, dl
cmove eax, dword [esp + 0x40]
mov dword [esp + 0x40], eax
jmp 0x467cec
mov ecx, edi
sub ecx, eax
inc eax
test dl, dl
cmove eax, dword [esp + 0x40]
mov dword [esp + 0x40], eax
jmp 0x467cec
mov edx, dword [eax + 4]
xor ecx, ecx
test edx, edx
jle 0x467cf7
mov eax, dword [eax]
add eax, 4
nop
cmp dword [eax], edi
je 0x467cec
inc ecx
add eax, 8
cmp ecx, edx
jl 0x467ce0
test ecx, ecx
js 0x467d7a
mov eax, dword [ebp + 0xc]
cmp dword [esp + 0x2c], 0
je 0x467d7a
test eax, eax
je 0x467d07
cmp ecx, dword [eax + 4]
jge 0x467d7a
cmp byte [esp + 0xf], 0
je 0x467d30
mov edx, dword [esp + 0x48]
add edx, edi
push edx
push ecx
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x1c]
mov edx, 0x63
call fcn.00439d80
add esp, 0xc
jmp 0x467e01
cmp dword [esp + 0x18], 0
je 0x467d66
mov eax, dword [esp + 0x48]
cmp dword [esp + 0x6c], eax
je 0x467e01
lea edx, [eax + edi]
mov eax, dword [esp + 0x6c]
push edx
add eax, ecx
mov edx, 0x4c
mov ecx, dword [esp + 0x14]
push eax
call fcn.00439ed0
add esp, 8
jmp 0x467e01
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
add edx, edi
push edx
lea edx, [ecx + ecx*2]
mov edx, dword [eax + edx*8 + 4]
jmp 0x467df7
cmp byte [esi + 0x17], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x44], eax
je 0x467dee
mov byte [esp + 0xa4], 1
mov dword [esp + 0x94], fcn.0044f6c0
mov dword [esp + 0x98], 0x44f660
mov dword [esp + 0xa8], 0
test eax, eax
je 0x467ddc
mov edx, eax
lea ecx, [esp + 0x90]
call fcn.0044b1b0
cmp byte [esp + 0xa4], 0
mov eax, dword [esp + 0x44]
je 0x467dee
mov edx, dword [esp + 0x48]
mov ecx, esi
add edx, edi
push edx
mov edx, eax
call fcn.004534c0
jmp 0x467dfe
mov edx, dword [esp + 0x48]
add edx, edi
push edx
mov edx, eax
mov ecx, esi
call fcn.00453660
add esp, 4
mov eax, dword [esp + 0x14]
inc edi
mov edx, dword [esp + 0x58]
add edx, 0x10
mov dword [esp + 0x58], edx
movsx eax, word [eax + 0x2a]
cmp edi, eax
mov eax, dword [esp + 0x14]
jl 0x467c70
mov edi, dword [esp + 0x14]
cmp dword [edi + 0x38], 0
je 0x467ec2
mov edi, dword [edi + 0x40]
test edi, edi
je 0x467e4b
mov eax, dword [esp + 0x3c]
nop word [eax + eax]
cmp dword [edi], eax
je 0x467e4b
mov edi, dword [edi + 0x18]
test edi, edi
jne 0x467e40
mov edx, dword [esp + 0x14]
mov ecx, esi
call fcn.0047ea90
mov ecx, dword [esp + 0x10]
mov edx, 0xc
push 0xfffffffffffffff4
push edi
mov edi, dword [esp + 0x1c]
push dword [esp + 0x78]
movsx eax, word [edi + 0x2a]
add eax, 2
push eax
push 1
call fcn.0043a180
mov eax, dword [esp + 0x24]
add esp, 0x14
mov eax, dword [eax + 0x88]
test eax, eax
jle 0x467eaf
mov ecx, dword [ebp + 0x10]
cmp ecx, 0xa
movzx edx, cx
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], 2
cmove edx, dword [esp + 0x44]
mov eax, dword [eax + 0x58]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esi + 0x78]
mov ecx, esi
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15], 1
jmp 0x467f82
push 0
lea eax, [esp + 0x48]
mov edx, edi
push eax
push dword [esp + 0x2c]
mov eax, dword [esp + 0x68]
mov ecx, esi
push dword [ebp + 0x10]
shr eax, 0x1f
xor al, 1
movzx eax, al
push eax
push 0
push dword [esp + 0x88]
push dword [esp + 0xa4]
push dword [esp + 0x80]
push dword [esp + 0x8c]
call fcn.00468200
push 0
push 0
push dword [esp + 0xa0]
mov edx, edi
mov ecx, esi
push 0
call fcn.00465500
add esp, 0x38
cmp dword [esp + 0x44], 0
je 0x467f54
cmp dword [esp + 0x78], 0
jne 0x467f50
mov eax, dword [esp + 0x3c]
test dword [eax + 0x1c], 0x4000
je 0x467f54
mov ecx, dword [edi + 0x48]
mov edx, dword [edi]
add ecx, 0x38
push 0
call fcn.0041fa30
add esp, 4
cmp dword [eax + 8], 0
je 0x467f54
xor eax, eax
jmp 0x467f59
mov eax, 1
push eax
push dword [esp + 0x24]
mov edx, edi
mov ecx, esi
push 0
push dword [esp + 0x74]
push dword [esp + 0x80]
push dword [esp + 0x9c]
push dword [esp + 0x78]
call fcn.00469790
add esp, 0x1c
mov eax, dword [esp + 0x3c]
test byte [eax + 0x1c], 0x80
je 0x467ff0
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x467fba
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x10]
push 0
push 1
push edx
mov edx, 0x50
call fcn.00439d40
add esp, 0xc
jmp 0x467ff0
lea eax, [ecx + 1]
mov dword [edx + 0x88], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edx + 0x58]
mov edx, dword [esp + 0x7c]
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
mov edx, dword [esp + 0x78]
test edx, edx
je 0x46801e
push dword [esp + 0x24]
movsx eax, word [edi + 0x2a]
push dword [ebp + 0x10]
mov ecx, dword [esp + 0x50]
sub ecx, eax
sub ecx, 2
push ecx
push edi
push 2
push 0
push 0x6c
mov ecx, esi
call fcn.0047ae40
add esp, 0x1c
mov edi, dword [esp + 0x10]
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x468041
mov eax, dword [esp + 0x24]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [edi + 0x88]
mov dword [ecx], eax
cmp byte [esp + 0xf], 0
je 0x4680a7
push dword [esp + 0x80]
mov edx, 7
mov ecx, edi
push dword [esp + 0x38]
call fcn.00439ed0
mov eax, dword [edi]
add esp, 8
mov edx, dword [edi + 0x88]
cmp byte [eax + 0x49], 0
je 0x468077
mov eax, 0x6746b4
jmp 0x46808f
mov ecx, dword [esp + 0x84]
lea eax, [edx - 1]
test ecx, ecx
cmovns eax, ecx
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
lea eax, [eax + ecx*4]
push dword [esp + 0x34]
mov dword [eax + 8], edx
mov ecx, edi
mov edx, 0x72
call fcn.00439e60
add esp, 4
jmp 0x4680f6
cmp dword [esp + 0x18], 0
je 0x4680f6
mov edx, dword [esp + 0x80]
mov ecx, edi
call fcn.00439f40
mov eax, dword [edi]
mov edx, dword [edi + 0x88]
cmp byte [eax + 0x49], 0
je 0x4680d4
mov eax, 0x6746b4
mov dword [eax + 8], edx
jmp 0x4680f6
mov ecx, dword [esp + 0x84]
lea eax, [edx - 1]
test ecx, ecx
cmovns eax, ecx
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x58]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x4680f6
mov edi, dword [esp + 0x10]
cmp byte [esi + 0x12], 0
jne 0x46810f
cmp dword [esi + 0x7c], 0
jne 0x46810f
cmp dword [esi + 0x74], 0
je 0x46810f
mov ecx, esi
call fcn.00466c50
mov eax, dword [esp + 0x3c]
test byte [eax + 0x1c], 0x80
je 0x4672fc
cmp byte [esi + 0x12], 0
jne 0x4672fc
cmp dword [esi + 0x7c], 0
jne 0x4672fc
push 1
push dword [esp + 0x80]
mov edx, 0x4e
mov ecx, edi
call fcn.00439ed0
add esp, 8
mov edx, 1
mov ecx, edi
call fcn.0043bbd0
mov eax, dword [edi]
cmp byte [eax + 0x49], 0
jne 0x4672fc
mov ecx, dword [edi + 0x64]
mov edx, str.rows_inserted
push 0
push 1
push 0xffffffffffffffff
call fcn.00439160
add esp, 0xc
jmp 0x4672fc
mov edi, dword [ebp + 8]
jmp 0x467300
cmp ecx, dword [esi + 0x128]
jb 0x4681a8
cmp ecx, dword [esi + 0x12c]
jae 0x4681a8
mov eax, dword [esi + 0x124]
mov dword [ecx], eax
mov dword [esi + 0x124], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push ecx
call fcn.0041b2f0
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret