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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xcc
xor ecx, ecx
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
xor eax, eax
lea edi, [esp + 0xac]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [ebx]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x74], ecx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x58], ecx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x94], ecx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x60], eax
cmp dword [ebx + 0x24], ecx
jne 0x44b8f1
cmp byte [eax + 0x51], cl
jne 0x44b8f1
mov ecx, dword [ebp + 0xc]
mov eax, ebx
call fcn.00439402
mov esi, eax
mov dword [esp + 0x18], esi
test esi, esi
je 0x44b8f1
mov edx, dword [esi + 0x48]
mov ecx, dword [ebx]
call fcn.00442fca
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x54]
push eax
push dword [ebp + 0x10]
mov eax, ebx
push 0x76
push esi
call fcn.0044a1ed
mov dword [esp + 0x58], eax
xor eax, eax
cmp dword [esi + 0xc], eax
push esi
setne al
mov dword [esp + 0x94], eax
mov eax, ebx
call fcn.004368a7
add esp, 0x14
test eax, eax
jne 0x44b8f1
push dword [esp + 0x54]
mov eax, ebx
call fcn.004394aa
pop ecx
test eax, eax
jne 0x44b8f1
mov edx, dword [ebx + 0x28]
mov dword [esp + 0x24], edx
mov dword [esp + 0x68], edx
inc edx
mov dword [ebx + 0x28], edx
test byte [esi + 0x24], 0x20
mov dword [esp + 0x6c], edx
jne 0x44a9bc
and dword [esp + 0x34], eax
jmp 0x44a9c7
mov eax, esi
call fcn.00434fc7
mov dword [esp + 0x34], eax
mov eax, dword [esi + 8]
xor edi, edi
mov dword [esp + 0xa8], edi
test eax, eax
je 0x44a9f4
cmp dword [esp + 0x34], eax
jne 0x44a9e1
mov dword [esp + 0x24], edx
inc edx
mov dword [ebx + 0x28], edx
mov eax, dword [eax + 0x14]
inc edi
test eax, eax
jne 0x44a9d7
mov dword [esp + 0xa8], edi
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x44aa10
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x24], ecx
mov dword [ebx + 0x28], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x34], ecx
movsx eax, word [esi + 0x2a]
mov ecx, dword [esp + 0x60]
add eax, edi
lea eax, [edi + eax*4 + 2]
push 0
push eax
call fcn.00408fec
pop ecx
pop ecx
mov dword [esp + 0x2c], eax
test eax, eax
je 0x44b8f1
movsx eax, word [esi + 0x2a]
mov ecx, dword [esp + 0x2c]
lea eax, [ecx + eax*4]
lea ecx, [eax + edi*4]
mov dword [esp + 0x88], eax
lea eax, [edi + 1]
push eax
push 1
push ecx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xc0], eax
call fcn.0055bfc0
mov eax, dword [esp + 0x5c]
mov byte [eax + edi + 1], 0
xor ecx, ecx
add esp, 0xc
xor eax, eax
cmp cx, word [esi + 0x2a]
jge 0x44aa91
mov ecx, dword [esp + 0x2c]
or dword [ecx + eax*4], 0xffffffff
movsx ecx, word [esi + 0x2a]
inc eax
cmp eax, ecx
jl 0x44aa80
and dword [esp + 0x1c], 0
xor eax, eax
push 8
pop ecx
lea edi, [esp + 0xb8]
rep stosd dword es:[edi], eax
mov eax, dword [ebp + 0x1c]
mov edi, dword [ebp + 0xc]
mov dword [esp + 0xc0], eax
mov eax, 0x200
mov word [esp + 0xd0], ax
mov eax, dword [ebp + 0x10]
cmp dword [eax], 0
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], edi
mov byte [esp + 0x23], 0
mov byte [esp + 0x17], 0
jle 0x44ac2a
add eax, 4
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov ebx, dword [eax]
lea esi, [esp + 0xb8]
call fcn.0042c8cd
test eax, eax
jne 0x44b8f1
mov edi, dword [esp + 0x18]
movsx eax, word [edi + 0x2a]
xor esi, esi
test eax, eax
jle 0x44ab3c
mov ebx, dword [edi + 4]
mov dword [esp + 0x3c], ebx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax + 4]
mov ecx, dword [ecx]
call fcn.0040b13b
test eax, eax
je 0x44ab87
movsx eax, word [edi + 0x2a]
add dword [esp + 0x3c], 0x10
inc esi
cmp esi, eax
jl 0x44ab18
mov ebx, dword [esp + 0x1c]
movsx eax, word [edi + 0x2a]
cmp esi, eax
jl 0x44ab7c
cmp dword [esp + 0x34], 0
jne 0x44ac44
mov eax, dword [esp + 0x30]
mov esi, dword [eax + 4]
call fcn.0042e493
test eax, eax
je 0x44ac44
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
or esi, 0xffffffff
mov byte [esp + 0x17], 1
mov dword [esp + 0x8c], eax
test esi, esi
jge 0x44abcb
mov eax, str.ROWID
jmp 0x44abd6
movsx eax, word [edi + 0x28]
cmp esi, eax
jne 0x44aba3
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
mov byte [esp + 0x17], 1
mov dword [esp + 0x8c], eax
jmp 0x44abbb
cmp dword [esp + 0x34], 0
je 0x44abbb
mov eax, esi
shl eax, 4
test byte [eax + ebx + 0xf], 1
je 0x44abbb
mov byte [esp + 0x23], 1
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1c]
mov dword [eax + esi*4], ebx
jmp 0x44ab40
mov ecx, dword [edi + 4]
mov eax, esi
shl eax, 4
mov eax, dword [eax + ecx]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov edx, dword [edx + 0x10]
shl ecx, 4
push dword [ecx + edx]
push eax
push dword [edi]
mov eax, dword [ebp + 8]
push 0x17
call fcn.004344cd
add esp, 0x10
cmp eax, 1
je 0x44b8f1
cmp eax, 2
jne 0x44ac0d
mov eax, dword [esp + 0x2c]
or dword [eax + esi*4], 0xffffffff
mov eax, dword [ebp + 0x10]
add dword [esp + 0x30], 0x18
inc ebx
cmp ebx, dword [eax]
mov dword [esp + 0x1c], ebx
jl 0x44aae9
mov ebx, dword [ebp + 8]
mov esi, edi
mov edi, dword [ebp + 0xc]
mov al, byte [esp + 0x23]
add al, byte [esp + 0x17]
xor ecx, ecx
mov byte [esp + 0x30], al
cmp dword [esi + 0x38], ecx
je 0x44ac66
or ecx, 0xffffffff
mov eax, ecx
jmp 0x44ac68
mov eax, dword [ebp + 0x10]
imul ebx, ebx, 0x18
push dword [ebx + eax + 8]
mov edi, dword [ebp + 8]
push str.no_such_column:__s
call fcn.0040b095
pop ecx
pop ecx
mov byte [edi + 0x11], 1
jmp 0x44b8f1
xor eax, eax
mov dword [edi + 0x40], eax
movzx eax, byte [esp + 0x30]
push eax
push dword [esp + 0x30]
mov dword [edi + 0x44], ecx
mov dword [esp + 0x98], eax
mov ecx, esi
mov eax, ebx
call fcn.0043ce1e
and dword [esp + 0x30], 0
mov edi, dword [esi + 8]
pop ecx
pop ecx
mov dword [esp + 0x40], eax
jmp 0x44adbd
cmp byte [esp + 0x30], 0
jne 0x44ad7d
cmp dword [esp + 0x40], 1
jg 0x44ad7d
cmp edi, dword [esp + 0x34]
je 0x44ad7d
mov eax, dword [edi + 0x24]
test eax, eax
je 0x44acdd
movzx ecx, byte [esp + 0x17]
push ecx
push dword [esp + 0x30]
push eax
call fcn.0043e5ae
add esp, 0xc
test eax, eax
jne 0x44ad7d
and dword [esp + 0x3c], 0
and dword [esp + 0x1c], 0
xor eax, eax
cmp ax, word [edi + 0x32]
jae 0x44ad97
and dword [esp + 0x10], eax
mov eax, dword [edi + 4]
mov ecx, dword [esp + 0x1c]
movzx eax, word [eax + ecx*2]
test ax, ax
jl 0x44ad18
mov edx, dword [esp + 0x2c]
cwde
xor ecx, ecx
cmp dword [edx + eax*4], ecx
setge cl
mov eax, ecx
jmp 0x44ad35
movzx eax, byte [esp + 0x17]
mov ecx, dword [esp + 0x10]
push eax
push dword [esp + 0x30]
mov eax, dword [edi + 0x28]
push dword [eax + ecx + 4]
call fcn.0043e5ae
add esp, 0xc
test eax, eax
jne 0x44ad4e
movzx eax, word [edi + 0x32]
inc dword [esp + 0x1c]
add dword [esp + 0x10], 0x18
cmp dword [esp + 0x1c], eax
jl 0x44acf7
jmp 0x44ad97
inc dword [ebx + 0x2c]
movzx ecx, word [edi + 0x34]
mov eax, dword [ebx + 0x2c]
add ecx, eax
cmp dword [ebp + 0x18], 5
mov dword [esp + 0x3c], eax
mov dword [ebx + 0x2c], ecx
je 0x44ad73
cmp dword [ebp + 0x18], 0xb
jne 0x44ad90
cmp byte [edi + 0x36], 5
jne 0x44ad90
mov dword [esp + 0x58], 1
jmp 0x44ad90
inc dword [ebx + 0x2c]
movzx ecx, word [edi + 0x34]
mov eax, dword [ebx + 0x2c]
add ecx, eax
mov dword [esp + 0x3c], eax
mov dword [ebx + 0x2c], ecx
cmp dword [esp + 0x3c], 0
jne 0x44ada4
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x28]
mov byte [ecx + eax + 1], 0
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x3c]
inc dword [esp + 0x28]
mov dword [eax + edx*4], ecx
mov edi, dword [edi + 0x14]
test edi, edi
jne 0x44ac9b
cmp dword [esp + 0x58], edi
je 0x44ade0
push dword [esp + 0xb4]
push 1
push dword [esp + 0x58]
call fcn.0055bfc0
add esp, 0xc
mov eax, ebx
call fcn.004450fa
mov dword [esp + 0x10], eax
cmp eax, edi
je 0x44b8f1
cmp byte [ebx + 0x12], 0
jne 0x44ae00
or dword [eax + 0x94], 0x20
cmp dword [esp + 0x48], edi
jne 0x44ae10
cmp dword [esp + 0x40], edi
jne 0x44ae10
xor eax, eax
jmp 0x44ae13
xor eax, eax
inc eax
push dword [esp + 0x5c]
mov ecx, ebx
push eax
call fcn.004388c9
pop ecx
pop ecx
cmp dword [esi + 0x38], edi
jne 0x44ae93
mov eax, dword [ebx + 0x2c]
inc eax
mov dword [esp + 0x84], eax
inc eax
cmp byte [esp + 0x23], 0
mov dword [ebx + 0x2c], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x38], eax
jne 0x44ae50
cmp dword [esp + 0x48], edi
jne 0x44ae50
cmp dword [esp + 0x40], edi
je 0x44ae63
lea ecx, [eax + 1]
mov dword [esp + 0x94], ecx
movsx ecx, word [esi + 0x2a]
add ecx, eax
mov dword [ebx + 0x2c], ecx
cmp byte [esp + 0x30], 0
jne 0x44ae76
cmp dword [esp + 0x48], edi
jne 0x44ae76
cmp dword [esp + 0x40], edi
je 0x44ae80
inc dword [ebx + 0x2c]
mov eax, dword [ebx + 0x2c]
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x2c]
lea ecx, [eax + 1]
mov dword [esp + 0x64], ecx
movsx ecx, word [esi + 0x2a]
add ecx, eax
mov dword [ebx + 0x2c], ecx
cmp dword [esp + 0x80], edi
je 0x44aec9
push dword [esp + 0x24]
lea eax, [ebx + 0xec]
mov ecx, dword [eax]
push edi
push edi
push dword [ebp + 0x14]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esi]
push esi
push ebx
mov dword [esp + 0xc8], ebx
mov dword [eax], ecx
call fcn.004394e9
add esp, 0x18
mov ebx, dword [ebp + 0x14]
lea esi, [esp + 0xb8]
call fcn.0042c8cd
test eax, eax
jne 0x44b8f1
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x38], 0
je 0x44af10
push dword [ebp + 0x18]
push ebx
push dword [esp + 0x34]
push dword [esp + 0x98]
push dword [ebp + 0x10]
push eax
push dword [ebp + 0xc]
mov eax, dword [ebp + 8]
call fcn.0044b950
add esp, 0x1c
jmp 0x44b8f1
mov eax, dword [esp + 0x10]
call fcn.0041f4e7
mov edi, dword [ebp + 8]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x20]
and eax, 0x80
xor ecx, ecx
or eax, ecx
je 0x44af62
cmp dword [edi + 0x78], ecx
jne 0x44af62
cmp byte [edi + 0x12], cl
jne 0x44af62
cmp dword [ebp + 0x1c], ecx
jne 0x44af62
inc dword [edi + 0x2c]
mov eax, dword [edi + 0x2c]
push eax
push ecx
push 0x46
push dword [esp + 0x1c]
mov dword [esp + 0xb4], eax
call fcn.0041f2c0
add esp, 0x10
mov eax, dword [esp + 0x18]
test byte [eax + 0x24], 0x20
jne 0x44af90
push dword [esp + 0x38]
push dword [esp + 0x88]
push 0
push 0x49
push dword [esp + 0x20]
call fcn.0041f228
mov ebx, dword [esp + 0x88]
add esp, 0x14
jmp 0x44b008
cmp dword [ebp + 0x1c], 0
mov eax, dword [esp + 0x34]
movzx ecx, word [eax + 0x32]
mov eax, dword [edi + 0x2c]
movsx esi, cx
lea ebx, [eax + 1]
lea eax, [esi + eax + 1]
mov dword [esp + 0xa0], ecx
mov dword [edi + 0x2c], eax
mov dword [esp + 0x44], eax
jne 0x44b00f
mov eax, dword [ebp + 8]
mov edi, dword [eax + 0x28]
lea ecx, [edi + 1]
mov dword [eax + 0x28], ecx
lea eax, [esi + ebx - 1]
push eax
push ebx
push 0
push 0x49
push dword [esp + 0x20]
mov dword [esp + 0x84], edi
call fcn.0041f228
add esp, 0x14
push esi
push edi
push 0x71
push dword [esp + 0x1c]
call fcn.0041f2c0
mov edi, dword [esp + 0x44]
mov dword [esp + 0xa8], eax
mov eax, dword [ebp + 8]
add esp, 0x10
call fcn.0041f966
mov edi, dword [ebp + 8]
xor esi, esi
cmp dword [ebp + 0x1c], esi
je 0x44b033
and dword [esp + 0x5c], 0
push 0x10
push dword [esp + 0x40]
mov dword [esp + 0x30], 1
push dword [ebp + 0x14]
push edi
call fcn.004308fc
add esp, 0x10
jmp 0x44b0c2
cmp byte [edi + 0x12], 0
mov eax, 0x1004
jne 0x44b05a
cmp dword [esp + 0x48], esi
jne 0x44b05a
cmp dword [esp + 0x40], esi
jne 0x44b05a
cmp byte [esp + 0x30], 0
jne 0x44b05a
cmp dword [esp + 0x58], esi
jne 0x44b05a
add eax, 8
push dword [esp + 0x6c]
push eax
push esi
push esi
push dword [ebp + 0x14]
push dword [ebp + 0xc]
push edi
call fcn.0045484e
add esp, 0x1c
mov dword [esp + 0x5c], eax
cmp eax, esi
je 0x44b8f1
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
movzx eax, byte [eax + 0x31]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x28], eax
cmp eax, 1
je 0x44b0c2
mov ecx, edi
call fcn.004388f2
cmp dword [esp + 0x28], 2
jne 0x44b0c2
test edx, edx
jl 0x44b0c2
cmp edx, dword [esp + 0x24]
je 0x44b0c2
sub edx, dword [esp + 0x68]
mov eax, dword [esp + 0x50]
cmp byte [edx + eax], 0
je 0x44b0c2
and dword [esp + 0x28], 0
mov eax, dword [esp + 0x18]
test byte [eax + 0x24], 0x20
jne 0x44b111
push dword [esp + 0x38]
push dword [esp + 0x28]
push 0x81
push dword [esp + 0x1c]
call fcn.0041f2c0
add esp, 0x10
cmp dword [esp + 0x28], 0
jne 0x44b1b3
push dword [esp + 0x38]
push dword [esp + 0x88]
push 0x95
push dword [esp + 0x1c]
call fcn.0041f2c0
add esp, 0x10
jmp 0x44b1b3
movsx edi, word [esp + 0xa0]
xor esi, esi
test edi, edi
jle 0x44b147
mov ecx, dword [esp + 0x18]
lea eax, [esi + ebx]
push eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 4]
push dword [esp + 0x28]
movsx eax, word [eax + esi*2]
push dword [esp + 0x18]
call fcn.0042f4e1
add esp, 0xc
inc esi
cmp esi, edi
jl 0x44b11f
cmp dword [esp + 0x28], 0
je 0x44b172
cmp dword [esp + 0x98], 0
je 0x44b168
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x10]
call fcn.0041f826
mov dword [esp + 0x7c], edi
mov dword [esp + 0x44], ebx
jmp 0x44b1b0
mov esi, dword [esp + 0x34]
push edi
push ecx
push dword [esp + 0x68]
call fcn.0043d4b7
mov esi, dword [esp + 0x1c]
pop ecx
pop ecx
push eax
push dword [esp + 0x4c]
push edi
push ebx
push 0x66
push esi
call fcn.0041f38f
add esp, 0x1c
push edi
push ebx
push dword [esp + 0x4c]
push dword [esp + 0x7c]
push 0x85
call fcn.0041f495
add esp, 0x14
mov edi, dword [ebp + 8]
xor ebx, ebx
cmp dword [ebp + 0x1c], ebx
jne 0x44b379
cmp dword [esp + 0x28], 2
je 0x44b1cf
push dword [esp + 0x5c]
call fcn.004550e3
pop ecx
cmp dword [esp + 0x80], ebx
jne 0x44b26e
cmp dword [esp + 0x28], ebx
je 0x44b20e
cmp dword [esp + 0x74], ebx
jl 0x44b1f8
mov eax, dword [esp + 0x74]
sub eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x50]
mov byte [eax + ecx], 0
cmp dword [esp + 0x78], ebx
jl 0x44b20e
mov eax, dword [esp + 0x78]
sub eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x50]
mov byte [eax + ecx], 0
cmp dword [esp + 0x28], 2
jne 0x44b23a
mov eax, dword [esp + 0xa8]
xor ecx, ecx
cmp dword [esp + 0x78], ebx
setge cl
sub eax, ecx
test eax, eax
jle 0x44b23a
push 0x11
push dword [esp + 0x14]
call fcn.0041f291
pop ecx
pop ecx
mov ebx, eax
mov esi, dword [esp + 0x18]
xor eax, eax
push eax
push eax
push dword [esp + 0x58]
push dword [esp + 0x74]
push eax
push 0x6e
push edi
call fcn.0043f220
add esp, 0x1c
test ebx, ebx
je 0x44b26e
mov ecx, dword [esp + 0x10]
mov eax, ebx
call fcn.0041f982
mov ecx, dword [ecx + 0x88]
mov dword [eax + 8], ecx
xor eax, eax
cmp dword [esp + 0x28], eax
je 0x44b2e5
cmp dword [esp + 0x80], eax
jne 0x44b2aa
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x74], eax
je 0x44b2aa
cmp dword [esp + 0x78], eax
je 0x44b2aa
push dword [esp + 0x7c]
mov esi, dword [esp + 0x14]
push dword [esp + 0x48]
push dword [esp + 0x44]
push eax
push 0x1c
call fcn.0041f495
add esp, 0x14
cmp dword [esp + 0x28], 1
je 0x44b2be
mov eax, dword [esp + 0x10]
call fcn.0041f4e7
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x34], 0
mov eax, dword [esp + 0x44]
jne 0x44b2cd
mov eax, dword [esp + 0x38]
push dword [esp + 0x3c]
push eax
push 0x32
push dword [esp + 0x1c]
call fcn.0041f2c0
add esp, 0x10
jmp 0x44b379
cmp dword [esp + 0x34], eax
je 0x44b341
mov esi, dword [esp + 0x10]
mov eax, esi
call fcn.0041f4e7
push dword [esp + 0x3c]
mov dword [esp + 0x20], eax
push dword [esp + 0x74]
push 0x24
push esi
call fcn.0041f2c0
push dword [esp + 0x54]
push dword [esp + 0x84]
push 0x80
push esi
call fcn.0041f2c0
push 0
push dword [esp + 0x68]
mov dword [esp + 0xc4], eax
push dword [esp + 0x44]
push dword [esp + 0x50]
push 0x1c
call fcn.0041f495
add esp, 0x34
jmp 0x44b379
push dword [esp + 0x38]
push dword [esp + 0x40]
push dword [esp + 0x8c]
push 0x29
push dword [esp + 0x20]
call fcn.0041f228
add esp, 0x14
push dword [esp + 0x38]
mov dword [esp + 0x20], eax
push eax
push dword [esp + 0x2c]
push 0x1f
push dword [esp + 0x20]
call fcn.0041f228
add esp, 0x14
cmp byte [esp + 0x17], 0
je 0x44b3a6
push dword [esp + 0x4c]
push dword [esp + 0x90]
push edi
call fcn.00430374
add esp, 0xc
push dword [esp + 0x4c]
push 0xf
push dword [esp + 0x18]
call fcn.0041f2a7
add esp, 0xc
cmp byte [esp + 0x23], 0
jne 0x44b3bf
cmp dword [esp + 0x40], 0
jne 0x44b3c7
cmp dword [esp + 0x48], 0
je 0x44b499
xor ebx, ebx
cmp dword [esp + 0x40], ebx
je 0x44b3d7
mov ebx, dword [esp + 0x18]
push edi
call fcn.0043cd6a
mov edi, dword [ebp + 8]
pop ecx
mov ebx, eax
push dword [ebp + 0x18]
mov eax, dword [esp + 0x4c]
push dword [esp + 0x1c]
xor esi, esi
push 3
push esi
push dword [ebp + 0x10]
push edi
call fcn.0044a7d8
mov ecx, dword [esp + 0x30]
or ebx, eax
xor eax, eax
add esp, 0x18
cmp ax, word [ecx + 0x2a]
jge 0x44b475
xor edi, edi
cmp ebx, 0xffffffff
je 0x44b442
cmp esi, 0x20
jge 0x44b418
xor eax, eax
inc eax
mov ecx, esi
shl eax, cl
test ebx, eax
jne 0x44b442
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
test byte [eax + edi + 0xf], 1
jne 0x44b442
mov eax, dword [esp + 0x94]
add eax, esi
push eax
push 0
push 0x49
push dword [esp + 0x1c]
call fcn.0041f2c0
add esp, 0x10
jmp 0x44b462
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x18]
add eax, esi
push eax
push dword [esp + 0x28]
mov eax, esi
push dword [esp + 0x18]
call fcn.0042f4e1
add esp, 0xc
mov eax, dword [esp + 0x18]
movsx eax, word [eax + 0x2a]
inc esi
add edi, 0x10
cmp esi, eax
jl 0x44b403
mov edi, dword [ebp + 8]
cmp byte [esp + 0x17], 0
jne 0x44b499
cmp dword [esp + 0x34], 0
jne 0x44b499
push dword [esp + 0x4c]
push dword [esp + 0x3c]
push 0x4e
push dword [esp + 0x1c]
call fcn.0041f2c0
add esp, 0x10
push dword [ebp + 0x18]
mov eax, dword [esp + 0x4c]
push dword [esp + 0x1c]
push 1
push 1
push dword [ebp + 0x10]
push edi
call fcn.0044a7d8
mov ecx, dword [esp + 0x30]
mov ebx, eax
xor eax, eax
add esp, 0x18
xor esi, esi
cmp ax, word [ecx + 0x2a]
jge 0x44b559
mov eax, dword [esp + 0x18]
movsx eax, word [eax + 0x28]
cmp esi, eax
je 0x44b512
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + esi*4]
test eax, eax
jl 0x44b4f8
mov ecx, dword [esp + 0x64]
imul eax, eax, 0x18
add ecx, esi
push ecx
mov ecx, dword [ebp + 0x10]
push dword [eax + ecx + 4]
push edi
call fcn.00430374
jmp 0x44b545
test dword [esp + 0x54], 1
je 0x44b52b
cmp esi, 0x1f
jg 0x44b52b
xor eax, eax
inc eax
mov ecx, esi
shl eax, cl
test ebx, eax
jne 0x44b52b
mov eax, dword [esp + 0x64]
add eax, esi
push eax
push 0
push 0x49
push dword [esp + 0x1c]
call fcn.0041f2c0
add esp, 0x10
jmp 0x44b548
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x18]
add eax, esi
push eax
push dword [esp + 0x28]
mov eax, esi
push dword [esp + 0x18]
call fcn.0042f4e1
add esp, 0xc
mov eax, dword [esp + 0x18]
movsx eax, word [eax + 0x2a]
inc esi
cmp esi, eax
jl 0x44b4c8
test byte [esp + 0x54], 1
je 0x44b63d
mov edi, dword [esp + 0x64]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
push edi
call fcn.0043d55f
mov esi, dword [esp + 0x4c]
pop ecx
jmp 0x44b5b7
cmp byte [esi + 8], 0x76
jne 0x44b5b4
cmp byte [esi + 9], 1
jne 0x44b5b4
push dword [esi + 0x10]
mov eax, dword [ebp + 0x10]
call fcn.0044a1b2
pop ecx
test eax, eax
je 0x44b5b4
push dword [esp + 0x1c]
push dword [ebp + 0x18]
push dword [esp + 0x40]
push dword [esp + 0x24]
push esi
push dword [ebp + 8]
call fcn.0044a702
add esp, 0x18
mov esi, dword [esi + 0x20]
test esi, esi
jne 0x44b57d
cmp dword [esp + 0x34], esi
je 0x44b5de
push dword [esp + 0x7c]
mov esi, dword [esp + 0x14]
push dword [esp + 0x48]
push dword [esp + 0x24]
push dword [esp + 0x30]
push 0x1c
call fcn.0041f495
jmp 0x44b5f5
push dword [esp + 0x38]
push dword [esp + 0x20]
push dword [esp + 0x2c]
push 0x1f
push dword [esp + 0x20]
call fcn.0041f228
mov ecx, dword [esp + 0x2c]
xor eax, eax
add esp, 0x14
xor esi, esi
cmp ax, word [ecx + 0x2a]
jge 0x44b63d
mov eax, dword [esp + 0x2c]
cmp dword [eax + esi*4], 0
mov ebx, dword [esp + 0x18]
jge 0x44b634
movsx eax, word [ebx + 0x28]
cmp esi, eax
je 0x44b634
lea eax, [esi + edi]
push eax
push dword [esp + 0x28]
mov eax, esi
push dword [esp + 0x18]
mov ecx, ebx
call fcn.0042f4e1
add esp, 0xc
movsx eax, word [ebx + 0x2a]
inc esi
cmp esi, eax
jl 0x44b606
cmp dword [esp + 0x80], 0
jne 0x44b7d5
mov edi, dword [esp + 0x24]
xor ebx, ebx
push ebx
push dword [esp + 0x30]
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x28]
mov dword [esp + 0x64], ebx
push dword [ebp + 0x18]
push dword [esp + 0x44]
push dword [esp + 0x50]
push dword [esp + 0x68]
push dword [esp + 0x8c]
push edi
push dword [esp + 0xb0]
push dword [esp + 0x44]
push dword [ebp + 8]
call fcn.0043e5f8
add esp, 0x34
cmp dword [esp + 0x40], ebx
je 0x44b6b5
push dword [esp + 0x90]
push dword [esp + 0x30]
push ebx
push dword [esp + 0x44]
push dword [esp + 0x28]
push dword [ebp + 8]
call fcn.0043c97d
add esp, 0x18
cmp dword [esp + 0x58], ebx
jne 0x44b6c2
cmp byte [esp + 0x30], 0
je 0x44b6f7
cmp dword [esp + 0x34], ebx
je 0x44b6df
push dword [esp + 0x7c]
mov esi, dword [esp + 0x14]
push dword [esp + 0x48]
push ebx
push edi
push 0x1c
call fcn.0041f495
jmp 0x44b6f0
push dword [esp + 0x38]
push ebx
push edi
push 0x1f
push dword [esp + 0x20]
call fcn.0041f228
mov dword [esp + 0x68], eax
add esp, 0x14
mov edx, dword [esp + 0x18]
mov esi, dword [ebp + 8]
push 0xffffffffffffffff
push dword [esp + 0x8c]
push dword [esp + 0x74]
push edi
call fcn.0043a00d
add esp, 0x10
cmp dword [esp + 0x40], 1
jg 0x44b722
cmp byte [esp + 0x30], 0
je 0x44b732
push ebx
push edi
push 0x7c
push dword [esp + 0x1c]
call fcn.0041f2c0
add esp, 0x10
cmp dword [esp + 0x58], ebx
jne 0x44b73f
cmp byte [esp + 0x30], 0
je 0x44b755
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x10]
call fcn.0041f982
mov ecx, dword [ecx + 0x88]
mov dword [eax + 8], ecx
cmp dword [esp + 0x40], ebx
je 0x44b778
push dword [esp + 0x90]
push dword [esp + 0x30]
push dword [esp + 0x54]
push ebx
push dword [esp + 0x28]
push esi
call fcn.0043c97d
add esp, 0x18
push 2
pop eax
cmp dword [esp + 0x28], eax
je 0x44b783
xor eax, eax
mov edi, dword [esp + 0x18]
xor esi, esi
push esi
push esi
or eax, 4
push eax
push dword [esp + 0x94]
push dword [esp + 0x5c]
push dword [esp + 0x80]
push dword [esp + 0x3c]
push dword [ebp + 8]
call fcn.0043f0a3
add esp, 0x20
cmp dword [esp + 0x40], esi
je 0x44b7d5
push dword [esp + 0x90]
mov eax, edi
push dword [esp + 0x30]
mov edi, dword [ebp + 8]
push dword [esp + 0x40]
push dword [ebp + 0x10]
call fcn.0043d34c
add esp, 0x10
mov ebx, dword [esp + 0xa4]
test ebx, ebx
je 0x44b7f1
push 1
push ebx
push 0x53
push dword [esp + 0x1c]
call fcn.0041f2c0
add esp, 0x10
mov esi, dword [esp + 0x48]
mov edi, dword [ebp + 8]
test esi, esi
je 0x44b836
cmp byte [esi + 8], 0x76
jne 0x44b831
cmp byte [esi + 9], 2
jne 0x44b831
push dword [esi + 0x10]
mov eax, dword [ebp + 0x10]
call fcn.0044a1b2
pop ecx
test eax, eax
je 0x44b831
push dword [esp + 0x1c]
push dword [ebp + 0x18]
push dword [esp + 0x40]
push dword [esp + 0x24]
push esi
push edi
call fcn.0044a702
add esp, 0x18
mov esi, dword [esi + 0x20]
jmp 0x44b7f8
cmp dword [esp + 0x28], 1
je 0x44b89a
cmp dword [esp + 0x28], 2
jne 0x44b85c
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
call fcn.0041f52a
push dword [esp + 0x5c]
call fcn.004550e3
jmp 0x44b899
cmp dword [esp + 0x34], 0
je 0x44b88b
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
call fcn.0041f52a
push dword [esp + 0x9c]
push dword [esp + 0x74]
push 5
push dword [esp + 0x1c]
call fcn.0041f2c0
add esp, 0x10
jmp 0x44b89a
push dword [esp + 0x1c]
push dword [esp + 0x14]
call fcn.0041f2db
pop ecx
pop ecx
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
call fcn.0041f52a
cmp byte [edi + 0x12], 0
jne 0x44b8c0
cmp dword [edi + 0x78], 0
jne 0x44b8c0
cmp dword [ebp + 0x1c], 0
jne 0x44b8c0
mov eax, edi
call fcn.0043d8c6
test ebx, ebx
je 0x44b8f1
xor edi, edi
inc edi
push edi
push ebx
push 0x51
push dword [esp + 0x1c]
call fcn.0041f2c0
mov esi, dword [esp + 0x20]
call fcn.004204f5
xor eax, eax
push eax
push str.rows_updated
push eax
push eax
mov eax, esi
call fcn.0042055a
add esp, 0x20
mov eax, dword [esp + 0xb0]
test eax, eax
je 0x44b909
mov ecx, dword [esp + 0xac]
mov dword [eax + 0xec], ecx
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x44b91a
mov ecx, dword [esp + 0x60]
call fcn.00408d75
push dword [ebp + 0xc]
mov ebx, dword [esp + 0x64]
call fcn.00438477
cmp dword [ebp + 0x10], 0
pop ecx
je 0x44b938
push dword [ebp + 0x10]
push ebx
call fcn.0042e181
pop ecx
pop ecx
cmp dword [ebp + 0x14], 0
je 0x44b949
push dword [ebp + 0x14]
push ebx
call fcn.0042d682
pop ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret