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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
or dword [esp + 0x1c], 0xffffffff
or dword [esp + 0x40], 0xffffffff
push ebx
mov ebx, dword [ebp + 8]
mov ecx, dword [ebx]
push esi
push edi
xor eax, eax
xor esi, esi
lea edi, [esp + 0x74]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x2c], ecx
stosd dword es:[edi], eax
cmp dword [ebx + 0x40], esi
jne 0x10082665
cmp byte [ecx + 0x1e], 0
jne 0x10082665
mov eax, dword [ebp + 0xc]
cmp dword [eax + 0xc], esi
je 0x10082665
push ebx
call fcn.1007f6a6
pop ecx
mov dword [esp + 0xc], eax
cmp eax, esi
je 0x10082665
mov ecx, dword [esp + 0x2c]
mov edi, eax
mov esi, dword [edi + 0x48]
call fcn.100859d5
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x50], eax
imul eax, eax, 0x18
push dword [eax + ecx]
xor esi, esi
push esi
push dword [edi + 4]
mov eax, ebx
push 0x12
call fcn.1007b725
add esp, 0x10
test eax, eax
jne 0x10082665
push esi
push 0x6a
mov eax, edi
call fcn.1008ae64
xor ecx, ecx
cmp dword [edi + 0x1c], esi
mov dword [esp + 0x48], eax
setne cl
push eax
mov eax, edi
mov dword [esp + 0x70], ecx
mov ecx, ebx
call fcn.1007f6ed
add esp, 0xc
test eax, eax
jne 0x10082665
push edi
push ebx
call fcn.1007d3e7
pop ecx
pop ecx
test eax, eax
jne 0x10082665
mov edi, ebx
call fcn.10087329
mov esi, eax
mov dword [esp + 0x20], esi
test esi, esi
je 0x10082665
cmp byte [ebx + 0x13], 0
jne 0x100819fb
mov byte [esi + 0x89], 1
xor edi, edi
cmp dword [ebp + 0x14], edi
jne 0x10081a0c
cmp dword [esp + 0x40], edi
jne 0x10081a0c
xor eax, eax
jmp 0x10081a0f
xor eax, eax
inc eax
push eax
mov eax, dword [esp + 0x54]
mov ecx, ebx
call fcn.1007ee77
pop ecx
cmp dword [esp + 0x40], edi
je 0x10081a2d
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x4c], eax
inc eax
mov dword [ebx + 0x44], eax
cmp dword [ebp + 0x18], edi
jne 0x10081a51
push dword [esp + 0x50]
mov eax, dword [ebp + 0x14]
push dword [ebp + 0x1c]
push dword [esp + 0x14]
push ebx
call fcn.10082fb5
add esp, 0x10
test eax, eax
jne 0x10082665
push dword [esp + 0xc]
mov ecx, ebx
push dword [esp + 0x54]
call fcn.10081706
pop ecx
pop ecx
mov dword [esp + 0x5c], eax
cmp dword [ebp + 0x14], edi
je 0x10081c5b
inc dword [ebx + 0x48]
mov eax, dword [ebx + 0x48]
push edi
push eax
mov dword [esp + 0x18], eax
push edi
push 0x31
mov eax, esi
call fcn.1006eee1
inc dword [ebx + 0x48]
mov eax, dword [ebx + 0x48]
mov dword [esp + 0x88], eax
mov eax, dword [esi + 0xc]
push dword [esp + 0x88]
inc eax
inc eax
mov dword [esp + 0x2c], eax
dec eax
push eax
push 0x31
mov eax, esi
mov byte [esp + 0x90], 0xa
mov byte [esp + 0x91], 0
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], edi
call fcn.1006ef67
add esp, 0x1c
push edi
push edi
push edi
push 0x61
mov eax, esi
call fcn.1006eee1
mov dword [esp + 0x64], eax
lea eax, [esp + 0x84]
push eax
push dword [ebp + 0x14]
push ebx
call fcn.10089523
add esp, 0x1c
test eax, eax
jne 0x10082665
cmp dword [ebx + 0x40], edi
jne 0x10082665
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x1e], 0
jne 0x10082665
push edi
push dword [esp + 0x14]
mov eax, esi
push 1
push 0x31
call fcn.1006eee1
push dword [esp + 0x88]
mov eax, esi
push 0x3d
call fcn.1006ef50
push edi
push 2
push 2
push 0x28
mov eax, esi
call fcn.1006eee1
mov edx, dword [esi + 0xc]
mov eax, dword [esp + 0x7c]
add esp, 0x28
mov ecx, esi
call fcn.1006f223
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x54], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
cmp dword [esp + 0x40], edi
jne 0x10081b88
push dword [esp + 0x50]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
mov ebx, esi
call fcn.10081695
mov ebx, dword [ebp + 8]
pop ecx
test eax, eax
je 0x10081cd5
mov edi, dword [ebx + 0x44]
lea eax, [edi + 1]
mov dword [ebx + 0x44], eax
mov eax, ebx
mov dword [esp + 0x44], 1
mov dword [esp + 0x38], edi
call fcn.10079d71
mov dword [esp + 0x18], eax
mov eax, ebx
call fcn.10079d71
push dword [esp + 0x24]
mov dword [esp + 0x34], eax
push edi
push 0x74
mov eax, esi
call fcn.1006ef67
add esp, 0xc
push dword [esp + 0x78]
mov eax, esi
push 0x3d
call fcn.1006ef50
push dword [esp + 0x18]
mov dword [esp + 0x40], eax
push 0xb
mov eax, esi
call fcn.1006ef50
push dword [esp + 0x28]
mov dword [esp + 0x28], eax
push dword [esp + 0x38]
mov eax, esi
push dword [esp + 0x94]
push 0x5a
call fcn.1006eee1
push dword [esp + 0x50]
mov eax, esi
push edi
push 0x1b
call fcn.1006ef67
add esp, 0x2c
push dword [esp + 0x30]
mov eax, esi
push dword [esp + 0x1c]
push edi
push 0x6e
call fcn.1006eee1
push 0
push dword [esp + 0x48]
mov eax, esi
push 0
push 0x61
call fcn.1006eee1
mov edx, dword [esi + 0xc]
mov eax, dword [esp + 0x34]
add esp, 0x20
mov ecx, esi
call fcn.1006f223
mov esi, dword [esp + 0x18]
mov eax, ebx
call fcn.10079d8c
mov esi, dword [esp + 0x30]
mov eax, ebx
call fcn.10079d8c
jmp 0x10081ccd
or dword [esp + 0x38], 0xffffffff
push 9
xor eax, eax
pop ecx
lea edi, [esp + 0x84]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov dword [esp + 0x84], ebx
cmp eax, ecx
je 0x10081c86
mov eax, dword [eax]
mov dword [esp + 0x24], eax
jmp 0x10081c8a
mov dword [esp + 0x24], ecx
cmp dword [esp + 0x24], ecx
mov dword [esp + 0x14], ecx
jle 0x10081cd1
and dword [esp + 0x18], 0
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0xc]
mov ecx, dword [esp + 0x18]
mov edi, dword [ecx + eax]
lea esi, [esp + 0x84]
call fcn.10076e89
test eax, eax
jne 0x10082665
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
add dword [esp + 0x18], 0x10
cmp eax, dword [esp + 0x24]
jl 0x10081c99
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0xc]
test byte [edi + 0x22], 0x10
je 0x10081d00
mov ecx, dword [edi + 0xc]
test ecx, ecx
jle 0x10081d00
mov eax, dword [edi + 0x10]
add eax, 0x13
mov dword [esp + 0x18], ecx
xor ecx, ecx
cmp byte [eax], cl
setne cl
add eax, 0x14
add dword [esp + 0x1c], ecx
dec dword [esp + 0x18]
jne 0x10081cec
mov ecx, dword [ebp + 0x18]
test ecx, ecx
jne 0x10081d42
cmp dword [esp + 0x24], ecx
je 0x10081e63
mov eax, dword [edi + 0xc]
mov ecx, eax
sub ecx, dword [esp + 0x1c]
cmp dword [esp + 0x24], ecx
je 0x10081e55
push dword [esp + 0x24]
mov edi, ebx
push eax
push 0
push dword [ebp + 0xc]
push str.table__S_has__d_columns_but__d_values_were_supplied
call fcn.10062232
add esp, 0x14
jmp 0x10082665
mov edx, dword [ecx + 4]
cmp dword [esp + 0x24], edx
je 0x10081d64
push edx
push dword [esp + 0x28]
mov edi, ebx
push str._d_values_for__d_columns
call fcn.10062232
add esp, 0xc
jmp 0x10082665
xor eax, eax
test edx, edx
jle 0x10081d77
mov edx, dword [ecx]
or dword [edx + eax*8 + 4], 0xffffffff
inc eax
cmp eax, dword [ecx + 4]
jl 0x10081d6a
and dword [esp + 0x14], 0
cmp dword [ecx + 4], 0
jle 0x10081e63
and dword [esp + 0x1c], 0
cmp dword [edi + 0xc], 0
jle 0x10081de9
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0x14]
lea eax, [eax + ecx*8]
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov edx, dword [eax]
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
call fcn.100622d0
test eax, eax
je 0x10081dd1
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
add dword [esp + 0x18], 0x14
cmp eax, dword [edi + 0xc]
jl 0x10081da8
jmp 0x10081de9
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov dword [ecx + 4], eax
cmp eax, dword [edi + 8]
jne 0x10081de9
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
cmp eax, dword [edi + 0xc]
jl 0x10081e17
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0x14]
mov esi, dword [eax + ecx*8]
call fcn.10077db4
test eax, eax
je 0x10081e2d
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0xc]
mov dword [esp + 0x28], eax
inc dword [esp + 0x14]
mov eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x14]
cmp ecx, dword [eax + 4]
jl 0x10081d86
jmp 0x10081e63
mov eax, dword [ebp + 0x18]
mov eax, dword [eax]
mov ecx, dword [esp + 0x14]
push dword [eax + ecx*8]
mov edi, ebx
push 0
push dword [ebp + 0xc]
push str.table__S_has_no_column_named__s
call fcn.10062232
add esp, 0x10
inc dword [ebx + 0x40]
jmp 0x10082665
cmp dword [esp + 0x24], 0
jle 0x10081e63
mov eax, dword [edi + 8]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x40], 0
je 0x10081e8e
push 0
push dword [edi + 0xc]
mov eax, esi
push 0
push 0x66
call fcn.1006eee1
push 0
push 0
push dword [esp + 0x64]
mov eax, esi
push 0x73
call fcn.1006eee1
add esp, 0x20
mov edi, dword [esp + 0x2c]
test byte [edi + 0xc], 0x80
je 0x10081eb3
inc dword [ebx + 0x48]
mov eax, dword [ebx + 0x48]
push 0
push eax
mov dword [esp + 0x74], eax
push 0
push 0x31
mov eax, esi
call fcn.1006eee1
add esp, 0x10
cmp dword [esp + 0x64], 0
jne 0x10081f12
mov ebx, dword [ebx + 0x44]
mov eax, dword [ebp + 8]
push 0xa
push ebx
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x14]
call fcn.10082eb8
mov ebx, eax
lea eax, [ebx*4 + 4]
push eax
mov esi, edi
call fcn.10060931
add esp, 0xc
mov dword [esp + 0x58], eax
test eax, eax
je 0x10082665
xor ecx, ecx
test ebx, ebx
jle 0x10081f0b
mov eax, dword [ebp + 8]
inc dword [eax + 0x48]
mov eax, dword [eax + 0x48]
mov edx, dword [esp + 0x58]
mov dword [edx + ecx*4], eax
inc ecx
cmp ecx, ebx
jl 0x10081ef6
mov esi, dword [esp + 0x20]
mov ebx, dword [ebp + 8]
cmp dword [esp + 0x44], 0
je 0x10081f35
push dword [esp + 0x38]
mov eax, esi
push 0x78
call fcn.1006ef50
mov dword [esp + 0x70], eax
mov eax, dword [esi + 0xc]
pop ecx
pop ecx
mov dword [esp + 0x60], eax
jmp 0x10081f60
cmp dword [ebp + 0x14], 0
je 0x10081f60
push dword [esp + 0x78]
mov eax, esi
push 0x3d
call fcn.1006ef50
push dword [esp + 0x18]
mov dword [esp + 0x6c], eax
push 0xb
mov eax, esi
call fcn.1006ef50
add esp, 0x10
mov dword [esp + 0x68], eax
inc dword [ebx + 0x48]
mov eax, dword [ebx + 0x48]
mov edx, dword [esp + 0xc]
mov edi, dword [edx + 0xc]
lea ecx, [eax + 1]
lea eax, [edi + eax + 1]
mov dword [ebx + 0x48], eax
test byte [edx + 0x22], 0x10
mov dword [esp + 0x30], ecx
mov dword [esp + 0x10], ecx
je 0x10081f8e
inc ecx
inc eax
mov dword [esp + 0x10], ecx
mov dword [ebx + 0x48], eax
mov eax, esi
call fcn.1006efae
test byte [esp + 0x40], 1
mov dword [esp + 0x18], eax
je 0x10082198
mov eax, ebx
call fcn.10079d71
xor ecx, ecx
cmp dword [esp + 0x28], ecx
mov dword [esp + 0x1c], eax
jge 0x10081fbf
push ecx
push eax
push 0xffffffffffffffff
push 0x31
jmp 0x10081fd0
cmp dword [esp + 0x44], ecx
je 0x10081fdc
push eax
push dword [esp + 0x2c]
push dword [esp + 0x40]
push 3
mov eax, esi
call fcn.1006eee1
add esp, 0x10
jmp 0x10082035
mov eax, dword [esp + 0x28]
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0xc]
mov esi, dword [esp + 0x1c]
shl eax, 4
push dword [eax + ecx]
mov edi, ebx
call fcn.10079366
pop ecx
push esi
mov esi, dword [esp + 0x24]
push 0x47
mov eax, esi
call fcn.1006ef50
push 0
push dword [esp + 0x28]
mov edi, eax
push 0xffffffffffffffff
push 0x31
mov eax, esi
call fcn.1006eee1
mov edx, dword [esi + 0xc]
mov eax, edi
mov ecx, esi
call fcn.1006f223
push dword [esp + 0x34]
mov eax, esi
push 0x27
call fcn.1006ef50
add esp, 0x20
mov eax, dword [esp + 0xc]
push dword [eax + 0xc]
mov esi, ebx
call fcn.10079dad
mov edi, eax
mov eax, dword [esp + 0x10]
xor esi, esi
cmp dword [eax + 0xc], esi
pop ecx
mov dword [esp + 0x70], edi
mov dword [esp + 0x14], esi
jle 0x100820f9
and dword [esp + 0x34], esi
mov ecx, dword [ebp + 0x18]
test ecx, ecx
jne 0x1008208a
mov eax, esi
cmp dword [esp + 0x44], 0
lea ecx, [edi + esi]
je 0x100820cb
push ecx
push eax
push dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
push 3
call fcn.1006eee1
add esp, 0x10
jmp 0x100820e2
mov edx, dword [ecx + 4]
xor eax, eax
test edx, edx
jle 0x100820a4
mov ecx, dword [ecx]
add ecx, 4
cmp dword [ecx], esi
je 0x100820a4
inc eax
add ecx, 8
cmp eax, edx
jl 0x10082098
cmp eax, edx
jl 0x1008206a
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x34]
push dword [eax + ecx + 4]
add esi, edi
mov edi, ebx
call fcn.10079366
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x74]
pop ecx
jmp 0x100820e2
mov edx, dword [ebp + 0x10]
mov edx, dword [edx + 0xc]
shl eax, 4
mov ebx, dword [eax + edx]
mov eax, dword [ebp + 8]
call fcn.10079390
mov ebx, dword [ebp + 8]
mov eax, dword [esp + 0xc]
add dword [esp + 0x34], 0x14
inc esi
cmp esi, dword [eax + 0xc]
mov dword [esp + 0x14], esi
jl 0x10082061
mov eax, ebx
call fcn.10079d71
push eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x10]
push dword [eax + 0xc]
mov eax, dword [esp + 0x28]
push edi
push 0x5a
call fcn.1006eee1
add esp, 0x10
cmp dword [esp + 0x64], 0
jne 0x10082130
push dword [esp + 0x20]
mov esi, dword [esp + 0x10]
call fcn.10081635
pop ecx
push dword [esp + 0x1c]
mov esi, dword [esp + 0x74]
mov eax, dword [esp + 0x24]
push esi
push dword [esp + 0x54]
push 0x6e
call fcn.1006eee1
mov eax, ebx
call fcn.10079d8c
mov esi, dword [esp + 0x2c]
mov eax, ebx
call fcn.10079d8c
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0xc]
push edi
mov eax, ebx
call fcn.10079df3
add esp, 0x14
xor eax, eax
push eax
push eax
push dword [esp + 0x20]
push dword [ebp + 0x1c]
push 0xffffffffffffffff
push dword [esp + 0x60]
push edx
push 1
push eax
push 0x6a
push ebx
call fcn.1008b0c9
add esp, 0x2c
test eax, eax
jne 0x10082665
mov esi, dword [esp + 0x20]
xor edi, edi
cmp dword [esp + 0x64], edi
jne 0x10082502
mov eax, dword [esp + 0xc]
test byte [eax + 0x22], 0x10
je 0x100821c0
push edi
push dword [esp + 0x34]
mov eax, esi
push edi
push 0x75
call fcn.1006eee1
add esp, 0x10
cmp dword [esp + 0x28], edi
jl 0x100822e5
cmp dword [esp + 0x44], edi
je 0x100821ed
push dword [esp + 0x10]
mov eax, esi
push dword [esp + 0x2c]
push dword [esp + 0x40]
push 3
call fcn.1006eee1
add esp, 0x10
jmp 0x1008227d
cmp dword [ebp + 0x14], edi
je 0x1008220f
mov ecx, dword [esp + 0x28]
push dword [esp + 0x10]
mov eax, dword [esp + 0x58]
add eax, ecx
push eax
push 9
mov eax, esi
call fcn.1006ef67
add esp, 0xc
jmp 0x1008227d
mov eax, dword [esp + 0x28]
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0xc]
mov esi, dword [esp + 0x10]
shl eax, 4
push dword [eax + ecx]
mov edi, ebx
call fcn.10079366
mov edx, dword [esp + 0x24]
pop ecx
mov ecx, dword [edx + 0xc]
lea eax, [ecx - 1]
test eax, eax
jl 0x10082245
cmp eax, ecx
jge 0x10082245
imul eax, eax, 0x14
add eax, dword [edx + 0x14]
jmp 0x10082247
xor eax, eax
test eax, eax
je 0x1008227b
cmp byte [eax], 0x75
jne 0x1008227b
mov ecx, dword [esp + 0xc]
test byte [ecx + 0x22], 0x10
jne 0x1008227b
mov ecx, dword [esp + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x5c]
mov byte [eax], 0x1b
mov dword [eax + 0xc], ecx
mov esi, edx
xor edi, edi
jmp 0x10082319
mov esi, edx
mov eax, dword [esp + 0xc]
test byte [eax + 0x22], 0x10
jne 0x100822bc
push dword [esp + 0x10]
mov eax, esi
push 0x47
call fcn.1006ef50
push dword [esp + 0x64]
mov edi, eax
push dword [esp + 0x1c]
mov eax, esi
push dword [esp + 0x4c]
push 0x1b
call fcn.1006eee1
mov edx, dword [esi + 0xc]
add esp, 0x18
mov eax, edi
mov ecx, esi
call fcn.1006f223
jmp 0x100822d2
mov eax, dword [esi + 0xc]
inc eax
inc eax
push eax
push dword [esp + 0x14]
mov eax, esi
push 0x46
call fcn.1006ef67
add esp, 0xc
push dword [esp + 0x10]
mov eax, esi
push 0x27
call fcn.1006ef50
pop ecx
pop ecx
xor edi, edi
jmp 0x10082321
mov eax, dword [esp + 0xc]
test byte [eax + 0x22], 0x10
mov eax, esi
je 0x10082303
push edi
push dword [esp + 0x14]
push edi
push 0x75
call fcn.1006eee1
add esp, 0x10
jmp 0x10082321
push dword [esp + 0x5c]
push dword [esp + 0x14]
push dword [esp + 0x44]
push 0x1b
call fcn.1006eee1
add esp, 0x10
mov dword [esp + 0x48], 1
push dword [esp + 0x10]
mov eax, ebx
push dword [esp + 0x60]
call fcn.10081814
mov eax, dword [esp + 0x14]
cmp dword [eax + 0xc], edi
pop ecx
pop ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x14], edi
jle 0x100823d1
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x34], edi
mov ecx, dword [esp + 0x14]
cmp ecx, dword [eax + 8]
jne 0x10082375
push edi
push dword [esp + 0x14]
push edi
push 0x75
mov eax, esi
call fcn.1006eee1
add esp, 0x10
jmp 0x100823b7
mov edx, dword [ebp + 0x18]
cmp edx, edi
jne 0x1008241c
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x34]
cmp byte [eax + ecx + 0x13], 0
je 0x10082412
inc dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x34]
push dword [eax + ecx + 4]
mov esi, dword [esp + 0x14]
mov edi, ebx
call fcn.10079366
mov esi, dword [esp + 0x24]
xor edi, edi
pop ecx
inc dword [esp + 0x14]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
inc dword [esp + 0x10]
add dword [esp + 0x34], 0x14
cmp ecx, dword [eax + 0xc]
jl 0x10082358
mov eax, dword [esp + 0xc]
test byte [eax + 0x22], 0x10
je 0x100824a3
mov esi, dword [ebp + 8]
mov ebx, eax
call fcn.1008cf84
push 0xfffffffffffffff6
mov eax, ebx
push dword [eax + 0x3c]
mov eax, dword [eax + 0xc]
push dword [esp + 0x38]
inc eax
inc eax
push eax
push 1
push 0x7b
push dword [esp + 0x38]
call fcn.1006ef7e
mov ebx, esi
mov esi, dword [esp + 0x3c]
jmp 0x100824fd
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x1c]
jmp 0x1008243c
xor eax, eax
cmp dword [edx + 4], edi
jle 0x10082444
mov ecx, dword [edx]
add ecx, 4
mov edx, dword [esp + 0x14]
cmp dword [ecx], edx
mov edx, dword [ebp + 0x18]
je 0x1008243c
inc eax
add ecx, 8
cmp eax, dword [edx + 4]
jl 0x10082428
cmp eax, edi
jl 0x10082396
cmp dword [esp + 0x24], edi
je 0x10082396
cmp edx, edi
je 0x1008245b
cmp eax, dword [edx + 4]
jge 0x10082396
cmp dword [esp + 0x44], edi
je 0x10082471
push dword [esp + 0x10]
push eax
push dword [esp + 0x40]
push 3
jmp 0x10082369
cmp dword [ebp + 0x14], edi
je 0x10082492
mov ecx, dword [esp + 0x54]
push dword [esp + 0x10]
add eax, ecx
push eax
push 9
mov eax, esi
call fcn.1006ef67
add esp, 0xc
jmp 0x100823b7
mov ecx, dword [ebp + 0x10]
mov ecx, dword [ecx + 0xc]
shl eax, 4
push dword [eax + ecx]
jmp 0x100823a5
push dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
push dword [ebp + 0x1c]
xor eax, eax
cmp dword [esp + 0x30], edi
push edi
setge al
push eax
push dword [esp + 0x68]
push dword [esp + 0x44]
push dword [esp + 0x54]
push ebx
call fcn.100826b0
add esp, 0x20
test byte [esp + 0x40], 2
je 0x100824db
mov eax, dword [esp + 0x4c]
jmp 0x100824de
or eax, 0xffffffff
push dword [esp + 0x48]
push eax
push edi
push dword [esp + 0x64]
push dword [esp + 0x40]
push dword [esp + 0x50]
push ebx
mov ebx, dword [esp + 0x28]
call fcn.10082db5
mov ebx, dword [ebp + 8]
add esp, 0x1c
xor edi, edi
mov eax, dword [esp + 0x2c]
test byte [eax + 0xc], 0x80
je 0x1008251f
push edi
push 1
push dword [esp + 0x74]
mov eax, esi
push 0x2b
call fcn.1006eee1
add esp, 0x10
cmp dword [esp + 0x40], edi
je 0x1008254e
push edi
push edi
push dword [esp + 0x20]
push dword [ebp + 0x1c]
push 0xffffffffffffffff
push dword [esp + 0x60]
push dword [esp + 0x24]
push 2
push edi
push 0x6a
push ebx
call fcn.1008b0c9
add esp, 0x2c
test eax, eax
jne 0x10082665
mov edx, dword [esp + 0x18]
mov ecx, esi
call fcn.1006effc
cmp dword [esp + 0x44], edi
je 0x10082592
push dword [esp + 0x60]
mov eax, esi
push dword [esp + 0x3c]
push 0x6b
call fcn.1006ef67
mov edx, dword [esi + 0xc]
mov eax, dword [esp + 0x74]
add esp, 0xc
mov ecx, esi
call fcn.1006f223
push dword [esp + 0x38]
mov eax, esi
push 0x22
call fcn.1006ef50
pop ecx
pop ecx
jmp 0x100825b7
cmp dword [ebp + 0x14], edi
je 0x100825b7
push edi
push dword [esp + 0x64]
mov eax, esi
push edi
push 0x61
call fcn.1006eee1
mov edx, dword [esi + 0xc]
mov eax, dword [esp + 0x78]
add esp, 0x10
mov ecx, esi
call fcn.1006f223
mov eax, dword [esp + 0xc]
test byte [eax + 0x22], 0x10
jne 0x10082605
cmp dword [esp + 0x64], 0
jne 0x10082605
push dword [esp + 0x3c]
mov eax, esi
push 0x22
call fcn.1006ef50
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0x14]
pop ecx
pop ecx
test edi, edi
je 0x10082605
mov eax, dword [esp + 0x3c]
inc eax
mov dword [esp + 0x48], eax
push dword [esp + 0x48]
mov eax, esi
push 0x22
call fcn.1006ef50
mov edi, dword [edi + 0x20]
inc dword [esp + 0x50]
pop ecx
pop ecx
test edi, edi
jne 0x100825eb
mov eax, dword [esp + 0xc]
test byte [eax + 0x22], 8
je 0x1008261f
push dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
mov eax, ebx
call fcn.10081833
pop ecx
mov eax, dword [esp + 0x2c]
test byte [eax + 0xc], 0x80
je 0x10082665
cmp byte [ebx + 0x13], 0
jne 0x10082665
cmp dword [ebx + 0x194], 0
jne 0x10082665
xor ebx, ebx
push ebx
xor edi, edi
inc edi
push edi
push dword [esp + 0x74]
mov eax, esi
push 0x5b
call fcn.1006eee1
call fcn.1006faff
mov eax, dword [esp + 0x30]
push ebx
push str.rows_inserted
push ebx
push ebx
call fcn.1006fb5a
add esp, 0x20
push dword [esp + 0x2c]
mov ebx, dword [ebp + 0xc]
call fcn.1007ea4c
mov esi, dword [ebp + 0x10]
pop ecx
push dword [esp + 0x2c]
call fcn.10077c4c
pop ecx
push dword [ebp + 0x14]
push dword [esp + 0x30]
call fcn.10086037
push dword [esp + 0x34]
mov esi, dword [ebp + 0x18]
call fcn.1007e820
add esp, 0xc
push dword [esp + 0x58]
push dword [esp + 0x30]
call fcn.10060799
pop ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret