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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xc8
mov eax, dword [0x57906c]
xor eax, esp
mov dword [esp + 0xc4], eax
mov eax, dword [ebp + 8]
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, ecx
mov dword [esp + 0x68], edx
mov ecx, dword [ebp + 0x14]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x38], edi
cmp dword [edi + 0x24], 0
mov ecx, dword [edi]
mov dword [esp + 0x48], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x4c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], 0
mov byte [esp + 0x1e], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x6c], ecx
jne 0x484915
mov dword [esp + 0x28], 0
test eax, eax
je 0x4837b4
test dword [eax + 4], 0x200
je 0x4837b4
cmp dword [eax + 0x34], 0
jne 0x4837b4
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x70], edx
mov edx, eax
push 1
mov dword [eax + 0x1c], 0
call fcn.0048d5d0
add esp, 4
mov dword [esp + 0x48], 0
mov edx, dword [esp + 0x68]
mov ecx, edi
call fcn.0047b350
mov esi, eax
mov dword [esp + 0x3c], esi
test esi, esi
je 0x484911
mov ecx, dword [esi + 0x3c]
mov edx, 0xffff8000
mov dword [esp + 0x24], edx
test ecx, ecx
je 0x4837fd
mov eax, dword [esp + 0x6c]
xor edx, edx
mov dword [esp + 0x24], edx
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x4837fd
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x4837f1
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x6c]
mov ecx, edx
add ecx, ecx
mov edx, 0x12
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8]
mov ecx, edi
push 0
push dword [esi]
call fcn.00472920
add esp, 0xc
test eax, eax
jne 0x484911
mov eax, dword [esi + 0x1c]
shr eax, 7
and eax, 0xffffff01
cmp dword [esi + 0x38], 0
mov dword [esp + 0x64], eax
jne 0x48384d
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x483856
cmp dword [eax + 0x30], 0
je 0x483856
cmp byte [edi + 0x97], 0
je 0x483868
mov dword [esp + 0x54], 0
mov dword [esp + 0x78], 0
jmp 0x483892
lea eax, [esp + 0x9c]
mov edx, esi
push eax
push 0
push 0x7f
mov ecx, edi
call fcn.0049a3b0
mov dword [esp + 0x84], eax
add esp, 0xc
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x54], eax
mov al, byte [esi + 0x2b]
mov edx, esi
mov ecx, edi
mov byte [esp + 0x37], al
call fcn.00476d80
test eax, eax
jne 0x484911
push dword [esp + 0x54]
mov edx, esi
mov ecx, edi
call fcn.0047b4c0
add esp, 4
test eax, eax
jne 0x484911
mov ecx, edi
call fcn.004908a0
mov dword [esp + 0x14], eax
test eax, eax
je 0x484911
cmp byte [edi + 0x12], 0
jne 0x4838e2
or dword [eax + 0x98], 0x10
cmp dword [esp + 0x48], 0
jne 0x4838f4
cmp dword [esp + 0x78], 0
jne 0x4838f4
xor edx, edx
jmp 0x4838f9
mov edx, 1
push dword [esp + 0x24]
mov ecx, edi
call fcn.00479f10
add esp, 4
cmp dword [esp + 0x18], 0
jne 0x483939
mov eax, dword [esp + 0x48]
test eax, eax
je 0x483939
cmp dword [esp + 0x78], 0
jne 0x483939
push dword [esp + 0x24]
mov edx, esi
mov ecx, edi
push dword [ebp + 0x10]
push eax
call fcn.00487200
add esp, 0xc
test eax, eax
jne 0x4848d8
mov edx, dword [esp + 0x24]
mov ecx, edi
push esi
call fcn.00483490
mov ecx, dword [edi + 0x2c]
add esp, 4
mov dword [esp + 0x90], eax
lea eax, [ecx + 1]
mov edx, eax
mov dword [esp + 0x80], eax
movsx eax, word [esi + 0x22]
inc eax
mov dword [esp + 0x40], edx
add eax, ecx
mov dword [edi + 0x2c], eax
cmp byte [esi + 0x2b], 1
jne 0x48397d
lea edx, [ecx + 2]
inc eax
mov dword [esp + 0x40], edx
mov dword [edi + 0x2c], eax
test dword [esi + 0x1c], 0x440
lea eax, [edx + 1]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x18]
sete byte [esp + 0x1f]
test eax, eax
je 0x483b00
mov edx, dword [eax]
xor ecx, ecx
mov byte [eax + 4], 1
test edx, edx
jle 0x4839c4
mov edi, dword [esp + 0x18]
add eax, 0xc
nop
mov dword [eax], 0xffffffff
lea eax, [eax + 8]
mov edx, dword [edi]
inc ecx
cmp ecx, edx
jl 0x4839b0
mov edi, dword [esp + 0x38]
xor ecx, ecx
mov dword [esp + 0x20], ecx
test edx, edx
jle 0x483b00
movzx eax, word [esi + 0x22]
mov dword [esp + 0x2c], eax
nop word [eax + eax]
cwde
xor esi, esi
test eax, eax
jle 0x483a7b
mov eax, dword [esp + 0x3c]
shl ecx, 3
mov dword [esp + 0x60], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x30], eax
nop dword [eax]
mov edx, dword [eax]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + ecx + 8]
call fcn.0042fba0
test eax, eax
je 0x483a30
mov eax, dword [esp + 0x30]
inc esi
mov edx, dword [esp + 0x2c]
add eax, 0x10
movsx ecx, dx
cmp esi, ecx
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x60]
jl 0x483a00
jmp 0x483a77
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x3c]
mov dword [eax + ecx + 0xc], esi
xor ecx, ecx
cmp dword [esp + 0x20], esi
movzx eax, byte [esp + 0x1f]
cmove ecx, eax
movsx eax, word [edx + 0x20]
cmp esi, eax
mov byte [esp + 0x1f], cl
mov ecx, dword [esp + 0x20]
mov eax, esi
cmovne ecx, dword [esp + 0x44]
add eax, eax
mov dword [esp + 0x44], ecx
mov ecx, dword [edx + 4]
test byte [ecx + eax*8 + 0xe], 0x60
jne 0x483c31
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x3c]
movzx eax, word [eax + 0x22]
mov dword [esp + 0x30], eax
cwde
cmp esi, eax
jl 0x483ae0
mov eax, dword [esp + 0x18]
mov edx, str._ROWID_
mov esi, dword [eax + ecx*8 + 8]
mov ecx, esi
call fcn.0042fba0
test eax, eax
je 0x483ac8
mov edx, str.ROWID
mov ecx, esi
call fcn.0042fba0
test eax, eax
je 0x483ac8
mov edx, 0x56bbd0
mov ecx, esi
call fcn.0042fba0
test eax, eax
jne 0x483c49
cmp byte [esp + 0x64], 0
jne 0x483c49
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x44], ecx
mov byte [esp + 0x1f], 0
mov edx, dword [esp + 0x18]
inc ecx
mov eax, dword [esp + 0x30]
movzx eax, ax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x2c], eax
cmp ecx, dword [edx]
jl 0x4839e0
mov esi, dword [esp + 0x3c]
cmp dword [esp + 0x48], 0
je 0x483de6
mov eax, dword [esp + 0x14]
mov edx, 0xa
inc dword [edi + 0x2c]
mov ecx, dword [edi + 0x2c]
mov dword [esp + 0x30], ecx
mov eax, dword [eax + 0x6c]
mov dword [esp + 0x60], eax
inc eax
push eax
push 0
push ecx
mov ecx, dword [esp + 0x20]
call fcn.0044dd90
mov eax, dword [esp + 0x3c]
add esp, 0xc
mov edx, dword [esp + 0x48]
mov ecx, edi
mov dword [esp + 0xa4], eax
xor eax, eax
cmp byte [esp + 0x1f], al
mov byte [esp + 0xa0], 0xd
cmovne eax, dword [esp + 0x5c]
mov dword [esp + 0xac], eax
movsx eax, word [esi + 0x22]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0xa0]
push eax
mov dword [esp + 0xac], 0
mov dword [esp + 0xb8], 0
call fcn.004961d0
mov ecx, dword [esp + 0xb0]
add esp, 4
mov dword [esp + 0x7c], ecx
test eax, eax
jne 0x484911
cmp dword [edi + 0x24], eax
jne 0x484911
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
call fcn.0044e450
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x14]
call fcn.0044e7b0
cmp dword [esp + 0x78], 0
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
jne 0x483d0d
mov eax, dword [edi + 8]
mov dword [esp + 0x28], eax
test eax, eax
jne 0x483c07
cmp dword [edi + 0x74], eax
jne 0x483bfc
mov eax, dword [edi]
test byte [eax + 0x50], 8
jne 0x483bfc
mov byte [edi + 0x17], 1
mov ecx, edi
call fcn.0044db60
mov dword [esp + 0x28], eax
cmp byte [esi + 0x2b], 1
mov eax, dword [eax + 0x6c]
mov dword [esp + 0x20], eax
jne 0x483c69
mov edx, dword [esi + 0x34]
test edx, edx
je 0x483c6b
mov eax, dword [edi]
nop dword [eax]
cmp dword [edx], eax
je 0x483c2b
mov edx, dword [edx + 0x18]
test edx, edx
jne 0x483c20
mov eax, dword [esp + 0x20]
jmp 0x483c6b
add esi, esi
push dword [ecx + esi*8]
push str.cannot_INSERT_into_generated_column___s_
push edi
call fcn.0042f9e0
add esp, 0xc
jmp 0x484911
mov eax, dword [esp + 0x68]
push esi
add eax, 8
push eax
push str.table__S_has_no_column_named__s
push edi
call fcn.0042f9e0
add esp, 0x10
mov byte [edi + 0x11], 1
jmp 0x484911
xor edx, edx
mov ecx, 1
mov dword [esp + 0x30], ecx
cmp eax, ecx
jle 0x483cf9
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov al, byte [eax + 0x57]
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x20]
nop dword [eax]
dec eax
test ecx, ecx
cmovns eax, ecx
cmp byte [esp + 0x1f], 0
je 0x483ca4
mov eax, 0x632198
jmp 0x483cb1
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x68]
lea eax, [eax + ecx*4]
mov cl, byte [eax]
cmp cl, 0x70
jne 0x483cde
mov ecx, dword [esp + 0x24]
cmp dword [eax + 0xc], ecx
jne 0x483ce8
mov ecx, dword [eax + 8]
cmp ecx, dword [esi + 0x14]
je 0x483d0d
mov eax, dword [esi + 8]
test eax, eax
je 0x483ce8
cmp ecx, dword [eax + 0x2c]
je 0x483d0d
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x483cd0
jmp 0x483ce8
cmp cl, 0xad
jne 0x483ce8
cmp dword [eax + 0x10], edx
je 0x483d0d
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x30], ecx
cmp ecx, eax
jl 0x483c90
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
jmp 0x483e38
mov edx, dword [edi + 0x28]
mov ecx, edi
mov byte [esp + 0x1e], 1
mov dword [esp + 0x4c], edx
lea eax, [edx + 1]
mov dword [edi + 0x28], eax
call fcn.0046cb90
mov ecx, dword [esp + 0x38]
mov edi, eax
call fcn.0046cb90
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
push edx
mov edx, 0x76
mov dword [esp + 0x28], eax
call fcn.0044dec0
mov eax, dword [esp + 0xac]
mov edx, 0xb
mov ecx, dword [esp + 0x1c]
push eax
mov dword [esp + 0x34], eax
call fcn.0044de60
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov edx, 0x61
mov esi, eax
push edi
push dword [esp + 0x30]
push dword [esp + 0x84]
call fcn.0044dd90
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov edx, 0x7f
push dword [esp + 0x20]
push dword [esp + 0x50]
call fcn.0044dec0
push dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
mov edx, 0x80
push edi
push dword [esp + 0x5c]
call fcn.0044dd90
mov ecx, dword [esp + 0x28]
add esp, 0x14
mov edx, esi
call fcn.0044df30
mov ecx, dword [esp + 0x14]
mov edx, esi
call fcn.0044e7b0
mov edx, edi
mov edi, dword [esp + 0x38]
mov ecx, edi
call fcn.0046cbb0
mov edx, dword [esp + 0x20]
call fcn.0046cbb0
mov edx, dword [esp + 0x2c]
jmp 0x483e38
mov ecx, dword [esp + 0x70]
xorps xmm0, xmm0
movaps xmmword [esp + 0xa0], xmm0
movaps xmmword [esp + 0xb0], xmm0
mov dword [esp + 0xa0], edi
mov dword [esp + 0x4c], 0xffffffff
test ecx, ecx
je 0x483e32
mov eax, dword [ecx]
mov edx, ecx
lea ecx, [esp + 0xa0]
mov dword [esp + 0x2c], eax
call fcn.00463aa0
test eax, eax
jne 0x484911
mov edx, dword [esp + 0x2c]
jmp 0x483e38
xor edx, edx
mov dword [esp + 0x2c], edx
mov esi, dword [esp + 0x18]
test esi, esi
jne 0x483efd
mov esi, dword [esp + 0x3c]
test edx, edx
jle 0x483f1c
movsx eax, word [esi + 0x20]
mov dword [esp + 0x44], eax
test eax, eax
js 0x483e9f
test byte [esi + 0x1c], 0x60
je 0x483e9f
lea edx, [eax - 1]
test edx, edx
js 0x483e9b
mov eax, dword [esi + 4]
mov ecx, edx
add eax, 0xe
shl ecx, 4
add ecx, eax
mov eax, dword [esp + 0x44]
nop word [eax + eax]
test byte [ecx], 0x60
lea eax, [eax - 1]
lea ecx, [ecx - 0x10]
cmove eax, dword [esp + 0x44]
sub edx, 1
mov dword [esp + 0x44], eax
jns 0x483e80
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x2c]
test byte [esi + 0x1c], 0x62
je 0x483ed4
movsx edx, word [esi + 0x22]
test edx, edx
jle 0x483ed0
mov ecx, dword [esi + 4]
add ecx, 0xe
xor edi, edi
test byte [ecx], 0x62
lea eax, [edi + 1]
lea ecx, [ecx + 0x10]
cmove eax, edi
mov edi, eax
sub edx, 1
jne 0x483eb5
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
movsx eax, word [esi + 0x22]
sub eax, dword [esp + 0x50]
cmp edx, eax
je 0x483f1c
push edx
push eax
mov eax, dword [esp + 0x70]
add eax, 8
push eax
push str.table__S_has__d_columns_but__d_values_were_supplied
push edi
call fcn.0042f9e0
add esp, 0x14
jmp 0x484911
mov eax, dword [esi]
cmp edx, eax
je 0x483f18
push eax
push edx
push str._d_values_for__d_columns
push edi
call fcn.0042f9e0
add esp, 0x10
jmp 0x484915
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x24]
xor eax, eax
and ecx, 1
or eax, ecx
je 0x483f62
cmp byte [edi + 0x12], 0
jne 0x483f62
cmp dword [edi + 0x78], 0
jne 0x483f62
cmp byte [edi + 0x95], 0
jne 0x483f62
inc dword [edi + 0x2c]
mov edx, 0x47
mov eax, dword [edi + 0x2c]
mov ecx, dword [esp + 0x14]
push eax
push 0
mov dword [esp + 0xa0], eax
call fcn.0044dec0
add esp, 8
cmp byte [esp + 0x37], 2
je 0x483ffa
lea eax, [esp + 0x94]
mov edx, esi
push eax
lea eax, [esp + 0x5c]
mov ecx, edi
push eax
push 0
push 0xffffffffffffffff
push 0
push 0x71
call fcn.00486ec0
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x68], eax
push 0
lea eax, [eax*4 + 8]
push eax
call fcn.0042c5b0
mov ecx, eax
add esp, 0x20
mov dword [esp + 0x74], ecx
test ecx, ecx
je 0x484911
mov eax, dword [esi + 8]
xor edx, edx
mov dword [esp + 0x30], eax
cmp dword [esp + 0x50], edx
jle 0x483ff0
mov esi, 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 + 0x50]
jl 0x483fc7
mov esi, dword [esp + 0x3c]
jmp 0x483ff3
mov eax, dword [edi + 0x2c]
inc eax
mov dword [edi + 0x2c], eax
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 0x8c]
test ecx, ecx
je 0x4840a5
mov al, byte [esi + 0x2b]
cmp al, 1
jne 0x484025
push dword [esi]
push str.UPSERT_not_implemented_for_virtual_table___s_
push edi
call fcn.0042f9e0
add esp, 0xc
jmp 0x484911
cmp al, 2
jne 0x48403c
push str.cannot_UPSERT_a_view
push edi
call fcn.0042f9e0
add esp, 8
jmp 0x484911
mov edx, dword [ecx]
mov ecx, edi
call fcn.00478120
test eax, eax
jne 0x484911
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x8c]
mov eax, dword [esp + 0x5c]
mov dword [edx + 0x34], ecx
cmp dword [esi], 0
mov edi, dword [esp + 0x94]
mov dword [esi + 0x2c], edi
mov edi, dword [esp + 0x38]
mov dword [esi + 0x20], edx
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], ecx
je 0x48409e
push esi
mov ecx, edi
call fcn.0049ec00
add esp, 4
test eax, eax
jne 0x484911
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x68]
mov esi, dword [esi + 0x10]
test esi, esi
jne 0x484063
cmp byte [esp + 0x1e], 0
je 0x4840d6
push dword [esp + 0x4c]
mov esi, dword [esp + 0x18]
mov edx, 0x23
mov ecx, esi
call fcn.0044de60
mov dword [esp + 0x8c], eax
add esp, 4
mov eax, dword [esi + 0x6c]
mov dword [esp + 0x84], eax
jmp 0x484124
cmp dword [esp + 0x48], 0
je 0x484124
push dword [esp + 0x28]
mov esi, dword [esp + 0x18]
mov edx, 0xb
mov ecx, esi
call fcn.0044de60
mov dword [esp + 0x88], eax
add esp, 4
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x44]
test eax, eax
js 0x484124
mov ecx, dword [esp + 0x7c]
mov edx, 0x50
push dword [esp + 0x40]
add ecx, eax
push ecx
mov ecx, esi
call fcn.0044dec0
add esp, 8
mov esi, dword [esp + 0x3c]
xor edx, edx
mov ecx, dword [esp + 0x5c]
xor eax, eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], edx
cmp ax, word [esi + 0x22]
jge 0x484330
mov dword [esp + 0x30], eax
nop
movsx eax, word [esi + 0x20]
cmp edx, eax
jne 0x48416c
push ecx
mov ecx, dword [esp + 0x18]
mov edx, 0x4c
call fcn.0044de60
jmp 0x48430a
mov eax, dword [esi + 4]
add eax, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x28], eax
movzx eax, word [eax + 0xe]
test al, 0x62
je 0x4841d5
inc dword [esp + 0x60]
test al, 0x20
je 0x484191
dec ecx
jmp 0x484315
test al, 0x40
je 0x4841b4
test byte [esp + 0x54], 1
je 0x484315
push ecx
mov ecx, dword [esp + 0x18]
mov edx, 0x4c
call fcn.0044de60
jmp 0x48430a
cmp dword [esp + 0x18], 0
jne 0x4841e0
mov edx, dword [esp + 0x28]
push ecx
mov ecx, esi
call fcn.00473bd0
mov edx, eax
mov ecx, edi
call fcn.0046af30
jmp 0x48430a
cmp dword [esp + 0x18], 0
je 0x484285
mov edx, dword [esp + 0x18]
xor eax, eax
mov edx, dword [edx]
test edx, edx
jle 0x48420b
mov ecx, dword [esp + 0x18]
add ecx, 0xc
mov edi, dword [esp + 0x20]
cmp dword [ecx], edi
mov edi, dword [esp + 0x38]
je 0x484227
inc eax
add ecx, 8
cmp eax, edx
jl 0x4841f3
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
movzx eax, word [edx + 0xc]
test ax, ax
jne 0x484235
push ecx
xor edx, edx
mov ecx, edi
call fcn.0046af30
jmp 0x48430a
cmp eax, edx
jge 0x484207
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
jmp 0x4842a9
cmp byte [esi + 0x2b], 0
je 0x48424a
push ecx
xor edx, edx
mov ecx, edi
call fcn.0046af30
jmp 0x48430a
mov edx, dword [esi + 0x34]
test edx, edx
jne 0x48425e
push ecx
mov ecx, edi
call fcn.0046af30
jmp 0x48430a
cmp dword [edx], eax
jge 0x484271
push ecx
xor edx, edx
mov ecx, edi
call fcn.0046af30
jmp 0x48430a
lea eax, [eax + eax*4]
mov edx, dword [edx + eax*4 - 0xc]
push ecx
mov ecx, edi
call fcn.0046af30
jmp 0x48430a
cmp dword [esp + 0x2c], 0
jne 0x4842a3
mov edx, dword [esp + 0x28]
push ecx
mov ecx, esi
call fcn.00473bd0
mov edx, eax
mov ecx, edi
call fcn.0046af30
jmp 0x48430a
mov eax, edx
sub eax, dword [esp + 0x60]
cmp byte [esp + 0x1e], 0
je 0x4842c9
push ecx
mov ecx, dword [esp + 0x18]
mov edx, 0x5e
push eax
push dword [esp + 0x54]
call fcn.0044dd90
add esp, 0xc
jmp 0x48430d
cmp dword [esp + 0x48], 0
je 0x4842f7
mov esi, dword [esp + 0x7c]
cmp esi, dword [esp + 0x5c]
mov esi, dword [esp + 0x3c]
je 0x484315
add eax, dword [esp + 0x7c]
mov edx, 0x51
push ecx
mov ecx, dword [esp + 0x18]
push eax
call fcn.0044dec0
add esp, 8
jmp 0x48430d
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, edi
mov edx, dword [eax + edx*4 + 8]
call fcn.0046ae90
add esp, 4
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
movsx eax, word [esi + 0x22]
inc edx
add dword [esp + 0x30], 0x10
inc ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
cmp edx, eax
jl 0x484150
dec dword [edi + 0x38]
test byte [esp + 0x54], 1
mov eax, dword [edi + 0x38]
mov dword [esp + 0x28], eax
je 0x4844d5
movsx edx, word [esi + 0x22]
mov ecx, edi
inc edx
call fcn.0046cbd0
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x38], eax
push eax
test ecx, ecx
jns 0x484376
mov ecx, dword [esp + 0x18]
mov edx, 0x47
push 0xffffffffffffffff
call fcn.0044dec0
add esp, 8
jmp 0x484420
cmp byte [esp + 0x22], 0
je 0x484395
push ecx
push dword [esp + 0x54]
mov ecx, dword [esp + 0x20]
mov edx, 0x5e
call fcn.0044dd90
add esp, 0xc
jmp 0x4843aa
mov eax, dword [esp + 0x74]
lea edx, [ecx + ecx*4]
mov ecx, edi
mov edx, dword [eax + edx*4 + 8]
call fcn.0046ae90
add esp, 4
push dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
mov edx, 0x33
call fcn.0044de60
mov ecx, dword [esp + 0x18]
add esp, 4
mov edx, 0x47
mov dword [esp + 0x50], eax
push dword [esp + 0x38]
push 0xffffffffffffffff
call fcn.0044dec0
mov eax, dword [esp + 0x1c]
add esp, 8
mov ecx, dword [esp + 0x50]
mov edx, dword [eax + 0x6c]
test ecx, ecx
jns 0x4843ec
lea ecx, [edx - 1]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
je 0x4843fb
mov eax, 0x632198
jmp 0x484408
mov eax, dword [esp + 0x14]
lea ecx, [ecx + ecx*4]
mov eax, dword [eax + 0x68]
lea eax, [eax + ecx*4]
push dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
mov dword [eax + 8], edx
mov edx, 0xc
call fcn.0044de60
add esp, 4
movsx eax, word [esi + 0x24]
mov edx, 0x50
mov ecx, dword [esp + 0x38]
dec eax
inc ecx
push eax
push ecx
push dword [esp + 0x64]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x20]
call fcn.0044dd90
add esp, 0xc
test byte [esi + 0x1c], 0x60
je 0x48445a
mov edx, dword [esp + 0x50]
mov ecx, edi
push esi
call fcn.00483270
add esp, 4
cmp byte [esp + 0x37], 2
je 0x484473
push dword [esp + 0x50]
mov ecx, dword [esp + 0x18]
mov edx, esi
call fcn.004830a0
add esp, 4
push dword [esp + 0x28]
movsx eax, word [esi + 0x22]
push dword [ebp + 0x10]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x80]
sub ecx, eax
dec ecx
push ecx
push esi
push 1
push 0
push 0x7f
mov ecx, edi
call fcn.0049b3f0
movsx eax, word [esi + 0x22]
add esp, 0x1c
inc eax
cmp eax, 1
jne 0x4844c6
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x4844d5
mov al, byte [edi + 0x13]
cmp al, 8
jae 0x4844d5
movzx eax, al
mov dword [edi + eax*4 + 0x98], ecx
inc byte [edi + 0x13]
jmp 0x4844d5
cmp eax, dword [edi + 0x1c]
jle 0x4844d5
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x38]
mov dword [edi + 0x20], eax
cmp byte [esp + 0x37], 2
je 0x4847b5
mov cl, byte [esi + 0x2b]
cmp cl, 1
jne 0x484505
push dword [esp + 0x80]
mov ecx, dword [esp + 0x18]
mov edx, 0x4b
push 0
call fcn.0044dec0
mov cl, byte [esi + 0x2b]
add esp, 8
mov eax, dword [esp + 0x44]
test eax, eax
js 0x4845df
cmp byte [esp + 0x1e], 0
je 0x484534
push dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
mov edx, 0x5e
push eax
push dword [esp + 0x54]
call fcn.0044dd90
add esp, 0xc
jmp 0x484562
cmp dword [esp + 0x48], 0
jne 0x484562
mov edx, dword [esp + 0x70]
lea eax, [eax + eax*4]
mov edx, dword [edx + eax*4 + 8]
cmp byte [edx], 0x79
jne 0x484554
cmp cl, 1
jne 0x4845eb
push dword [esp + 0x40]
mov ecx, edi
call fcn.0046ae90
add esp, 4
cmp byte [esi + 0x2b], 1
mov ecx, dword [esp + 0x14]
je 0x4845b0
push dword [esp + 0x40]
mov edx, 0x33
call fcn.0044de60
mov ecx, dword [esp + 0x18]
add esp, 4
mov edx, 0x7f
mov esi, eax
push dword [esp + 0x90]
push dword [esp + 0x44]
push dword [esp + 0x60]
call fcn.0044dd90
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov edx, esi
call fcn.0044e7b0
mov esi, dword [esp + 0x3c]
jmp 0x4845c8
mov eax, dword [ecx + 0x6c]
mov edx, 0x32
add eax, 2
push eax
push dword [esp + 0x44]
call fcn.0044dec0
add esp, 8
push dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
mov edx, 0xc
call fcn.0044de60
add esp, 4
jmp 0x48462c
cmp cl, 1
je 0x484615
cmp byte [esp + 0x64], 0
jne 0x484615
push dword [esp + 0x90]
mov ecx, dword [esp + 0x18]
mov edx, 0x7f
push dword [esp + 0x44]
push dword [esp + 0x60]
call fcn.0044dd90
add esp, 0xc
mov dword [esp + 0x54], 1
jmp 0x484634
push dword [esp + 0x40]
mov ecx, dword [esp + 0x18]
mov edx, 0x4b
push 0
call fcn.0044dec0
add esp, 8
mov dword [esp + 0x54], 0
mov eax, dword [esp + 0x90]
test eax, eax
jle 0x484654
push dword [esp + 0x40]
mov ecx, dword [edi + 8]
mov edx, 0x9f
push eax
call fcn.0044dec0
add esp, 8
test byte [esi + 0x1c], 0x60
je 0x484669
mov edx, dword [esp + 0x5c]
mov ecx, edi
push esi
call fcn.00483270
add esp, 4
cmp byte [esi + 0x2b], 1
jne 0x484702
mov esi, dword [esi + 0x34]
test esi, esi
je 0x48468b
mov eax, dword [esp + 0x6c]
nop
cmp dword [esi], eax
je 0x48468b
mov esi, dword [esi + 0x18]
test esi, esi
jne 0x484680
mov edx, dword [esp + 0x3c]
mov ecx, edi
call fcn.004a10e0
mov ecx, dword [esp + 0x14]
mov edx, 7
push 0xfffffffffffffff5
push esi
mov esi, dword [esp + 0x44]
push dword [esp + 0x88]
movsx eax, word [esi + 0x22]
add eax, 2
push eax
push 1
call fcn.0044e150
mov eax, dword [esp + 0x28]
add esp, 0x14
mov eax, dword [eax + 0x6c]
test eax, eax
jle 0x4846ef
mov ecx, dword [ebp + 0x10]
cmp ecx, 0xb
movzx edx, cx
lea ecx, [eax + eax*4]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x64], 2
cmove edx, dword [esp + 0x64]
mov eax, dword [eax + 0x68]
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 0x4847b5
push dword [esp + 0x8c]
lea eax, [esp + 0x68]
mov dword [esp + 0x68], 0
push 0
push eax
push dword [esp + 0x34]
mov eax, dword [esp + 0x54]
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 + 0x9c]
push dword [esp + 0xb4]
push dword [esp + 0x7c]
push dword [esp + 0x9c]
call fcn.004849d0
add esp, 0x2c
mov edx, esi
mov ecx, edi
push 0
push 0
push dword [esp + 0x88]
push 0
call fcn.00481c20
add esp, 0x10
cmp dword [esp + 0x64], 0
je 0x484784
mov eax, dword [esp + 0x14]
cmp dword [eax + 0xe0], 0
je 0x484784
xor eax, eax
jmp 0x484789
mov eax, 1
push eax
push dword [esp + 0x58]
mov edx, esi
mov ecx, edi
push 0
push dword [esp + 0x80]
push dword [esp + 0x90]
push dword [esp + 0xa8]
push dword [esp + 0x70]
call fcn.00486ca0
add esp, 0x1c
mov eax, dword [esp + 0x98]
test eax, eax
je 0x4847d4
mov ecx, dword [esp + 0x14]
mov edx, 0x56
push 1
push eax
call fcn.0044dec0
add esp, 8
mov edx, dword [esp + 0x78]
test edx, edx
je 0x484802
push dword [esp + 0x28]
movsx eax, word [esi + 0x22]
push dword [ebp + 0x10]
mov ecx, dword [esp + 0x64]
sub ecx, eax
sub ecx, 2
push ecx
push esi
push 2
push 0
push 0x7f
mov ecx, edi
call fcn.0049b3f0
add esp, 0x1c
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
not edx
mov ecx, dword [esi + 0xc]
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x484824
push edx
mov edx, esi
call fcn.0044e4c0
add esp, 4
jmp 0x48482d
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + edx*4], eax
cmp byte [esp + 0x1e], 0
je 0x484890
push dword [esp + 0x84]
mov edx, 0x26
mov ecx, esi
push dword [esp + 0x50]
call fcn.0044dec0
mov eax, dword [esi]
add esp, 8
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x484860
mov eax, 0x632198
jmp 0x484878
mov ecx, dword [esp + 0x88]
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]
push dword [esp + 0x4c]
mov dword [eax + 8], edx
mov ecx, esi
mov edx, 0x7a
call fcn.0044de60
add esp, 4
jmp 0x4848dc
cmp dword [esp + 0x48], 0
je 0x4848dc
mov edx, dword [esp + 0x84]
mov ecx, esi
call fcn.0044df30
mov eax, dword [esi]
mov edx, dword [esi + 0x6c]
cmp byte [eax + 0x57], 0
je 0x4848ba
mov eax, 0x632198
mov dword [eax + 8], edx
jmp 0x4848dc
mov ecx, dword [esp + 0x88]
lea eax, [edx - 1]
test ecx, ecx
cmovns eax, ecx
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov dword [eax + ecx*4 + 8], edx
lea eax, [eax + ecx*4]
jmp 0x4848dc
mov esi, dword [esp + 0x14]
cmp byte [edi + 0x12], 0
jne 0x4848f5
cmp dword [edi + 0x78], 0
jne 0x4848f5
cmp dword [edi + 0x70], 0
je 0x4848f5
mov ecx, edi
call fcn.00483560
mov eax, dword [esp + 0x98]
test eax, eax
je 0x484911
push str.rows_inserted
mov edx, eax
mov ecx, esi
call fcn.0047b3e0
add esp, 4
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x6c]
mov ecx, edi
mov edx, dword [esp + 0x68]
call fcn.00479630
mov eax, dword [esp + 0x70]
test eax, eax
je 0x484935
mov edx, eax
mov ecx, edi
call fcn.004663a0
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x484949
mov edx, eax
mov ecx, edi
call fcn.0049ea10
mov eax, dword [esp + 0x48]
test eax, eax
je 0x48495f
push 1
mov edx, eax
mov ecx, edi
call fcn.0048d5d0
add esp, 4
mov edx, esi
mov ecx, edi
call fcn.00479290
mov eax, dword [esp + 0x74]
test eax, eax
je 0x484979
mov edx, eax
mov ecx, edi
call fcn.0042c2b0
mov ecx, dword [esp + 0xcc]
pop edi
pop esi
xor ecx, esp
call fcn.004c61ad
mov esp, ebp
pop ebp
ret