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

Disassembly:
sub esp, 0xa0
push ebx
xor ebx, ebx
or eax, 0xffffffff
push ebp
mov ebp, dword [esp + 0xac]
push esi
push edi
mov esi, ebx
mov dword [esp + 0x7c], ebx
mov edi, dword [ebp]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], ebx
mov byte [esp + 0x17], bl
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x18], esi
mov dword [esp + 0x58], edi
cmp dword [ebp + 0x24], ebx
jne 0x56ba31
mov esi, dword [esp + 0xbc]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x10], esi
test esi, esi
je 0x56ac82
test dword [esi + 4], 0x200
je 0x56ac82
cmp dword [esi + 0x34], ebx
jne 0x56ac82
mov eax, dword [esi + 0x1c]
push esi
push edi
mov dword [esp + 0x54], eax
mov dword [esi + 0x1c], ebx
call fcn.00576de5
pop ecx
pop ecx
mov dword [esp + 0x10], ebx
push dword [esp + 0xb8]
push ebp
call fcn.00577a16
mov ebx, eax
mov dword [esp + 0x48], ebx
pop ecx
pop ecx
test ebx, ebx
je 0x56b019
push dword [ebx + 0x3c]
push edi
call fcn.0057526e
mov esi, eax
mov eax, dword [edi + 0x10]
mov ecx, esi
mov dword [esp + 0x6c], esi
add ecx, ecx
push dword [eax + ecx*8]
push 0
push dword [ebx]
push 0x12
push ebp
call fcn.00559d89
add esp, 0x1c
test eax, eax
jne 0x56b019
mov eax, dword [ebx + 0x1c]
shr eax, 7
and eax, 0xffffff01
mov dword [esp + 0x60], eax
lea eax, [esp + 0x5c]
push eax
push 0
push 0x7f
push ebx
push ebp
call fcn.00579321
mov edi, eax
mov al, byte [ebx + 0x2b]
push ebx
push ebp
mov dword [esp + 0x70], edi
mov byte [esp + 0x3f], al
call fcn.00585534
add esp, 0x1c
test eax, eax
jne 0x56b019
push edi
push ebx
push ebp
call fcn.0056bd0a
add esp, 0xc
test eax, eax
jne 0x56b019
push ebp
call fcn.0056a013
mov edi, eax
mov dword [esp + 0x30], edi
pop ecx
test edi, edi
je 0x56b019
cmp byte [ebp + 0x12], 0
jne 0x56ad42
or dword [edi + 0x98], 0x10
cmp dword [esp + 0x10], 0
jne 0x56ad54
cmp dword [esp + 0x54], 0
jne 0x56ad54
xor eax, eax
jmp 0x56ad57
xor eax, eax
inc eax
push esi
push eax
push ebp
call fcn.0055a6a1
add esp, 0xc
cmp dword [esp + 0xc0], 0
jne 0x56ad96
mov eax, dword [esp + 0x10]
test eax, eax
je 0x56ad96
cmp dword [esp + 0x54], 0
jne 0x56ad96
push esi
push dword [esp + 0xc8]
push eax
push ebx
push ebp
call fcn.0059a17d
add esp, 0x14
test eax, eax
jne 0x56b9fb
push ebx
push esi
push ebp
call fcn.005355d9
mov ecx, dword [ebp + 0x2c]
add esp, 0xc
mov dword [esp + 0x6c], eax
movsx eax, word [ebx + 0x22]
inc eax
lea esi, [ecx + 1]
add eax, ecx
mov edx, esi
mov dword [ebp + 0x2c], eax
cmp byte [ebx + 0x2b], 1
mov dword [esp + 0x50], esi
mov dword [esp + 0x24], edx
jne 0x56add0
lea edx, [esi + 1]
inc eax
mov dword [esp + 0x24], edx
mov dword [ebp + 0x2c], eax
mov ecx, dword [ebx + 0x1c]
lea eax, [edx + 1]
mov esi, dword [esp + 0xc0]
and ecx, 0x440
neg ecx
mov dword [esp + 0x48], eax
sbb cl, cl
inc cl
mov dword [esp + 0x68], ecx
test esi, esi
je 0x56af20
mov eax, dword [esi]
xor edx, edx
mov byte [esi + 4], 1
test eax, eax
jle 0x56ae15
lea ecx, [esi + 0xc]
or dword [ecx], 0xffffffff
inc edx
mov eax, dword [esi]
lea ecx, [ecx + 8]
cmp edx, eax
jl 0x56ae08
xor edx, edx
mov dword [esp + 0x30], edx
test eax, eax
jle 0x56af20
lea eax, [esi + 8]
mov ecx, eax
mov dword [esp + 0x1c], eax
movsx eax, word [ebx + 0x22]
xor esi, esi
test eax, eax
jle 0x56aecf
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + edx*8 + 8]
mov eax, dword [ebx + 4]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
push dword [eax]
push ecx
call fcn.005781b4
pop ecx
pop ecx
test eax, eax
je 0x56ae8b
mov eax, dword [esp + 0x88]
inc esi
movsx ecx, word [ebx + 0x22]
add eax, 0x10
cmp esi, ecx
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x84]
jl 0x56ae56
mov edx, dword [esp + 0x30]
jmp 0x56aecb
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x30]
mov dword [eax + 4], esi
movzx eax, cl
xor ecx, ecx
cmp edx, esi
cmovne eax, ecx
mov ecx, dword [esp + 0x28]
mov byte [esp + 0x68], al
movsx eax, word [ebx + 0x20]
cmp esi, eax
mov eax, esi
cmove ecx, edx
add eax, eax
mov dword [esp + 0x28], ecx
mov ecx, dword [ebx + 4]
test byte [ecx + eax*8 + 0xe], 0x60
jne 0x56b008
mov ecx, dword [esp + 0x1c]
movsx eax, word [ebx + 0x22]
cmp esi, eax
jl 0x56af05
push dword [ecx]
call fcn.0056bd8b
pop ecx
test eax, eax
je 0x56b088
cmp byte [esp + 0x60], 0
jne 0x56b088
mov edx, dword [esp + 0x30]
mov eax, edx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
mov byte [esp + 0x68], 0
mov eax, dword [esp + 0xc0]
inc edx
add ecx, 8
mov dword [esp + 0x30], edx
mov dword [esp + 0x1c], ecx
cmp edx, dword [eax]
jl 0x56ae2c
cmp dword [esp + 0x10], 0
je 0x56b16b
inc dword [ebp + 0x2c]
mov eax, dword [edi + 0x6c]
mov esi, dword [ebp + 0x2c]
mov dword [esp + 0x84], eax
inc eax
push eax
push 0
push esi
push 0xb
push edi
call fcn.0057b786
and dword [esp + 0xa8], 0
xor eax, eax
and dword [esp + 0xb4], 0
cmp byte [esp + 0x7c], al
mov byte [esp + 0xa0], 0xd
cmovne eax, dword [esp + 0x5c]
mov dword [esp + 0xac], eax
movsx eax, word [ebx + 0x22]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0xa0]
push eax
push dword [esp + 0x28]
mov dword [esp + 0xac], esi
push ebp
call fcn.005752c1
mov ecx, dword [esp + 0xb8]
add esp, 0x20
mov dword [esp + 0x38], ecx
test eax, eax
jne 0x56b019
cmp dword [ebp + 0x24], eax
jne 0x56b019
push esi
push edi
call fcn.0057c02c
push dword [esp + 0x8c]
push edi
call fcn.0058273c
mov ecx, dword [edi + 0x6c]
add esp, 0x10
cmp dword [esp + 0x54], 0
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1c]
mov esi, dword [eax]
mov dword [esp + 0x30], esi
jne 0x56b0b0
push ebx
push dword [esp + 0x68]
push ebp
call fcn.00552618
add esp, 0xc
test eax, eax
jne 0x56b0b0
mov eax, dword [esp + 0x90]
mov dword [esp + 0x44], eax
jmp 0x56b1b9
push dword [ecx + eax*8]
push str.cannot_INSERT_into_generated_column___s_
push ebp
call fcn.00561f37
add esp, 0xc
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
push dword [esp + 0xb8]
mov ebp, dword [esp + 0x5c]
push ebp
call fcn.0057762b
mov eax, dword [esp + 0x54]
pop ecx
pop ecx
test eax, eax
je 0x56b045
push eax
push ebp
call fcn.005408da
pop ecx
pop ecx
mov eax, dword [esp + 0xc8]
test eax, eax
je 0x56b059
push eax
push ebp
call fcn.0058dcac
pop ecx
pop ecx
push ebx
push ebp
call fcn.00576de5
push dword [esp + 0xc8]
push ebp
call fcn.0056a300
add esp, 0x10
test esi, esi
je 0x56b07d
push esi
push ebp
call fcn.00560462
pop ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
mov eax, dword [esp + 0x1c]
push dword [eax]
mov eax, dword [esp + 0xbc]
add eax, 8
push eax
push str.table__S_has_no_column_named__s
push ebp
call fcn.00561f37
add esp, 0x10
mov byte [ebp + 0x11], 1
jmp 0x56b019
mov edx, dword [ebp + 0x28]
push ebp
mov byte [esp + 0x1b], 1
mov dword [esp + 0x38], edx
lea eax, [edx + 1]
mov dword [ebp + 0x28], eax
call fcn.00569765
push ebp
mov edi, eax
call fcn.00569765
push esi
mov esi, dword [esp + 0x38]
mov ebx, eax
push edx
push 0x76
push esi
call fcn.0057b76b
mov eax, dword [esp + 0xa8]
push eax
push 0xc
push esi
mov dword [esp + 0x68], eax
call fcn.0057b752
push edi
push dword [esp + 0x58]
mov esi, eax
push dword [esp + 0x64]
push 0x61
push dword [esp + 0x60]
call fcn.0057b786
push ebx
push dword [esp + 0x70]
push 0x7f
push dword [esp + 0x70]
call fcn.0057b76b
add esp, 0x48
push ebx
push edi
push dword [esp + 0x3c]
push 0x80
push dword [esp + 0x3c]
call fcn.0057b786
push esi
push dword [esp + 0x44]
call fcn.00582757
mov edx, dword [esp + 0x48]
push esi
push edx
call fcn.0058273c
mov ecx, dword [edx + 0x6c]
push edi
push ebp
mov dword [eax + 8], ecx
call fcn.00573e04
push ebx
push ebp
call fcn.00573e04
mov ebx, dword [esp + 0x74]
add esp, 0x34
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x30]
jmp 0x56b1b9
push 0x24
lea eax, [esp + 0x90]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
or dword [esp + 0x40], 0xffffffff
add esp, 0xc
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x8c], ebp
test eax, eax
je 0x56b1b3
mov esi, dword [eax]
push eax
lea eax, [esp + 0x90]
mov dword [esp + 0x34], esi
push eax
call fcn.0057409d
pop ecx
pop ecx
test eax, eax
jne 0x56b019
jmp 0x56b1b9
xor esi, esi
mov dword [esp + 0x30], esi
mov ecx, dword [esp + 0xc0]
test ecx, ecx
jne 0x56b270
test esi, esi
jle 0x56b292
movsx eax, word [ebx + 0x20]
mov dword [esp + 0x28], eax
test eax, eax
js 0x56b211
test byte [ebx + 0x1c], 0x60
je 0x56b211
lea edx, [eax - 1]
test edx, edx
js 0x56b211
mov ecx, edx
shl ecx, 4
add ecx, 0xe
add ecx, dword [ebx + 4]
mov ebx, eax
test byte [ecx], 0x60
lea eax, [ebx - 1]
lea ecx, [ecx - 0x10]
cmove eax, ebx
sub edx, 1
mov ebx, eax
jns 0x56b1f6
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x40]
test byte [ebx + 0x1c], 0x62
je 0x56b244
movsx edx, word [ebx + 0x22]
test edx, edx
jle 0x56b244
mov ecx, dword [ebx + 4]
mov edi, dword [esp + 0x7c]
add ecx, 0xe
test byte [ecx], 0x62
lea eax, [edi + 1]
lea ecx, [ecx + 0x10]
cmove eax, edi
mov edi, eax
sub edx, 1
jne 0x56b229
mov dword [esp + 0x7c], edi
mov edi, dword [esp + 0x2c]
movsx eax, word [ebx + 0x22]
sub eax, dword [esp + 0x7c]
cmp esi, eax
je 0x56b292
push esi
push eax
mov eax, dword [esp + 0xc0]
add eax, 8
push eax
push str.table__S_has__d_columns_but__d_values_were_supplied
push ebp
call fcn.00561f37
add esp, 0x14
jmp 0x56b019
mov eax, dword [esp + 0x28]
mov dword [esp + 0x28], eax
cmp esi, dword [ecx]
je 0x56b292
push dword [ecx]
push esi
push str._d_values_for__d_columns
push ebp
call fcn.00561f37
add esp, 0x10
jmp 0x56b019
mov ecx, dword [esp + 0x58]
xor eax, eax
mov ecx, dword [ecx + 0x24]
and ecx, 1
or eax, ecx
je 0x56b2d5
cmp byte [ebp + 0x12], 0
jne 0x56b2d5
cmp dword [ebp + 0x84], 0
jne 0x56b2d5
cmp byte [ebp + 0x9f], 0
jne 0x56b2d5
inc dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
push eax
push 0
push 0x47
push edi
mov dword [esp + 0x90], eax
call fcn.0057b76b
add esp, 0x10
cmp byte [esp + 0x23], 2
je 0x56b353
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x40]
push eax
push 0
push 0xffffffffffffffff
push 0
push 0x71
push ebx
push ebp
call fcn.0056d5e5
mov esi, eax
push 0
lea eax, [esi*4 + 8]
push eax
push dword [esp + 0x80]
call fcn.00560346
add esp, 0x2c
mov dword [esp + 0x18], eax
test eax, eax
je 0x56b019
mov edx, dword [ebx + 8]
xor ecx, ecx
test esi, esi
jle 0x56b343
mov edi, eax
inc dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
mov dword [edi + ecx*4], eax
movzx eax, word [edx + 0x34]
add dword [ebp + 0x2c], eax
inc ecx
mov edx, dword [edx + 0x14]
cmp ecx, esi
jl 0x56b327
mov edi, dword [esp + 0x2c]
mov eax, dword [ebp + 0x2c]
mov esi, dword [esp + 0x18]
inc eax
mov dword [ebp + 0x2c], eax
mov dword [esi + ecx*4], eax
jmp 0x56b357
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0xc8]
test ecx, ecx
je 0x56b405
mov al, byte [ebx + 0x2b]
cmp al, 1
jne 0x56b382
push dword [ebx]
push str.UPSERT_not_implemented_for_virtual_table___s_
push ebp
call fcn.00561f37
add esp, 0xc
jmp 0x56b01d
cmp al, 2
jne 0x56b398
push str.cannot_UPSERT_a_view
push ebp
call fcn.00561f37
pop ecx
pop ecx
jmp 0x56b01d
push dword [ecx]
push ebp
call fcn.0056a08a
pop ecx
pop ecx
test eax, eax
jne 0x56b01d
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0xc8]
mov eax, dword [esp + 0x48]
mov dword [edx + 0x34], ecx
cmp dword [esi], 0
mov ebx, dword [esp + 0x70]
mov dword [esi + 0x2c], ebx
mov ebx, dword [esp + 0x40]
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], ecx
je 0x56b3fe
push esi
push edx
push ebp
call fcn.0057ac56
add esp, 0xc
test eax, eax
jne 0x56b019
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xb8]
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x56b3c3
cmp byte [esp + 0x17], 0
je 0x56b42b
push dword [esp + 0x34]
push 0x24
push edi
call fcn.0057b752
mov dword [esp + 0x84], eax
add esp, 0xc
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x74], eax
jmp 0x56b469
cmp dword [esp + 0x10], 0
je 0x56b469
push dword [esp + 0x44]
push 0xc
push edi
call fcn.0057b752
mov ecx, eax
add esp, 0xc
mov eax, dword [esp + 0x28]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ecx
test eax, eax
js 0x56b469
push dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
add ecx, eax
push ecx
push 0x50
push edi
call fcn.0057b76b
add esp, 0x10
and dword [esp + 0x44], 0
xor edx, edx
mov esi, dword [esp + 0x48]
xor eax, eax
mov dword [esp + 0x1c], edx
cmp ax, word [ebx + 0x22]
jge 0x56b5d5
xor ecx, ecx
mov dword [esp + 0x40], ecx
movsx eax, word [ebx + 0x20]
cmp edx, eax
jne 0x56b4a3
push esi
push 0x4c
push edi
call fcn.0057b752
add esp, 0xc
jmp 0x56b5b4
add ecx, dword [ebx + 4]
movzx eax, word [ecx + 0xe]
test al, 0x62
je 0x56b4ea
inc dword [esp + 0x44]
test al, 0x20
je 0x56b4bc
dec esi
jmp 0x56b5b8
test al, 0x40
je 0x56b4cd
test byte [esp + 0x5c], 1
je 0x56b5b8
jmp 0x56b492
cmp dword [esp + 0xc0], 0
jne 0x56b4f4
push esi
push ecx
push ebx
call fcn.0055e30b
pop ecx
pop ecx
push eax
push ebp
call fcn.00562ae5
jmp 0x56b49b
cmp dword [esp + 0xc0], 0
je 0x56b538
mov edx, dword [esp + 0xc0]
xor eax, eax
mov edx, dword [edx]
test edx, edx
jle 0x56b523
mov edi, dword [esp + 0x1c]
mov ecx, edx
mov ecx, dword [esp + 0xc0]
add ecx, 0xc
cmp dword [ecx], edi
je 0x56b51f
inc eax
add ecx, 8
cmp eax, edx
jl 0x56b513
mov edi, dword [esp + 0x2c]
cmp eax, edx
jl 0x56b532
mov eax, dword [ebx + 4]
add eax, dword [esp + 0x40]
push esi
push eax
jmp 0x56b4d9
mov edx, dword [esp + 0x1c]
jmp 0x56b545
cmp dword [esp + 0x30], 0
je 0x56b4d7
mov eax, edx
sub eax, dword [esp + 0x44]
cmp byte [esp + 0x17], 0
je 0x56b55f
push esi
push eax
push dword [esp + 0x3c]
push 0x5e
push edi
call fcn.0057b786
add esp, 0x14
jmp 0x56b5b4
cmp dword [esp + 0x10], 0
je 0x56b578
mov ecx, dword [esp + 0x38]
cmp ecx, dword [esp + 0x48]
je 0x56b5b8
push esi
add eax, ecx
push eax
push 0x51
jmp 0x56b5ab
mov ecx, dword [esp + 0x4c]
imul eax, eax, 0x14
push esi
mov eax, dword [eax + ecx + 8]
push eax
push ebp
mov dword [esp + 0x70], eax
call fcn.005633ad
add esp, 0xc
cmp eax, esi
je 0x56b5b4
push esi
push eax
mov eax, dword [esp + 0x6c]
mov eax, dword [eax + 4]
shr eax, 0x16
not eax
and eax, 1
or eax, 0x50
push eax
push edi
call fcn.0057b76b
add esp, 0x10
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x40]
inc edx
movsx eax, word [ebx + 0x22]
add ecx, 0x10
inc esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x40], ecx
cmp edx, eax
jl 0x56b48a
dec dword [ebp + 0x38]
test byte [esp + 0x5c], 1
mov eax, dword [ebp + 0x38]
mov dword [esp + 0x38], eax
je 0x56b6f6
movsx eax, word [ebx + 0x22]
inc eax
push eax
push ebp
call fcn.00569724
pop ecx
mov esi, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x60], esi
pop ecx
push esi
test eax, eax
jns 0x56b616
push 0xffffffffffffffff
push 0x47
push edi
call fcn.0057b76b
add esp, 0x10
jmp 0x56b67c
cmp byte [esp + 0x1b], 0
je 0x56b62f
push eax
push dword [esp + 0x3c]
push 0x5e
push edi
call fcn.0057b786
add esp, 0x14
jmp 0x56b643
mov ecx, dword [esp + 0x50]
imul eax, eax, 0x14
push dword [eax + ecx + 8]
push ebp
call fcn.00562913
add esp, 0xc
push esi
push 0x33
push edi
call fcn.0057b752
push dword [esp + 0x68]
mov esi, eax
push 0xffffffffffffffff
push 0x47
push edi
call fcn.0057b76b
push esi
push edi
call fcn.0058273c
mov esi, dword [esp + 0x80]
mov ecx, dword [edi + 0x6c]
push esi
push 0xd
push edi
mov dword [eax + 8], ecx
call fcn.0057b752
add esp, 0x30
movsx eax, word [ebx + 0x24]
lea ecx, [esi + 1]
dec eax
push eax
mov eax, dword [esp + 0x28]
push ecx
inc eax
push eax
push 0x50
push edi
call fcn.0057b786
add esp, 0x14
test byte [ebx + 0x1c], 0x60
je 0x56b6ab
push ebx
lea eax, [esi + 1]
push eax
push ebp
call fcn.0055e8fe
add esp, 0xc
cmp byte [esp + 0x23], 2
je 0x56b6c0
lea eax, [esi + 1]
push eax
push ebx
push edi
call fcn.00578580
add esp, 0xc
push dword [esp + 0x38]
movsx eax, word [ebx + 0x22]
mov ecx, esi
push dword [esp + 0xc8]
sub ecx, eax
dec ecx
push ecx
push ebx
push 1
push 0
push 0x7f
push dword [esp + 0x70]
push ebp
call fcn.0055de02
movsx eax, word [ebx + 0x22]
inc eax
push eax
push esi
push ebp
call fcn.00573dd7
add esp, 0x30
cmp byte [esp + 0x23], 2
je 0x56b942
cmp byte [ebx + 0x2b], 1
jne 0x56b718
push dword [esp + 0x50]
push 0
push 0x4b
push edi
call fcn.0057b76b
add esp, 0x10
mov eax, dword [esp + 0x28]
test eax, eax
js 0x56b7d0
cmp byte [esp + 0x17], 0
je 0x56b742
mov esi, dword [esp + 0x24]
push esi
push eax
push dword [esp + 0x3c]
push 0x5e
push edi
call fcn.0057b786
add esp, 0x14
jmp 0x56b774
cmp dword [esp + 0x10], 0
jne 0x56b770
mov ecx, dword [esp + 0x4c]
imul eax, eax, 0x14
mov eax, dword [eax + ecx + 8]
cmp byte [eax], 0x79
jne 0x56b75f
cmp byte [ebx + 0x2b], 1
jne 0x56b7dd
mov esi, dword [esp + 0x24]
push esi
push eax
push ebp
call fcn.00562913
add esp, 0xc
jmp 0x56b774
mov esi, dword [esp + 0x24]
cmp byte [ebx + 0x2b], 1
je 0x56b7af
push esi
push 0x33
push edi
call fcn.0057b752
push dword [esp + 0x78]
mov esi, eax
push dword [esp + 0x34]
push dword [esp + 0x50]
push 0x7f
push edi
call fcn.0057b786
push esi
push edi
call fcn.0058273c
mov ecx, dword [edi + 0x6c]
add esp, 0x28
mov esi, dword [esp + 0x24]
mov dword [eax + 8], ecx
jmp 0x56b7c2
mov eax, dword [edi + 0x6c]
add eax, 2
push eax
push esi
push 0x32
push edi
call fcn.0057b76b
add esp, 0x10
push esi
push 0xd
push edi
call fcn.0057b752
add esp, 0xc
jmp 0x56b80a
cmp byte [ebx + 0x2b], 1
je 0x56b7f9
cmp byte [esp + 0x60], 0
jne 0x56b7f9
push dword [esp + 0x6c]
push dword [esp + 0x28]
push dword [esp + 0x44]
push 0x7f
push edi
call fcn.0057b786
xor esi, esi
add esp, 0x14
inc esi
jmp 0x56b80c
push dword [esp + 0x24]
push 0
push 0x4b
push edi
call fcn.0057b76b
add esp, 0x10
xor esi, esi
push dword [esp + 0x24]
push dword [esp + 0x70]
push ebp
call fcn.005356a0
add esp, 0xc
test byte [ebx + 0x1c], 0x60
je 0x56b833
mov eax, dword [esp + 0x24]
push ebx
inc eax
push eax
push ebp
call fcn.0055e8fe
add esp, 0xc
cmp byte [ebx + 0x2b], 1
jne 0x56b89b
push ebx
push dword [esp + 0x5c]
call fcn.00569de4
push ebx
push ebp
mov esi, eax
call fcn.00585c4f
movsx eax, word [ebx + 0x22]
push 0xfffffffffffffff5
push esi
push dword [esp + 0x68]
add eax, 2
push eax
push 1
push 7
push edi
call fcn.0057b7e0
mov esi, dword [esp + 0xf0]
cmp esi, 0xb
push 2
pop ecx
movzx eax, si
cmove eax, ecx
movzx eax, ax
push eax
push edi
call fcn.0057bb2b
mov eax, dword [ebp + 0x80]
add esp, 0x34
test eax, eax
mov ecx, ebp
cmovne ecx, eax
mov byte [ecx + 0x15], 1
jmp 0x56b949
push dword [esp + 0xc8]
xor ecx, ecx
lea eax, [esp + 0x64]
push ecx
push eax
push dword [esp + 0x44]
mov eax, dword [esp + 0x38]
push dword [esp + 0xd4]
shr eax, 0x1f
xor al, 1
mov dword [esp + 0x74], ecx
movzx eax, al
push eax
push ecx
push dword [esp + 0x6c]
push dword [esp + 0x90]
push dword [esp + 0x60]
push dword [esp + 0x40]
push ebx
push ebp
call fcn.00567f39
mov eax, dword [esp + 0x8c]
xor ecx, ecx
add esp, 0x34
mov eax, dword [eax + 0x20]
and eax, 0x4000
or eax, ecx
je 0x56b90c
push ecx
push ecx
push dword [esp + 0x58]
push ecx
push ebx
push ebp
call fcn.00566c25
add esp, 0x18
xor ecx, ecx
cmp dword [esp + 0x60], 0
je 0x56b91f
cmp dword [edi + 0xe0], ecx
je 0x56b91f
mov eax, ecx
jmp 0x56b922
xor eax, eax
inc eax
push eax
push esi
push ecx
push dword [esp + 0x24]
push dword [esp + 0x60]
push dword [esp + 0x84]
push dword [esp + 0x54]
push ebx
push ebp
call fcn.0055e79b
add esp, 0x24
mov esi, dword [esp + 0xc4]
mov eax, dword [esp + 0x80]
test eax, eax
je 0x56b962
push 1
push eax
push 0x56
push edi
call fcn.0057b76b
add esp, 0x10
mov edx, dword [esp + 0x54]
test edx, edx
je 0x56b98f
push dword [esp + 0x38]
movsx eax, word [ebx + 0x22]
mov ecx, dword [esp + 0x4c]
push esi
push 2
sub ecx, eax
pop eax
sub ecx, eax
push ecx
push ebx
push eax
push 0
push 0x7f
push edx
push ebp
call fcn.0055de02
add esp, 0x24
push dword [esp + 0x38]
push edi
call fcn.00584970
cmp byte [esp + 0x1f], 0
pop ecx
pop ecx
je 0x56b9d4
push dword [esp + 0x74]
mov ebx, dword [esp + 0x38]
push ebx
push 0x27
push edi
call fcn.0057b76b
push dword [esp + 0x88]
push edi
call fcn.0058273c
mov ecx, dword [edi + 0x6c]
push ebx
push 0x7a
push edi
mov dword [eax + 8], ecx
call fcn.0057b752
add esp, 0x24
jmp 0x56b9fb
cmp dword [esp + 0x10], 0
je 0x56b9fb
push dword [esp + 0x74]
push edi
call fcn.00582757
push dword [esp + 0x80]
push edi
call fcn.0058273c
mov ecx, dword [edi + 0x6c]
add esp, 0x10
mov dword [eax + 8], ecx
cmp byte [ebp + 0x12], 0
jne 0x56ba11
cmp dword [ebp + 0x84], 0
jne 0x56ba11
push ebp
call fcn.0055a0fe
pop ecx
mov eax, dword [esp + 0x80]
test eax, eax
je 0x56b019
push str.rows_inserted
push eax
push edi
call fcn.0055d8c2
jmp 0x56b016
mov ebx, dword [esp + 0xbc]
jmp 0x56b021