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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
push ebx
push esi
push edi
xor eax, eax
mov dword [esp + 0x64], edx
lea edi, [esp + 0x7c]
xor edx, edx
stosd dword es:[edi], eax
mov ebx, ecx
or ecx, 0xffffffff
mov dword [esp + 0x4c], ebx
or dword [esp + 0x50], ecx
mov dword [esp + 0x40], ecx
mov ecx, dword [ebx]
stosd dword es:[edi], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x38], edx
stosd dword es:[edi], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], edx
mov dword [esp + 0x74], edx
mov dword [esp + 0x60], edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x58], edx
mov dword [esp + 0x44], ecx
stosd dword es:[edi], eax
cmp dword [ebx + 0x40], edx
jne 0x44782f
cmp byte [ecx + 0x1e], dl
jne 0x44782f
mov edx, dword [esp + 0x64]
cmp dword [edx + 0xc], 0
je 0x44782f
mov ecx, ebx
call fcn.00444686
mov esi, eax
mov dword [esp + 0x34], esi
test esi, esi
je 0x44782f
mov edi, dword [esp + 0x44]
mov ecx, edi
mov edx, dword [esi + 0x48]
call fcn.0044b05f
imul ecx, eax, 0x18
mov dword [esp + 0x54], eax
mov eax, dword [edi + 8]
xor edi, edi
push dword [ecx + eax]
mov ecx, ebx
push edi
push dword [esi + 4]
push 0x12
pop edx
call fcn.004405db
add esp, 0xc
test eax, eax
jne 0x44782f
push edi
push 0x6a
pop edx
mov ecx, esi
call fcn.004509e4
pop ecx
xor ecx, ecx
mov dword [esp + 0x3c], eax
cmp dword [esi + 0x1c], edi
mov edx, esi
push eax
setne cl
mov dword [esp + 0x74], ecx
mov ecx, ebx
call fcn.004446c7
pop ecx
test eax, eax
jne 0x44782f
mov edx, esi
mov ecx, ebx
call fcn.00442195
test eax, eax
jne 0x44782f
mov ecx, ebx
call fcn.0044cb9c
mov edi, eax
mov dword [esp + 0x48], edi
test edi, edi
je 0x44782f
cmp byte [ebx + 0x13], 0
jne 0x446bb1
mov byte [edi + 0x89], 1
cmp dword [ebp + 0xc], 0
jne 0x446bc2
cmp dword [esp + 0x3c], 0
jne 0x446bc2
xor edx, edx
jmp 0x446bc5
xor edx, edx
inc edx
push dword [esp + 0x54]
mov ecx, ebx
call fcn.00443ddb
cmp dword [esp + 0x40], 0
pop ecx
je 0x446be3
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x50], eax
inc eax
mov dword [ebx + 0x44], eax
cmp dword [ebp + 0x10], 0
jne 0x446c07
push dword [esp + 0x54]
mov edx, esi
mov ecx, ebx
push dword [ebp + 0x14]
push dword [ebp + 0xc]
call fcn.004481a5
add esp, 0xc
test eax, eax
jne 0x44782f
mov edx, dword [esp + 0x54]
mov ecx, ebx
push esi
call fcn.00446865
cmp dword [ebp + 0xc], 0
pop ecx
mov dword [esp + 0x5c], eax
je 0x446e40
inc dword [ebx + 0x48]
mov ecx, edi
mov eax, dword [ebx + 0x48]
push 0
push eax
push 0
push 0x31
pop edx
mov dword [esp + 0x24], eax
call fcn.00432b43
mov eax, dword [ebx + 0x48]
add esp, 0xc
inc eax
mov word [esp + 0x7c], 0xa
mov dword [ebx + 0x48], eax
xor edx, edx
mov ecx, dword [edi + 0xc]
add ecx, 2
mov dword [esp + 0x80], eax
push edx
push eax
mov dword [esp + 0x8c], edx
lea eax, [ecx - 1]
mov dword [esp + 0x90], edx
push eax
mov dword [esp + 0x20], ecx
mov ecx, edi
push 0x31
pop edx
call fcn.00432b43
add esp, 0xc
xor eax, eax
mov ecx, edi
push eax
push eax
push eax
push 0x61
pop edx
call fcn.00432b43
mov edx, dword [ebp + 0xc]
add esp, 0xc
mov dword [esp + 0x10], eax
mov ecx, ebx
lea eax, [esp + 0x7c]
push eax
call fcn.0044ef83
pop ecx
test eax, eax
jne 0x44782f
cmp dword [ebx + 0x40], eax
jne 0x44782f
mov eax, dword [esp + 0x44]
cmp byte [eax + 0x1e], 0
jne 0x44782f
push 0
push dword [esp + 0x1c]
mov ecx, edi
push 1
push 0x31
pop edx
call fcn.00432b43
add esp, 0xc
mov ecx, edi
push 0
push 0
push dword [esp + 0x88]
push 0x3d
pop edx
call fcn.00432b43
add esp, 0xc
mov ecx, edi
push 0
push 2
push 2
push 0x28
pop edx
call fcn.00432b43
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov ecx, edi
push dword [edi + 0xc]
call fcn.00432e4e
cmp dword [esp + 0x40], 0
mov eax, dword [esp + 0x88]
mov dword [esp + 0x64], eax
mov eax, dword [ebp + 0xc]
pop ecx
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
jne 0x446d4b
mov edx, dword [esp + 0x14]
mov ecx, edi
push esi
push dword [esp + 0x58]
call fcn.004467e6
pop ecx
pop ecx
test eax, eax
je 0x446ea9
mov edx, dword [ebx + 0x44]
mov ecx, ebx
mov dword [esp + 0x38], 1
mov dword [esp + 0x20], edx
lea eax, [edx + 1]
mov dword [ebx + 0x44], eax
call fcn.0043eb55
mov ebx, eax
call fcn.0043eb55
xor esi, esi
mov dword [esp + 0x1c], eax
push esi
push dword [esp + 0x34]
mov ecx, edi
push edx
push 0x74
pop edx
call fcn.00432b43
add esp, 0xc
mov ecx, edi
push esi
push esi
push dword [esp + 0x88]
push 0x3d
pop edx
call fcn.00432b43
mov ecx, dword [esp + 0x54]
add esp, 0xc
mov edi, eax
push esi
push esi
push dword [esp + 0x20]
push 0xb
pop edx
call fcn.00432b43
mov ecx, dword [esp + 0x54]
add esp, 0xc
mov esi, eax
push ebx
push dword [esp + 0x34]
push dword [esp + 0x68]
push 0x5a
pop edx
call fcn.00432b43
mov ecx, dword [esp + 0x54]
add esp, 0xc
push 0
push dword [esp + 0x20]
push dword [esp + 0x28]
push 0x1b
pop edx
call fcn.00432b43
mov ecx, dword [esp + 0x54]
add esp, 0xc
push dword [esp + 0x1c]
push ebx
push dword [esp + 0x28]
push 0x6e
pop edx
call fcn.00432b43
add esp, 0xc
push 0
push edi
mov edi, dword [esp + 0x50]
mov ecx, edi
push 0
push 0x61
pop edx
call fcn.00432b43
add esp, 0xc
mov edx, esi
mov ecx, edi
push dword [edi + 0xc]
call fcn.00432e4e
pop ecx
mov edx, ebx
mov ebx, dword [esp + 0x4c]
mov ecx, ebx
call fcn.0043eb71
mov edx, dword [esp + 0x1c]
mov ecx, ebx
call fcn.0043eb71
mov esi, dword [esp + 0x34]
jmp 0x446ea9
or dword [esp + 0x20], 0xffffffff
lea edi, [esp + 0x8c]
push 9
xor eax, eax
pop ecx
rep stosd dword es:[edi], eax
mov ecx, dword [ebp + 8]
mov dword [esp + 0x8c], ebx
test ecx, ecx
je 0x446e65
mov eax, dword [ecx]
jmp 0x446e67
xor eax, eax
and dword [esp + 0x14], 0
mov dword [esp + 0x30], eax
test eax, eax
jle 0x446ea5
xor edi, edi
mov edx, dword [ecx + 0xc]
lea ecx, [esp + 0x8c]
mov edx, dword [edi + edx]
call fcn.0043ba15
test eax, eax
jne 0x44782f
mov eax, dword [esp + 0x14]
add edi, 0x10
mov ecx, dword [ebp + 8]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x30]
jl 0x446e76
mov edi, dword [esp + 0x48]
test byte [esi + 0x22], 0x10
je 0x446ecd
mov edx, dword [esi + 0xc]
test edx, edx
jle 0x446ecd
mov ecx, dword [esi + 0x10]
add ecx, 0x13
xor eax, eax
cmp byte [ecx], al
lea ecx, [ecx + 0x14]
setne al
add dword [esp + 0x24], eax
dec edx
jne 0x446ebc
mov edx, dword [ebp + 0x10]
test edx, edx
jne 0x446ff3
mov edx, dword [esp + 0x30]
test edx, edx
je 0x446f13
mov ecx, dword [esi + 0xc]
mov eax, ecx
sub eax, dword [esp + 0x24]
cmp edx, eax
je 0x446f08
push edx
push ecx
push 0
push dword [esp + 0x70]
push str.table__S_has__d_columns_but__d_values_were_supplied
push ebx
call fcn.00425a20
add esp, 0x18
jmp 0x44782f
test edx, edx
jle 0x446f13
mov ecx, dword [esi + 8]
mov dword [esp + 0x40], ecx
cmp dword [esp + 0x3c], 0
je 0x446f43
push 0
push dword [esi + 0xc]
mov ecx, edi
push 0
push 0x66
pop edx
call fcn.00432b43
add esp, 0xc
mov ecx, edi
push 0
push 0
push dword [esp + 0x58]
push 0x73
pop edx
call fcn.00432b43
add esp, 0xc
mov eax, dword [esp + 0x44]
test byte [eax + 0xc], 0x80
je 0x446f6c
inc dword [ebx + 0x48]
mov ecx, edi
mov eax, dword [ebx + 0x48]
push 0
push eax
push 0
push 0x31
pop edx
mov dword [esp + 0x84], eax
call fcn.00432b43
add esp, 0xc
cmp dword [esp + 0x70], 0
jne 0x446fc6
mov eax, dword [ebx + 0x44]
mov edx, esi
push 0xa
push eax
mov ecx, ebx
mov dword [esp + 0x34], eax
call fcn.004480ab
pop ecx
pop ecx
mov ecx, dword [esp + 0x44]
lea edx, [eax*4 + 4]
mov dword [esp + 0x10], eax
call fcn.00424049
mov dword [esp + 0x58], eax
test eax, eax
je 0x44782f
mov edx, dword [esp + 0x10]
xor ecx, ecx
test edx, edx
jle 0x446fc6
mov esi, eax
inc dword [ebx + 0x48]
mov eax, dword [ebx + 0x48]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, edx
jl 0x446fb4
mov esi, dword [esp + 0x34]
cmp dword [esp + 0x38], 0
je 0x4470f8
push 0
push 0
push dword [esp + 0x28]
mov ecx, edi
push 0x78
pop edx
call fcn.00432b43
mov dword [esp + 0x78], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x74], eax
jmp 0x447130
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x30]
cmp ecx, eax
je 0x447013
push eax
push ecx
push str._d_values_for__d_columns
push ebx
call fcn.00425a20
add esp, 0x10
jmp 0x44782f
xor ecx, ecx
test eax, eax
jle 0x447026
mov eax, dword [edx]
or dword [eax + ecx*8 + 4], 0xffffffff
inc ecx
cmp ecx, dword [edx + 4]
jl 0x447019
xor eax, eax
mov dword [esp + 0xc], eax
cmp dword [edx + 4], eax
jle 0x446f13
xor ecx, ecx
mov dword [esp + 0x1c], ecx
cmp ecx, dword [esi + 0xc]
jge 0x4470a4
mov ecx, dword [edx]
mov dword [esp + 0x24], ecx
mov eax, dword [ecx + eax*8]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 0x14], eax
mov edx, dword [eax]
mov ecx, dword [esp + 0x10]
call fcn.00425ac5
mov ecx, dword [esp + 0x1c]
test eax, eax
je 0x447082
mov eax, dword [esp + 0x14]
inc ecx
add eax, 0x14
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
cmp ecx, dword [esi + 0xc]
jl 0x447054
mov eax, dword [esp + 0xc]
jmp 0x44709c
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x24]
mov dword [edx + eax*8 + 4], ecx
mov edx, dword [esp + 0x40]
cmp ecx, dword [esi + 8]
cmove edx, eax
mov dword [esp + 0x40], edx
mov edx, dword [ebp + 0x10]
cmp ecx, dword [esi + 0xc]
jl 0x4470bd
mov ecx, dword [edx]
mov ecx, dword [ecx + eax*8]
call fcn.0043c9c8
test eax, eax
je 0x4470d0
mov eax, dword [esp + 0xc]
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x40], eax
inc eax
mov dword [esp + 0xc], eax
cmp eax, dword [edx + 4]
jl 0x447035
jmp 0x446f13
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax]
push dword [eax + ecx*8]
push 0
push dword [esp + 0x6c]
push str.table__S_has_no_column_named__s
push ebx
call fcn.00425a20
add esp, 0x14
inc dword [ebx + 0x40]
jmp 0x44782f
cmp dword [ebp + 0xc], 0
je 0x447133
push 0
push 0
push dword [esp + 0x88]
mov ecx, edi
push 0x3d
pop edx
call fcn.00432b43
add esp, 0xc
mov dword [esp + 0x68], eax
mov ecx, edi
push 0
push 0
push dword [esp + 0x20]
push 0xb
pop edx
call fcn.00432b43
mov dword [esp + 0x78], eax
add esp, 0xc
inc dword [ebx + 0x48]
mov ecx, dword [ebx + 0x48]
mov eax, dword [esi + 0xc]
inc eax
add eax, ecx
lea edx, [ecx + 1]
mov dword [ebx + 0x48], eax
test byte [esi + 0x22], 0x10
mov dword [esp + 0x24], edx
mov dword [esp + 0xc], edx
je 0x44715e
lea ecx, [edx + 1]
inc eax
mov dword [esp + 0xc], ecx
mov dword [ebx + 0x48], eax
mov ecx, edi
call fcn.00432bca
test byte [esp + 0x3c], 1
mov dword [esp + 0x1c], eax
je 0x447370
mov ecx, ebx
call fcn.0043eb55
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x18], eax
test ecx, ecx
jns 0x447198
push 0
push eax
push 0xffffffffffffffff
push 0x31
pop edx
mov ecx, edi
call fcn.00432b43
jmp 0x44720d
cmp dword [esp + 0x38], 0
push eax
je 0x4471a9
push ecx
push dword [esp + 0x28]
push 3
jmp 0x44718e
mov edx, dword [ebp + 8]
mov eax, ecx
add eax, eax
mov ecx, ebx
mov edx, dword [edx + 0xc]
mov edx, dword [edx + eax*8]
call fcn.0043e10f
pop ecx
push 0
push 0
push dword [esp + 0x20]
mov ecx, edi
push 0x47
pop edx
call fcn.00432b43
add esp, 0xc
mov ecx, edi
mov esi, eax
push 0
push dword [esp + 0x1c]
push 0xffffffffffffffff
push 0x31
pop edx
call fcn.00432b43
add esp, 0xc
mov edx, esi
mov ecx, edi
push dword [edi + 0xc]
call fcn.00432e4e
pop ecx
push 0
push 0
push dword [esp + 0x20]
mov ecx, edi
push 0x27
pop edx
call fcn.00432b43
mov esi, dword [esp + 0x40]
mov edx, dword [esi + 0xc]
add esp, 0xc
mov ecx, ebx
call fcn.0043eb94
mov edx, eax
xor eax, eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], eax
cmp dword [esi + 0xc], eax
jle 0x4472d8
and dword [esp + 0x14], eax
cmp dword [ebp + 0x10], 0
jne 0x447259
mov ecx, eax
add eax, edx
cmp dword [esp + 0x38], 0
push eax
je 0x4472aa
push ecx
push dword [esp + 0x28]
mov ecx, edi
push 3
pop edx
call fcn.00432b43
add esp, 0xc
jmp 0x4472bd
mov edi, dword [ebp + 0x10]
xor ecx, ecx
cmp dword [edi + 4], ecx
mov edi, dword [esp + 0x48]
jle 0x447287
mov edx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x10]
mov edx, dword [edx]
add edx, 4
cmp dword [edx], eax
je 0x44727f
inc ecx
add edx, 8
cmp ecx, dword [ebx + 4]
jl 0x447272
mov ebx, dword [esp + 0x4c]
mov edx, dword [esp + 0x28]
mov esi, dword [ebp + 0x10]
cmp ecx, dword [esi + 4]
mov esi, dword [esp + 0x34]
jl 0x44723b
add eax, edx
mov ecx, ebx
mov edx, dword [esi + 0x10]
push eax
mov eax, dword [esp + 0x18]
mov edx, dword [edx + eax + 4]
call fcn.0043e10f
jmp 0x4472bc
mov eax, dword [ebp + 8]
add ecx, ecx
mov edx, dword [eax + 0xc]
mov edx, dword [edx + ecx*8]
mov ecx, ebx
call fcn.0043e141
pop ecx
mov eax, dword [esp + 0x10]
add dword [esp + 0x14], 0x14
inc eax
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
cmp eax, dword [esi + 0xc]
jl 0x447233
mov ecx, ebx
call fcn.0043eb55
push eax
push dword [esi + 0xc]
mov ecx, edi
mov dword [esp + 0x18], eax
push edx
push 0x5a
pop edx
call fcn.00432b43
add esp, 0xc
cmp dword [esp + 0x70], 0
jne 0x447305
mov edx, esi
mov ecx, edi
call fcn.00446785
push dword [esp + 0x18]
mov ecx, edi
push dword [esp + 0x14]
push dword [esp + 0x58]
push 0x6e
pop edx
call fcn.00432b43
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov ecx, ebx
call fcn.0043eb71
mov edx, dword [esp + 0x18]
mov ecx, ebx
call fcn.0043eb71
mov eax, dword [esi + 0xc]
cmp eax, dword [ebx + 0x38]
jle 0x447346
mov dword [ebx + 0x38], eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 0x3c], eax
xor eax, eax
mov ecx, ebx
push eax
push eax
push dword [esp + 0x24]
push dword [ebp + 0x14]
push 0xffffffffffffffff
push dword [esp + 0x64]
push esi
push 1
push eax
push 0x6a
pop edx
call fcn.00450c5b
add esp, 0x24
test eax, eax
jne 0x44782f
cmp dword [esp + 0x70], 0
jne 0x4476aa
test byte [esi + 0x22], 0x10
je 0x447396
push 0
push dword [esp + 0x28]
mov ecx, edi
push 0
push 0x75
pop edx
call fcn.00432b43
add esp, 0xc
mov eax, dword [esp + 0x40]
test eax, eax
js 0x4474ac
cmp dword [esp + 0x38], 0
je 0x447411
push dword [esp + 0xc]
push eax
push dword [esp + 0x28]
push 3
pop edx
mov ecx, edi
call fcn.00432b43
add esp, 0xc
test byte [esi + 0x22], 0x10
jne 0x447486
push 0
push 0
push dword [esp + 0x14]
mov ecx, edi
push 0x47
pop edx
call fcn.00432b43
mov edx, dword [esp + 0x68]
add esp, 0xc
mov ecx, dword [esp + 0x2c]
mov esi, eax
push edx
push dword [esp + 0x10]
push ecx
push 0x1b
pop edx
mov ecx, edi
call fcn.00432b43
add esp, 0xc
mov edx, esi
mov ecx, edi
push dword [edi + 0xc]
call fcn.00432e4e
mov esi, dword [esp + 0x38]
pop ecx
jmp 0x4474a0
cmp dword [ebp + 0xc], 0
je 0x447426
add eax, dword [esp + 0x60]
push 0
push dword [esp + 0x10]
push eax
push 9
jmp 0x4473b4
mov ecx, dword [ebp + 8]
add eax, eax
push dword [esp + 0xc]
mov edx, dword [ecx + 0xc]
mov ecx, ebx
mov edx, dword [edx + eax*8]
call fcn.0043e10f
pop ecx
mov ecx, dword [edi + 0xc]
lea eax, [ecx - 1]
test eax, eax
js 0x447453
cmp eax, ecx
jge 0x447453
imul eax, eax, 0x14
add eax, dword [edi + 0x14]
jmp 0x447455
xor eax, eax
test eax, eax
je 0x4473bf
cmp byte [eax], 0x75
jne 0x4473bf
test byte [esi + 0x22], 0x10
jne 0x447486
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x5c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xc]
mov byte [eax], 0x1b
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
jmp 0x4474ec
mov eax, dword [edi + 0xc]
mov ecx, edi
push 0
add eax, 2
push eax
push dword [esp + 0x14]
push 0x46
pop edx
call fcn.00432b43
add esp, 0xc
push 0
push 0
push dword [esp + 0x14]
push 0x27
jmp 0x4474bc
test byte [esi + 0x22], 0x10
je 0x4474cd
push 0
push dword [esp + 0x10]
push 0
push 0x75
pop edx
mov ecx, edi
call fcn.00432b43
mov ecx, dword [esp + 0x18]
add esp, 0xc
jmp 0x4474f4
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x2c]
push edx
push dword [esp + 0x10]
push ecx
push 0x1b
pop edx
mov ecx, edi
call fcn.00432b43
mov ecx, dword [esp + 0x18]
add esp, 0xc
mov dword [esp + 0x74], 1
mov eax, dword [esp + 0x5c]
test eax, eax
jle 0x44750e
push 0
push ecx
mov ecx, dword [ebx + 0xc]
push eax
push 0x2e
pop edx
call fcn.00432b43
add esp, 0xc
and dword [esp + 0x14], 0
xor edx, edx
mov dword [esp + 0x10], edx
cmp dword [esi + 0xc], edx
jle 0x447589
and dword [esp + 0x28], edx
mov ecx, dword [esp + 0xc]
inc ecx
add ecx, edx
mov dword [esp + 0x18], ecx
cmp edx, dword [esi + 8]
jne 0x447546
push 0
push ecx
push 0
push 0x75
pop edx
mov ecx, edi
call fcn.00432b43
add esp, 0xc
jmp 0x447576
cmp dword [ebp + 0x10], 0
jne 0x4475c8
mov ebx, dword [esp + 0x28]
mov eax, dword [esi + 0x10]
cmp byte [eax + ebx + 0x13], 0
mov ebx, dword [esp + 0x4c]
je 0x4475c0
inc dword [esp + 0x14]
mov edx, dword [esi + 0x10]
mov eax, dword [esp + 0x28]
push ecx
mov edx, dword [edx + eax + 4]
mov ecx, ebx
call fcn.0043e10f
pop ecx
mov edx, dword [esp + 0x10]
add dword [esp + 0x28], 0x14
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esi + 0xc]
jl 0x447522
test byte [esi + 0x22], 0x10
mov edx, esi
je 0x447653
mov ecx, ebx
call fcn.00452ba4
mov eax, dword [esi + 0xc]
mov ecx, edi
push 0xfffffffffffffff6
push dword [esi + 0x3c]
add eax, 2
push dword [esp + 0x2c]
push eax
push 1
push 0x7b
pop edx
call fcn.00432b97
add esp, 0x14
jmp 0x4476aa
mov eax, edx
sub eax, dword [esp + 0x14]
jmp 0x4475f6
mov esi, dword [ebp + 0x10]
xor eax, eax
cmp dword [esi + 4], eax
mov esi, dword [esp + 0x34]
jle 0x4475fe
mov ecx, dword [ebp + 0x10]
mov ebx, dword [ebp + 0x10]
mov ecx, dword [ecx]
add ecx, 4
cmp dword [ecx], edx
je 0x4475ee
inc eax
add ecx, 8
cmp eax, dword [ebx + 4]
jl 0x4475e1
mov ebx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x18]
test eax, eax
js 0x447562
cmp dword [esp + 0x30], 0
je 0x447562
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x447619
cmp eax, dword [edx + 4]
jge 0x447562
cmp dword [esp + 0x38], 0
je 0x44762d
push ecx
push eax
push dword [esp + 0x28]
push 3
jmp 0x447539
cmp dword [ebp + 0xc], 0
je 0x447642
add eax, dword [esp + 0x60]
push 0
push ecx
push eax
push 9
jmp 0x447539
push ecx
mov ecx, dword [ebp + 8]
add eax, eax
mov edx, dword [ecx + 0xc]
mov edx, dword [edx + eax*8]
jmp 0x44756e
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x44]
xor eax, eax
push dword [ebp + 0x14]
test ecx, ecx
mov ecx, ebx
push 0
setns al
push eax
push dword [esp + 0x68]
push dword [esp + 0x38]
push dword [esp + 0x44]
call fcn.0044786f
add esp, 0x1c
mov edx, esi
test byte [esp + 0x3c], 2
mov ecx, ebx
push dword [esp + 0x74]
push 0xffffffffffffffff
pop eax
cmovne eax, dword [esp + 0x54]
push eax
push 0
push dword [esp + 0x64]
push dword [esp + 0x34]
push dword [esp + 0x40]
call fcn.00447f9a
add esp, 0x18
mov eax, dword [esp + 0x44]
test byte [eax + 0xc], 0x80
je 0x4476cc
push 0
push 1
push dword [esp + 0x80]
mov ecx, edi
push 0x2b
pop edx
call fcn.00432b43
add esp, 0xc
cmp dword [esp + 0x3c], 0
je 0x4476fd
xor eax, eax
mov ecx, ebx
push eax
push eax
push dword [esp + 0x24]
push dword [ebp + 0x14]
push 0xffffffffffffffff
push dword [esp + 0x64]
push esi
push 2
push eax
push 0x6a
pop edx
call fcn.00450c5b
add esp, 0x24
test eax, eax
jne 0x44782f
mov edx, dword [esp + 0x1c]
mov ecx, edi
call fcn.00432c1a
cmp dword [esp + 0x38], 0
je 0x44774a
push 0
push dword [esp + 0x6c]
push dword [esp + 0x28]
push 0x6b
pop edx
call fcn.00432b43
mov edx, dword [esp + 0x78]
add esp, 0xc
mov ecx, edi
push dword [edi + 0xc]
call fcn.00432e4e
pop ecx
push 0
push 0
push dword [esp + 0x28]
mov ecx, edi
push 0x22
pop edx
call fcn.00432b43
add esp, 0xc
jmp 0x447774
cmp dword [ebp + 0xc], 0
je 0x447774
push 0
push dword [esp + 0x6c]
mov ecx, edi
push 0
push 0x61
pop edx
call fcn.00432b43
mov edx, dword [esp + 0x78]
add esp, 0xc
mov ecx, edi
push dword [edi + 0xc]
call fcn.00432e4e
pop ecx
test byte [esi + 0x22], 0x10
jne 0x4477ca
cmp dword [esp + 0x70], 0
jne 0x4477ca
push 0
push 0
push dword [esp + 0x34]
mov ecx, edi
push 0x22
pop edx
call fcn.00432b43
mov eax, dword [esi + 0x14]
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
je 0x4477ca
mov esi, dword [esp + 0x2c]
mov ebx, eax
inc esi
push 0
push 0
push esi
push 0x22
pop edx
mov ecx, edi
call fcn.00432b43
mov ebx, dword [ebx + 0x20]
add esp, 0xc
inc esi
test ebx, ebx
jne 0x4477a8
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x34]
test byte [esi + 0x22], 8
je 0x4477e1
mov edx, dword [esp + 0x5c]
mov ecx, ebx
push edx
mov edx, dword [esp + 0x58]
call fcn.004469bd
pop ecx
mov eax, dword [esp + 0x44]
test byte [eax + 0xc], 0x80
je 0x44782f
cmp byte [ebx + 0x13], 0
jne 0x44782f
xor esi, esi
cmp dword [ebx + 0x194], esi
jne 0x44782f
push esi
push 1
push dword [esp + 0x80]
mov ecx, edi
push 0x5b
pop edx
call fcn.00432b43
add esp, 0xc
xor edx, edx
inc edx
mov ecx, edi
call fcn.004337b3
push esi
push str.rows_inserted
push esi
xor edx, edx
mov ecx, edi
call fcn.0043381e
add esp, 0xc
mov ebx, dword [esp + 0x44]
mov ecx, ebx
mov edx, dword [esp + 0x64]
call fcn.00443953
mov edx, dword [ebp + 8]
mov ecx, ebx
call fcn.0043c85d
mov edx, dword [ebp + 0xc]
mov ecx, ebx
call fcn.0044b758
mov edx, dword [ebp + 0x10]
mov ecx, ebx
call fcn.004436f6
push dword [esp + 0x58]
push ebx
call fcn.00423eac
pop ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret