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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xc8
mov eax, dword [0x101f62b4]
xor eax, esp
mov dword [esp + 0xc4], eax
mov eax, dword [ebp + 0x14]
push esi
mov esi, ecx
mov dword [esp + 0x4c], eax
mov ecx, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
cmp dword [esi + 0x24], 0
mov eax, dword [esi]
mov dword [esp + 0x64], edx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x2c], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x3c], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov byte [esp + 0x1a], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], eax
jne 0x100a8809
cmp byte [eax + 0x51], 0
jne 0x100a8809
mov dword [esp + 0xb8], 0
test ecx, ecx
je 0x100a7677
test dword [ecx + 4], 0x200
je 0x100a7677
cmp dword [ecx + 0x34], 0
jne 0x100a7677
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0x68], edx
mov edx, ecx
mov dword [ecx + 0x1c], 0
mov ecx, eax
push 1
call fcn.100b2710
add esp, 4
mov dword [esp + 0x40], 0
mov edx, dword [esp + 0x64]
mov ecx, esi
call fcn.1009f200
mov edi, eax
mov dword [esp + 0x10], edi
test edi, edi
je 0x100a8805
mov edx, dword [edi + 0x48]
mov ecx, dword [esp + 0x5c]
call fcn.100b1d60
mov ecx, eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x5c]
add ecx, ecx
mov edx, 0x12
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8]
mov ecx, esi
push eax
push 0
push dword [edi]
call fcn.10096770
add esp, 0xc
test eax, eax
jne 0x100a8805
mov eax, dword [edi + 0x24]
mov edx, edi
shr eax, 7
mov ecx, esi
and eax, 0xffffff01
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x84]
push eax
push 0
push 0x7d
call fcn.100be1f0
add esp, 0xc
mov dword [esp + 0x70], eax
mov eax, dword [edi + 0xc]
mov edx, edi
mov ecx, esi
mov dword [esp + 0x88], eax
call fcn.1009a570
test eax, eax
jne 0x100a8805
push dword [esp + 0x84]
mov edx, edi
mov ecx, esi
call fcn.1009f290
add esp, 4
test eax, eax
jne 0x100a8805
mov ecx, esi
call fcn.100b57f0
mov edi, eax
mov dword [esp + 0x34], edi
test edi, edi
je 0x100a8805
cmp byte [esi + 0x12], 0
jne 0x100a7750
or dword [edi + 0x98], 0x10
cmp dword [esp + 0x40], 0
jne 0x100a7762
cmp dword [esp + 0x70], 0
jne 0x100a7762
xor edx, edx
jmp 0x100a7767
mov edx, 1
push dword [esp + 0x1c]
mov ecx, esi
call fcn.1009db50
add esp, 4
cmp dword [esp + 0x14], 0
jne 0x100a779d
push dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov ecx, esi
push dword [ebp + 0x10]
push dword [esp + 0x48]
call fcn.100ab270
add esp, 0xc
test eax, eax
jne 0x100a877e
push dword [esp + 0x10]
mov edx, dword [esp + 0x20]
mov ecx, esi
call fcn.100a71f0
mov ecx, dword [esi + 0x2c]
add esp, 4
mov edx, dword [esp + 0x10]
mov dword [esp + 0x80], eax
lea eax, [ecx + 1]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x30], eax
movsx eax, word [edx + 0x2a]
inc eax
add eax, ecx
mov dword [esi + 0x2c], eax
cmp dword [edx + 0x38], 0
je 0x100a77e5
add ecx, 2
inc eax
mov dword [esp + 0x30], ecx
mov dword [esi + 0x2c], eax
jmp 0x100a77e9
mov ecx, dword [esp + 0x30]
test dword [edx + 0x24], 0x440
lea eax, [ecx + 1]
mov edx, dword [esp + 0x14]
sete byte [esp + 0x1b]
mov dword [esp + 0x58], eax
test edx, edx
je 0x100a7994
mov eax, dword [edx + 4]
xor ecx, ecx
test eax, eax
jle 0x100a7823
mov eax, dword [edx]
mov dword [eax + ecx*8 + 4], 0xffffffff
inc ecx
mov eax, dword [edx + 4]
cmp ecx, eax
jl 0x100a7811
xor edx, edx
mov dword [esp + 0x20], edx
test eax, eax
jle 0x100a7994
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 0x2a]
mov dword [esp + 0x24], eax
xor esi, esi
cwde
test eax, eax
jle 0x100a78d3
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
lea ecx, [eax + edx*8]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
mov edx, dword [eax]
mov ecx, dword [ecx]
call fcn.10054e00
test eax, eax
je 0x100a788e
mov eax, dword [esp + 0x28]
inc esi
mov edx, dword [esp + 0x24]
add eax, 0x14
movsx ecx, dx
cmp esi, ecx
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x44]
jl 0x100a7860
mov edx, dword [esp + 0x20]
jmp 0x100a78d3
mov eax, dword [esp + 0x44]
xor ecx, ecx
mov edx, dword [esp + 0x20]
cmp edx, esi
mov edi, dword [esp + 0x10]
mov dword [eax + 4], esi
movzx eax, byte [esp + 0x1b]
cmove ecx, eax
mov eax, dword [esp + 0x10]
mov byte [esp + 0x1b], cl
mov ecx, edx
movsx eax, word [eax + 0x28]
cmp esi, eax
lea eax, [esi + esi*4]
cmovne ecx, dword [esp + 0x38]
mov dword [esp + 0x38], ecx
mov ecx, dword [edi + 4]
mov edi, dword [esp + 0x34]
test byte [ecx + eax*4 + 0x10], 0x60
jne 0x100a7950
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 0x2a]
mov ecx, eax
cwde
mov dword [esp + 0x28], ecx
cmp esi, eax
jl 0x100a793a
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov esi, dword [eax + edx*8]
mov edx, str._ROWID_
mov ecx, esi
call fcn.10054e00
test eax, eax
je 0x100a791f
mov edx, str.ROWID
mov ecx, esi
call fcn.10054e00
test eax, eax
je 0x100a791f
mov edx, 0x101cc3d8
mov ecx, esi
call fcn.10054e00
test eax, eax
jne 0x100a796e
cmp byte [esp + 0xb0], 0
jne 0x100a796e
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x38], edx
mov byte [esp + 0x1b], 0
mov eax, dword [esp + 0x14]
inc edx
mov dword [esp + 0x20], edx
cmp edx, dword [eax + 4]
jge 0x100a7990
movzx eax, cx
jmp 0x100a7839
lea eax, [esi + esi*4]
mov esi, dword [esp + 0x4c]
mov eax, dword [ecx + eax*4]
push eax
push str.cannot_INSERT_into_generated_column___s_
push esi
call fcn.10054cd0
add esp, 0xc
jmp 0x100a8805
push esi
mov esi, dword [esp + 0x50]
push 0
push dword [esp + 0x6c]
push str.table__S_has_no_column_named__s
push esi
call fcn.10054cd0
add esp, 0x14
mov byte [esi + 0x11], 1
jmp 0x100a8805
mov esi, dword [esp + 0x4c]
cmp dword [esp + 0x40], 0
je 0x100a7cfd
inc dword [esi + 0x2c]
mov edx, 0xd
mov eax, dword [edi + 0x6c]
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x44], eax
inc eax
push eax
push 0
mov dword [esp + 0x30], ecx
push ecx
mov ecx, edi
call fcn.10072630
mov eax, dword [esp + 0x34]
add esp, 0xc
mov edx, dword [esp + 0x40]
mov ecx, esi
mov dword [esp + 0xb8], eax
xor eax, eax
cmp byte [esp + 0x1b], al
mov byte [esp + 0xb4], 0xd
cmovne eax, dword [esp + 0x58]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc4], 0
movsx eax, word [eax + 0x2a]
mov dword [esp + 0xc0], eax
lea eax, [esp + 0xb4]
push eax
call fcn.100ba740
mov ecx, dword [esp + 0xc0]
add esp, 4
mov dword [esp + 0x48], ecx
test eax, eax
jne 0x100a8805
mov eax, dword [esp + 0x5c]
cmp byte [eax + 0x51], 0
jne 0x100a8805
cmp dword [esi + 0x24], 0
jne 0x100a8805
mov edx, dword [esp + 0x28]
mov ecx, edi
call fcn.10072cf0
mov edx, dword [esp + 0x44]
mov ecx, edi
call fcn.10073090
cmp dword [esp + 0x70], 0
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
jne 0x100a7c2d
mov eax, dword [esi + 8]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x100a7a99
cmp dword [esi + 0x74], eax
jne 0x100a7a8e
mov eax, dword [esi]
test byte [eax + 0x4c], 8
jne 0x100a7a8e
mov byte [esi + 0x17], 1
mov ecx, esi
call fcn.10072400
mov dword [esp + 0x24], eax
mov ecx, dword [eax + 0x6c]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
cmp dword [eax + 0x38], 0
je 0x100a7ac0
mov edx, dword [eax + 0x40]
test edx, edx
je 0x100a7ac2
mov eax, dword [esi]
cmp dword [edx], eax
je 0x100a7ac2
mov edx, dword [edx + 0x18]
test edx, edx
jne 0x100a7ab3
jmp 0x100a7ac2
xor edx, edx
mov ecx, 1
mov dword [esp + 0x28], ecx
cmp dword [esp + 0x44], ecx
jle 0x100a7b54
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov al, byte [eax + 0x51]
mov byte [esp + 0x1b], al
test al, al
je 0x100a7aed
mov eax, 0x101fcbd8
jmp 0x100a7afa
mov eax, dword [esp + 0x24]
lea ecx, [ecx + ecx*4]
mov eax, dword [eax + 0x68]
lea eax, [eax + ecx*4]
mov cl, byte [eax]
cmp cl, 0x60
jne 0x100a7b33
mov ecx, dword [esp + 0x1c]
cmp dword [eax + 0xc], ecx
jne 0x100a7b41
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x10]
cmp ecx, dword [eax + 0x1c]
je 0x100a7c2d
mov eax, dword [eax + 8]
test eax, eax
je 0x100a7b41
cmp ecx, dword [eax + 0x2c]
je 0x100a7c2d
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x100a7b21
jmp 0x100a7b41
cmp cl, 0xa5
jne 0x100a7b41
cmp dword [eax + 0x10], edx
je 0x100a7c2d
mov ecx, dword [esp + 0x28]
mov al, byte [esp + 0x1b]
inc ecx
mov dword [esp + 0x28], ecx
cmp ecx, dword [esp + 0x44]
jl 0x100a7ae2
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x14], 0
jne 0x100a7bab
test eax, eax
mov eax, dword [esp + 0x10]
jle 0x100a7baf
movsx ecx, word [eax + 0x28]
mov dword [esp + 0x38], ecx
test ecx, ecx
js 0x100a7baf
test byte [eax + 0x24], 0x60
je 0x100a7baf
lea edx, [ecx - 1]
test edx, edx
js 0x100a7baf
mov eax, dword [eax + 4]
lea ecx, [edx + 1]
lea ecx, [edx + ecx*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x38]
test byte [ecx], 0x60
lea eax, [eax - 1]
lea ecx, [ecx - 0x14]
cmove eax, dword [esp + 0x38]
sub edx, 1
mov dword [esp + 0x38], eax
jns 0x100a7b90
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x10]
movsx eax, word [eax + 0x2a]
mov dword [esp + 0x28], eax
test eax, eax
jle 0x100a7bef
mov ecx, dword [esp + 0x10]
mov edx, eax
mov ecx, dword [ecx + 4]
add ecx, 0x10
xor edi, edi
nop dword [eax]
test byte [ecx], 0x62
lea eax, [edi + 1]
lea ecx, [ecx + 0x14]
cmove eax, edi
mov edi, eax
sub edx, 1
jne 0x100a7bd0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
test ecx, ecx
jne 0x100a7d53
test edx, edx
je 0x100a7d6f
sub eax, dword [esp + 0x2c]
cmp edx, eax
je 0x100a7d6f
push edx
push eax
push ecx
push dword [esp + 0x70]
push str.table__S_has__d_columns_but__d_values_were_supplied
push esi
call fcn.10054cd0
add esp, 0x18
jmp 0x100a8805
mov edx, dword [esi + 0x28]
mov ecx, esi
mov byte [esp + 0x1a], 1
mov dword [esp + 0x3c], edx
lea eax, [edx + 1]
mov dword [esi + 0x28], eax
call fcn.10091280
mov edi, eax
call fcn.10091280
push dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
push edx
mov edx, 0x64
mov dword [esp + 0x2c], eax
call fcn.10072760
push dword [esp + 0xc0]
mov ecx, dword [esp + 0x40]
mov edx, 0xe
call fcn.10072700
mov ecx, dword [esp + 0x40]
add esp, 0xc
mov edx, 0x5b
mov esi, eax
push edi
push dword [esp + 0x24]
push dword [esp + 0x50]
call fcn.10072630
mov ecx, dword [esp + 0x40]
add esp, 0xc
mov edx, 0x78
push dword [esp + 0x24]
push dword [esp + 0x40]
call fcn.10072760
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x40]
mov edx, 0x79
push edi
push dword [esp + 0x4c]
call fcn.10072630
mov ecx, dword [esp + 0x48]
add esp, 0x14
mov edx, esi
call fcn.100727d0
mov ecx, dword [esp + 0x34]
mov edx, esi
call fcn.10073090
mov esi, dword [esp + 0x4c]
mov edx, edi
mov ecx, esi
call fcn.100912a0
mov edx, dword [esp + 0x24]
call fcn.100912a0
mov edi, dword [esp + 0x34]
jmp 0x100a7b54
mov ecx, dword [esp + 0x68]
xorps xmm0, xmm0
movaps xmmword [esp + 0x90], xmm0
movaps xmmword [esp + 0xa0], xmm0
mov dword [esp + 0x90], esi
mov dword [esp + 0x3c], 0xffffffff
test ecx, ecx
je 0x100a7d48
mov eax, dword [ecx]
mov edx, ecx
lea ecx, [esp + 0x90]
mov dword [esp + 0x20], eax
call fcn.10088500
test eax, eax
jne 0x100a8805
jmp 0x100a7b54
xor eax, eax
mov dword [esp + 0x20], eax
jmp 0x100a7b58
mov eax, dword [ecx + 4]
cmp edx, eax
je 0x100a7d6f
push eax
push edx
push str._d_values_for__d_columns
push esi
call fcn.10054cd0
add esp, 0x10
jmp 0x100a8805
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x24]
xor eax, eax
and ecx, 1
or eax, ecx
je 0x100a7daa
cmp byte [esi + 0x12], 0
jne 0x100a7daa
cmp dword [esi + 0x78], 0
jne 0x100a7daa
inc dword [esi + 0x2c]
mov edx, 0x45
mov eax, dword [esi + 0x2c]
mov ecx, edi
push eax
push 0
mov dword [esp + 0x94], eax
call fcn.10072760
add esp, 8
cmp dword [esp + 0x88], 0
jne 0x100a7e45
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x58]
mov ecx, esi
push eax
push 0
push 0xffffffffffffffff
push 0
push 0x61
call fcn.100aaf40
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x44], eax
push 0
lea eax, [eax*4 + 8]
push eax
call fcn.10051af0
mov ecx, eax
add esp, 0x20
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x100a8805
mov eax, dword [esp + 0x10]
xor edx, edx
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x2c], edx
jle 0x100a7e3b
mov edi, eax
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
mov dword [ecx + edx*4], eax
inc edx
movzx ecx, word [edi + 0x34]
mov eax, dword [esi + 0x2c]
add eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [esi + 0x2c], eax
mov edi, dword [edi + 0x14]
cmp edx, dword [esp + 0x2c]
jl 0x100a7e12
mov edi, dword [esp + 0x34]
jmp 0x100a7e3e
mov eax, dword [esi + 0x2c]
inc eax
mov dword [esi + 0x2c], eax
mov dword [ecx + edx*4], eax
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x100a7ed1
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x38], 0
je 0x100a7e70
push dword [eax]
push str.UPSERT_not_implemented_for_virtual_table___s_
push esi
call fcn.10054cd0
add esp, 0xc
jmp 0x100a8805
cmp dword [eax + 0xc], 0
je 0x100a7e89
push str.cannot_UPSERT_a_view
push esi
call fcn.10054cd0
add esp, 8
jmp 0x100a8805
mov edx, dword [ecx]
mov ecx, esi
call fcn.1009bd20
test eax, eax
jne 0x100a8805
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x54]
mov dword [eax + 0x34], edx
cmp dword [ecx], 0
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x58]
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x74]
mov dword [ecx + 0x1c], edx
mov dword [ecx + 0x20], eax
je 0x100a7ed1
mov edx, dword [esp + 0x64]
push ecx
mov ecx, esi
call fcn.100c1840
add esp, 4
cmp byte [esp + 0x1a], 0
je 0x100a7efb
push dword [esp + 0x3c]
mov edx, 0x25
mov ecx, edi
call fcn.10072700
mov dword [esp + 0x80], eax
add esp, 4
mov eax, dword [edi + 0x6c]
mov dword [esp + 0x78], eax
jmp 0x100a7f44
cmp dword [esp + 0x40], 0
je 0x100a7f44
push dword [esp + 0xb8]
mov edx, 0xe
mov ecx, edi
call fcn.10072700
mov edx, eax
add esp, 4
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], edx
test eax, eax
js 0x100a7f44
mov ecx, dword [esp + 0x48]
mov edx, 0x4d
push dword [esp + 0x30]
add ecx, eax
push ecx
mov ecx, edi
call fcn.10072760
add esp, 8
mov eax, dword [esp + 0x58]
xor ecx, ecx
mov dword [esp + 0x1c], eax
xor edx, edx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], 0
mov dword [esp + 0x24], ecx
cmp dx, word [eax + 0x2a]
jge 0x100a81d5
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x28], ecx
jmp 0x100a7f78
mov eax, dword [esp + 0x10]
movsx eax, word [eax + 0x28]
cmp ecx, eax
jne 0x100a7fdc
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a7fa4
push 0
push 0
push dword [esp + 0x24]
mov edx, 0x49
mov ecx, edi
call fcn.100725f0
add esp, 0xc
jmp 0x100a81ae
mov esi, dword [esp + 0x4c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4], 0x49
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 0x100a81b2
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 4]
add ecx, eax
mov dword [esp + 0x2c], ecx
movzx eax, word [ecx + 0x10]
test al, 0x62
je 0x100a8038
inc dword [esp + 0x44]
test al, 0x20
je 0x100a8003
dec edx
jmp 0x100a81b2
test al, 0x40
je 0x100a801a
test byte [esp + 0x84], 1
je 0x100a81b2
jmp 0x100a7f80
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x100a8040
mov edx, dword [ecx + 4]
mov ecx, esi
push dword [esp + 0x1c]
call fcn.1008f7f0
add esp, 4
jmp 0x100a81ae
mov eax, dword [esp + 0x14]
test eax, eax
je 0x100a8080
mov ecx, dword [eax + 4]
xor edx, edx
test ecx, ecx
jle 0x100a8062
mov eax, dword [eax]
mov edi, dword [esp + 0x24]
add eax, 4
cmp dword [eax], edi
je 0x100a805e
inc edx
add eax, 8
cmp edx, ecx
jl 0x100a8052
mov edi, dword [esp + 0x34]
cmp edx, ecx
jl 0x100a808f
mov edx, dword [esp + 0x2c]
mov ecx, esi
push dword [esp + 0x1c]
mov edx, dword [edx + 4]
call fcn.1008f7f0
add esp, 4
jmp 0x100a81ae
cmp dword [esp + 0x20], 0
je 0x100a8022
mov edx, dword [esp + 0x24]
sub edx, dword [esp + 0x44]
cmp byte [esp + 0x1a], 0
je 0x100a80f3
mov ecx, dword [edi + 0x6c]
cmp dword [edi + 0x70], ecx
jg 0x100a80bb
push dword [esp + 0x1c]
mov ecx, edi
push edx
push dword [esp + 0x44]
mov edx, 0x59
call fcn.100725f0
add esp, 0xc
jmp 0x100a81ae
mov esi, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 4], esi
mov esi, dword [esp + 0x4c]
mov dword [eax + ecx*4], 0x59
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x100a81b2
cmp dword [esp + 0x40], 0
je 0x100a8162
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x58]
je 0x100a81ae
mov ecx, dword [edi + 0x6c]
add edx, eax
cmp dword [edi + 0x70], ecx
jg 0x100a812d
push 0
push dword [esp + 0x20]
mov ecx, edi
push edx
mov edx, 0x4e
call fcn.100725f0
add esp, 0xc
jmp 0x100a81ae
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov edi, dword [esp + 0x34]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x1c]
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
jmp 0x100a81b2
mov ecx, dword [esp + 0x68]
lea eax, [edx + edx*4]
push dword [esp + 0x1c]
mov eax, dword [ecx + eax*4 + 4]
mov edx, eax
mov ecx, esi
mov dword [esp + 0x30], eax
call fcn.1008e370
mov edx, dword [esp + 0x20]
add esp, 4
cmp eax, edx
je 0x100a81b2
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x100a81b2
push edx
mov edx, dword [esp + 0x30]
push eax
mov edx, dword [edx + 4]
and edx, 0x200000
neg edx
sbb edx, edx
add edx, 0x4e
call fcn.10072760
add esp, 8
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
inc edx
mov ecx, dword [esp + 0x24]
add dword [esp + 0x28], 0x14
inc ecx
mov dword [esp + 0x24], ecx
movsx eax, word [eax + 0x2a]
mov dword [esp + 0x1c], edx
cmp ecx, eax
jl 0x100a7f74
dec dword [esi + 0x38]
test byte [esp + 0x84], 1
mov eax, dword [esi + 0x38]
mov dword [esp + 0x48], eax
je 0x100a8375
mov eax, dword [esp + 0x10]
mov ecx, esi
movsx edx, word [eax + 0x2a]
inc edx
call fcn.100912c0
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x20], eax
push eax
test ecx, ecx
jns 0x100a8220
push 0xffffffffffffffff
mov edx, 0x45
mov ecx, edi
call fcn.10072760
add esp, 8
jmp 0x100a82ba
cmp byte [esp + 0x1e], 0
je 0x100a823d
push ecx
push dword [esp + 0x44]
mov edx, 0x59
mov ecx, edi
call fcn.10072630
add esp, 0xc
jmp 0x100a8252
mov eax, dword [esp + 0x6c]
lea edx, [ecx + ecx*4]
mov ecx, esi
mov edx, dword [eax + edx*4 + 4]
call fcn.1008f7a0
add esp, 4
push dword [esp + 0x20]
mov edx, 0x33
mov ecx, edi
call fcn.10072700
add esp, 4
mov dword [esp + 0x2c], eax
mov edx, 0x45
mov ecx, edi
push dword [esp + 0x20]
push 0xffffffffffffffff
call fcn.10072760
mov ecx, dword [esp + 0x34]
add esp, 8
mov edx, dword [edi + 0x6c]
test ecx, ecx
jns 0x100a828c
lea ecx, [edx - 1]
mov eax, dword [edi]
cmp byte [eax + 0x51], 0
je 0x100a829b
mov eax, 0x101fcbd8
jmp 0x100a82a4
mov eax, dword [edi + 0x68]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
push dword [esp + 0x20]
mov dword [eax + 8], edx
mov ecx, edi
mov edx, 0xf
call fcn.10072700
add esp, 4
mov eax, dword [esp + 0x10]
mov edx, 0x4d
mov ecx, dword [esp + 0x20]
inc ecx
mov dword [esp + 0x2c], ecx
movsx eax, word [eax + 0x2c]
dec eax
push eax
push ecx
push dword [esp + 0x60]
mov ecx, edi
call fcn.10072630
mov eax, dword [esp + 0x1c]
add esp, 0xc
test byte [eax + 0x24], 0x60
je 0x100a82fe
mov edx, dword [esp + 0x2c]
mov ecx, esi
push eax
call fcn.100a7000
mov eax, dword [esp + 0x14]
add esp, 4
cmp dword [esp + 0x88], 0
jne 0x100a8318
push dword [esp + 0x2c]
mov edx, eax
mov ecx, edi
call fcn.100a6ef0
add esp, 4
mov edx, dword [esp + 0x10]
push dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
push dword [ebp + 0x10]
movsx eax, word [edx + 0x2a]
sub ecx, eax
dec ecx
push ecx
push edx
mov edx, dword [esp + 0x80]
mov ecx, esi
push 1
push 0
push 0x7d
call fcn.100beb90
mov ecx, dword [esp + 0x2c]
add esp, 0x1c
movsx eax, word [ecx + 0x2a]
inc eax
cmp eax, 1
jne 0x100a83d7
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x100a8375
mov al, byte [esi + 0x13]
cmp al, 8
jae 0x100a8375
movzx eax, al
mov dword [esi + eax*4 + 0x98], ecx
inc byte [esi + 0x13]
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x88], 0
jne 0x100a866c
mov ecx, dword [ecx + 0x38]
test ecx, ecx
je 0x100a83aa
push dword [esp + 0x6c]
mov edx, 0x48
mov ecx, edi
push 0
call fcn.10072760
mov eax, dword [esp + 0x18]
add esp, 8
mov ecx, dword [eax + 0x38]
mov eax, dword [esp + 0x38]
test eax, eax
js 0x100a848e
cmp byte [esp + 0x1a], 0
je 0x100a83e8
push dword [esp + 0x30]
mov edx, 0x59
mov ecx, edi
push eax
push dword [esp + 0x44]
call fcn.10072630
add esp, 0xc
jmp 0x100a8415
cmp eax, dword [esi + 0x1c]
jle 0x100a8379
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x20]
mov dword [esi + 0x20], eax
jmp 0x100a8379
cmp dword [esp + 0x40], 0
jne 0x100a8415
mov edx, dword [esp + 0x68]
lea eax, [eax + eax*4]
mov edx, dword [edx + eax*4 + 4]
cmp byte [edx], 0x77
jne 0x100a8407
test ecx, ecx
je 0x100a849b
push dword [esp + 0x30]
mov ecx, esi
call fcn.1008f7a0
add esp, 4
mov eax, dword [esp + 0x10]
mov ecx, edi
cmp dword [eax + 0x38], 0
jne 0x100a8461
push dword [esp + 0x30]
mov edx, 0x33
call fcn.10072700
add esp, 4
mov edx, 0x78
mov ecx, edi
mov esi, eax
push dword [esp + 0x80]
push dword [esp + 0x34]
push dword [esp + 0x5c]
call fcn.10072630
add esp, 0xc
mov edx, esi
mov ecx, edi
call fcn.10073090
mov esi, dword [esp + 0x4c]
jmp 0x100a8479
mov eax, dword [edi + 0x6c]
mov edx, 0x32
add eax, 2
push eax
push dword [esp + 0x34]
call fcn.10072760
add esp, 8
push dword [esp + 0x30]
mov edx, 0xf
mov ecx, edi
call fcn.10072700
add esp, 4
jmp 0x100a84d8
test ecx, ecx
jne 0x100a84c3
cmp byte [esp + 0xb0], cl
jne 0x100a84c3
push dword [esp + 0x80]
mov edx, 0x78
mov ecx, edi
push dword [esp + 0x34]
push dword [esp + 0x5c]
call fcn.10072630
add esp, 0xc
mov dword [esp + 0x24], 1
jmp 0x100a84e0
push dword [esp + 0x30]
mov edx, 0x48
mov ecx, edi
push 0
call fcn.10072760
add esp, 8
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x80]
test eax, eax
jle 0x100a8500
push dword [esp + 0x30]
mov ecx, dword [esi + 8]
mov edx, 0x97
push eax
call fcn.10072760
add esp, 8
mov ecx, dword [esp + 0x10]
test byte [ecx + 0x24], 0x60
je 0x100a851d
mov edx, dword [esp + 0x58]
push ecx
mov ecx, esi
call fcn.100a7000
mov ecx, dword [esp + 0x14]
add esp, 4
cmp dword [ecx + 0x38], 0
je 0x100a85c6
mov eax, dword [ecx + 0x40]
mov dword [esp + 0xb0], eax
test eax, eax
je 0x100a8552
mov edx, dword [esp + 0x5c]
nop dword [eax]
cmp dword [eax], edx
je 0x100a854b
mov eax, dword [eax + 0x18]
test eax, eax
jne 0x100a8540
mov dword [esp + 0xb0], eax
mov edx, ecx
mov ecx, esi
call fcn.100c3d10
mov eax, dword [esp + 0x10]
mov edx, 0xa
push 0xfffffffffffffff4
push dword [esp + 0xb4]
mov ecx, edi
movsx eax, word [eax + 0x2a]
push dword [esp + 0x74]
add eax, 2
push eax
push 1
call fcn.10072a10
mov eax, dword [edi + 0x6c]
add esp, 0x14
test eax, eax
jle 0x100a85b3
mov ecx, dword [ebp + 0x10]
cmp ecx, 0xb
movzx edx, cx
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
mov dword [esp + 0xb0], 2
cmove edx, dword [esp + 0xb0]
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esi + 0x74]
mov ecx, esi
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15], 1
jmp 0x100a866c
mov eax, dword [esp + 0x50]
mov edx, ecx
push eax
push 0
lea eax, [esp + 0xb8]
mov ecx, esi
push eax
push dword [esp + 0x54]
mov eax, dword [esp + 0x48]
push dword [ebp + 0x10]
shr eax, 0x1f
xor al, 1
movzx eax, al
push eax
push 0
push dword [esp + 0x88]
push dword [esp + 0x94]
push dword [esp + 0x78]
push dword [esp + 0x88]
call fcn.100a89a0
mov edx, dword [esp + 0x3c]
add esp, 0x2c
mov ecx, esi
push 0
push 0
push dword [esp + 0x74]
push 0
call fcn.100a5830
add esp, 0x10
cmp dword [esp + 0xb0], 0
je 0x100a863f
cmp dword [edi + 0xd8], 0
je 0x100a863f
xor eax, eax
jmp 0x100a8644
mov eax, 1
mov edx, dword [esp + 0x10]
mov ecx, esi
push eax
push dword [esp + 0x28]
push 0
push dword [esp + 0x6c]
push dword [esp + 0x7c]
push dword [esp + 0x88]
push dword [esp + 0x6c]
call fcn.100aad00
add esp, 0x1c
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x100a8689
push 1
push eax
mov edx, 0x52
mov ecx, edi
call fcn.10072760
add esp, 8
cmp dword [esp + 0x70], 0
je 0x100a86be
mov ecx, dword [esp + 0x10]
push dword [esp + 0x48]
mov edx, dword [esp + 0x5c]
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 0x7d
mov ecx, esi
call fcn.100beb90
add esp, 0x1c
mov ecx, dword [edi + 0xc]
mov edx, dword [esp + 0x48]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x100a86dc
push edx
mov edx, edi
call fcn.10072d60
add esp, 4
jmp 0x100a86e5
mov ecx, dword [ecx + 0x40]
mov eax, dword [edi + 0x6c]
mov dword [ecx + edx*4], eax
cmp byte [esp + 0x1a], 0
je 0x100a8742
push dword [esp + 0x78]
mov edx, 5
mov ecx, edi
push dword [esp + 0x40]
call fcn.10072760
mov eax, dword [edi]
add esp, 8
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x51], 0
je 0x100a8715
mov eax, 0x101fcbd8
jmp 0x100a872a
mov ecx, dword [esp + 0x7c]
lea eax, [edx - 1]
test ecx, ecx
cmovns eax, ecx
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
push dword [esp + 0x3c]
mov dword [eax + 8], edx
mov ecx, edi
mov edx, 0x74
call fcn.10072700
add esp, 4
jmp 0x100a877e
cmp dword [esp + 0x40], 0
je 0x100a877e
mov edx, dword [esp + 0x78]
mov ecx, edi
call fcn.100727d0
mov eax, dword [edi]
mov edx, dword [edi + 0x6c]
cmp byte [eax + 0x51], 0
je 0x100a8766
mov eax, 0x101fcbd8
jmp 0x100a877b
mov ecx, dword [esp + 0x7c]
lea eax, [edx - 1]
test ecx, ecx
cmovns eax, ecx
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
cmp byte [esi + 0x12], 0
jne 0x100a8797
cmp dword [esi + 0x78], 0
jne 0x100a8797
cmp dword [esi + 0x70], 0
je 0x100a8797
mov ecx, esi
call fcn.100a7420
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x100a8805
push 1
push eax
mov edx, 0x50
mov ecx, edi
call fcn.10072760
add esp, 8
mov edx, 1
mov ecx, edi
call fcn.10074730
mov eax, dword [edi]
cmp byte [eax + 0x51], 0
jne 0x100a8805
mov esi, dword [edi + 0x74]
mov eax, 0x2400
test word [esi + 8], ax
jne 0x100a87dc
cmp dword [esi + 0x18], 0
je 0x100a87e3
mov ecx, esi
call fcn.10071230
mov eax, 0xa02
mov dword [esi + 0x10], str.rows_inserted
mov dword [esi + 0x24], 0
mov dword [esi + 0xc], 0xd
mov word [esi + 8], ax
mov byte [esi + 0xa], 1
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x5c]
mov ecx, esi
mov edx, dword [esp + 0x64]
call fcn.1009d400
mov eax, dword [esp + 0x68]
test eax, eax
je 0x100a8829
mov edx, eax
mov ecx, esi
call fcn.1008ac80
mov eax, dword [esp + 0x50]
test eax, eax
je 0x100a8881
mov edx, dword [eax]
test edx, edx
je 0x100a8842
mov ecx, esi
call fcn.1008ac80
mov eax, dword [esp + 0x50]
mov edx, dword [eax + 4]
test edx, edx
je 0x100a8854
mov ecx, esi
call fcn.10089b00
mov eax, dword [esp + 0x50]
mov edx, dword [eax + 8]
test edx, edx
je 0x100a8866
mov ecx, esi
call fcn.1008ac80
mov eax, dword [esp + 0x50]
mov edx, dword [eax + 0xc]
test edx, edx
je 0x100a8878
mov ecx, esi
call fcn.10089b00
mov eax, dword [esp + 0x50]
mov edx, eax
mov ecx, esi
call fcn.10051800
mov eax, dword [esp + 0x40]
test eax, eax
je 0x100a8897
push 1
mov edx, eax
mov ecx, esi
call fcn.100b2710
add esp, 4
mov edx, edi
mov ecx, esi
call fcn.1009cfd0
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x100a893f
test esi, esi
je 0x100a8936
cmp dword [esi + 0x1f8], 0
je 0x100a88da
mov edx, ecx
mov ecx, esi
call fcn.100517a0
pop edi
pop esi
mov ecx, dword [esp + 0xc4]
xor ecx, esp
call fcn.1015c875
mov esp, ebp
pop ebp
ret
cmp ecx, dword [esi + 0x14c]
jae 0x100a8936
cmp ecx, dword [esi + 0x144]
jb 0x100a890c
mov eax, dword [esi + 0x140]
mov dword [ecx], eax
mov dword [esi + 0x140], ecx
pop edi
pop esi
mov ecx, dword [esp + 0xc4]
xor ecx, esp
call fcn.1015c875
mov esp, ebp
pop ebp
ret
cmp ecx, dword [esi + 0x148]
jb 0x100a8936
mov eax, dword [esi + 0x138]
mov dword [ecx], eax
mov dword [esi + 0x138], ecx
pop edi
pop esi
mov ecx, dword [esp + 0xc4]
xor ecx, esp
call fcn.1015c875
mov esp, ebp
pop ebp
ret
push ecx
call fcn.100516f0
add esp, 4
mov ecx, dword [esp + 0xcc]
pop edi
pop esi
xor ecx, esp
call fcn.1015c875
mov esp, ebp
pop ebp
ret