Function at 0x44ed40
Capabilities:
Inspect section memory permissions

Disassembly:
sub esp, 0x44
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x58]
push ebx
push ebp
xor eax, eax
cmp dword [esp + 0x54], eax
push esi
push edi
mov edi, dword [ecx]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x40], 0xa7
mov dword [esp + 0x24], eax
mov dword [ecx + 0x1c], 0xffffffff
je 0x44edf5
test byte [edx + 0x18], 6
je 0x44ed98
mov dword [esp + 0x5c], eax
jmp 0x44edf5
mov ebp, dword [edi + 0x14]
xor esi, esi
test ebp, ebp
jle 0x44edcf
mov ebx, dword [edi + 0x10]
mov eax, dword [esp + 0x5c]
mov edx, dword [ebx]
call fcn.0041cd90
test eax, eax
je 0x44edbf
add esi, 1
add ebx, 0x10
cmp esi, ebp
jl 0x44eda4
jmp 0x44edcf
mov eax, dword [edi + 0x10]
mov ecx, esi
shl ecx, 4
mov edx, dword [ecx + eax + 0xc]
mov dword [esp + 0x30], edx
cmp esi, ebp
jne 0x44edf5
mov eax, dword [esp + 0x5c]
mov edx, str.main
call fcn.0041cd90
test eax, eax
jne 0x44edf5
mov edi, dword [edi + 0x10]
mov eax, dword [edi + 0xc]
mov ecx, dword [edi]
mov dword [esp + 0x30], eax
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x68]
mov eax, dword [edx + 4]
test eax, eax
mov dword [esp + 0x4c], eax
je 0x44f230
cmp dword [eax], 0
lea ecx, [eax + 8]
mov dword [esp + 0x48], 0
mov dword [esp + 0x20], ecx
jle 0x44f202
mov eax, dword [esp + 0x20]
test dword [eax + 0x28], 0x2000
mov edx, dword [eax + 0x10]
mov dword [esp + 0x18], edx
je 0x44ef54
mov eax, dword [eax + 0x14]
mov esi, dword [eax + 0x1c]
xor ebp, ebp
xor edi, edi
cmp dword [esi], ebp
mov dword [esp + 0x3c], esi
jle 0x44ef48
add esi, 0x14
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x5c]
push ecx
push edx
lea eax, [esi - 0xc]
call fcn.0044eb00
add esp, 8
test eax, eax
je 0x44ef2e
xor ebx, ebx
cmp dword [esp + 0x1c], ebx
jle 0x44ef00
mov eax, dword [esp + 0x20]
test dword [eax + 0x28], 0x400
je 0x44eee6
mov ecx, dword [esp + 0x64]
push ecx
mov ecx, dword [eax + 0x30]
call fcn.00466020
add esp, 4
test eax, eax
jl 0x44eee6
mov edx, dword [esp + 0x20]
mov al, byte [edx + 0x24]
test al, 0x10
je 0x44ef2e
test al, 8
jne 0x44eec6
mov eax, dword [esp + 0x24]
cmp eax, ebx
mov dword [esp + 0x1c], ebx
je 0x44eefc
push eax
mov eax, dword [esp + 0x2c]
push eax
jmp 0x44eef4
mov ecx, dword [esp + 0x6c]
movzx edx, word [ecx + 0x20]
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x58]
push edx
lea eax, [esp + 0x28]
push eax
call fcn.0044ec30
add esp, 8
jmp 0x44ef00
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x44eefc
mov ecx, dword [esp + 0x28]
push eax
push ecx
call fcn.00453b70
add esp, 8
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
mov word [eax + 0x20], bp
or dword [esi], 0x40
mov eax, dword [esi]
mov edi, 1
add dword [esp + 0x1c], edi
test al, al
mov dword [esp + 0x34], 2
mov dword [esp + 0x2c], edx
js 0x44f1e6
mov ecx, dword [esp + 0x3c]
add ebp, 1
add esi, 0x14
cmp ebp, dword [ecx]
jl 0x44ee51
test edi, edi
jne 0x44f1e6
cmp dword [esp + 0x60], 0
jne 0x44ef5f
jmp 0x44f1e6
cmp dword [esp + 0x60], 0
je 0x44f06b
cmp dword [esp + 0x5c], 0
je 0x44ef93
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x18]
cmp dword [eax + 0x3c], edx
jne 0x44f1e6
test edx, edx
jne 0x44ef93
mov esi, dword [esp + 0x5c]
mov edi, 0x4c7dbc
mov ecx, 2
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x44f1e6
mov eax, dword [esp + 0x20]
mov ebx, dword [eax + 0xc]
test ebx, ebx
mov ecx, dword [esp + 0x60]
je 0x44efd9
mov esi, ebx
sub esi, ecx
movzx eax, byte [ecx]
movzx edx, byte [esi + ecx]
cmp eax, edx
jne 0x44efbe
test eax, eax
je 0x44f034
add ecx, 1
jmp 0x44efa6
movzx edx, byte [edx + 0x4c1700]
movzx eax, byte [eax + 0x4c1700]
sub eax, edx
jne 0x44f1e6
add ecx, 1
jmp 0x44efa6
mov edi, dword [esp + 0x18]
mov esi, dword [edi]
sub esi, ecx
movzx eax, byte [ecx]
movzx edx, byte [esi + ecx]
cmp eax, edx
jne 0x44eff5
test eax, eax
je 0x44f034
add ecx, 1
jmp 0x44efe1
movzx edx, byte [edx + 0x4c1700]
movzx eax, byte [eax + 0x4c1700]
sub eax, edx
jne 0x44f00c
add ecx, 1
jmp 0x44efe1
cmp dword [edi + 0x14], 1
jne 0x44f1e6
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x60]
push ecx
push edx
call fcn.0044eca0
add esp, 8
test eax, eax
je 0x44f1e6
mov eax, dword [esp + 0x58]
cmp byte [eax + 0xd8], 2
jb 0x44f06b
test ebx, ebx
je 0x44f06b
mov ecx, eax
mov eax, dword [ecx + 0x114]
test eax, eax
je 0x44f06b
mov ecx, dword [esp + 0x6c]
add ecx, 0x2c
cmp dword [eax], ecx
je 0x44f065
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x44f058
jmp 0x44f06b
mov dword [eax], 0
mov edx, dword [esp + 0x64]
call fcn.0041ce40
mov byte [esp + 0x17], al
mov eax, dword [esp + 0x18]
movsx ebx, word [eax + 0x22]
mov edi, dword [eax + 4]
xor ebp, ebp
test ebx, ebx
jle 0x44f1c5
mov dl, byte [esp + 0x17]
cmp byte [edi + 0xa], dl
jne 0x44f0ee
mov eax, dword [edi]
mov esi, dword [esp + 0x64]
sub esi, eax
mov edi, edi
movzx ecx, byte [eax]
movzx edx, byte [esi + eax]
cmp ecx, edx
jne 0x44f0fd
test ecx, ecx
jne 0x44f10f
cmp dword [esp + 0x1c], ecx
jle 0x44f17e
mov edx, dword [esp + 0x20]
test dword [edx + 0x28], 0x400
je 0x44f160
mov eax, dword [esp + 0x64]
mov ecx, edx
mov ecx, dword [ecx + 0x30]
push eax
call fcn.00466020
add esp, 4
test eax, eax
jl 0x44f160
mov edx, dword [esp + 0x20]
test byte [edx + 0x24], 0x10
jne 0x44f114
add ebp, 1
add edi, 0x10
cmp ebp, ebx
jl 0x44f08d
jmp 0x44f1c5
movzx edx, byte [edx + 0x4c1700]
movzx ecx, byte [ecx + 0x4c1700]
sub ecx, edx
jne 0x44f0ee
add eax, 1
jmp 0x44f0a0
mov eax, dword [esp + 0x20]
test byte [eax + 0x24], 8
jne 0x44f140
mov eax, dword [esp + 0x24]
xor esi, esi
cmp eax, esi
mov dword [esp + 0x1c], esi
je 0x44f13a
mov ecx, dword [esp + 0x28]
push eax
push ecx
call fcn.00453b70
add esp, 8
mov dword [esp + 0x24], esi
jmp 0x44f17e
mov edx, dword [esp + 0x6c]
movzx eax, word [edx + 0x20]
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x58]
push eax
lea ecx, [esp + 0x28]
push ecx
call fcn.0044ec30
add esp, 8
jmp 0x44f17e
mov eax, dword [esp + 0x24]
test eax, eax
je 0x44f176
mov edx, dword [esp + 0x28]
push eax
push edx
call fcn.00453b70
add esp, 8
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x18]
movsx edx, word [eax + 0x20]
add dword [esp + 0x1c], 1
cmp ebp, edx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x2c], ecx
jne 0x44f19c
or eax, 0xffffffff
jmp 0x44f19f
movsx eax, bp
mov edx, dword [esp + 0x6c]
mov word [edx + 0x20], ax
test dword [ecx + 0x28], 0x2000
je 0x44f1c5
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x14]
mov eax, dword [ecx + 0x1c]
lea edx, [ebp + ebp*4 + 5]
or dword [eax + edx*4], 0x40
lea eax, [eax + edx*4]
cmp dword [esp + 0x1c], 0
jne 0x44f1e6
mov eax, dword [esp + 0x18]
test dword [eax + 0x1c], 0x200
jne 0x44f1e6
mov ecx, dword [esp + 0x20]
add dword [esp + 0x34], 1
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
add dword [esp + 0x20], 0x48
add eax, 1
cmp eax, dword [edx]
mov dword [esp + 0x48], eax
jl 0x44ee20
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x44f230
mov edx, dword [ecx + 0x2c]
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x1c], edx
mov edx, dword [ecx + 0x10]
mov dword [eax + 0x2c], edx
test byte [ecx + 0x24], 0x48
je 0x44f227
or dword [eax + 4], 0x200000
mov eax, edx
mov ecx, dword [eax + 0x3c]
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x44f971
cmp dword [esp + 0x5c], eax
jne 0x44f458
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x7c]
test eax, eax
je 0x44f32b
cmp byte [ebx + 0x9d], 0
movzx ebp, byte [ebx + 0x9c]
je 0x44f2b1
mov edx, dword [esp + 0x68]
test dword [edx + 0x18], 0x400
je 0x44f32b
test esi, esi
je 0x44f293
mov eax, dword [eax]
mov edx, esi
call fcn.0041cd90
test eax, eax
jne 0x44f32b
mov ecx, dword [esp + 0x6c]
xor eax, eax
cmp ebp, 0x80
setne al
mov dword [ecx + 0x1c], eax
mov edx, dword [ebx + 0x7c]
mov dword [esp + 0x18], edx
jmp 0x44f32b
cmp ebp, 0x80
je 0x44f300
test esi, esi
je 0x44f300
mov ecx, 0x4c7dc0
mov edi, esi
sub edi, ecx
movzx eax, byte [ecx]
movzx edx, byte [edi + ecx]
cmp eax, edx
jne 0x44f2e9
test eax, eax
jne 0x44f2fb
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 0x1c], 1
mov edx, dword [ebx + 0x7c]
mov dword [esp + 0x18], edx
jmp 0x44f32b
movzx edx, byte [edx + 0x4c1700]
movzx eax, byte [eax + 0x4c1700]
sub eax, edx
jne 0x44f300
add ecx, 1
jmp 0x44f2c6
cmp ebp, 0x7f
je 0x44f32b
test esi, esi
je 0x44f32b
mov eax, esi
mov edx, 0x4c7dc4
call fcn.0041cd90
test eax, eax
jne 0x44f32b
mov eax, dword [esp + 0x6c]
mov dword [eax + 0x1c], 0
mov ecx, dword [ebx + 0x7c]
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x68]
test dword [eax + 0x18], 0x200
je 0x44f37c
test esi, esi
je 0x44f37c
mov edi, dword [eax + 8]
test edi, edi
je 0x44f37c
mov ecx, str.excluded
sub esi, ecx
lea ebx, [ebx]
movzx eax, byte [ecx]
movzx edx, byte [esi + ecx]
cmp eax, edx
jne 0x44f407
test eax, eax
jne 0x44f41d
mov ecx, dword [edi + 0x20]
mov edx, dword [ecx + 0x18]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], edx
mov dword [eax + 0x1c], 2
cmp dword [esp + 0x18], 0
je 0x44f458
mov edx, dword [esp + 0x64]
call fcn.0041ce40
mov ecx, dword [esp + 0x18]
movsx ebp, word [ecx + 0x22]
mov edx, dword [ecx + 0x3c]
add dword [esp + 0x34], 1
xor ebx, ebx
test ebp, ebp
mov byte [esp + 0x17], al
mov eax, dword [ecx + 4]
mov dword [esp + 0x30], edx
jle 0x44f3e4
mov cl, byte [esp + 0x17]
cmp byte [eax + 0xa], cl
jne 0x44f43c
mov ecx, dword [eax]
mov edi, dword [esp + 0x64]
sub edi, ecx
movzx edx, byte [ecx]
movzx esi, byte [edi + ecx]
cmp edx, esi
jne 0x44f425
test edx, edx
jne 0x44f437
mov eax, dword [esp + 0x18]
movsx ecx, word [eax + 0x20]
cmp ebx, ecx
jne 0x44f3e4
or ebx, 0xffffffff
cmp ebx, ebp
jl 0x44f44c
mov esi, dword [esp + 0x64]
call fcn.004542e0
test eax, eax
je 0x44f44c
mov edi, dword [esp + 0x18]
test dword [edi + 0x1c], 0x200
jne 0x44f450
or ebx, 0xffffffff
jmp 0x44f450
movzx edx, byte [edx + 0x4c1700]
movzx eax, byte [eax + 0x4c1700]
sub eax, edx
jne 0x44f37c
add ecx, 1
jmp 0x44f350
movzx esi, byte [esi + 0x4c1700]
movzx edx, byte [edx + 0x4c1700]
sub edx, esi
jne 0x44f43c
add ecx, 1
jmp 0x44f3c6
add ebx, 1
add eax, 0x10
cmp ebx, ebp
jl 0x44f3b1
jmp 0x44f3e4
mov edi, dword [esp + 0x18]
cmp ebx, ebp
jl 0x44f623
cmp dword [esp + 0x34], 1
mov ebx, dword [esp + 0x64]
jne 0x44f4a9
mov edi, dword [esp + 0x2c]
test edi, edi
je 0x44f4a9
mov ebp, dword [esp + 0x68]
test byte [ebp + 0x18], 0x28
jne 0x44f4ad
mov esi, ebx
call fcn.004542e0
test eax, eax
je 0x44f4ad
mov edx, dword [edi + 0x10]
test dword [edx + 0x1c], 0x200
jne 0x44f4ad
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x1c], 1
mov word [eax + 0x20], 0xffff
mov byte [eax + 1], 0x44
mov edi, eax
jmp 0x44fb0d
mov ebp, dword [esp + 0x68]
test byte [ebp + 0x18], 0x80
je 0x44f533
cmp dword [esp + 0x60], 0
jne 0x44f533
mov eax, dword [ebp + 8]
mov edi, dword [eax]
xor ecx, ecx
test edi, edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], edi
jle 0x44f533
mov esi, eax
add esi, 0x14
mov dword [esp + 0x4c], esi
test byte [esi], 3
mov eax, dword [esi - 8]
jne 0x44f525
test eax, eax
jne 0x44f4ee
mov edx, ebx
neg edx
sbb edx, edx
jmp 0x44f51d
test ebx, ebx
je 0x44f525
mov esi, eax
sub ebx, eax
movzx edx, byte [esi]
movzx edi, byte [ebx + esi]
cmp edx, edi
jne 0x44f605
test edx, edx
jne 0x44f61b
mov ebp, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x48]
test edx, edx
je 0x44f7db
add ecx, 1
add esi, 0x14
cmp ecx, edi
mov dword [esp + 0x4c], esi
jl 0x44f4da
mov eax, dword [ebp + 0xc]
add dword [esp + 0x44], 1
test eax, eax
mov dword [esp + 0x68], eax
jne 0x44edf5
cmp dword [esp + 0x60], eax
jne 0x44f97a
mov esi, dword [esp + 0x6c]
mov ebx, dword [esi + 4]
test bl, bl
jns 0x44f5b9
mov ecx, dword [esp + 0x28]
cmp byte [ecx + 0xb1], al
jne 0x44f8de
mov eax, dword [esp + 0x38]
test dword [eax + 0x18], 0x10000
mov eax, dword [ecx + 0x20]
je 0x44f8cf
mov ecx, dword [ecx + 0x24]
mov dword [esp + 0x50], ecx
mov ecx, eax
and ecx, 0x10000001
xor edx, edx
cmp ecx, 1
jne 0x44f5aa
test edx, edx
jne 0x44f5aa
mov ecx, eax
and ecx, 0x40000000
or ecx, edx
jne 0x44f8de
and eax, 0x20000000
xor ecx, ecx
or eax, ecx
jne 0x44f8de
test ebx, 0x4000800
jne 0x44f97a
mov ebp, esi
mov edi, dword [ebp + 8]
mov esi, str.true
mov ecx, edi
sub esi, edi
movzx eax, byte [ecx]
movzx edx, byte [ecx + esi]
cmp eax, edx
jne 0x44f90a
test eax, eax
jne 0x44f91c
mov eax, 0x10000000
or ebx, eax
mov byte [ebp], 0xaa
mov dword [ebp + 4], ebx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
movzx edi, byte [edi + 0x4c1700]
movzx edx, byte [edx + 0x4c1700]
sub edx, edi
jne 0x44f50d
add esi, 1
jmp 0x44f4f6
mov esi, dword [esp + 0x6c]
mov ecx, dword [esi + 0x1c]
mov eax, dword [esp + 0x58]
xor edx, edx
cmp ecx, 2
mov dword [esp + 0x1c], 1
mov dword [esp + 0x2c], edx
jne 0x44f6d5
cmp byte [eax + 0xd8], cl
jb 0x44f663
mov dword [esi + 0x2c], edi
mov word [esi + 0x20], bx
mov dword [esp + 0x40], 0xa7
mov edi, esi
jmp 0x44fb0d
test byte [edi + 0x1c], 0x20
je 0x44f6b3
cmp bx, dx
jl 0x44f6b3
movsx eax, bx
xor ebp, ebp
cmp eax, edx
jle 0x44f690
mov ecx, dword [edi + 4]
add ecx, 0xe
mov ebp, eax
nop
test byte [ecx], 0x20
jne 0x44f688
add edx, 1
add ecx, 0x10
sub eax, 1
jne 0x44f680
mov eax, dword [edi + 4]
mov ecx, ebp
shl ecx, 4
test byte [ecx + eax + 0xe], 0x20
je 0x44f6ae
mov ax, word [edi + 0x24]
sub ax, dx
add ax, bp
movzx eax, ax
jmp 0x44f6b6
movzx eax, dx
jmp 0x44f6b6
movzx eax, bx
mov ecx, dword [esp + 0x68]
mov edx, dword [ecx + 8]
movsx eax, ax
add eax, dword [edx + 0x24]
mov dword [esp + 0x40], 0xb0
mov dword [esi + 0x1c], eax
mov edi, esi
jmp 0x44fb0d
mov dword [esi + 0x2c], edi
cmp byte [eax + 0x9d], 0
mov word [esi + 0x20], bx
je 0x44f76a
mov byte [esi + 2], 0xa7
test byte [edi + 0x1c], 0x20
mov dword [esp + 0x40], 0xb0
je 0x44f744
cmp bx, dx
jl 0x44f744
movsx ecx, bx
xor ebp, ebp
cmp ecx, edx
jle 0x44f721
mov eax, dword [edi + 4]
add eax, 0xe
mov ebp, ecx
test byte [eax], 0x20
jne 0x44f719
add edx, 1
add eax, 0x10
sub ecx, 1
jne 0x44f711
mov eax, dword [edi + 4]
mov ecx, ebp
shl ecx, 4
test byte [ecx + eax + 0xe], 0x20
je 0x44f73f
mov cx, word [edi + 0x24]
sub cx, dx
add cx, bp
movzx eax, cx
jmp 0x44f747
movzx eax, dx
jmp 0x44f747
movzx eax, bx
movsx edx, word [edi + 0x22]
mov ecx, dword [esp + 0x68]
add edx, 1
imul edx, dword [esi + 0x1c]
add edx, dword [ecx + 8]
movsx eax, ax
lea ecx, [edx + eax + 1]
mov dword [esi + 0x1c], ecx
mov edi, esi
jmp 0x44fb0d
cmp ebx, edx
mov dword [esp + 0x40], 0x4d
jge 0x44f781
mov byte [esi + 1], 0x44
mov edi, esi
jmp 0x44fb0d
cmp ecx, edx
jne 0x44f7b0
cmp ebx, 0x20
jl 0x44f79a
or edx, 0xffffffff
or dword [eax + 0x90], edx
mov edi, esi
jmp 0x44fb0d
mov edx, 1
mov ecx, ebx
shl edx, cl
mov edi, esi
or dword [eax + 0x90], edx
jmp 0x44fb0d
cmp ebx, 0x20
jl 0x44f7c5
or edx, 0xffffffff
or dword [eax + 0x94], edx
mov edi, esi
jmp 0x44fb0d
mov edx, 1
mov ecx, ebx
shl edx, cl
mov edi, esi
or dword [eax + 0x94], edx
jmp 0x44fb0d
mov ebx, dword [ebp + 0x18]
test bl, 1
mov esi, dword [esp + 0x3c]
lea edx, [ecx + ecx*4]
mov edx, dword [esi + edx*4 + 8]
jne 0x44f813
test byte [edx + 4], 0x10
je 0x44f813
push eax
push str.misuse_of_aliased_aggregate__s
mov esi, dword [esp + 0x60]
call fcn.0041cbf0
add esp, 8
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
test dword [edx + 4], 0x8000
je 0x44f834
test ebx, 0x4000
je 0x44f82c
mov esi, dword [esp + 0x38]
cmp ebp, esi
je 0x44f838
push eax
push str.misuse_of_aliased_window_function__s
jmp 0x44f7fa
mov esi, dword [esp + 0x38]
mov bl, byte [edx]
cmp bl, 0xb0
jne 0x44f842
mov bl, byte [edx + 2]
cmp bl, 0xb1
jne 0x44f84c
mov eax, dword [edx + 0x14]
jmp 0x44f857
cmp bl, 0x8a
jne 0x44f87c
mov edx, dword [edx + 0x14]
mov eax, dword [edx + 0x1c]
mov edx, dword [eax]
cmp edx, 1
je 0x44f87c
mov esi, dword [esp + 0x58]
push str.row_value_misused
call fcn.0041cbf0
add esp, 4
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x58]
push edx
push ebx
mov eax, ecx
mov ecx, dword [esp + 0x44]
push edi
call fcn.0044ea40
add esp, 0xc
cmp byte [edi + 0xd8], 2
jb 0x44fbef
mov eax, dword [edi + 0x114]
test eax, eax
je 0x44fbef
cmp dword [eax], ebx
je 0x44f8c4
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x44f8b4
jmp 0x44fbef
mov dword [eax], 0
jmp 0x44fbef
and eax, 0x40000000
xor ecx, ecx
or eax, ecx
je 0x44f5b9
mov edx, dword [esp + 0x64]
push edx
push str.double_quoted_string_literal:___w_
push 0x1c
call fcn.0041bc90
add esp, 0xc
xor eax, eax
mov byte [esi], 0x75
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], eax
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
movzx edx, byte [edx + 0x4c1700]
movzx eax, byte [eax + 0x4c1700]
sub eax, edx
jne 0x44f924
add ecx, 1
jmp 0x44f5d3
mov esi, str.false
mov edx, edi
sub esi, edi
lea ecx, [ecx]
movzx eax, byte [edx]
movzx ecx, byte [edx + esi]
cmp eax, ecx
jne 0x44f95a
test eax, eax
jne 0x44f96c
mov eax, 0x20000000
or ebx, eax
mov byte [ebp], 0xaa
mov dword [ebp + 4], ebx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
movzx ecx, byte [ecx + 0x4c1700]
movzx eax, byte [eax + 0x4c1700]
sub eax, ecx
jne 0x44f97a
add edx, 1
jmp 0x44f930
cmp eax, 1
je 0x44fb09
mov ebp, dword [esp + 0x24]
xor ebx, ebx
cmp ebp, ebx
je 0x44fa65
mov ecx, dword [esp + 0x1c]
add ecx, 0xffffffff
cmp dword [ebp], ecx
jne 0x44fa57
mov edi, dword [esp + 0x6c]
mov eax, dword [edi + 4]
test eax, 0x800000
je 0x44f9b0
and eax, 0xff7fffff
mov dword [edi + 4], eax
jmp 0x44f9e0
mov eax, dword [edi + 0xc]
cmp eax, ebx
je 0x44f9c5
mov edx, dword [esp + 0x28]
push eax
push edx
call fcn.00452b80
add esp, 8
mov eax, dword [edi + 0x10]
cmp eax, ebx
mov dword [edi + 0xc], ebx
je 0x44f9dd
push eax
mov eax, dword [esp + 0x2c]
push eax
call fcn.00452b80
add esp, 8
mov dword [edi + 0x10], ebx
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx]
movzx ebx, word [edi + 0x20]
push 0
push 0x34
call fcn.00419650
mov esi, eax
add esp, 8
test esi, esi
je 0x44fa43
push 0x34
push 0
push esi
call sub.ntdll.dll_memset
mov eax, dword [esp + 0x38]
mov byte [esi], 0xa7
mov word [esi + 0x22], 0xffff
mov dword [esi + 0x18], 1
mov edx, dword [eax + 0x2c]
mov dword [esi + 0x1c], edx
mov edx, dword [esp + 0x64]
mov word [esi + 0x20], bx
mov eax, dword [eax + 0x10]
or dword [esi + 4], 0x200000
mov dword [esi + 0x2c], eax
add esp, 0xc
mov ecx, esi
mov eax, ebp
call fcn.00453880
mov ebp, eax
mov byte [edi], 0xac
mov dword [edi + 8], str.coalesce
mov dword [edi + 0x14], ebp
mov ebx, edi
jmp 0x44fbe3
mov ecx, dword [esp + 0x28]
push ebp
push ecx
call fcn.00453b70
add esp, 8
cmp dword [esp + 0x1c], ebx
mov eax, str.no_such_column
je 0x44fa75
mov eax, str.ambiguous_column_name
mov ecx, dword [esp + 0x5c]
cmp ecx, ebx
mov esi, dword [esp + 0x58]
je 0x44fa9c
mov edx, dword [esp + 0x64]
push edx
mov edx, dword [esp + 0x64]
push edx
push ecx
push eax
push str._s:__s._s._s
call fcn.0041cbf0
add esp, 0x14
jmp 0x44facd
mov ecx, dword [esp + 0x60]
cmp ecx, ebx
je 0x44faba
mov edx, dword [esp + 0x64]
push edx
push ecx
push eax
push str._s:__s._s
call fcn.0041cbf0
add esp, 0x10
jmp 0x44facd
mov ecx, dword [esp + 0x64]
push ecx
push eax
push str._s:__s
call fcn.0041cbf0
add esp, 0xc
mov edi, dword [esp + 0x6c]
mov ecx, dword [esi]
mov eax, edi
test byte [eax + 4], 3
jne 0x44fae0
cmp dword [eax + 0x24], ebx
jg 0x44faf5
mov eax, dword [eax + 0xc]
cmp eax, ebx
jne 0x44fad5
mov eax, dword [esp + 0x38]
mov byte [esi + 0x11], 1
add dword [eax + 0x14], 1
jmp 0x44fb0d
mov edx, dword [eax + 0x24]
mov eax, dword [esp + 0x38]
mov dword [ecx + 0x44], edx
mov byte [esi + 0x11], 1
add dword [eax + 0x14], 1
jmp 0x44fb0d
mov edi, dword [esp + 0x6c]
test dword [edi + 4], 0x810000
jne 0x44fb55
mov eax, dword [edi + 0xc]
test eax, eax
je 0x44fb2b
push eax
mov eax, dword [esp + 0x2c]
push eax
call fcn.00452b80
add esp, 8
mov eax, dword [edi + 0x10]
test eax, eax
mov dword [edi + 0xc], 0
je 0x44fb47
mov ecx, dword [esp + 0x28]
push eax
push ecx
call fcn.00452b80
add esp, 8
or dword [edi + 4], 0x800000
mov dword [edi + 0x10], 0
movzx eax, word [edi + 0x20]
test ax, ax
jl 0x44fbce
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x44fbce
movsx ecx, ax
mov eax, dword [edi + 0x2c]
mov dl, 0x60
test byte [eax + 0x1c], dl
je 0x44fbb2
mov ebp, dword [eax + 4]
mov ebx, ecx
shl ebx, 4
test byte [ebx + ebp + 0xe], dl
je 0x44fbb2
movzx eax, word [eax + 0x22]
cmp ax, 0x40
jl 0x44fb9b
or eax, 0xffffffff
or edx, 0xffffffff
jmp 0x44fbc8
movsx ecx, ax
mov eax, 1
xor edx, edx
call sub.ntdll.dll__allshl
add eax, 0xffffffff
adc edx, 0xffffffff
jmp 0x44fbc8
cmp ecx, 0x40
jl 0x44fbbc
mov ecx, 0x3f
mov eax, 1
xor edx, edx
call sub.ntdll.dll__allshl
or dword [esi + 0x38], eax
or dword [esi + 0x3c], edx
cmp dword [esp + 0x1c], 1
mov dl, byte [esp + 0x40]
mov byte [edi], dl
jne 0x44f806
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x58]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x38]
mov eax, dword [edi]
cmp dword [eax + 0x16c], 0
je 0x44fc16
mov al, byte [ebx]
cmp al, 0xa7
je 0x44fc04
cmp al, 0x4d
jne 0x44fc16
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x30]
push ecx
push ebx
push edi
call fcn.0045f8d0
add esp, 0xc
mov eax, 1
add dword [esi + 0x10], eax
cmp esi, ebp
je 0x44f80b
mov esi, dword [esi + 0xc]
add dword [esi + 0x10], eax
cmp esi, ebp
jne 0x44fc26
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret