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

Disassembly:
sub esp, 0xb0
xor eax, eax
push ebp
mov ebp, dword [esp + 0xb8]
mov ecx, dword [ebp]
push edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x28], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x64], eax
mov byte [esp + 0xb], al
mov byte [esp + 0x13], al
mov dword [esp + 0x44], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
cmp dword [ebp + 0x24], eax
jne 0x47187a
mov eax, dword [esp + 0xc4]
push esi
xor esi, esi
mov dword [esp + 0x84], esi
cmp eax, esi
je 0x470a89
test dword [eax + 4], 0x200
je 0x470a89
cmp dword [eax + 0x34], esi
jne 0x470a89
mov edx, dword [eax + 0x1c]
push eax
mov dword [eax + 0x1c], esi
mov eax, ecx
push eax
mov dword [esp + 0x50], edx
call fcn.0041ee40
add esp, 8
mov dword [esp + 0xc8], esi
mov eax, dword [esp + 0xc4]
push ebx
push ebp
call fcn.0043d8c0
mov ebx, eax
add esp, 4
cmp ebx, esi
je 0x471878
mov esi, dword [esp + 0x58]
mov edx, dword [ebx + 0x3c]
mov ecx, esi
call fcn.00415690
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x24], eax
shl eax, 4
mov edx, dword [eax + ecx]
mov eax, dword [ebx]
push edx
push 0
push eax
push 0x12
mov eax, ebp
call fcn.0042dbd0
add esp, 0x10
test eax, eax
jne 0x471878
mov eax, dword [ebx + 0x1c]
lea ecx, [esp + 0x60]
push ecx
shr eax, 7
and al, 1
push 0
push 0x7f
mov esi, ebx
mov edi, ebp
mov byte [esp + 0x37], al
call fcn.00430020
xor edx, edx
cmp byte [ebx + 0x2b], 2
mov dword [esp + 0x7c], eax
sete dl
push ebp
mov eax, ebx
mov dword [esp + 0x8c], edx
call fcn.004588d0
add esp, 0x10
test eax, eax
jne 0x471878
mov esi, dword [esp + 0x70]
push esi
push ebx
mov eax, ebp
call fcn.0042ea40
add esp, 8
test eax, eax
jne 0x471878
mov ecx, ebp
call fcn.00444800
mov dword [esp + 0x40], eax
test eax, eax
je 0x471878
cmp byte [ebp + 0x12], 0
jne 0x470b54
call fcn.00411a10
cmp dword [esp + 0xcc], 0
jne 0x470b66
test esi, esi
jne 0x470b66
xor eax, eax
jmp 0x470b6b
mov eax, 1
mov edi, dword [esp + 0x24]
push eax
mov eax, ebp
call fcn.004485c0
add esp, 4
cmp dword [esp + 0xd0], 0
jne 0x470bb4
cmp dword [esp + 0xcc], 0
je 0x470bb4
test esi, esi
jne 0x470bb4
mov eax, dword [esp + 0xd4]
push edi
push eax
mov eax, dword [esp + 0xd4]
push ebx
push ebp
call fcn.0044d6e0
add esp, 0x10
test eax, eax
jne 0x471848
push ebx
push edi
push ebp
call fcn.00426c20
movsx edx, word [ebx + 0x22]
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0x2c]
lea ecx, [eax + 1]
lea eax, [edx + eax + 1]
add esp, 0xc
mov dword [ebp + 0x2c], eax
cmp byte [ebx + 0x2b], 1
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x1c], ecx
jne 0x470beb
inc ecx
inc eax
mov dword [esp + 0x1c], ecx
mov dword [ebp + 0x2c], eax
inc ecx
test dword [ebx + 0x1c], 0x440
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0xd0]
sete byte [esp + 0x1a]
test ecx, ecx
je 0x470d00
xor eax, eax
cmp dword [ecx], eax
mov byte [ecx + 4], 1
jle 0x470c2e
lea edx, [ecx + 0xc]
jmp 0x470c20
mov dword [edx], 0xffffffff
inc eax
add edx, 8
cmp eax, dword [ecx]
jl 0x470c20
cmp dword [ecx], 0
mov dword [esp + 0x2c], 0
jle 0x470d00
add ecx, 8
mov dword [esp + 0x14], ecx
movsx eax, word [ebx + 0x22]
xor esi, esi
test eax, eax
jle 0x470cb0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov edi, dword [ebx + 4]
mov dword [esp + 0x34], ecx
lea ecx, [ecx]
mov eax, dword [edi]
mov edx, dword [esp + 0x34]
call fcn.0040a950
test eax, eax
je 0x470c7d
movsx eax, word [ebx + 0x22]
inc esi
add edi, 0x10
cmp esi, eax
jl 0x470c60
jmp 0x470cb0
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x14]
mov dword [edx + 4], esi
cmp eax, esi
je 0x470c91
mov byte [esp + 0x1a], 0
movsx ecx, word [ebx + 0x20]
cmp esi, ecx
jne 0x470c9d
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 4]
mov edx, esi
shl edx, 4
test byte [edx + eax + 0xe], 0x60
jne 0x470e94
movsx ecx, word [ebx + 0x22]
cmp esi, ecx
jl 0x470ce3
mov edx, dword [esp + 0x14]
mov esi, dword [edx]
call fcn.004136e0
test eax, eax
je 0x470eae
cmp byte [esp + 0x2b], 0
jne 0x470eae
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], eax
mov byte [esp + 0x1a], 0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xd0]
add dword [esp + 0x14], 8
inc eax
cmp eax, dword [ecx]
mov dword [esp + 0x2c], eax
jl 0x470c46
cmp dword [esp + 0xcc], 0
je 0x470ee1
mov ecx, dword [esp + 0x40]
inc dword [ebp + 0x2c]
mov esi, dword [ebp + 0x2c]
mov eax, ecx
call fcn.00411010
mov edi, eax
inc edi
push edi
push 0
push esi
push 0xb
push ecx
call fcn.0043a200
push 0xd
mov edx, esi
lea eax, [esp + 0x9c]
call fcn.004156e0
movzx edx, byte [esp + 0x32]
movsx eax, word [ebx + 0x22]
neg edx
sbb edx, edx
and edx, dword [esp + 0x5c]
lea ecx, [esp + 0x9c]
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0xe4]
push ecx
push edx
push ebp
mov dword [esp + 0xb8], eax
call fcn.00466340
mov ecx, dword [esp + 0xb4]
add esp, 0x24
mov dword [esp + 0x38], ecx
test eax, eax
jne 0x471878
cmp dword [ebp + 0x24], eax
jne 0x471878
mov eax, esi
mov esi, dword [esp + 0x40]
call fcn.0043a500
dec edi
push edi
mov ecx, esi
call fcn.0041cdc0
mov edx, dword [esp + 0xd0]
mov eax, dword [edx + 0x1c]
mov ecx, dword [eax]
add esp, 4
cmp dword [esp + 0x70], 0
mov dword [esp + 0x34], ecx
jne 0x470dd9
mov edx, dword [esp + 0x24]
push edx
mov edi, ebx
mov eax, ebp
call fcn.004488f0
add esp, 4
test eax, eax
je 0x470f5a
mov edx, dword [ebp + 0x28]
lea eax, [edx + 1]
mov dword [ebp + 0x28], eax
mov eax, ebp
mov byte [esp + 0x13], 1
mov dword [esp + 0x30], edx
call fcn.00413930
mov edi, eax
mov eax, ebp
call fcn.00413930
mov esi, dword [esp + 0x40]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
push 0x76
push esi
mov ecx, edx
call fcn.0043a2b0
mov eax, dword [esp + 0x90]
push esi
mov ecx, 0xc
call fcn.0043a290
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x9c]
push edi
push ecx
push edx
push 0x61
push esi
mov dword [esp + 0x34], eax
call fcn.0043a200
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x50]
push 0x7f
push esi
call fcn.0043a2b0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x58]
push eax
push edi
push ecx
push 0x80
push esi
call fcn.0043a200
mov eax, dword [esp + 0x50]
mov ecx, esi
call fcn.0043a2d0
mov edx, dword [esp + 0x50]
push edx
mov ecx, esi
call fcn.0041cdc0
add esp, 0x40
mov edx, edi
mov eax, ebp
call fcn.00413950
mov edx, dword [esp + 0x24]
call fcn.00413950
jmp 0x470f5a
shl esi, 4
mov edx, eax
mov eax, dword [esi + edx]
push eax
push str.cannot_INSERT_into_generated_column___s_
mov edi, ebp
call fcn.0042b190
jmp 0x471875
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0x2c]
mov eax, dword [ecx + edx*8 + 8]
mov ecx, dword [esp + 0xc8]
push eax
add ecx, 8
push ecx
push str.table__S_has_no_column_named__s
mov edi, ebp
call fcn.0042b190
add esp, 0xc
mov byte [ebp + 0x11], 1
jmp 0x471878
xor eax, eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x30], 0xffffffff
test eax, eax
je 0x470f52
mov ecx, dword [eax]
push eax
lea edi, [esp + 0xa4]
mov dword [esp + 0x38], ecx
call fcn.0045ebb0
add esp, 4
test eax, eax
jne 0x471878
jmp 0x470f5a
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0xd0]
test eax, eax
jne 0x47100f
mov esi, dword [esp + 0x34]
test esi, esi
jle 0x47102f
movsx edx, word [ebx + 0x20]
mov dword [esp + 0x20], edx
test edx, edx
jl 0x470fb2
test byte [ebx + 0x1c], 0x60
je 0x470fb2
lea eax, [edx - 1]
test eax, eax
jl 0x470fb2
mov edi, dword [ebx + 4]
mov ecx, eax
shl ecx, 4
lea ecx, [ecx + edi + 0xe]
lea ebx, [ebx]
test byte [ecx], 0x60
je 0x470fa6
dec edx
dec eax
sub ecx, 0x10
test eax, eax
jge 0x470fa0
mov dword [esp + 0x20], edx
test byte [ebx + 0x1c], 0x62
je 0x470fe0
movsx ecx, word [ebx + 0x22]
test ecx, ecx
jle 0x470fe0
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x50]
add eax, 0xe
lea ebx, [ebx]
test byte [eax], 0x62
je 0x470fd6
inc edx
add eax, 0x10
sub ecx, 1
jne 0x470fd0
jmp 0x470fe4
mov edx, dword [esp + 0x50]
movsx eax, word [ebx + 0x22]
sub eax, edx
cmp esi, eax
je 0x47102f
mov edx, dword [esp + 0xc8]
push esi
push eax
add edx, 8
push edx
push str.table__S_has__d_columns_but__d_values_were_supplied
mov edi, ebp
call fcn.0042b190
add esp, 0x10
jmp 0x471878
mov eax, dword [eax]
mov ecx, dword [esp + 0x34]
cmp ecx, eax
je 0x47102f
push eax
push ecx
push str._d_values_for__d_columns
mov edi, ebp
call fcn.0042b190
add esp, 0xc
jmp 0x471878
mov edi, dword [esp + 0x58]
mov ecx, dword [edi + 0x24]
and ecx, 1
xor eax, eax
or eax, ecx
je 0x47106f
cmp byte [ebp + 0x12], 0
jne 0x47106f
cmp dword [ebp + 0x7c], 0
jne 0x47106f
cmp byte [ebp + 0x9d], 0
jne 0x47106f
mov ecx, dword [esp + 0x40]
inc dword [ebp + 0x2c]
mov eax, dword [ebp + 0x2c]
push 0x47
push ecx
xor ecx, ecx
mov dword [esp + 0x6c], eax
call fcn.0043a2b0
add esp, 8
cmp dword [esp + 0x7c], 0
jne 0x4710e2
lea edx, [esp + 0x3c]
push edx
push 0
push 0
push 0x71
push ebx
push ebp
lea eax, [esp + 0x90]
or ecx, 0xffffffff
call fcn.0044d5a0
mov esi, eax
lea eax, [esi*4 + 8]
push 0
push eax
mov ecx, edi
call fcn.00419be0
add esp, 0x20
mov dword [esp + 0x54], eax
test eax, eax
je 0x471878
mov ecx, dword [ebx + 8]
mov edi, dword [esp + 0x54]
xor eax, eax
test esi, esi
jle 0x4710d9
inc dword [ebp + 0x2c]
mov edx, dword [ebp + 0x2c]
mov dword [edi + eax*4], edx
movzx edx, word [ecx + 0x34]
add dword [ebp + 0x2c], edx
mov ecx, dword [ecx + 0x14]
inc eax
cmp eax, esi
jl 0x4710c1
inc dword [ebp + 0x2c]
mov ecx, dword [ebp + 0x2c]
mov dword [edi + eax*4], ecx
cmp dword [esp + 0xd8], 0
je 0x47119f
mov al, byte [ebx + 0x2b]
cmp al, 1
jne 0x47110b
mov eax, dword [ebx]
push eax
push str.UPSERT_not_implemented_for_virtual_table___s_
mov edi, ebp
call fcn.0042b190
jmp 0x471875
cmp al, 2
jne 0x471123
push str.cannot_UPSERT_a_view
mov edi, ebp
call fcn.0042b190
add esp, 4
jmp 0x471878
mov ecx, dword [esp + 0xd8]
mov esi, dword [ecx]
push ebp
call fcn.0042e480
add esp, 4
test eax, eax
jne 0x471878
mov eax, dword [esp + 0xc8]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0xd8]
mov dword [eax + 0x34], edx
jmp 0x471167
mov eax, dword [esp + 0xc8]
cmp dword [esi], 0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
mov dword [esi + 0x24], ecx
mov ecx, dword [esp + 0x78]
mov dword [esi + 0x20], eax
mov dword [esi + 0x28], edx
mov dword [esi + 0x2c], ecx
je 0x471198
push esi
push eax
mov ecx, ebp
call fcn.0045ff20
add esp, 8
test eax, eax
jne 0x471878
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x471160
cmp byte [esp + 0x13], 0
mov esi, dword [esp + 0x40]
je 0x4711cd
mov eax, dword [esp + 0x30]
push esi
mov ecx, 0x24
call fcn.0043a290
mov dword [esp + 0x78], eax
add esp, 4
mov eax, esi
call fcn.00411010
mov dword [esp + 0x6c], eax
jmp 0x471212
cmp dword [esp + 0xcc], 0
je 0x471212
mov eax, dword [esp + 0x88]
push esi
mov ecx, 0xc
call fcn.0043a290
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x24]
add esp, 4
test eax, eax
jl 0x471212
mov edx, dword [esp + 0x38]
lea ecx, [edx + eax]
mov eax, dword [esp + 0x1c]
push 0x50
push esi
call fcn.0043a2b0
add esp, 8
mov edi, dword [esp + 0x44]
xor eax, eax
xor ecx, ecx
cmp cx, word [ebx + 0x22]
mov dword [esp + 0x50], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x2c], eax
jge 0x4713d3
mov dword [esp + 0x24], eax
movsx edx, word [ebx + 0x20]
mov eax, dword [esp + 0x2c]
cmp eax, edx
jne 0x471255
push esi
mov eax, edi
mov ecx, 0x4c
call fcn.0043a290
add esp, 4
jmp 0x4713b4
mov edx, dword [esp + 0x24]
mov ecx, dword [ebx + 4]
add ecx, edx
movzx edx, word [ecx + 0xe]
mov dword [esp + 0x80], ecx
test dl, 0x62
je 0x4712bb
inc dword [esp + 0x50]
test dl, 0x20
je 0x47127d
dec edi
jmp 0x4713b4
test dl, 0x40
je 0x47128f
test byte [esp + 0x60], 1
je 0x4713b4
jmp 0x471240
mov edx, dword [esp + 0xd0]
test edx, edx
jne 0x4712c6
mov eax, dword [esp + 0x14]
push eax
mov eax, ebx
call fcn.00414120
mov edi, eax
mov eax, ebp
call fcn.0044c290
mov edi, dword [esp + 0x18]
add esp, 4
jmp 0x4713b4
mov edx, dword [esp + 0xd0]
test edx, edx
je 0x471327
mov edx, dword [edx]
xor eax, eax
mov dword [esp + 0x48], edx
test edx, edx
jle 0x471302
mov ecx, dword [esp + 0xd0]
add ecx, 0xc
lea esp, [esp]
mov edx, dword [ecx]
cmp edx, dword [esp + 0x2c]
je 0x4712f7
mov edx, dword [esp + 0xd0]
inc eax
add ecx, 8
cmp eax, dword [edx]
jl 0x4712e0
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x48]
cmp eax, edx
jl 0x47133c
mov eax, dword [esp + 0x14]
push eax
mov eax, ebx
call fcn.00414120
mov edi, eax
mov eax, ebp
call fcn.0044c290
mov edi, dword [esp + 0x18]
add esp, 4
jmp 0x4713b4
cmp dword [esp + 0x34], 0
jne 0x471338
mov edx, dword [esp + 0x14]
push edx
jmp 0x47129f
sub eax, dword [esp + 0x50]
cmp byte [esp + 0x13], 0
je 0x471357
push edi
push eax
mov eax, dword [esp + 0x38]
push eax
push 0x5e
push esi
call fcn.0043a200
add esp, 0x14
jmp 0x4713b4
cmp dword [esp + 0xcc], 0
je 0x471376
mov ecx, dword [esp + 0x44]
cmp dword [esp + 0x38], ecx
je 0x4713b4
mov edx, dword [esp + 0x38]
lea ecx, [eax + edx]
push 0x51
jmp 0x4713a9
mov ecx, dword [esp + 0x4c]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
push edi
push eax
push ebp
mov dword [esp + 0x54], eax
call fcn.0046c7f0
mov ecx, eax
add esp, 0xc
cmp ecx, edi
je 0x4713b4
mov edx, dword [esp + 0x48]
mov eax, dword [edx + 4]
shr eax, 0x16
not eax
and eax, 1
or eax, 0x50
push eax
push esi
mov eax, edi
call fcn.0043a2b0
add esp, 8
mov eax, dword [esp + 0x2c]
movsx ecx, word [ebx + 0x22]
add dword [esp + 0x24], 0x10
inc eax
inc edi
cmp eax, ecx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], edi
jl 0x471234
mov eax, ebp
call fcn.00410ed0
test byte [esp + 0x60], 1
mov dword [esp + 0x38], eax
je 0x4714ff
movsx edx, word [ebx + 0x22]
inc edx
mov eax, ebp
call fcn.00413970
cmp dword [esp + 0x20], 0
mov edi, eax
jge 0x47140e
push 0x47
push esi
or ecx, 0xffffffff
call fcn.0043a2b0
add esp, 8
jmp 0x471480
cmp byte [esp + 0x13], 0
push edi
je 0x47142d
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
push edx
push eax
push 0x5e
push esi
call fcn.0043a200
add esp, 0x14
jmp 0x471446
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x50]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*4 + 8]
push eax
push ebp
call fcn.0046d720
add esp, 0xc
push esi
mov eax, edi
mov ecx, 0x33
call fcn.0043a290
mov dword [esp + 0x4c], eax
push 0x47
push esi
mov eax, edi
or ecx, 0xffffffff
call fcn.0043a2b0
mov ecx, dword [esp + 0x54]
push ecx
mov ecx, esi
call fcn.0041cdc0
push esi
mov eax, edi
mov ecx, 0xd
call fcn.0043a290
add esp, 0x14
movsx edx, word [ebx + 0x24]
dec edx
push edx
lea eax, [edi + 1]
push eax
mov eax, dword [esp + 0x4c]
push eax
push 0x50
push esi
call fcn.0043a200
add esp, 0x14
test byte [ebx + 0x1c], 0x60
je 0x4714af
lea eax, [edi + 1]
push eax
push ebp
mov eax, ebx
call fcn.00458c80
add esp, 8
cmp dword [esp + 0x7c], 0
jne 0x4714c6
lea eax, [edi + 1]
push eax
mov eax, ebx
mov ecx, esi
call fcn.0043dec0
add esp, 4
mov ecx, dword [esp + 0x38]
movsx eax, word [ebx + 0x22]
mov edx, dword [esp + 0xd4]
push ecx
push edx
mov edx, dword [esp + 0x78]
mov ecx, edi
sub ecx, eax
dec ecx
push ecx
push ebx
push 1
push 0
push 0x7f
push edx
push ebp
call fcn.00471de0
movsx ecx, word [ebx + 0x22]
inc ecx
push ebp
mov edx, edi
call fcn.004139b0
add esp, 0x28
cmp dword [esp + 0x7c], 0
jne 0x471796
cmp byte [ebx + 0x2b], 1
jne 0x471521
mov eax, dword [esp + 0x5c]
push 0x4b
push esi
xor ecx, ecx
call fcn.0043a2b0
add esp, 8
cmp dword [esp + 0x20], 0
jl 0x47160e
cmp byte [esp + 0x13], 0
je 0x47154f
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
push eax
push ecx
push edx
push 0x5e
push esi
call fcn.0043a200
add esp, 0x14
jmp 0x4715a6
cmp dword [esp + 0xcc], 0
jne 0x4715a6
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x4c]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*4 + 8]
cmp byte [eax], 0x79
jne 0x471597
cmp byte [ebx + 0x2b], 1
je 0x471597
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
push edx
push eax
push ecx
push 0x7f
push esi
call fcn.0043a200
add esp, 0x14
mov byte [esp + 0x1b], 1
jmp 0x47164d
mov edx, dword [esp + 0x1c]
push edx
push eax
push ebp
call fcn.0046d720
add esp, 0xc
cmp byte [ebx + 0x2b], 1
je 0x4715e1
mov eax, dword [esp + 0x1c]
push esi
mov ecx, 0x33
call fcn.0043a290
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x40]
mov edi, eax
mov eax, dword [esp + 0x6c]
push eax
push ecx
push edx
push 0x7f
push esi
call fcn.0043a200
push edi
mov ecx, esi
call fcn.0041cdc0
add esp, 0x1c
jmp 0x4715fa
mov eax, esi
call fcn.00411010
mov ecx, dword [esp + 0x1c]
push 0x32
add eax, 2
push esi
call fcn.0043a2b0
add esp, 8
mov eax, dword [esp + 0x1c]
push esi
mov ecx, 0xd
call fcn.0043a290
add esp, 4
jmp 0x47164d
cmp byte [ebx + 0x2b], 1
je 0x47163c
cmp byte [esp + 0x2b], 0
jne 0x47163c
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
push eax
push ecx
push edx
push 0x7f
push esi
call fcn.0043a200
add esp, 0x14
mov byte [esp + 0x1b], 1
jmp 0x47164d
mov eax, dword [esp + 0x1c]
push 0x4b
push esi
xor ecx, ecx
call fcn.0043a2b0
add esp, 8
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x68]
push eax
mov eax, ebp
call fcn.0043df90
add esp, 4
test byte [ebx + 0x1c], 0x60
je 0x471676
mov ecx, dword [esp + 0x44]
push ecx
push ebp
mov eax, ebx
call fcn.00458c80
add esp, 8
cmp byte [ebx + 0x2b], 1
jne 0x4716dd
mov ecx, dword [esp + 0x58]
mov eax, ebx
call fcn.00416260
mov dword [esp + 0x48], eax
mov edi, ebx
mov eax, ebp
call fcn.0043f5a0
mov edx, dword [esp + 0x48]
movsx ecx, word [ebx + 0x22]
mov eax, dword [esp + 0x5c]
push 0xfffffffffffffff5
push edx
push 1
add ecx, 2
push 7
mov edi, esi
call fcn.0043a2f0
add esp, 0x10
cmp dword [esp + 0xd4], 0xb
mov edx, 2
je 0x4716ca
mov edx, dword [esp + 0xd4]
mov ecx, esi
call fcn.00411050
mov ecx, ebp
call fcn.00414a70
jmp 0x471796
mov eax, dword [esp + 0xd8]
cmp dword [esp + 0x20], 0
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x78]
push eax
mov eax, dword [esp + 0xd8]
push 0
lea ecx, [esp + 0x68]
push ecx
push edx
push eax
mov eax, dword [esp + 0x70]
setge cl
movzx edx, cl
mov ecx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x6c]
push 0
push eax
push edi
push ecx
push edx
push ebx
push ebp
mov dword [esp + 0x94], 0
call fcn.0046f860
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + 0x20]
and eax, 0x4000
xor ecx, ecx
add esp, 0x34
or eax, ecx
je 0x471758
push ecx
push ecx
mov ecx, dword [esp + 0x64]
push ecx
push 0
push ebx
push ebp
call fcn.00465f00
add esp, 0x18
cmp dword [esp + 0x60], 0
je 0x47176e
mov ecx, esi
call fcn.004110d0
test eax, eax
je 0x47176e
xor eax, eax
jmp 0x471773
mov eax, 1
movzx edx, byte [esp + 0x1b]
mov ecx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x44]
push 0
push eax
push ecx
push edi
push edx
push ebx
push ebp
call fcn.0043dfb0
add esp, 0x24
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x4717ae
push 0x56
push esi
mov eax, 1
call fcn.0043a2b0
add esp, 8
mov ecx, dword [esp + 0x70]
test ecx, ecx
je 0x4717e2
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0xd4]
push eax
mov eax, dword [esp + 0x48]
push edx
movsx edx, word [ebx + 0x22]
sub eax, edx
sub eax, 2
push eax
push ebx
push 2
push 0
push 0x7f
push ecx
push ebp
call fcn.00471de0
add esp, 0x24
mov ecx, dword [esp + 0x38]
mov edx, esi
call fcn.00422330
cmp byte [esp + 0x13], 0
je 0x471824
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x6c]
push 0x27
push esi
mov ecx, edi
call fcn.0043a2b0
mov eax, dword [esp + 0x7c]
push eax
mov ecx, esi
call fcn.0041cdc0
push esi
mov eax, edi
mov ecx, 0x7a
call fcn.0043a290
add esp, 0x10
jmp 0x471848
cmp dword [esp + 0xcc], 0
je 0x471848
mov eax, dword [esp + 0x6c]
mov ecx, esi
call fcn.0043a2d0
mov ecx, dword [esp + 0x74]
push ecx
mov ecx, esi
call fcn.0041cdc0
add esp, 4
cmp byte [ebp + 0x12], 0
jne 0x47185b
cmp dword [ebp + 0x7c], 0
jne 0x47185b
mov eax, ebp
call fcn.0044d590
cmp dword [esp + 0x64], 0
je 0x471878
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x40]
push str.rows_inserted
push edx
call fcn.0043d910
add esp, 8
pop ebx
pop esi
mov eax, dword [esp + 0xc0]
mov edi, dword [esp + 0x50]
push eax
call fcn.00414910
mov ecx, dword [esp + 0x48]
push ecx
push edi
call fcn.004238b0
mov eax, dword [esp + 0xdc]
call fcn.00424b00
mov edx, dword [esp + 0xd0]
push edx
push edi
call fcn.0041ee40
mov eax, dword [esp + 0xdc]
push eax
push edi
call fcn.00414830
mov ecx, dword [esp + 0x68]
add esp, 0x1c
test ecx, ecx
je 0x4718d8
mov eax, edi
pop edi
pop ebp
add esp, 0xb0
jmp fcn.0040a040
pop edi
pop ebp
add esp, 0xb0
ret