Function at 0x4b75b0
Capabilities:
Inspect section memory permissions

Disassembly:
sub esp, 0x44
mov edx, dword [esp + 0x48]
xor eax, eax
push ebx
push ebp
xor ebx, ebx
mov dword [esp + 0x40], eax
mov ecx, dword [edx]
xor ebp, ebp
push esi
mov esi, dword [esp + 0x64]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x68]
push edi
xor edi, edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x28], ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x44], esi
mov dword [esp + 0x3c], 0xa7
mov dword [eax + 0x1c], 0xffffffff
test ebx, ebx
je 0x4b7694
test byte [esi + 0x18], 6
je 0x4b761a
xor ebx, ebx
mov dword [esp + 0x5c], ebx
jmp 0x4b7694
mov ebx, dword [ecx + 0x14]
xor esi, esi
test ebx, ebx
jle 0x4b765c
mov ebp, dword [ecx + 0x10]
mov edi, ebp
nop dword [eax + eax]
push dword [esp + 0x5c]
push dword [edi]
call fcn.004f93b0
add esp, 8
test eax, eax
je 0x4b764c
inc esi
add edi, 0x10
cmp esi, ebx
jl 0x4b7630
jmp 0x4b7658
mov eax, esi
add eax, eax
mov eax, dword [ebp + eax*8 + 0xc]
mov dword [esp + 0x34], eax
xor ebp, ebp
xor edi, edi
cmp esi, ebx
mov ebx, dword [esp + 0x5c]
jne 0x4b7690
push ebx
push str.main
call fcn.004f93b0
mov esi, dword [esp + 0x70]
add esp, 8
test eax, eax
jne 0x4b7694
mov eax, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x5c], ebx
jmp 0x4b7694
mov esi, dword [esp + 0x68]
mov edx, dword [esp + 0x60]
nop dword [eax + eax]
mov ecx, dword [esi + 4]
mov dword [esp + 0x2c], ecx
test ecx, ecx
je 0x4b7b0a
xor eax, eax
lea esi, [ecx + 8]
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], esi
cmp dword [ecx], eax
jle 0x4b7ada
nop dword [eax]
nop dword [eax + eax]
test dword [esi + 0x28], 0x2000
mov ebp, dword [esi + 0x10]
mov dword [esp + 0x40], ebp
je 0x4b7809
mov eax, dword [esi + 0x14]
xor ebx, ebx
xor edi, edi
mov ebp, dword [eax + 0x1c]
cmp dword [ebp], ebx
jle 0x4b77cc
lea esi, [ebp + 0x14]
nop word [eax + eax]
push dword [esp + 0x5c]
lea eax, [esi - 0xc]
push edx
push dword [esp + 0x6c]
push eax
call fcn.004e8950
add esp, 0x10
test eax, eax
je 0x4b77ab
cmp dword [esp + 0x18], 0
jle 0x4b777e
mov eax, dword [esp + 0x1c]
test dword [eax + 0x28], 0x400
je 0x4b775f
push dword [esp + 0x64]
push dword [eax + 0x30]
call fcn.004e50c0
add esp, 8
test eax, eax
js 0x4b775f
mov eax, dword [esp + 0x1c]
mov al, byte [eax + 0x24]
test al, 0x10
je 0x4b77ab
test al, 8
jne 0x4b77e1
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4b7774
push eax
push dword [esp + 0x2c]
call fcn.004a90a0
add esp, 8
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
mov ebx, 1
inc dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x38], 2
mov word [eax + 0x20], di
or dword [esi], 0x40
test byte [esi], 0x80
jne 0x4b7aaa
mov edx, dword [esp + 0x60]
inc edi
add esi, 0x14
cmp edi, dword [ebp]
jl 0x4b7700
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
test ebx, ebx
jne 0x4b7b83
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x5c]
test edx, edx
jne 0x4b7813
mov ebp, dword [esp + 0x18]
jmp 0x4b7ac2
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x14]
movzx eax, word [eax + 0x20]
push eax
push edx
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x64]
call fcn.004a9a20
mov eax, dword [esp + 0x40]
add esp, 0x10
jmp 0x4b777a
test edx, edx
je 0x4b7927
jmp 0x4b7817
mov ebp, dword [esp + 0x40]
test ebx, ebx
je 0x4b7861
mov edi, dword [esp + 0x34]
cmp dword [ebp + 0x3c], edi
jne 0x4b77d8
test edi, edi
jne 0x4b7861
mov ecx, 0x564fdc
mov eax, ebx
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4b7850
test dl, dl
je 0x4b784c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4b7850
add eax, 2
add ecx, 2
test dl, dl
jne 0x4b7830
xor eax, eax
jmp 0x4b7855
sbb eax, eax
or eax, 1
mov edx, dword [esp + 0x60]
test eax, eax
jne 0x4b7bb0
mov edi, dword [esi + 0xc]
test edi, edi
je 0x4b789b
mov esi, edi
sub esi, dword [esp + 0x60]
nop
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x4b7882
test ecx, ecx
je 0x4b78eb
inc edx
jmp 0x4b7870
movzx eax, byte [eax + 0x571710]
movzx ecx, byte [ecx + 0x571710]
sub ecx, eax
jne 0x4b7b8c
inc edx
jmp 0x4b7870
mov esi, dword [ebp]
mov ebx, dword [esp + 0x60]
sub esi, ebx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x4b78b6
test ecx, ecx
je 0x4b78eb
inc edx
jmp 0x4b78a4
movzx eax, byte [eax + 0x571710]
movzx ecx, byte [ecx + 0x571710]
sub ecx, eax
jne 0x4b78cb
inc edx
jmp 0x4b78a4
cmp dword [ebp + 0x14], 1
jne 0x4b7ba1
push dword [esp + 0x34]
push ebp
push ebx
call fcn.004b2430
add esp, 0xc
test eax, eax
je 0x4b7ba1
mov eax, dword [esp + 0x58]
cmp byte [eax + 0xd8], 2
jb 0x4b7923
test edi, edi
je 0x4b7923
mov eax, dword [eax + 0x114]
test eax, eax
je 0x4b7923
mov ecx, dword [esp + 0x6c]
add ecx, 0x2c
nop dword [eax]
cmp dword [eax], ecx
je 0x4b791d
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x4b7910
jmp 0x4b7923
mov dword [eax], 0
mov esi, dword [esp + 0x1c]
push dword [esp + 0x64]
call fcn.004f93f0
mov edi, dword [ebp + 4]
add esp, 4
movsx ebp, word [ebp + 0x22]
xor ebx, ebx
mov byte [esp + 0x13], al
test ebp, ebp
jle 0x4b7a29
nop dword [eax + eax]
cmp byte [edi + 0xa], al
jne 0x4b7a1d
mov esi, dword [esp + 0x64]
mov edx, dword [edi]
sub esi, edx
movzx eax, byte [edx]
movzx ecx, byte [esi + edx]
cmp eax, ecx
jne 0x4b79fd
test eax, eax
jne 0x4b7a0f
mov esi, dword [esp + 0x1c]
cmp dword [esp + 0x18], eax
jle 0x4b79d4
test dword [esi + 0x28], 0x400
je 0x4b79b5
push dword [esp + 0x64]
push dword [esi + 0x30]
call fcn.004e50c0
add esp, 8
test eax, eax
js 0x4b79b5
mov al, byte [esi + 0x24]
test al, 0x10
je 0x4b7a19
test al, 8
jne 0x4b7a5e
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4b79ca
push eax
push dword [esp + 0x2c]
call fcn.004a90a0
add esp, 8
xor ecx, ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x24], ecx
mov edi, dword [esp + 0x6c]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x18]
inc ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebp
movsx eax, word [edx + 0x20]
cmp ebx, eax
jne 0x4b7a8a
or eax, 0xffffffff
jmp 0x4b7a8d
movzx ecx, byte [ecx + 0x571710]
movzx eax, byte [eax + 0x571710]
sub eax, ecx
jne 0x4b7a15
inc edx
jmp 0x4b7961
mov esi, dword [esp + 0x1c]
mov al, byte [esp + 0x13]
inc ebx
add edi, 0x10
cmp ebx, ebp
jl 0x4b7950
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x18]
test ebp, ebp
jne 0x4b7ab2
test dword [edx + 0x1c], 0x200
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
jne 0x4b7ac2
inc dword [esp + 0x38]
mov edi, esi
mov dword [esp + 0x14], edi
jmp 0x4b7ac6
mov edi, dword [esp + 0x6c]
mov edx, dword [esp + 0x14]
movzx eax, word [edi + 0x20]
push eax
push edx
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x64]
call fcn.004a9a20
mov eax, dword [esp + 0x40]
add esp, 0x10
mov dword [esp + 0x24], eax
jmp 0x4b79d8
movzx eax, bx
mov word [edi + 0x20], ax
test dword [esi + 0x28], 0x2000
je 0x4b7a31
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 0x1c]
lea eax, [ebx + ebx*4]
or dword [ecx + eax*4 + 0x14], 0x40
jmp 0x4b7a31
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x5c]
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
inc eax
add esi, 0x48
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], esi
cmp eax, dword [ecx]
jl 0x4b76d0
test edi, edi
je 0x4b7b02
mov ecx, dword [esp + 0x6c]
mov eax, dword [edi + 0x2c]
mov dword [ecx + 0x1c], eax
mov eax, dword [edi + 0x10]
mov dword [ecx + 0x2c], eax
test byte [edi + 0x24], 0x48
je 0x4b7afb
or dword [ecx + 4], 0x200000
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x34], eax
test ebp, ebp
jne 0x4b7e77
test ebx, ebx
jne 0x4b7dc2
mov esi, dword [esp + 0x58]
xor ebp, ebp
mov dword [esp + 0x2c], ebp
mov eax, dword [esi + 0x80]
test eax, eax
je 0x4b7c21
cmp byte [esi + 0x9b], 0
mov bl, byte [esi + 0x9a]
je 0x4b7bbd
mov edi, dword [esp + 0x68]
test dword [edi + 0x18], 0x400
je 0x4b7c21
test edx, edx
je 0x4b7b65
push dword [eax]
push edx
call fcn.004f93b0
add esp, 8
test eax, eax
jne 0x4b7c21
xor eax, eax
cmp bl, 0x80
mov ebx, dword [esp + 0x6c]
setne al
mov dword [ebx + 0x1c], eax
mov ebp, dword [esi + 0x80]
mov dword [esp + 0x2c], ebp
jmp 0x4b7c25
mov ebp, dword [esp + 0x18]
jmp 0x4b7aba
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x60]
jmp 0x4b7abe
mov esi, dword [esp + 0x1c]
mov edx, ebx
mov ebp, dword [esp + 0x18]
jmp 0x4b7ab6
mov ebp, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
jmp 0x4b7abe
cmp bl, 0x80
je 0x4b7bf8
test edx, edx
je 0x4b7bf3
push edx
push 0x5759fc
call fcn.004f93b0
add esp, 8
test eax, eax
jne 0x4b7bef
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x1c], 1
mov ebp, dword [esi + 0x80]
mov dword [esp + 0x2c], ebp
jmp 0x4b7c25
mov edx, dword [esp + 0x60]
cmp bl, 0x7f
je 0x4b7c21
test edx, edx
je 0x4b7c21
push edx
push 0x575a00
call fcn.004f93b0
mov ebx, dword [esp + 0x74]
add esp, 8
test eax, eax
jne 0x4b7c25
mov dword [ebx + 0x1c], ebp
mov ebp, dword [esi + 0x80]
mov dword [esp + 0x2c], ebp
jmp 0x4b7c25
mov ebx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
test dword [eax + 0x18], 0x200
je 0x4b7c78
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x4b7c78
mov edi, dword [eax + 8]
test edi, edi
je 0x4b7c78
mov edx, str.excluded
mov esi, ecx
sub esi, edx
nop word [eax + eax]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x4b7d35
test ecx, ecx
jne 0x4b7d4b
mov eax, dword [edi + 0x20]
mov ebp, dword [eax + 0x18]
mov dword [esp + 0x2c], ebp
mov dword [ebx + 0x1c], 2
test ebp, ebp
je 0x4b7dc2
mov esi, dword [esp + 0x64]
push esi
call fcn.004f93f0
mov ecx, dword [ebp + 0x3c]
add esp, 4
mov ebx, dword [ebp + 4]
xor edi, edi
movsx ebp, word [ebp + 0x22]
inc dword [esp + 0x38]
mov byte [esp + 0x13], al
mov dword [esp + 0x34], ecx
test ebp, ebp
jle 0x4b7d87
nop dword [eax]
cmp byte [ebx + 0xa], al
jne 0x4b7d71
mov edx, dword [ebx]
sub esi, edx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [edx + esi]
cmp ecx, eax
jne 0x4b7d51
test ecx, ecx
jne 0x4b7d63
mov ebx, dword [esp + 0x2c]
movsx eax, word [ebx + 0x20]
cmp edi, eax
jne 0x4b7d8b
or edi, 0xffffffff
mov ecx, edi
xor edx, edx
movzx ecx, cx
mov dword [esp + 0x14], edx
mov ebp, 1
mov edx, dword [esp + 0x6c]
mov esi, dword [edx + 0x1c]
cmp esi, 2
jne 0x4b7eb4
mov edx, dword [esp + 0x58]
mov eax, ecx
cmp byte [edx + 0xd8], 2
jb 0x4b7e89
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x3c], 0xa7
mov word [edi + 0x20], ax
mov dword [edi + 0x2c], ebx
jmp 0x4b8338
movzx eax, byte [eax + 0x571710]
movzx ecx, byte [ecx + 0x571710]
sub ecx, eax
jne 0x4b7c78
inc edx
jmp 0x4b7c50
movzx eax, byte [eax + 0x571710]
movzx ecx, byte [ecx + 0x571710]
sub ecx, eax
jne 0x4b7d69
inc edx
jmp 0x4b7cc0
mov al, byte [esp + 0x13]
mov esi, dword [esp + 0x64]
inc edi
add ebx, 0x10
cmp edi, ebp
jl 0x4b7cb0
mov ebx, dword [esp + 0x2c]
movzx esi, word [ebx + 0x22]
jmp 0x4b7d96
mov ebx, dword [esp + 0x2c]
movzx esi, word [ebx + 0x22]
movsx eax, si
cmp edi, eax
jl 0x4b7db5
push dword [esp + 0x64]
call fcn.004e71f0
add esp, 4
test eax, eax
je 0x4b7db5
test dword [ebx + 0x1c], 0x200
mov eax, 0xffffffff
cmove edi, eax
movsx eax, si
mov ecx, edi
cmp edi, eax
jl 0x4b7cec
cmp dword [esp + 0x38], 1
mov esi, dword [esp + 0x68]
jne 0x4b7dfb
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x4b7dfb
test byte [esi + 0x18], 0x28
jne 0x4b7dfb
push dword [esp + 0x64]
call fcn.004e71f0
add esp, 4
test eax, eax
je 0x4b7dfb
mov eax, dword [ebx + 0x10]
test dword [eax + 0x1c], 0x200
je 0x4b7f7b
test byte [esi + 0x18], 0x80
mov edx, dword [esp + 0x60]
je 0x4b7e53
test edx, edx
jne 0x4b7e53
mov eax, dword [esi + 8]
xor ebx, ebx
mov ebp, dword [eax]
test ebp, ebp
jle 0x4b7e53
lea esi, [eax + 0x14]
test byte [esi], 3
mov edi, dword [esi - 8]
jne 0x4b7e43
mov eax, dword [esp + 0x64]
test edi, edi
jne 0x4b7e2d
neg eax
sbb eax, eax
jmp 0x4b7e3b
test eax, eax
je 0x4b7e43
push eax
push edi
call fcn.004f93b0
add esp, 8
test eax, eax
je 0x4b7f94
inc ebx
add esi, 0x14
cmp ebx, ebp
jl 0x4b7e17
mov edx, dword [esp + 0x60]
mov esi, dword [esp + 0x68]
mov esi, dword [esi + 0xc]
inc dword [esp + 0x48]
mov dword [esp + 0x68], esi
test esi, esi
je 0x4b807f
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x5c]
jmp 0x4b76a0
mov edi, dword [esp + 0x6c]
cmp ebp, 1
je 0x4b8338
jmp 0x4b818f
push eax
push ebx
call fcn.004f9970
mov edi, dword [esp + 0x70]
add esp, 8
movsx ecx, ax
mov dword [esp + 0x3c], 0xb0
mov eax, dword [edi + 8]
mov edi, dword [esp + 0x6c]
add ecx, dword [eax + 0x24]
mov dword [edi + 0x1c], ecx
jmp 0x4b8338
mov eax, dword [esp + 0x58]
mov dword [edx + 0x2c], ebx
mov al, byte [eax + 0x9b]
mov word [edx + 0x20], cx
test al, al
je 0x4b7f00
mov edi, edx
mov dword [esp + 0x3c], 0xb0
push ecx
push ebx
mov byte [edi + 2], 0xa7
call fcn.004f9970
movsx ecx, ax
add esp, 8
movsx eax, word [ebx + 0x22]
inc eax
imul eax, esi
add ecx, eax
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 8]
inc eax
add eax, ecx
mov dword [edi + 0x1c], eax
jmp 0x4b8338
mov dword [esp + 0x3c], 0x4d
test edi, edi
jns 0x4b7f17
mov edi, edx
mov byte [edi + 1], 0x44
jmp 0x4b8338
test esi, esi
jne 0x4b7f4b
cmp edi, 0x20
jl 0x4b7f34
mov ecx, dword [esp + 0x58]
or eax, 0xffffffff
mov edi, edx
or dword [ecx + 0x90], eax
jmp 0x4b8338
mov ecx, edi
mov eax, ebp
shl eax, cl
mov edi, edx
mov ecx, dword [esp + 0x58]
or dword [ecx + 0x90], eax
jmp 0x4b8338
cmp edi, 0x20
jl 0x4b7f64
mov ecx, dword [esp + 0x58]
or eax, 0xffffffff
mov edi, edx
or dword [ecx + 0x94], eax
jmp 0x4b8338
mov ecx, edi
mov eax, ebp
shl eax, cl
mov edi, edx
mov ecx, dword [esp + 0x58]
or dword [ecx + 0x94], eax
jmp 0x4b8338
mov edi, dword [esp + 0x6c]
or eax, 0xffffffff
mov ebp, 1
mov word [edi + 0x20], ax
mov byte [edi + 1], 0x44
jmp 0x4b833c
mov ebp, dword [esp + 0x68]
lea eax, [ebx + ebx*4]
mov esi, dword [ebp + 8]
mov edx, dword [ebp + 0x18]
mov eax, dword [esi + eax*4 + 8]
test dl, 1
jne 0x4b7fcf
test byte [eax + 4], 0x10
je 0x4b7fcf
push edi
push str.misuse_of_aliased_aggregate__s
push dword [esp + 0x60]
call fcn.004d7b40
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x44
ret
test dword [eax + 4], 0x8000
je 0x4b7fee
test edx, 0x4000
je 0x4b7fe6
cmp ebp, dword [esp + 0x44]
je 0x4b7fee
push edi
push str.misuse_of_aliased_window_function__s
jmp 0x4b7fb6
mov cl, byte [eax]
cmp cl, 0xb0
jne 0x4b7ff8
mov cl, byte [eax + 2]
cmp cl, 0xb1
jne 0x4b8002
mov eax, dword [eax + 0x14]
jmp 0x4b800d
cmp cl, 0x8a
jne 0x4b8030
mov eax, dword [eax + 0x14]
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
je 0x4b8030
push str.row_value_misused
push dword [esp + 0x5c]
call fcn.004d7b40
add esp, 8
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x6c]
mov ebp, dword [esp + 0x58]
push eax
push edi
push ebx
push esi
push ebp
call fcn.004c4440
add esp, 0x14
cmp byte [ebp + 0xd8], 2
jb 0x4b8414
mov eax, dword [ebp + 0x114]
test eax, eax
je 0x4b8414
cmp dword [eax], edi
je 0x4b8074
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x4b8064
jmp 0x4b8414
mov dword [eax], 0
jmp 0x4b8414
mov edi, dword [esp + 0x6c]
test edx, edx
jne 0x4b818b
test byte [edi + 4], 0x80
je 0x4b8119
mov eax, dword [esp + 0x28]
cmp byte [eax + 0xb1], dl
jne 0x4b80ee
mov edx, dword [esp + 0x44]
mov ecx, dword [eax + 0x20]
test dword [edx + 0x18], 0x10000
je 0x4b80e3
mov eax, ecx
and eax, 0x10000001
cmp eax, 1
jne 0x4b80c9
mov eax, ecx
and eax, 0x40000000
or eax, 0
jne 0x4b80ee
and ecx, 0x20000000
or ecx, 0
je 0x4b80dd
mov eax, 1
test eax, eax
jmp 0x4b80ec
xor eax, eax
test eax, eax
jmp 0x4b80ec
and ecx, 0x40000000
or ecx, 0
je 0x4b8119
push dword [esp + 0x64]
push str.double_quoted_string_literal:___w_
push 0x1c
call fcn.004849d0
add esp, 0xc
mov byte [edi], 0x75
xorps xmm0, xmm0
mov eax, 1
movq qword [edi + 0x2c], xmm0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret
mov esi, dword [edi + 4]
test esi, 0x4000800
jne 0x4b818b
mov edi, dword [edi + 8]
push str.true
push edi
call fcn.004f93b0
add esp, 8
test eax, eax
jne 0x4b8157
mov ecx, dword [esp + 0x6c]
mov eax, 0x10000000
or esi, eax
mov eax, 1
pop edi
mov dword [ecx + 4], esi
pop esi
pop ebp
mov byte [ecx], 0xaa
pop ebx
add esp, 0x44
ret
push str.false
push edi
call fcn.004f93b0
add esp, 8
test eax, eax
jne 0x4b8187
mov ecx, dword [esp + 0x6c]
mov eax, 0x20000000
or esi, eax
mov eax, 1
pop edi
mov dword [ecx + 4], esi
pop esi
pop ebp
mov byte [ecx], 0xaa
pop ebx
add esp, 0x44
ret
mov edi, dword [esp + 0x6c]
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x4b82a4
lea eax, [ebp - 1]
cmp dword [ebx], eax
jne 0x4b8297
mov eax, dword [edi + 4]
test eax, 0x800000
je 0x4b81ba
and eax, 0xff7fffff
mov dword [edi + 4], eax
jmp 0x4b81ee
mov eax, dword [edi + 0xc]
mov ebp, dword [esp + 0x28]
test eax, eax
je 0x4b81cf
push eax
push ebp
call fcn.004db740
add esp, 8
mov eax, dword [edi + 0x10]
mov dword [edi + 0xc], 0
test eax, eax
je 0x4b81e7
push eax
push ebp
call fcn.004db740
add esp, 8
mov dword [edi + 0x10], 0
mov ebp, dword [esp + 0x58]
movzx edi, word [edi + 0x20]
push 0
push 0x34
push dword [ebp]
call fcn.004d5b60
mov esi, eax
add esp, 0xc
test esi, esi
je 0x4b8281
push 0x34
push 0
push esi
call fcn.005326d0
mov edx, dword [esp + 0x20]
or eax, 0xffffffff
mov byte [esi], 0xa7
add esp, 0xc
mov word [esi + 0x22], ax
mov dword [esi + 0x18], 1
mov eax, dword [edx + 0x2c]
mov dword [esi + 0x1c], eax
mov word [esi + 0x20], di
mov eax, dword [edx + 0x10]
or dword [esi + 4], 0x200000
mov dword [esi + 0x2c], eax
mov eax, dword [ebx]
lea edx, [eax + 1]
cmp dword [ebx + 4], edx
jge 0x4b8263
push esi
push ebx
push dword [ebp]
call fcn.004dc570
add esp, 0xc
mov ebx, eax
jmp 0x4b8281
movups xmm0, xmmword [0x5711b4]
lea eax, [eax + eax*4]
mov dword [ebx], edx
lea ecx, [ebx + eax*4]
mov eax, dword [0x5711c4]
movups xmmword [ecx + 8], xmm0
mov dword [ecx + 0x18], eax
mov dword [ecx + 8], esi
mov edi, dword [esp + 0x6c]
mov byte [edi], 0xac
mov dword [edi + 8], str.coalesce
mov dword [edi + 0x14], ebx
jmp 0x4b8414
push ebx
push dword [esp + 0x2c]
call fcn.004a90a0
add esp, 8
mov edx, dword [esp + 0x5c]
test ebp, ebp
push dword [esp + 0x64]
mov ecx, str.ambiguous_column_name
mov eax, str.no_such_column
cmovne eax, ecx
mov ecx, dword [esp + 0x64]
test edx, edx
je 0x4b82d9
push ecx
push edx
push eax
push str._s:__s._s._s
push dword [esp + 0x6c]
call fcn.004d7b40
add esp, 0x18
jmp 0x4b8304
test ecx, ecx
je 0x4b82f2
push ecx
push eax
push str._s:__s._s
push dword [esp + 0x68]
call fcn.004d7b40
add esp, 0x14
jmp 0x4b8304
push eax
push str._s:__s
push dword [esp + 0x64]
call fcn.004d7b40
add esp, 0x10
mov edx, dword [esp + 0x58]
mov eax, edi
mov edx, dword [edx]
nop dword [eax]
test byte [eax + 4], 3
jne 0x4b831d
mov ecx, dword [eax + 0x24]
test ecx, ecx
jg 0x4b8326
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x4b8310
jmp 0x4b8329
mov dword [edx + 0x44], ecx
mov eax, dword [esp + 0x58]
mov byte [eax + 0x11], 1
mov eax, dword [esp + 0x44]
inc dword [eax + 0x14]
mov ebx, dword [esp + 0x14]
test dword [edi + 4], 0x810000
jne 0x4b8380
mov eax, dword [edi + 0xc]
mov esi, dword [esp + 0x28]
test eax, eax
je 0x4b835a
push eax
push esi
call fcn.004db740
add esp, 8
mov eax, dword [edi + 0x10]
mov dword [edi + 0xc], 0
test eax, eax
je 0x4b8372
push eax
push esi
call fcn.004db740
add esp, 8
or dword [edi + 4], 0x800000
mov dword [edi + 0x10], 0
movzx eax, word [edi + 0x20]
test ax, ax
js 0x4b8401
test ebx, ebx
je 0x4b8401
mov edx, dword [edi + 0x2c]
movsx esi, ax
test byte [edx + 0x1c], 0x60
je 0x4b83db
mov eax, dword [edx + 4]
mov ecx, esi
add ecx, ecx
test byte [eax + ecx*8 + 0xe], 0x60
je 0x4b83db
movzx eax, word [edx + 0x22]
cmp ax, 0x40
jl 0x4b83bd
or ecx, 0xffffffff
or edx, 0xffffffff
jmp 0x4b83fb
xor ecx, ecx
cwde
xor edx, edx
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
cmovae edx, ecx
add ecx, 0xffffffff
adc edx, 0xffffffff
jmp 0x4b83fb
cmp esi, 0x40
mov eax, 0x3f
cmovge esi, eax
xor ecx, ecx
xor edx, edx
bts ecx, esi
cmp esi, 0x20
cmovae edx, ecx
xor ecx, edx
cmp esi, 0x40
cmovae edx, ecx
or dword [ebx + 0x38], ecx
or dword [ebx + 0x3c], edx
mov eax, dword [esp + 0x3c]
mov byte [edi], al
cmp ebp, 1
jne 0x4b7fc2
mov ebp, dword [esp + 0x58]
mov ecx, dword [ebp]
cmp dword [ecx + 0x16c], 0
je 0x4b84e1
mov al, byte [edi]
cmp al, 0xa7
je 0x4b8432
cmp al, 0x4d
jne 0x4b84e1
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x34]
mov ebx, dword [eax + 4]
test esi, esi
je 0x4b84e1
mov eax, dword [ecx + 0x10]
xor edx, edx
add eax, 0xc
cmp dword [eax], esi
je 0x4b8463
inc edx
lea eax, [eax + 0x10]
mov ecx, edx
cmp dword [eax], esi
jne 0x4b8451
test ecx, ecx
js 0x4b84e1
cmp byte [edi], 0x4d
jne 0x4b8470
mov esi, dword [ebp + 0x80]
jmp 0x4b849b
mov esi, dword [ebx]
xor eax, eax
test esi, esi
jle 0x4b84e1
mov edi, dword [edi + 0x1c]
lea ecx, [ebx + 0x34]
cmp edi, dword [ecx]
je 0x4b8490
inc eax
add ecx, 0x48
cmp eax, esi
jl 0x4b8482
jmp 0x4b84e1
mov edi, dword [esp + 0x6c]
lea eax, [eax + eax*8]
mov esi, dword [ebx + eax*8 + 0x18]
test esi, esi
je 0x4b84e1
movsx ecx, word [edi + 0x20]
test ecx, ecx
js 0x4b84b1
mov eax, dword [esi + 4]
add ecx, ecx
mov eax, dword [eax + ecx*8]
jmp 0x4b84cc
movzx eax, word [esi + 0x20]
test ax, ax
js 0x4b84c7
movsx ecx, ax
mov eax, dword [esi + 4]
add ecx, ecx
mov eax, dword [eax + ecx*8]
jmp 0x4b84cc
mov eax, str.ROWID
push edx
push eax
push dword [esi]
push ebp
call fcn.004cc610
add esp, 0x10
cmp eax, 2
jne 0x4b84e1
mov byte [edi], 0x79
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x68]
inc dword [eax + 0x10]
cmp eax, ecx
je 0x4b84fa
mov eax, dword [eax + 0xc]
inc dword [eax + 0x10]
cmp eax, ecx
jne 0x4b84f0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x44
ret