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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xb8
push esi
push edi
mov edi, ecx
mov dword [esp + 0x54], 0
or eax, 0xffffffff
mov dword [esp + 0x60], edi
mov esi, edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x90], esi
cmp dword [edi + 0x24], 0
mov eax, dword [edi]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x7c], 0
mov byte [esp + 0x17], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x4c], eax
jne 0x4cd97c
cmp byte [eax + 0x51], 0
jne 0x4cd97c
mov ecx, dword [ebp + 8]
mov dword [esp + 0x34], 0
mov dword [esp + 0x20], ecx
test ecx, ecx
je 0x4cc5b3
test dword [ecx + 8], 0x200
je 0x4cc5b3
cmp dword [ecx + 0x34], 0
jne 0x4cc5b3
mov edx, dword [ecx]
mov dword [esp + 0x50], edx
mov edx, ecx
mov dword [ecx], 0
mov ecx, eax
push 1
call fcn.004d52a0
add esp, 4
mov dword [esp + 0x20], 0
mov edx, esi
mov ecx, edi
call fcn.004c4c50
mov esi, eax
mov dword [esp + 0x18], esi
test esi, esi
je 0x4ccd98
mov edx, dword [esi + 0x48]
mov ecx, dword [esp + 0x4c]
call fcn.004d48e0
mov ecx, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x4c]
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.004bd2a0
add esp, 0xc
test eax, eax
jne 0x4ccd98
mov eax, dword [esi + 0x24]
xor edx, edx
shr eax, 5
and eax, 0xffffff01
mov dword [esp + 0x30], 0
mov dword [esp + 0x84], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x20]
and eax, 0x40000
or eax, edx
je 0x4cc638
mov edx, esi
mov ecx, edi
call fcn.004df460
mov edx, eax
mov ecx, edx
test edx, edx
je 0x4cc655
nop
cmp byte [ecx + 8], 0x78
jne 0x4cc64e
movzx eax, byte [ecx + 9]
or dword [esp + 0x30], eax
mov ecx, dword [ecx + 0x20]
test ecx, ecx
jne 0x4cc640
xor eax, eax
mov ecx, edi
cmp dword [esp + 0x30], eax
cmovne eax, edx
mov edx, esi
mov dword [esp + 0x70], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x64], eax
call fcn.004c0910
test eax, eax
jne 0x4ccd98
push dword [esp + 0x30]
mov edx, esi
mov ecx, edi
call fcn.004c4ce0
add esp, 4
test eax, eax
jne 0x4ccd98
mov ecx, edi
call fcn.004d8010
mov esi, eax
mov dword [esp + 0x1c], esi
test esi, esi
je 0x4ccd98
cmp byte [edi + 0x12], 0
jne 0x4cc6b4
or dword [esi + 0x98], 0x20
cmp dword [esp + 0x20], 0
jne 0x4cc6c6
cmp dword [esp + 0x70], 0
jne 0x4cc6c6
xor edx, edx
jmp 0x4cc6cb
mov edx, 1
push dword [esp + 0x28]
mov ecx, edi
call fcn.004c3810
add esp, 4
cmp dword [ebp + 0xc], 0
jne 0x4cc700
push dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
mov ecx, edi
push dword [ebp + 0x10]
push dword [esp + 0x28]
call fcn.004cf690
add esp, 0xc
test eax, eax
jne 0x4cd8d7
mov esi, dword [esp + 0x18]
mov ecx, edi
mov edx, dword [esp + 0x28]
push esi
call fcn.004cc2b0
mov ecx, dword [edi + 0x2c]
add esp, 4
mov dword [esp + 0x48], eax
lea eax, [ecx + 1]
mov edx, eax
mov dword [esp + 0x78], eax
movsx eax, word [esi + 0x2a]
inc eax
mov dword [esp + 0x3c], edx
add eax, ecx
mov dword [edi + 0x2c], eax
cmp dword [esi + 0x38], 0
je 0x4cc742
lea edx, [ecx + 2]
inc eax
mov dword [esp + 0x3c], edx
mov dword [edi + 0x2c], eax
mov ecx, dword [esi + 0x24]
lea eax, [edx + 1]
mov edx, dword [ebp + 0xc]
shr ecx, 7
not cl
mov dword [esp + 0x44], eax
and ecx, 0xffffff01
mov dword [esp + 0x24], ecx
test edx, edx
je 0x4cc8a6
mov eax, dword [edx + 4]
xor ecx, ecx
test eax, eax
jle 0x4cc782
nop
mov eax, dword [edx]
mov dword [eax + ecx*8 + 4], 0xffffffff
inc ecx
mov eax, dword [edx + 4]
cmp ecx, eax
jl 0x4cc770
xor edx, edx
mov dword [esp + 0x2c], edx
test eax, eax
jle 0x4cc8a6
movzx eax, word [esi + 0x2a]
mov dword [esp + 0x68], eax
cwde
xor esi, esi
test eax, eax
jle 0x4cc825
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
lea ecx, [eax + edx*8]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x8c], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x40], eax
nop dword [eax]
mov edx, dword [eax]
mov ecx, dword [ecx]
call fcn.00481170
test eax, eax
je 0x4cc7f1
mov eax, dword [esp + 0x40]
inc esi
mov edx, dword [esp + 0x68]
add eax, 0x10
movsx ecx, dx
cmp esi, ecx
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x8c]
jl 0x4cc7c0
mov edx, dword [esp + 0x2c]
jmp 0x4cc825
mov eax, dword [esp + 0x8c]
xor ecx, ecx
mov edx, dword [esp + 0x24]
mov dword [eax + 4], esi
movzx eax, dl
mov edx, dword [esp + 0x2c]
cmp edx, esi
cmove ecx, eax
mov eax, dword [esp + 0x18]
mov byte [esp + 0x24], cl
movsx eax, word [eax + 0x28]
cmp esi, eax
jne 0x4cc825
mov dword [esp + 0x6c], edx
mov byte [esp + 0x24], cl
mov eax, dword [esp + 0x18]
movzx eax, word [eax + 0x2a]
cwde
cmp esi, eax
jl 0x4cc889
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov esi, dword [eax + edx*8]
mov edx, str._ROWID_
mov ecx, esi
call fcn.00481170
test eax, eax
je 0x4cc86e
mov edx, str.ROWID
mov ecx, esi
call fcn.00481170
test eax, eax
je 0x4cc86e
mov edx, 0x612cbc
mov ecx, esi
call fcn.00481170
test eax, eax
jne 0x4cc9d1
cmp byte [esp + 0x84], 0
jne 0x4cc9d1
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x6c], edx
mov byte [esp + 0x24], 0
mov ecx, dword [esp + 0x18]
inc edx
mov dword [esp + 0x2c], edx
movzx eax, word [ecx + 0x2a]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x68], eax
cmp edx, dword [ecx + 4]
jl 0x4cc798
cmp dword [esp + 0x20], 0
je 0x4ccb5d
mov ecx, dword [esp + 0x1c]
mov edx, 0xd
inc dword [edi + 0x2c]
mov esi, dword [edi + 0x2c]
mov eax, dword [ecx + 0x6c]
mov dword [esp + 0x68], eax
inc eax
push eax
push 0
push esi
call fcn.0049cce0
mov edx, dword [esp + 0x2c]
xor eax, eax
add esp, 0xc
mov byte [esp + 0xa0], 0xd
cmp byte [esp + 0x24], al
mov ecx, edi
mov dword [esp + 0xa4], esi
cmovne eax, dword [esp + 0x44]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb0], 0
movsx eax, word [eax + 0x2a]
mov dword [esp + 0xac], eax
lea eax, [esp + 0xa0]
push eax
call fcn.004dc910
mov ecx, dword [esp + 0xac]
add esp, 4
mov dword [esp + 0x80], ecx
test eax, eax
jne 0x4ccd98
mov eax, dword [esp + 0x4c]
cmp byte [eax + 0x51], 0
jne 0x4ccd98
cmp dword [edi + 0x24], 0
jne 0x4ccd98
mov ecx, dword [esp + 0x1c]
mov edx, esi
call fcn.0049d280
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x1c]
call fcn.0049d680
cmp dword [esp + 0x70], 0
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
jne 0x4cca88
mov eax, dword [edi + 8]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x4cc9a9
cmp dword [edi + 0x74], eax
jne 0x4cc99e
mov eax, dword [edi]
test byte [eax + 0x4c], 8
jne 0x4cc99e
mov byte [edi + 0x17], 1
mov ecx, edi
call fcn.0049ca60
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x18]
mov ecx, dword [eax + 0x6c]
cmp dword [edx + 0x38], 0
je 0x4cc9f2
mov edx, dword [edx + 0x40]
test edx, edx
je 0x4cc9f4
mov eax, dword [edi]
nop
cmp dword [edx], eax
je 0x4cc9cb
mov edx, dword [edx + 0x18]
test edx, edx
jne 0x4cc9c0
mov eax, dword [esp + 0x24]
jmp 0x4cc9f4
push esi
push 0
push dword [esp + 0x98]
push str.table__S_has_no_column_named__s
push edi
call fcn.00480fb0
add esp, 0x14
mov byte [edi + 0x11], 1
jmp 0x4ccd98
xor edx, edx
mov esi, 1
cmp ecx, esi
jle 0x4cca74
mov eax, dword [eax]
mov al, byte [eax + 0x51]
mov byte [esp + 0x5b], al
test esi, esi
lea eax, [ecx - 1]
cmovns eax, esi
cmp byte [esp + 0x5b], 0
je 0x4cca1c
mov eax, 0x648de8
jmp 0x4cca29
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x68]
lea eax, [eax + ecx*4]
mov cl, byte [eax]
cmp cl, 0x6c
jne 0x4cca5e
mov ecx, dword [esp + 0x28]
cmp dword [eax + 0xc], ecx
jne 0x4cca68
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x18]
cmp ecx, dword [eax + 0x1c]
je 0x4cca88
mov eax, dword [eax + 8]
test eax, eax
je 0x4cca68
nop dword [eax]
cmp ecx, dword [eax + 0x2c]
je 0x4cca88
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x4cca50
jmp 0x4cca68
cmp cl, 0xa3
jne 0x4cca68
cmp dword [eax + 0x10], edx
je 0x4cca88
mov eax, dword [esp + 0x24]
inc esi
mov ecx, dword [eax + 0x6c]
cmp esi, ecx
jl 0x4cca06
mov eax, dword [esp + 0xa4]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
jmp 0x4ccbab
mov edx, dword [edi + 0x28]
mov ecx, edi
mov byte [esp + 0x17], 1
mov dword [esp + 0x38], edx
lea eax, [edx + 1]
mov dword [edi + 0x28], eax
call fcn.004b8930
mov edi, eax
call fcn.004b8930
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
push edx
mov edx, 0x71
mov dword [esp + 0x30], eax
call fcn.0049ce10
mov eax, dword [esp + 0xac]
mov edx, 0xe
mov ecx, dword [esp + 0x24]
push eax
mov dword [esp + 0x40], eax
call fcn.0049cdb0
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov edx, 0x5c
mov esi, eax
push edi
push dword [esp + 0x30]
push dword [esp + 0x88]
call fcn.0049cce0
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov edx, 0x79
push dword [esp + 0x28]
push dword [esp + 0x3c]
call fcn.0049ce10
push dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov edx, 0x7a
push edi
push dword [esp + 0x48]
call fcn.0049cce0
mov ecx, dword [esp + 0x30]
add esp, 0x14
mov edx, esi
call fcn.0049ce80
mov ecx, dword [esp + 0x1c]
mov edx, esi
call fcn.0049d680
mov edx, edi
mov edi, dword [esp + 0x60]
mov ecx, edi
call fcn.004b8950
mov edx, dword [esp + 0x28]
call fcn.004b8950
mov esi, dword [esp + 0x2c]
jmp 0x4ccbab
mov eax, dword [esp + 0x50]
xorps xmm0, xmm0
movaps xmmword [esp + 0xa0], xmm0
movaps xmmword [esp + 0xb0], xmm0
mov dword [esp + 0xa0], edi
mov dword [esp + 0x38], 0xffffffff
test eax, eax
je 0x4ccba5
mov esi, dword [eax]
lea ecx, [esp + 0xa0]
mov edx, eax
mov dword [esp + 0x2c], esi
call fcn.004b0df0
test eax, eax
jne 0x4ccd98
jmp 0x4ccbab
xor esi, esi
mov dword [esp + 0x2c], esi
cmp dword [ebp + 0xc], 0
jne 0x4ccbc1
test esi, esi
jle 0x4ccbc1
mov ecx, dword [esp + 0x18]
movsx eax, word [ecx + 0x28]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x18]
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edx
movsx esi, word [eax + 0x2a]
xor eax, eax
cmp esi, 2
jl 0x4ccc21
mov eax, dword [esp + 0x18]
lea edx, [esi - 2]
shr edx, 1
mov ecx, dword [eax + 4]
add ecx, 0x1f
inc edx
lea eax, [edx + edx]
mov dword [esp + 0x40], eax
movzx eax, byte [ecx - 0x10]
lea ecx, [ecx + 0x20]
shr eax, 1
and eax, 1
add dword [esp + 0x28], eax
movzx eax, byte [ecx - 0x20]
shr eax, 1
and eax, 1
add dword [esp + 0x24], eax
sub edx, 1
jne 0x4ccbf3
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x40]
cmp eax, esi
jge 0x4ccc49
shl eax, 4
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x40]
mov eax, dword [eax + 4]
movzx eax, byte [edi + eax + 0xf]
mov edi, dword [esp + 0x60]
shr eax, 1
and eax, 1
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x4ccc82
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4ccca2
sub esi, edx
sub esi, ecx
sub esi, dword [esp + 0x54]
cmp eax, esi
je 0x4ccca2
push eax
push esi
push 0
push dword [esp + 0x9c]
push str.table__S_has__d_columns_but__d_values_were_supplied
push edi
call fcn.00480fb0
add esp, 0x18
jmp 0x4ccd98
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x2c]
cmp ecx, eax
je 0x4ccca2
push eax
push ecx
push str._d_values_for__d_columns
push edi
call fcn.00480fb0
add esp, 0x10
jmp 0x4ccd98
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x20]
and eax, 0x80
or eax, 0
je 0x4ccce0
cmp byte [edi + 0x12], 0
jne 0x4ccce0
cmp dword [edi + 0x78], 0
jne 0x4ccce0
inc dword [edi + 0x2c]
mov edx, 0x46
mov eax, dword [edi + 0x2c]
mov ecx, dword [esp + 0x1c]
push eax
push 0
mov dword [esp + 0xa4], eax
call fcn.0049ce10
add esp, 8
cmp dword [esp + 0x64], 0
jne 0x4ccd6f
mov esi, dword [esp + 0x18]
lea eax, [esp + 0x94]
push eax
lea eax, [esp + 0x60]
mov edx, esi
push eax
push 0
push 0xffffffffffffffff
push 0
push 0x6d
mov ecx, edi
call fcn.004cf360
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x6c], eax
push 0
lea eax, [eax*4 + 8]
push eax
call fcn.0047ddb0
mov ecx, eax
add esp, 0x20
mov dword [esp + 0x74], ecx
test ecx, ecx
je 0x4ccd98
mov esi, dword [esi + 8]
xor edx, edx
cmp dword [esp + 0x54], edx
jle 0x4ccd65
nop dword [eax]
inc dword [edi + 0x2c]
mov eax, dword [edi + 0x2c]
mov dword [ecx + edx*4], eax
inc edx
movzx ecx, word [esi + 0x34]
mov eax, dword [edi + 0x2c]
add eax, ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 0x2c], eax
mov esi, dword [esi + 0x14]
cmp edx, dword [esp + 0x54]
jl 0x4ccd40
jmp 0x4ccd68
mov eax, dword [edi + 0x2c]
inc eax
mov dword [edi + 0x2c], eax
mov dword [ecx + edx*4], eax
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x4cce4a
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x4cce15
push dword [eax]
push str.UPSERT_not_implemented_for_virtual_table___s_
push edi
call fcn.00480fb0
add esp, 0xc
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x4c]
mov ecx, edi
mov edx, dword [esp + 0x90]
call fcn.004c3040
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4ccdbf
mov edx, eax
mov ecx, edi
call fcn.004b3290
mov edx, dword [ebp + 0x14]
mov ecx, edi
call fcn.004e3160
test esi, esi
je 0x4ccddb
push 1
mov edx, esi
mov ecx, edi
call fcn.004d52a0
add esp, 4
mov edx, dword [ebp + 0xc]
mov ecx, edi
call fcn.004c2c50
mov ecx, dword [esp + 0x74]
test ecx, ecx
je 0x4cd9b1
test edi, edi
je 0x4cd9a8
cmp dword [edi + 0x1e8], 0
je 0x4cd984
mov edx, ecx
mov ecx, edi
call fcn.0047da50
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x44]
mov dword [edx + 0x34], ecx
cmp dword [esi], 0
mov dword [esi + 0x18], eax
mov eax, dword [esp + 0x94]
mov dword [esi + 0x14], edx
mov dword [esi + 0x1c], ecx
mov dword [esi + 0x20], eax
je 0x4cce4a
push esi
mov ecx, edi
call fcn.004e3290
add esp, 4
cmp byte [esp + 0x17], 0
mov esi, dword [esp + 0x1c]
je 0x4cce78
push dword [esp + 0x38]
mov edx, 0x24
mov ecx, esi
call fcn.0049cdb0
mov dword [esp + 0x9c], eax
mov eax, dword [esi + 0x6c]
mov dword [esp + 0x80], eax
jmp 0x4cce9f
cmp dword [esp + 0x20], 0
je 0x4ccea2
push dword [esp + 0x34]
mov edx, 0xe
mov ecx, esi
call fcn.0049cdb0
mov ecx, eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0x9c], ecx
add esp, 4
dec dword [edi + 0x38]
test byte [esp + 0x30], 1
mov eax, dword [edi + 0x38]
mov dword [esp + 0x28], eax
je 0x4cd20a
mov eax, dword [esp + 0x18]
mov ecx, edi
movsx edx, word [eax + 0x2a]
inc edx
call fcn.004b8970
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x24], eax
push eax
test ecx, ecx
jns 0x4ccee7
push 0xffffffffffffffff
mov edx, 0x46
mov ecx, esi
call fcn.0049ce10
add esp, 8
jmp 0x4ccf62
cmp byte [esp + 0x1b], 0
je 0x4ccf04
push ecx
push dword [esp + 0x40]
mov edx, 0x5a
mov ecx, esi
call fcn.0049cce0
add esp, 0xc
jmp 0x4ccf19
mov eax, dword [esp + 0x54]
lea edx, [ecx + ecx*2]
mov ecx, edi
mov edx, dword [eax + edx*8 + 4]
call fcn.004b7190
add esp, 4
push dword [esp + 0x24]
mov edx, 0x33
mov ecx, esi
call fcn.0049cdb0
mov ecx, dword [esp + 0x20]
add esp, 4
mov edx, 0x46
mov esi, eax
push dword [esp + 0x24]
push 0xffffffffffffffff
call fcn.0049ce10
mov ecx, dword [esp + 0x24]
mov edx, esi
call fcn.0049d680
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, 0xf
call fcn.0049cdb0
add esp, 0xc
mov eax, dword [esp + 0x18]
xor edx, edx
xor esi, esi
movzx eax, word [eax + 0x2a]
mov ecx, eax
cmp dx, ax
jge 0x4cd186
mov edx, dword [esp + 0x24]
xor ecx, ecx
inc edx
mov dword [esp + 0x34], ecx
or eax, 0xffffffff
mov dword [esp + 0x30], edx
sub eax, dword [esp + 0x24]
mov dword [esp + 0x68], eax
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4ccfcb
xor esi, esi
cmp dword [eax + 4], esi
jle 0x4ccfcb
mov ecx, dword [eax]
mov edi, dword [esp + 0x68]
add ecx, 4
nop word [eax + eax]
lea eax, [edi + edx]
cmp dword [ecx], eax
mov eax, dword [ebp + 0xc]
je 0x4ccfc3
inc esi
add ecx, 8
cmp esi, dword [eax + 4]
jl 0x4ccfb0
mov edi, dword [esp + 0x60]
mov ecx, dword [esp + 0x34]
cmp byte [esp + 0x17], 0
jne 0x4ccfd9
cmp dword [esp + 0x50], 0
je 0x4ccfe2
test eax, eax
je 0x4cd047
cmp esi, dword [eax + 4]
jl 0x4cd047
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx + 4]
test eax, eax
je 0x4cd00f
cmp byte [eax], 0xa8
jne 0x4cd00f
mov ecx, dword [edi + 8]
push edx
push dword [eax + 0x1c]
mov edx, 0x4e
call fcn.0049ce10
add esp, 8
jmp 0x4cd143
push edx
mov edx, eax
mov ecx, edi
call fcn.004b60f0
mov edx, dword [esp + 0x34]
add esp, 4
cmp eax, edx
je 0x4cd147
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x4cd147
push edx
push eax
mov edx, 0x4f
call fcn.0049ce10
add esp, 8
jmp 0x4cd143
cmp byte [esp + 0x17], 0
je 0x4cd06a
mov ecx, dword [esp + 0x1c]
push edx
push esi
push dword [esp + 0x40]
mov edx, 0x5a
call fcn.0049cce0
add esp, 0xc
jmp 0x4cd143
mov ecx, dword [esp + 0x50]
lea eax, [esi + esi*2]
mov ecx, dword [ecx + eax*8 + 4]
mov eax, dword [edi + 8]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x54], eax
test ecx, ecx
je 0x4cd099
cmp byte [ecx], 0xa8
jne 0x4cd099
push edx
push dword [ecx + 0x1c]
mov edx, 0x4e
mov ecx, eax
jmp 0x4cd0bc
push edx
mov edx, ecx
mov ecx, edi
call fcn.004b60f0
mov edx, dword [esp + 0x34]
add esp, 4
cmp eax, edx
je 0x4cd0c8
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x4cd0c8
push edx
push eax
mov edx, 0x4f
call fcn.0049ce10
mov edx, dword [esp + 0x38]
add esp, 8
mov ecx, dword [esp + 0x54]
inc dword [edi + 0x2c]
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x40], eax
mov eax, dword [ecx + 0x6c]
mov dword [esp + 0x8c], eax
cmp dword [ecx + 0x70], eax
jg 0x4cd0fb
push 0
push dword [esp + 0x44]
push edx
mov edx, 0x4e
call fcn.0049cca0
add esp, 0xc
jmp 0x4cd133
inc eax
mov dword [ecx + 0x6c], eax
mov eax, dword [esp + 0x8c]
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x54]
mov eax, dword [eax + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x40]
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
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x40]
call fcn.004b5fa0
mov edx, dword [esp + 0x30]
add dword [esp + 0x34], 0x10
lea eax, [esi + 1]
mov edi, dword [esp + 0x18]
inc edx
cmp dword [ebp + 0xc], 0
mov ecx, dword [esp + 0x68]
cmovne eax, esi
mov dword [esp + 0x30], edx
mov esi, eax
add ecx, edx
movzx eax, word [edi + 0x2a]
mov edi, dword [esp + 0x60]
cwde
cmp ecx, eax
mov ecx, dword [esp + 0x34]
jl 0x4ccf93
mov esi, dword [esp + 0x18]
movzx ecx, word [esi + 0x2a]
jmp 0x4cd18a
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x64], 0
movzx eax, cx
jne 0x4cd1ac
mov eax, dword [esp + 0x24]
mov edx, esi
mov ecx, dword [esp + 0x1c]
inc eax
push eax
call fcn.004cc1e0
movzx eax, word [esi + 0x2a]
add esp, 4
push dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
push dword [ebp + 0x10]
mov edx, dword [esp + 0x78]
cwde
sub ecx, eax
dec ecx
push ecx
push esi
push 1
push 0
push 0x78
mov ecx, edi
call fcn.004e0de0
movsx eax, word [esi + 0x2a]
add esp, 0x1c
inc eax
cmp eax, 1
jne 0x4cd1f9
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x4cd20e
mov al, byte [edi + 0x13]
cmp al, 8
jae 0x4cd20e
movzx eax, al
mov dword [edi + eax*4 + 0x94], ecx
inc byte [edi + 0x13]
jmp 0x4cd20e
cmp eax, dword [edi + 0x1c]
jle 0x4cd20e
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x24]
mov dword [edi + 0x20], eax
jmp 0x4cd20e
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x64], 0
jne 0x4cd6f7
mov ecx, dword [esi + 0x38]
mov esi, dword [esp + 0x1c]
test ecx, ecx
je 0x4cd240
push dword [esp + 0x78]
mov edx, 0x49
mov ecx, esi
push 0
call fcn.0049ce10
mov eax, dword [esp + 0x20]
add esp, 8
mov ecx, dword [eax + 0x38]
mov eax, dword [esp + 0x6c]
test eax, eax
js 0x4cd32f
cmp byte [esp + 0x17], 0
je 0x4cd26d
push dword [esp + 0x3c]
mov edx, 0x5a
mov ecx, esi
push eax
push dword [esp + 0x40]
call fcn.0049cce0
add esp, 0xc
jmp 0x4cd2b7
cmp dword [esp + 0x20], 0
je 0x4cd291
push dword [esp + 0x3c]
add eax, dword [esp + 0x84]
mov edx, 0x4e
push eax
mov ecx, esi
call fcn.0049ce10
add esp, 8
jmp 0x4cd2b7
mov edx, dword [esp + 0x50]
lea eax, [eax + eax*2]
mov edx, dword [edx + eax*8 + 4]
cmp byte [edx], 0x72
jne 0x4cd2a9
test ecx, ecx
je 0x4cd33c
push dword [esp + 0x3c]
mov ecx, edi
call fcn.004b7190
add esp, 4
mov eax, dword [esp + 0x18]
mov ecx, esi
cmp dword [eax + 0x38], 0
jne 0x4cd302
push dword [esp + 0x3c]
mov edx, 0x33
call fcn.0049cdb0
mov ecx, dword [esp + 0x20]
add esp, 4
mov edx, 0x79
mov esi, eax
push dword [esp + 0x48]
push dword [esp + 0x40]
push dword [esp + 0x64]
call fcn.0049cce0
add esp, 0xc
mov edx, esi
mov esi, dword [esp + 0x1c]
mov ecx, esi
call fcn.0049d680
jmp 0x4cd31a
mov eax, dword [esi + 0x6c]
mov edx, 0x32
add eax, 2
push eax
push dword [esp + 0x40]
call fcn.0049ce10
add esp, 8
push dword [esp + 0x3c]
mov edx, 0xf
mov ecx, esi
call fcn.0049cdb0
add esp, 4
jmp 0x4cd376
test ecx, ecx
jne 0x4cd361
cmp byte [esp + 0x84], cl
jne 0x4cd361
push dword [esp + 0x48]
mov edx, 0x79
mov ecx, esi
push dword [esp + 0x40]
push dword [esp + 0x64]
call fcn.0049cce0
add esp, 0xc
mov dword [esp + 0x34], 1
jmp 0x4cd37e
push dword [esp + 0x3c]
mov edx, 0x49
mov ecx, esi
push 0
call fcn.0049ce10
add esp, 8
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x48]
test eax, eax
jle 0x4cd39b
push dword [esp + 0x3c]
mov ecx, dword [edi + 8]
mov edx, 0x97
push eax
call fcn.0049ce10
add esp, 8
mov eax, dword [esp + 0x18]
xor ecx, ecx
xor esi, esi
mov dword [esp + 0x48], 0
cmp cx, word [eax + 0x2a]
jge 0x4cd584
xor edx, edx
mov dword [esp + 0x64], edx
nop dword [eax + eax]
mov ecx, dword [esp + 0x44]
movsx eax, word [eax + 0x28]
add ecx, esi
cmp esi, eax
jne 0x4cd3e2
push ecx
mov ecx, dword [esp + 0x20]
mov edx, 0x4a
call fcn.0049cdb0
jmp 0x4cd561
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x4cd420
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
mov dl, byte [eax + edx + 0xf]
mov eax, dword [esp + 0x48]
and dl, 2
je 0x4cd40e
inc eax
or ecx, 0xffffffff
test dl, dl
cmove eax, dword [esp + 0x48]
mov dword [esp + 0x48], eax
jmp 0x4cd43c
mov ecx, esi
sub ecx, eax
inc eax
test dl, dl
cmove eax, dword [esp + 0x48]
mov dword [esp + 0x48], eax
jmp 0x4cd43c
mov edx, dword [eax + 4]
xor ecx, ecx
test edx, edx
jle 0x4cd447
mov eax, dword [eax]
add eax, 4
nop
cmp dword [eax], esi
je 0x4cd43c
inc ecx
add eax, 8
cmp ecx, edx
jl 0x4cd430
test ecx, ecx
js 0x4cd4d7
mov eax, dword [ebp + 0xc]
cmp dword [esp + 0x2c], 0
je 0x4cd4d7
test eax, eax
je 0x4cd45b
cmp ecx, dword [eax + 4]
jge 0x4cd4d7
cmp byte [esp + 0x17], 0
je 0x4cd484
mov edx, dword [esp + 0x44]
add edx, esi
push edx
push ecx
push dword [esp + 0x40]
mov ecx, dword [esp + 0x28]
mov edx, 0x5a
call fcn.0049cce0
add esp, 0xc
jmp 0x4cd564
cmp dword [esp + 0x20], 0
je 0x4cd4c0
mov eax, dword [esp + 0x44]
cmp dword [esp + 0x80], eax
je 0x4cd564
lea edx, [eax + esi]
mov eax, dword [esp + 0x80]
push edx
add eax, ecx
mov edx, 0x4f
mov ecx, dword [esp + 0x20]
push eax
call fcn.0049ce10
add esp, 8
jmp 0x4cd564
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x50]
add edx, esi
push edx
lea edx, [ecx + ecx*2]
mov edx, dword [eax + edx*8 + 4]
jmp 0x4cd55a
cmp byte [edi + 0x17], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x64]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x84], eax
je 0x4cd551
mov byte [esp + 0xb4], 2
mov dword [esp + 0xa4], fcn.004b3500
mov dword [esp + 0xa8], 0x4b33c0
mov dword [esp + 0xb8], 0
test eax, eax
je 0x4cd53f
mov edx, eax
lea ecx, [esp + 0xa0]
call fcn.004ae8d0
cmp byte [esp + 0xb4], 0
mov eax, dword [esp + 0x84]
je 0x4cd551
mov edx, dword [esp + 0x44]
mov ecx, edi
add edx, esi
push edx
mov edx, eax
call fcn.004b6fe0
jmp 0x4cd561
mov edx, dword [esp + 0x44]
add edx, esi
push edx
mov edx, eax
mov ecx, edi
call fcn.004b7190
add esp, 4
mov eax, dword [esp + 0x18]
inc esi
mov edx, dword [esp + 0x64]
add edx, 0x10
mov dword [esp + 0x64], edx
movsx eax, word [eax + 0x2a]
cmp esi, eax
mov eax, dword [esp + 0x18]
jl 0x4cd3c0
cmp dword [eax + 0x38], 0
je 0x4cd620
mov esi, dword [eax + 0x40]
test esi, esi
je 0x4cd5ab
mov ecx, dword [esp + 0x4c]
nop dword [eax]
cmp dword [esi], ecx
je 0x4cd5ab
mov esi, dword [esi + 0x18]
test esi, esi
jne 0x4cd5a0
mov edx, eax
mov ecx, edi
call fcn.004e5480
mov eax, dword [esp + 0x18]
mov edx, 0xa
push 0xfffffffffffffff4
push esi
push dword [esp + 0x80]
movsx eax, word [eax + 0x2a]
mov esi, dword [esp + 0x28]
add eax, 2
push eax
push 1
mov ecx, esi
call fcn.0049d0a0
mov eax, dword [esi + 0x6c]
add esp, 0x14
test eax, eax
jle 0x4cd60d
mov ecx, dword [ebp + 0x10]
cmp ecx, 0xb
movzx edx, cx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov dword [esp + 0x88], 2
cmove edx, dword [esp + 0x88]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [edi + 0x74]
mov ecx, edi
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15], 1
jmp 0x4cd6fb
push dword [ebp + 0x14]
mov esi, dword [esp + 0x1c]
lea eax, [esp + 0x8c]
push 0
push eax
push dword [esp + 0x34]
mov eax, dword [esp + 0x7c]
mov edx, esi
push dword [ebp + 0x10]
shr eax, 0x1f
mov ecx, edi
xor al, 1
movzx eax, al
push eax
push 0
push dword [esp + 0x94]
push dword [esp + 0xb4]
push dword [esp + 0x80]
push dword [esp + 0x9c]
call fcn.004cda00
add esp, 0x2c
mov edx, esi
mov ecx, edi
push 0
push 0
push dword [esp + 0x80]
push 0
call fcn.004cae20
add esp, 0x10
cmp dword [esp + 0x88], 0
je 0x4cd6c6
cmp dword [esp + 0x70], 0
jne 0x4cd6c2
mov eax, dword [esp + 0x4c]
mov eax, dword [eax + 0x20]
and eax, 0x4000
or eax, 0
je 0x4cd6c6
mov ecx, dword [esi + 0x48]
mov edx, dword [esi]
add ecx, 0x38
push 0
call fcn.00482640
add esp, 4
cmp dword [eax + 8], 0
je 0x4cd6c6
xor eax, eax
jmp 0x4cd6cb
mov eax, 1
push eax
push dword [esp + 0x38]
mov edx, esi
mov ecx, edi
push 0
push dword [esp + 0x80]
push dword [esp + 0x88]
push dword [esp + 0xa8]
push dword [esp + 0x74]
call fcn.004cf120
add esp, 0x1c
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x9c]
test edx, edx
je 0x4cd757
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4cd724
push 0
push 1
push edx
mov edx, 0x53
mov ecx, esi
call fcn.0049cca0
add esp, 0xc
jmp 0x4cd757
mov edi, dword [esp + 0x60]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x53
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 + 0x70], 0
je 0x4cd78c
mov ecx, dword [esp + 0x18]
push dword [esp + 0x28]
mov edx, dword [esp + 0x48]
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 0x78
mov ecx, edi
call fcn.004e0de0
add esp, 0x1c
mov ecx, dword [esi + 0xc]
mov edx, dword [esp + 0x28]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4cd7aa
push edx
mov edx, esi
call fcn.0049d2f0
add esp, 4
jmp 0x4cd7b3
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + edx*4], eax
cmp byte [esp + 0x17], 0
je 0x4cd898
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4cd7e2
mov edx, dword [esp + 0x7c]
mov ecx, esi
push 0
push edx
push dword [esp + 0x40]
mov edx, 5
call fcn.0049cca0
add esp, 0xc
jmp 0x4cd815
mov edx, dword [esp + 0x38]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [eax + ecx*4], 5
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x51], 0
je 0x4cd827
mov eax, 0x648de8
jmp 0x4cd83f
mov ecx, dword [esp + 0x98]
lea eax, [edx - 1]
test ecx, ecx
cmovns eax, ecx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4cd863
push 0
push 0
push dword [esp + 0x40]
mov edx, 0x75
mov ecx, esi
call fcn.0049cca0
add esp, 0xc
jmp 0x4cd8d7
mov edx, dword [esp + 0x38]
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x75
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 0x4cd8d7
cmp dword [esp + 0x20], 0
je 0x4cd8d7
mov edx, dword [esp + 0x7c]
mov ecx, esi
call fcn.0049ce80
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x51], 0
je 0x4cd8bc
mov eax, 0x648de8
jmp 0x4cd8d4
mov ecx, dword [esp + 0x98]
lea eax, [edx - 1]
test ecx, ecx
cmovns eax, ecx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
cmp byte [edi + 0x12], 0
jne 0x4cd8f0
cmp dword [edi + 0x78], 0
jne 0x4cd8f0
cmp dword [edi + 0x70], 0
je 0x4cd8f0
mov ecx, edi
call fcn.004cc370
mov edx, dword [esp + 0x9c]
test edx, edx
je 0x4ccd98
mov ecx, dword [esi + 0x6c]
cmp dword [esi + 0x70], ecx
jg 0x4cd91d
push 0
push 1
push edx
mov edx, 0x51
mov ecx, esi
call fcn.0049cca0
add esp, 0xc
jmp 0x4cd94c
lea eax, [ecx + 1]
mov dword [esi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4], 0x51
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, 1
mov ecx, esi
call fcn.0049ed70
mov eax, dword [esi]
cmp byte [eax + 0x51], 0
jne 0x4ccd98
mov ecx, dword [esi + 0x74]
mov edx, str.rows_inserted
push 0
push 1
push 0xffffffffffffffff
call fcn.0049bf70
jmp 0x4ccd95
mov esi, dword [ebp + 8]
jmp 0x4ccd9c
cmp ecx, dword [edi + 0x138]
jb 0x4cd9a8
cmp ecx, dword [edi + 0x13c]
jae 0x4cd9a8
mov eax, dword [edi + 0x134]
mov dword [ecx], eax
mov dword [edi + 0x134], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push ecx
call fcn.0047d9e0
add esp, 4
pop edi
pop esi
mov esp, ebp
pop ebp
ret